PRIME は POBox のような予測入力システムです. 予測入力とは, 単語辞書の情報やユーザの入力履歴などに基づいて, 少ないキー入力で効率的な文書作成を実現する文字入力手法です. 例えば次の図は「こんにちは」という単語の入力を, 「こん」という先頭の 文字の入力と, 単語の選択によって行っています.
「こん」から始まる単語を辞書データから検索し, ユーザの利用頻度などから 優先順位を各単語に与えることにより, 入力した「こんにちは」やその他の 候補である「今週」や「コンピュータ」という単語を算出しています.
この文書は PRIME Ver. 0.6 と OpenPOBox を比較した内容ですので, 現在では若干古い内容となっています.
フリーソフトウェアの予測入力システムには, これまで POBox がありましたが, PRIME は POBox に比べて以下の特徴があります.
POBox では単文節変換をサポートしていなかったため, 用言 (動詞・形容詞など) や 助詞 (「の」・「が」など) の入力に癖がありました. 下の図のように, 例えば「私の」や「美しい」を入力するためには POBox では 「私」「の」や「美し」「い」と 2回に分けて入力する必要がありました. (拙作 POBox クライアントである POBox for Emacs では, Canna を併用することにより, この問題を解決していました. しかし, クライアント側での解決なため, 単語学習などでいろいろと無理が ありました).
バージョン 0.8.0 以降では, 連文節変換にも対応しています.
単文節変換を実現するために, 単語に品詞情報を付与しました. 加えて頻度情報も付与したため, より一般的な単語の方が 高い優先順位になるようになりました.
また, POBox では単語の読みがローマ字で記載されていたため, ローマ字の 入力規則が限定されていました. 例えば「sinnai」と「shin'ai」は 別の単語として登録されていました. PRIME では, ひらがなでの記載が可能なので ローマ字入力の揺れを吸収できます.
現在の実装では pubdic と SKK のラージ辞書を元に辞書を作成しています. 頻度情報は pubdic の頻度情報を利用しています.
今後は MeCab と辞書データを共有する予定です. そのため, 辞書フォーマットも変更されます.
PRIME は以下の方法でクライアントと接続します.
標準入出力による接続が, PRIME における一般的な接続方法です. PRIME は Ruby で実装されており, 変換ルーチンをクラスとして利用することが 可能です. TCP/IP による通信方法も提供していますが, セキュリティの 問題は解決していないので, 実用には向いていません. TCP/IP による接続は クライアントのプロトタイピングなどでの利用を想定しています.
今後は各言語用のバインディングを作成したいと考えていますが, 開発予定はありません.
PRIME は以下のクライアントを利用可能です. 詳しくは, 各ページを参照してください.
なお, UIM 版は徳永拓之さんを 中心に開発していただいています. ありがとうございます.