chise ids find

守岡知彦 / MORIOKA Tomohiko tomo @ m17n.org
2005年 11月 16日 (水) 22:50:40 JST


守岡です。

お返事が遅くなってしまい申し訳ありません。

;; 先々週末に風邪をひいてしまい、その次の週はダウンしてました。今も時
;; 折咳が出て、時々、痰が絡まって鼻もつまってたりするとどこからも息が
;; できなくなったりして、ちょっとだめな感じです。皆様も風邪などひかれ
;; ませぬよう。

>>>>> In [chise-ja : No.00492] 
>>>>>	"上地さん" = Koichi Kamichi <kamichi @ fonts.jp> wrote:

上地さん> chise ids find、ありがたく使わせていただいております。

どうもです。

上地さん> このごろupdateされているようですが、

10月末頃にクリティカルなバグを見付け、ids/ids-find.el および 
ids/www/www-ids-find.el の修正を11月はじめまで断続的に行っていました。
それは、M-x ids-find-chars-including-components [CR] 弋木口 [CR] で
U-0002238B を見付けることができないというものです。実はこの問題を発見
し、修正した後、「漢字文献情報処理研究」第6号の上地さんの記事を見て、
この中で同じ問題が指摘されていることに気づきました。

この問題を修正しつつ、再帰的部品表示機能をサポートしながら検索速度を維
持・高速化するため、結果的に ideographic-products 素性の仕様をまた元に
戻しました。

また、ids/www/www-ids-find.el(CHISE IDS 漢字検索)では検索結果の数に
応じて、それなりの sort を行うようにしました。具体的には

(1) 検索結果が 4096 件以下なら可能な限り総画数順の sort を行う
   (1-a) その上で、検索結果が 512 以下なら、同一画数内で
	 M-x char-db-dump [CR] で行っているのと同様な
	 関数 ideograph-char< を用いた康煕字典順風 sort を行う
   (1-b) 検索結果が 512 を越え 4096 以下なら、同一画数内で文字オブジェ
	 クト番号の比較による sort を行う(Chaon モデル的にはいかがな
	 ものかだが、結果的に、=ucs の文字が前に来て、非 =ucs 文字が後
	 ろに行く。また、=ucs の文字は UCS の符号位置で sort される)
(2) 検索結果が 4096 件を越え 10000 件以下なら、総画数を無視して大域的
    に (1-b) と同様な文字オブジェクト番号の比較による sort を行う
(3) 検索結果が 10000 件を越えた場合、sort を行わない

というものです。


上地さん> なんとなく近似部品の同定処理がなされているような気がしていま
上地さん> すが、

これは、<chise-ja:00460> で述べた部品文字オブジェクトに関する文字定義
の整理を行っているものです。<chise-ja:00460> では

・素性 {<-|->}ideographic-component-forms を {<-|->}formed @ component
  に変更

と書きましたが、実際には現在

	<-identical @ component(/connect-{above|below|left|right})
	<-same @ component(/connect-below)
	<-simplified @ CN/component(/connect-right)
	<-simplified @ component(/connect-below)
	<-vulgar @ component(/connect-{below|right})
	<-formed @ component(/connect-{above|below|left|right})

を使っています(ちなみに、最新の CHISE IDS パッケージを install した状
態で、(require 'ids-find) した後、(of-component-features) を評価すれば
上記のリストが得られます。同様に逆リンクは (to-component-features) を
評価すれば得られます。関数 (char-component-variants <漢字>) を評価する
と、これらと文字定義の継承関係などを使って生成された、異体部品リストが
帰ります)。

また、漢字 ←{identical|same}@component← 部品文字 が付いている場合の
ように、部品文字に対して形状が同一か似た漢字が存在する場合、
漢字 ←denotation← 部品文字 というリンクも付けて、文字定義の継承関係
を加えるようにしました。


上地さん> 最終的なゴールというか、ある程度ここまでは機能を実装する予定
上地さん> リストはあるのでしょうか?いくつか機能を思い立ったときに守岡
上地さん> さんにリクエストを出すべきか、linkmapの方に追加すべきか、と
上地さん> いう意味です。

あんまりちゃんと考えていません。私の反応は遅いですが(^_^;、とりあえず
ここに書いてもらえれば良いと思います。

私の方の作業で毎日少しづつ付け加わって行く機能(というか情報)としては

・UCS に map されてないような孤立文字オブジェクトに対して文字定義が付
  く(大漢和、漢字庫、CBETA 外字など)
・=>ucs 形式から文字定義の継承形式への変更
・文字間のリンクの追加

があります。また、近い将来

・Adobe Japan1 の CID 番号

を追加して行く予定です(これが一段落したら、また印刷方面を再建したいな
あ)。

どれも CHISE IDS 漢字検索というか、CHISE 文字データベース方面のもので
すが、連動しているので。

;; 甲骨方面の情報はちょっと止まってます。アルバイト募集中。
;; あと、define-char ベースで作業してくれる人どっかにいないかなあ。


上地さん> たとえば、守岡さんにお願いしたいのは、再帰検索のレベルを指定
上地さん> できるようにする機能です。ある漢字の部品が入力できないときに
上地さん> やむなくさらに分割した部品で検索すると、見つかることは見つか
上地さん> るのですが、不要な情報が多すぎます。(「鯖」を探すときに「青」
上地さん> という字を入力できなくて、やむなく「月」から探すときに、まず
上地さん> は「月+(部品)」の集合だけがほしい。ここで「青」だけがほしい
上地さん> のであって、「明」・「育」などを含む部品の再帰検索はしてほし
上地さん> くない)この場合、2回に分けて検索するというので構わないので、
上地さん> 再帰検索を行わないようなオプションがほしいです。

なるほど。

こういう場合に限らず、検索結果が多い場合、再帰的結果を表示せず、再検索
用のリンクだけを出すようにした方が良いかも知れませんね。


上地さん> もう一つ、ある部品とある部品で構成される漢字を探すときに、そ
上地さん> れぞれの部品を含む2つ漢字を2回検索するのは面倒なので、たと
上地さん> えば「鯖」を検索するときに「鮨清」と入力して「とにかく分解」
上地さん> ボタンをクリックすると「魚旨田匕日シ青月」のように、IDSを再
上地さん> 帰分解も含めてバラバラに砕いた結果をもとに、使いたい部品を1
上地さん> 回で得られる、ようなボタン(機能)がほしいです。

なるほど。


あと、CBETA 組字表記のサポートをしようかなと思っています。これは
(鯖-魚) とか (鯖-月+円) とか書けるようにできるものです。ただ、異体部品
の同一視をどこまでやるかとか、形の違う別字部品の同一視をやるか(やると
してどこまでやるか)などの問題があります。まずはうまく行けばラッキー位
の感じでサポートするので良いかな?


上地さん> #全然関係ないですが「なぎ(弓前刀)」のIDSが「弓前力」になっ
上地さん> #てます。

;; うーむ。JIS X0212 のフォントのバグにひきづられちゃったみたいですね。
;; これ、チェックして報告した方が良いんだろうな。御報告ありがとうござ
;; います。修正します。

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






More information about the CHISE-ja mailing list