kiyokaのブログアーカイブ

Archive of old blog posts

平仮名フレーズ辞書を追加してみようかな(1)

img 現在の[Sekka] (version 0.8.7)は、漢字の語彙ならば、曖昧辞書検索を使ってミスタイプを補正してくれる。これがSKKに対するアドバンテージになっていると思う。 しかし平仮名のフレーズ、例えば「しました」とか「なっています」などのように平仮名のフレーズは辞書に無いのでミスタイプを救えない。 「なっています」のように少々長めのフレーズだとかなりミスタイプをしてしまう。まだ改善の余地がある。 natteimas (最後のuを入力せずに変換した例)

そこで、平仮名の入力モードにおいても、辞書にあるフレーズならば曖昧辞書検索で救済することを考える。

[Sekka]側の実装自体はそんなに手間では無いと思うが、辞書をどうやって入手するか、もしくは作るかが問題。 そんなおり、@nokunoさんがこんな記事を書いてくださっていたので、ここから選ぶことにし た。(NLP関係のリソースまとめ - nokunoの日記)

ざっと中を見てみた。ライセンス的に使えなさそうなものは最初から除外した。

N-gram コーパス - 日本語ウェブコーパス 2010

1-gramで頻度まで求めてくれているので非常に使いやすく、なんの加工もなしにフレーズ辞書に使えそう。 但し、日本語として美しくないものも大量に含まれていて、今回のアプリケーションには適さない。曖昧辞書検索で間違いを正そうとしているので、書き言葉でないフレーズに補正されるのはいただけない。

一部抜粋してみてみよう。

xz -cd ./nwc2010/ngrams/word/over999/1gms/1gm-0000.xz | head -1000

. . ぁり 9140 ぁりがと 4256 ぁりがとぅ 4372 ぁりがとぅござぃました 2241 ぁりがとぅござぃます 3422 ぁりがとう 1224 ぁりがとうございます 1497 ぁりがとぉ 3532 ぁりました 1084 ぁります 3322 ぁりません 1482 . .

IPAdic

ここから美しい書き言葉の組み合わせを生成できそう。 ただ、付属のドキュメント ipadic-ja.pdf を見た限りでは、かなりの作業がいりそう。 まあ形態素解析用の辞書から、全組み合わせのコーパスを作りだそうというのだから目的が違いすぎる。 ほかのデータを見てから再度検討。

と、ここまで来てふと考えた。 上記のコーパスの1-gramをIPAdicに付属のChasenで解析し、正しく解析しきれたものを採用すればいいのではないかな? それなら頻度1000以上ではなく頻度100以上の1-gramに対して解析してもそんなに大量の語彙数にならないのではないか。

他にもWikipediaとかのコーパスもあるので、もう少し見てから決めよう。