長いこと放置していましたが、今日は辞書をどうするかについて考えていきます。
***
先人の辞書を見てみる
普段旧仮名を使っている人たちは、旧仮名の単語が大量に定義されたCSVファイルを「ユーザー辞書」としてIMEに取り込み、擬似的に旧仮名変換を実現しているようです。
今回はライセンスの関係上および自分で色々整理したい都合上、ネットに転がっている旧仮名辞書は利用しません。ただし、仕様を検討するにあたっては、以下のような辞書を参考にしました。
また、mozcを改変して旧仮名変換をできるようにしている人も見つけました。辞書も自前で作成しているらしいです。ちなみに公開されているのは、PC向けにビルド済みの実行ファイルだけのようでした。
今回作ろうとしている旧仮名キーボードは、akirakuboさんの開発物とちょっと似ています。下敷きにしているリソースとリリース先のデバイスが違うくらいですかね。
新しい辞書をつくる
NAIST Japanese Dictionaryという辞書(以下、NAIST辞書と呼ぶ)を下敷きにして独自の辞書を作っていこうと思います。
NAIST辞書は、以下のような形式のCSVファイルです。
今回はこれを以下のような形式に改変し、辞書データを作っていくことにしました。
第1列の「表層形」を「旧仮名読み」に変更した理由は、漢字仮名変換処理のときに行う形態素解析では、入力文字列はすべて「読み」となるはずだからです。ちなみに、本来の「表層形」のほうは、第11列「新字新仮名表層形」のほうに移動してもらっています。
第11列以降には、いろいろな種類の表層形を定義しています。そもそもユーザ要件として、「旧仮名は使うが、旧字は使わない」だったり、「旧仮名は旧仮名でも、『てふてふ』のような字音仮名遣いは使わない」だったり、さまざまな書き方に対応する必要性が出てくるかもしれないので、あらかじめ列として用意しておくことにしました。
辞書編集の作業手順
前章で設けた表層形のバリエーションにすべて対応すると工数が膨大してしまうので、一旦「かはる→變はる」のように旧仮名読みから旧字旧仮名表層形を導出できるようになることを目指します。
以下が作業手順です。
本来ならば「旧仮名読み」と「旧字旧仮名表層形」だけを作ればよかったのですが、GASを使うと「新字旧仮名表層形」と「旧字新仮名表層形」も半自動的にできてしまうので、その2つもついでに作ることにしました。
辞書編集の進捗(形容詞)
なんとなく形容詞から着手しました。
独自に追加した表層形を含め、形容詞のレコード数は2800件ほどあるのですが、1日で①〜⑪までの修正作業がすべて完了しました。修正が必要なものは意外と少なかったです。
修正の過程で、追加したレコードがいくつかあります。
また、削除したレコードもいくつかあります。レコードの削除基準については、以下いずれかに該当する場合に限りました。
・辞書にもネットにも探し当たらず、かつ誤りの原因が推測できる場合
・「新字新仮名表層形」が、旧字または旧仮名遣いで表記されている場合
逆に、奇妙な単語であっても、あえて削除しなかったものもあります。
仮名遣いに悩んだ単語もあります。
次回予告
次回は、やり残した⑫〜⑬の手順を完了させ、iPhoneエミュレータで実行したときにうまく動作するかどうか確認していきます。