ってことで英和辞書。

JMdictって和英辞典(前回の記事で書いた EDICT の後継)があるんですが,これを元に 和 → 英 をひっくり返して英和辞書を作ってみました。各ページ右上にあるヤツね。JMdictの作者であるElectronic Dictionary Research and Development Groupに感謝します。(謝辞はフッターに載せておきました。)

色々調整して,恐らくJMdictに載ってるほぼ全ての 英語 ↔ 日本語 の組み合わせを変換出来たハズなんですが,それで今のところ 234,711語句が登録されてます。そこから英語ベースで重複を省くと,153,926語句がユニークに登録されてます。

右の列の一番上に「Dictionary」って枠を作って,その上の枠に半角で単語を打ってくと候補が下に出ます(サジェスション)。それを選ぶと下の枠に日本語が表示されます。 PDIC風のインタフェース(要するに電子辞書っぽく)にしてみました。上の枠に半角で調べたい単語を打って行くと,下の枠にどんどん説明が出てきます。Ajaxです。結果が変わらないときは,カーソルキーとかを打ってみると変わるハズです

でも内容としては,やっぱりこうなるかって感じですな。単語によっては候補が大量に出てきて,機械はおろか人間でも適当な訳が選択できない場合がある。

もちろん,ホントは品詞も載ってるんですが,検索枠のサイズの都合と訳が面倒なので表示させてません。この辞書を自動処理で使おうと思ったら,意味を特定する手がかりは一つでも多い方が良いわけで,その場合は当然品詞データも使うことになります。


ちなみに,JMdict → 英和って変換は,PHPでスクリプトを書いて行いました。JMdict は XML で書かれてるので,SAXベースの xml_parser を使うと楽です。(ってかファイルサイズが40M弱あるんで DOM 使うのは無理っぽいし。)んで,各項目を単純に(SQL の LIKE 文を念頭に置いて)データベースに突っ込んで,それでサジェスションを実現してるってわけです。

サジェスション機能は,PRADO の TAutoCompleteコンポーネントのサンプル通りなので,これまた簡単…なんだけど,やっぱ各ウィンドウのサイズの調整とかで手間取っちゃった。規模の割にオーバーヘッドが大きすぎる=遅い!ので、これもスクラッチから書きました。


コメント

コメントを打ち込んでください
BBZLR
 

Now loading some news...