IM飲み会2010 Sekka開発秘話
- 4. Sekkaの開発動機(表の動機)
Sumibiに不満あり
●
ミスタイプ時の分かりにくさ
●
ローマ字の認知的負荷が高い 「kanjihenkan」とか
●
Sumibiは長文向きだが自分は長文で入力しない
SKKの再認識
●
自分の日本語入力の癖がSKK向き。単文節で確定。
●
文節区切り間違いナシ
●
送り仮名の送り方間違いナシ
もっと良いSKKは作れる
●
SKKはモードが多すぎる(英数、ひらがな、漢字)
●
できればモードという概念を無くしたい
●
ローマ字の認知的負荷を解消する手を考えれば可能では?
→リアルタイムのフィードバック、曖昧辞書検索
- 5. Sekkaの開発動機(裏の動機)
Nendoの実力評価
●
NendoというLisp処理系を開発していた
●
実はNendoがメインプロジェクト
●
処理系の実用性を確認するために何か書く必要があった
Gemsで生産性が上がるか
RubyのGemsを使うことでGaucheよりも早く作れるか
●
不足機能のチェック
現状のNendoで、簡単なアプリケーションが作れるか
●
→ 実験台としてSekkaが良さそうだ。
軽い気持ちで開発スタート
- 8. 特徴2 曖昧検索
曖昧検索
●
Jaro-Winkler編集距離で辞書検索
●
ローマ字表記揺れやミスタイプも救済
詳細
●
辞書のキーはローマ字
●
ローマ字同士の編集距離で閾値を超えたものだけを採用
●
辞書にローマ字表記揺れの全組み合わせを展開済み
●
AZIKのローマ字表記も全て辞書に持っている
例:「かんじ」の表記揺れパターン
(("ka") ("nn" "n" "q") ("ji" "zi")) ;; 通常ローマ字のパターン
(("kz" "kn") ("ji" "zi"))) ;; AZIK拡張ローマ字のパターン
上記の組み合わせを全て展開した文字列リストをDBに持っている。
("kanji" "kannji" "kannzi" "kanzi" "kaqji" "kaqzi"
"knji" "knzi" "kzji" "kzzi")
上記の例ではパターン数は10個になる。
- 12. Sekkaの今後
搭載予定機能
●
ユーザ語彙の登録UI
未知語は、Google CGI API for Japanese Input で獲得する予定
●
Vim対応
●
ibus対応
●
数字入り語彙の変換 「100ko」→ 「100個」
●
公開サーバ対応。xAuthでログインなど
●
MongoDB対応
コミュニティ開発
●
ユーザーが増えて、手伝ってくれる人が増えればいいな
●
Vim対応してくれる人がいたらいいな
- 14. おまけ SKK vs 最先端IME 論争
SekkaはG社の逆張りでいく。
G社と同じ方向で戦っても負けは見えているので...
SKK陣営の意見
●
人間を超える人工知能マダー?
待ってられないから、オレこれ使っとくわ。
●
小脳がSKKに最適化されているのでこれでいい。
最先端IME陣営の意見
●
SKKは自分にはムリ。
●
SKK使うなんて原始的だ。
●
工学的な態度からすると、SKKを使って日本語を入力するのは
理に適っている。(小町さん)
●
自然言語処理の研究者が SKKを使うのは欺瞞だと思う。(小町さん)
- 15. おまけ 日本語入力のしやすさとは?
デバイスで有効なアプローチは変わるだろう
●
携帯電話のテンキー
●
PC
●
iPad
編集対象によって変わるだろう
●
Tweet
●
論文
●
テクニカルライティング
●
ソースコードのコメント
●
しゃべり言葉(プライベートのメール)
●
ビジネスメール
Sekkaは何向き?
●
ソースコードのコメント
●
英文と和文混在ドキュメント
●
しゃべり言葉(大阪弁とかでも問題ない)