素性メタデータ

守岡知彦 / MORIOKA Tomohiko tomo @ kanji.zinbun.kyoto-u.ac.jp
2003年 10月 4日 (土) 22:01:22 JST


>>>>> In [chise-ja : No.00233] 
>>>>>	"江渡さん" = Kouichirou Eto <2003 @ eto.com> wrote:

江渡さん> ひさびさにRuby/CHISEに手を入れてみました。いくつか思ったこと
江渡さん> があります。

江渡さん> やはり素性についての情報を、機械可読なフォーマットにしたいで
江渡さん> す。char-attr.ja.txtを、S式でもよいので構造化して読み込める
江渡さん> ようにしませんか。
江渡さん> 文字に対する文化的なメタデータとしてとらえるとまた先が長いの
江渡さん> で、とりあえずchar-attr.ja.txtをデータ化することにしぼった形
江渡さん> 式を考えてそれを実装するのがいいんじゃないでしょうか。
江渡さん> やはり言語内ヘルプのように、素性の利用方法がプログラム内から
江渡さん> 簡単に呼び出せるようになっていてほしいです。

そうですね。S 式に関していえば、文字における define-char と同様に、
XEmacs CHISE における素性定義用関数の界面という風にとらえるのが良いの
ではないかと思います。これはおそらく

・素性の属性
	; 「素性の素性」でも良いんですが、ややこしいので、「素性の素性」
	; に関しては「素性」ではなく「属性」と呼んではどうかと思います

・素性間の関係(集合とか継承関係とか)

を書くことになるのではないかと思います。後者は前者の特殊形ととらえられ
るのではないかと思うので、とりあえず、前者だけを考えることとします。

;; まあ、こうすると、今度は『素性の属性の属性』も考える必要がある訳で
;; すが。(そろそろ TopicMaps の出番か?)

そうすると例えば、

(define-char-feature NAME &rest PROPERTIES)
NAME: 素性名(シンボル)
PROPERTIES: 素性の属性を表す属性リスト

なんてのはいかがでしょうか?例えば、こんな感じです:

(define-char-feature 'ideographic-structure
  :description "Structural information of Han Ideographs."
  :type '(or (list ids2-char-ref char-ref char-ref)
	     (list ids3-char-ref char-ref char-ref char-ref)))

(define-char-feature '=ucs
  :description "ISO/IEC 10646 UCS-4."
  :type 'ccs
  :ccs-dimension 4
  :ccs-chars 256
  :ccs-iso-ir 177)

後者に関しては従来形式

(make-charset '=ucs "ISO/IEC 10646 UCS-4."
	      '(dimension 4
	        chars 256
		iso-ir 177))

も使えた方が良いと思います(少なくとも XEmacs CHISE の中では)。

XML に関しては、これを XML 風にすれば良いのではないかと思います。


また、文字素性と同様に文字素性の属性も CHISE DB に格納するのが良いと思
います。この形式をどうするかでずっと悩んでるのですが、現在の所、
char-db/metadata/ の中に文字素性の属性名をファイルとする Berkeley DB 
形式のファイルを置くというのが良いんじゃないかと思っています。ここで、
この DB ファイルのキーは文字素性名で値は素性属性値とします。

文字素性の定義を S 式なり XML なり STD 11 風なりに、1素性1ファイルの
plain text にするということも考えられますが、複数の文字素性の情報を次
から次へと開いたり、条件に合致した文字素性を捜し出すような時にこそこの
種の情報が役立つ気がするので、そうしたことを考えると、上述の案が良いの
ではないかと思います。また、既存の文字素性の扱いとの対称性もあります。

それから、type など文字素性属性の定義をどう書くかなんですが、まだ考え
てません。抜本的に再設計した方が良いのかも。


江渡さん> で、簡単にしておこうといっておきながらあれですけど、素性の継
江渡さん> 承関係はちゃんとメタデータで指定しておきたいです。名前付けの
江渡さん> ルールから類推するというやり方は無理があるように思います。

御意。ただ、@DOMAIN と *SOURCES は名前解決機構に組み込んで、定義しなく
ても決まるようにするのが良いかなと思っています(ファイル名の相対パスみ
たいな感じに扱うというか)。

つまり、=ucs @ jis が =ucs を継承することは自明とする訳です。

一方、digit-value が numeric-value の特殊形であるというようなことは文
字素性定義で明示するという訳です。


江渡さん> そういえば、このMLのアーカイブはWebで公開してないんでしたっ
江渡さん> け。議論の流れが見えたほうがいいので、公開のほうがいいんじゃ
江渡さん> ないでしょうか。

今の所そうです。m17n.org の管理側に頼んでみましょうか?(ただ、今、ど
こまで頼めるかがちょっと良く判らないので、やってもらえないかも知れませ
んが)

あるいは、別の所でやるかなんですが、ちょっと私は今非常に忙しいので、私
の方でやるのは許してください。(^_^;;;

ポリシー的には私も WWW で公開した方が良いと思います。

-- 
===『幾千億の分子に分かれても ========================================
     決して忘れない。    
     この宇宙が終るまで』              守岡 知彦 (MORIOKA Tomohiko)
====================== Email: <tomo @ kanji.zinbun.kyoto-u.ac.jp> ======




More information about the CHISE-ja mailing list