[HOME]
PiClip SKK辞書変換 編
2006-09-18
1.始めに
PiClipの使用では、作者のWEBに記載されていました富豪辞書やPOBox辞書強化プロジェクト版を使用してきました。しかし、辞書としては(そのままではPiClipに使えませんが) 有名なSKK辞書が有ることはご存じだと思います。色々なアプリのソフトも、SKK辞書を元にしていることが多いと思います。
そこで、PiClipで使えるようにフォーマット変換して使ってみようと言うのが、今回の実験です。
テストには「SKK openlabの辞書」をつかわさせていただきました。
2.各辞書と結果について
なお、各辞書については以下の通りです。
(1)S辞書(数十KB)は小さくて使うことがないので、テストしてません。
(2)M辞書(約215KB)はそのままでは動きませんでした。PiClipの起動で読み込みが終了しません。
が、下記の操作をすると動くことが分かりました。辞書の内容を切り張りしながらテストして、動くところまでは
行きましたが、理由は分かっていません。
*:先頭が”れ”で始まる行以降を、ML辞書のものに書き換えると動くことが分かりました。
(3)ML辞書(約1MB)はうまくいきました。現在、使用中です。
(4)L辞書(4MB位になるか?)は大きすぎて使用しないので、テストしていません。
3.それぞれのフォーマット(SKK辞書 と POBox for CE辞書)
それぞれの辞書のフォーマットは、下表の通りです。残念ながら共通にはなっておりません。
|
SKK辞書のフォーマットは |
|
あいしよう 愛称 |
POBox for CEやPiClipで使用しているフォーマットです。 |
このほかに、コンテクストの項がある場合がありますが、今回は使用していない(ファイルにも入っていない)ので省略します。
4.変換でやるべき事
(1)各行から/をとり、単語を一つ/1行にする。
(2)単語1、単語2、、の注釈を削除する。
(3)パタン文字列(即ち半角空白から左側)にある、小文字や濁音・半濁音を大文字、清音にする。
っゃゅょ → つやゆよ ぱぴぷぺぽ → はひふへほ がぎぐげご → かきくけこ など
上表の例では、「愛情」「相性」は、ともに「あいしよう」です。
5.処理の検討
いやあ、苦労しました。といっても、C言語やその他のスクリプトを使えば楽なのでしょうが、SEDでの処理にこだわったからです。(本当を言うと、それしか知らなかったから、、、(汗)、勉強不足が分かっちゃったなあ。)
|
まず最初に4.(3)の処理を行いました。難しいのは |
|
4.(2)の処理です。 |
あ /阿/娃/唖/亜/ |
4.(1)の処理です。これもやることは単純なんですがねえ。右側をばらして左側のをくっつけた行にするのですが、意外と苦手です。 |
6.処理手順
ML辞書の名称を例にして記述します。なお、自分のメモですので自分の使用した処理ソフトで記述しています。別のソフトを使用してもできると思います。
1 |
ダウンロードしたファイル「SKK-JISYO.ML.gz」を解凍します。.gzファイルなのでいつものLHAでは解凍できなかったため、WINRARを使用しました。 名称をSKKJISYO.MLとします。 |
2 |
SKKJISYO.MLは日本語(EUC)なので、Shift-JISに変換します。私はNKFという、DOS上で使うソフトを使用しました。 |
3 |
JISYO.MLをソートします。Windows 2000のシステムに入っているSORTコマンドを使用しました。 |
3−1 |
この(3−1の)処理は、M辞書の場合のみ行う。 |
4 |
いよいよ5.の3つの処理をいっぺんに行います。処理は下に貼り付けた「jisyosk.bat」「jisyosk.sed」を使用します。 |
5 |
words.txtをUTF-8コードのファイルに変換します。やはり、NKFを使用しました。 |
7.結果
結果については、ML辞書(NOKIA E60に書き込むファイルで1.3MB)は使えました。M辞書(NOKIA E60に書き込むファイルで215KB位)は、多少手を加えると使用できることが分かりました。
動作に悪影響する単語があるというより、”れ”行以降が少なすぎるとまずいケースが有るようです。”れ”行以降をML辞書のデータで置き換えると動くのですが、”れいきゃ〜”、”れいきょ〜”の項を削除すると動かなかったりします。
ML辞書のデータで少しずつ置き換えながらテストしたのですが、原因は分かっていません。私の方からの調査では、このままになっちゃうかな。(涙)
-------------------------------------------------------------------------------------------------------