mirror of
https://github.com/mii443/akaza.git
synced 2025-08-22 14:55:31 +00:00
3ee8b9574fb8bdd9b8418873819e5c5ce1309a17
ibus-akaza
Yet another kana-kanji-converter on IBus, written in Python.
統計的かな漢字変換です。ibus の変換システムは Python でかけるので、かいてみました。
特徴
- Python で書いてあるので、拡張が容易です。
- 統計的かな漢字変換モデルを採用しています
- 言語モデルの生成元は日本語 Wikipedia のみをベースとしています。
- kytea で分析した結果をベースに 2gram 言語モデルを構築しています。
Dependencies
- python-marisa
- pip install wikiextractor
Install 方法
make && sudo make install && ibus restart
とかして、ibus 側の設定をすればOKです。
wikipedia の全データをダウンロードして言語モデルと辞書のロードが行われるために、ディスク容量とメモリと CPU がある程度必要です。 (TODO: ビルド済みモデルデータの配布)
設計方針
- モデル
- モデルは 日本語 wikipedia 等から自動生成されて、誰でもチューニング可能なようにしたい。
- 現状、@tokuhirom は、 Wikipedia から生成された言語モデルで割と満足しています。
- クローラーの提供
- ユーザーが自分でクローラーを走らせることにより、言語モデルのトレーニングができるようにしたい。
- ある程度 CPU/Memory が潤沢なシステムを想定しています。
- メモリ8GB, CPU Intel core i5 程度を想定しています。
- 現状は開発速度を優先しているために、メモリ容量を多めに消費するようになっています。
- なにか面白い改善方法が思いついたら、fork して実装できるように。
- 改造しやすい IME をめざす。
- 品詞を扱わなくてもよいようにした
ファイル形式
- system_dict.trie
(u'読み', u'漢字1/漢字2/漢字3'.encode('utf-8'))
で入れている。- common prefix search している。
- system_language_model.trie
("漢字/かな", score)
("漢字/かな\t漢字/かな", score)
- key でそのままひく
See also
- http://www.phontron.com/slides/nlp-programming-ja-bonus-01-kkc.pdf
- http://www.ar.media.kyoto-u.ac.jp/member/gologo/lm.html
- Japanese-Company-Lexicon
THANKS TO
- ibus-uniemoji を参考に初期の実装を行いました。
- 日本語入力を支える技術 を読み込んで実装しました。
Languages
Rust
95.6%
Perl
1.8%
C
1.1%
C++
0.8%
Makefile
0.6%
Other
0.1%