Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Sekka誕生秘話 (better SKK開発への挑戦)         Kiyoka Nishiyama26,Dec,2010 入力メソッド飲み会2010
入力メソッド Sekkaのデモ● SKKのような入力方式を採用● 現在はEmacs専用     クリックして YouTubeで石火(Sekka)の動画を見る
アーキテクチャRESTとKey-Value-Storeが特徴
Sekkaの開発動機(表の動機)Sumibiに不満あり ●  ミスタイプ時の分かりにくさ ●  ローマ字の認知的負荷が高い 「kanjihenkan」とか ●  Sumibiは長文向きだが自分は長文で入力しないSKKの再認識 ●  自分の日本語...
Sekkaの開発動機(裏の動機)Nendoの実力評価 ●  NendoというLisp処理系を開発していた ●  実はNendoがメインプロジェクト ●  処理系の実用性を確認するために何か書く必要があったGemsで生産性が上がるか RubyのG...
Sekkaの使用コンポーネント   Nendo 90%が特徴?
特徴1 SKKライク送り仮名なしの単語は大文字で開始 「Kanji」 → 「漢字」 「Mo-do」→ 「モード」 ※ カタカナもこの部類送り仮名の開始位置を大文字で指定 「kanJi」→ 「感じ」ひらがなは全て小文字 「kanji」→ 「かんじ...
特徴2 曖昧検索曖昧検索  ●   Jaro-Winkler編集距離で辞書検索  ●   ローマ字表記揺れやミスタイプも救済詳細  ●    辞書のキーはローマ字  ●    ローマ字同士の編集距離で閾値を超えたものだけを採用  ●    辞書...
特徴3 モードレスCtrl-Jでいきなり確定 カーソル直前のローマ字をCtrl-Jで直接変換する  ↓ Ctrl-Jを押す(第一候補で確定)  ↓ Ctrl-Jを押す(候補選択に入る)
特徴4 リアルタイムフィードバックタイプするごとに第一候補を画面表示
特徴5 マルチユーザ対応ユーザ語彙はユーザ毎に管理される ●  ユーザ語彙はサーバ側にアップロードされる ●  ユーザ語彙も曖昧検索の対象となる ●  EmacsクライアントはOSのアカウント名を使用する     EmacsLispで (use...
Sekkaの今後搭載予定機能 ●  ユーザ語彙の登録UI  未知語は、Google CGI API for Japanese Input で獲得する予定 ●  Vim対応 ●  ibus対応 ●  数字入り語彙の変換 「100ko」→ 「100...
質疑応答クリックして YouTubeで石火(Sekka)の動画を見る
おまけ SKK vs 最先端IME 論争SekkaはG社の逆張りでいく。G社と同じ方向で戦っても負けは見えているので...SKK陣営の意見 ●   人間を超える人工知能マダー?   待ってられないから、オレこれ使っとくわ。 ●   小脳がSKK...
おまけ 日本語入力のしやすさとは?デバイスで有効なアプローチは変わるだろう ●   携帯電話のテンキー ●   PC ●   iPad編集対象によって変わるだろう ●   Tweet ●   論文 ●   テクニカルライティング ●   ソース...
おしまいです。ありがとうございました。
Upcoming SlideShare
Loading in …5
×

IM飲み会2010 Sekka開発秘話

2,978 views

Published on

IM飲み会2010でのプレゼン資料。

  • Be the first to comment

IM飲み会2010 Sekka開発秘話

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

×