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