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