IDSの整合性チェック

守岡知彦 / MORIOKA Tomohiko tomo @ kanji.zinbun.kyoto-u.ac.jp
2003年 1月 21日 (火) 17:20:45 JST


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

江渡さん> IDSの整合性チェックをしてみました。IDSは全体として木構造になっ
江渡さん> ていなくてはいけないのですが、間違っているものがあったため、
江渡さん> それをプログラムで全数チェックし、一覧にしてみました。ちょっ
江渡さん> と大きいので下記に置いておきます。
江渡さん> http://eto.com/2003/ruby/ids-bug.txt

ありがとうございます。手元のデータが不動点に達したら、順次こちらを見て
行きたいと思います。

ただ、この形式だとどのファイルに誤りがあるのかが判りません。できれば、
IDS ファイル単位になってるとありがたいです。

ちなみに、私は M-x ids-dump-* して、再合成したファイルと元のファイルを
M-x ediff-buffers で比較して、変化点を検討し、修正を行い、



江渡さん> 例えば、&C5-4C4D;と&C6-4A37;は、IDSが自分自身を含んでいるの
江渡さん> ですが、これを真面目にとると、無限に再帰していく漢字であると
江渡さん> いうことになります。まさかと思いますが、これは本当にそういう
江渡さん> 漢字であるわけではないですよね。

そうですね。おそらく、CBETA 経由で誤りが生じたのだと思います(ある文字
を部品として含む異体字を unify できると仮定して、CBETA のデータを取り
込むとそうなる)

江渡さん> 他は、部品が足りないか、余っているかのどちらかです。

ケアレスミスと、部品が見つからなかった場合と、検討中で parse を抑制す
るために ? を付けてる場合があると思います。

部品は GT 2000 の漢字構成要素 17,090 字が割と網羅的みたいなので、足り
ない場合はここを探すのが割と良い感じです。


江渡さん> あとはこれをIDSのテキストファイルに遡って修正していけばいい
江渡さん> のですが、明かにケアレスミスだとわかる部分は私が直せると思う
江渡さん> のですが、わかる範囲で私が修正してしまってもいいもんでしょう
江渡さん> か。

はい。

江渡さん> CVSのアカウントはとったので、修正方法を学習してみます。

ちなみに私が行っている手順はこんな感じです:

(1) ids/ を make install もしくは M-x ids-read-file などして IDS ファ
    イルを読み込む (parse)

(2) M-x ids-dump-* で読み込んだ結果の ideographic-structure から IDS
    ファイルを再構成する

(3) (2) で再構成した IDS ファイルとオリジナルを M-x ediff-buffers を使っ
    て比較する

(4) (3) で変更点がない場合、commit する
    (変更点があっても、適当な間隔で commit しといた方が良いかも)

    (i) C-x C-m c [CR] M-x ediff-revision [CR] で修正箇所を check する

    (ii) C-x v v で cvs commit する。*VC-log* に (i) で確認した変更箇
	 所に関する説明を書く(主な変更点と変更意図を書くのが望ましい)

    (iii) C-x v a で ChangeLog を生成し、(ii) で書いた log を
	  ChangeLog に反映させる。適切に編集した後、ChangeLog も cvs
	  commit する

(5) (3) で変更点がある場合、(3) の各差異を検討し、なんらかの結論が得ら
    れた場合は、適切に修正する

(6) (1) へ戻る

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




More information about the CHISE-ja mailing list