SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Sekka誕生秘話
 (better SKK開発への挑戦)




         Kiyoka Nishiyama
26,Dec,2010 入力メソッド飲み会2010
入力メソッド Sekkaのデモ
●
 SKKのような入力方式を採用
●
 現在はEmacs専用




     クリックして YouTubeで石火(Sekka)の動画を見る
アーキテクチャ
RESTとKey-Value-Storeが特徴
Sekkaの開発動機(表の動機)
Sumibiに不満あり
 ●
  ミスタイプ時の分かりにくさ
 ●
  ローマ字の認知的負荷が高い 「kanjihenkan」とか
 ●
  Sumibiは長文向きだが自分は長文で入力しない

SKKの再認識
 ●
  自分の日本語入力の癖がSKK向き。単文節で確定。
 ●
  文節区切り間違いナシ
 ●
  送り仮名の送り方間違いナシ
もっと良いSKKは作れる
 ●
  SKKはモードが多すぎる(英数、ひらがな、漢字)
 ●
  できればモードという概念を無くしたい
 ●
  ローマ字の認知的負荷を解消する手を考えれば可能では?
   →リアルタイムのフィードバック、曖昧辞書検索
Sekkaの開発動機(裏の動機)
Nendoの実力評価
 ●
  NendoというLisp処理系を開発していた
 ●
  実はNendoがメインプロジェクト
 ●
  処理系の実用性を確認するために何か書く必要があった

Gemsで生産性が上がるか
 RubyのGemsを使うことでGaucheよりも早く作れるか
 ●




不足機能のチェック
 現状のNendoで、簡単なアプリケーションが作れるか
 ●




      → 実験台としてSekkaが良さそうだ。
        軽い気持ちで開発スタート
Sekkaの使用コンポーネント
   Nendo 90%が特徴?
特徴1 SKKライク
送り仮名なしの単語は大文字で開始
 「Kanji」 → 「漢字」
 「Mo-do」→ 「モード」 ※ カタカナもこの部類

送り仮名の開始位置を大文字で指定
 「kanJi」→ 「感じ」

ひらがなは全て小文字
 「kanji」→ 「かんじ」
 ●
特徴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個になる。
特徴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対応してくれる人がいたらいいな
質疑応答




クリックして YouTubeで石火(Sekka)の動画を見る
おまけ SKK vs 最先端IME 論争
SekkaはG社の逆張りでいく。
G社と同じ方向で戦っても負けは見えているので...


SKK陣営の意見
 ●
   人間を超える人工知能マダー?
   待ってられないから、オレこれ使っとくわ。
 ●
   小脳がSKKに最適化されているのでこれでいい。


最先端IME陣営の意見
 ●
   SKKは自分にはムリ。
 ●
   SKK使うなんて原始的だ。
 ●
   工学的な態度からすると、SKKを使って日本語を入力するのは
   理に適っている。(小町さん)
 ●
   自然言語処理の研究者が SKKを使うのは欺瞞だと思う。(小町さん)
おまけ 日本語入力のしやすさとは?
デバイスで有効なアプローチは変わるだろう
 ●
   携帯電話のテンキー
 ●
   PC
 ●
   iPad


編集対象によって変わるだろう
 ●
   Tweet
 ●
   論文
 ●
   テクニカルライティング
 ●
   ソースコードのコメント
 ●
   しゃべり言葉(プライベートのメール)
 ●
   ビジネスメール


Sekkaは何向き?
 ●
   ソースコードのコメント
 ●
   英文と和文混在ドキュメント
 ●
   しゃべり言葉(大阪弁とかでも問題ない)
おしまいです。ありがとうございました。

Weitere ähnliche Inhalte

Was ist angesagt?

LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきたLT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきたShingo Inoue
 
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswiftSwift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswiftTomohiro Kumagai
 
Browser oh browser browser
Browser oh browser browserBrowser oh browser browser
Browser oh browser browserTeppei Sato
 
Flowtype Introduction
Flowtype IntroductionFlowtype Introduction
Flowtype IntroductionTeppei Sato
 
Cocolumberjackの使い方 Ios lt 20140327
Cocolumberjackの使い方 Ios lt 20140327Cocolumberjackの使い方 Ios lt 20140327
Cocolumberjackの使い方 Ios lt 20140327Ken Haneda
 
TypeScriptは明日から使うべき
TypeScriptは明日から使うべきTypeScriptは明日から使うべき
TypeScriptは明日から使うべきMasahiro Wakame
 
リテラルと型の続きの話 #__swift__
リテラルと型の続きの話 #__swift__リテラルと型の続きの話 #__swift__
リテラルと型の続きの話 #__swift__Tomohiro Kumagai
 
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話Yusuke HIDESHIMA
 
Swift ドキュメントコメント
Swift ドキュメントコメントSwift ドキュメントコメント
Swift ドキュメントコメントTomohiro Kumagai
 
Getting start with knockout.js
Getting start with knockout.jsGetting start with knockout.js
Getting start with knockout.jsAkio Ishida
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?Shingo Fukui
 
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosXcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosTomohiro Kumagai
 
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部Masahiro Wakame
 
新・ReVIEWパーサについて
新・ReVIEWパーサについて新・ReVIEWパーサについて
新・ReVIEWパーサについてmasayoshi takahashi
 
MBSD Cybersecurity Challenges 2017 本選プレゼン
MBSD Cybersecurity Challenges 2017 本選プレゼンMBSD Cybersecurity Challenges 2017 本選プレゼン
MBSD Cybersecurity Challenges 2017 本選プレゼンRyohei Kawashima
 
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介Ryo Iinuma
 

Was ist angesagt? (20)

LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきたLT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
 
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswiftSwift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
 
IJKBの紹介
IJKBの紹介 IJKBの紹介
IJKBの紹介
 
Browser oh browser browser
Browser oh browser browserBrowser oh browser browser
Browser oh browser browser
 
Flowtype Introduction
Flowtype IntroductionFlowtype Introduction
Flowtype Introduction
 
Cocolumberjackの使い方 Ios lt 20140327
Cocolumberjackの使い方 Ios lt 20140327Cocolumberjackの使い方 Ios lt 20140327
Cocolumberjackの使い方 Ios lt 20140327
 
TypeScriptは明日から使うべき
TypeScriptは明日から使うべきTypeScriptは明日から使うべき
TypeScriptは明日から使うべき
 
リテラルと型の続きの話 #__swift__
リテラルと型の続きの話 #__swift__リテラルと型の続きの話 #__swift__
リテラルと型の続きの話 #__swift__
 
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
 
Swift ドキュメントコメント
Swift ドキュメントコメントSwift ドキュメントコメント
Swift ドキュメントコメント
 
What webpage calls.
What webpage calls.What webpage calls.
What webpage calls.
 
Getting start with knockout.js
Getting start with knockout.jsGetting start with knockout.js
Getting start with knockout.js
 
Android Hacks - Hack57
Android Hacks - Hack57Android Hacks - Hack57
Android Hacks - Hack57
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
 
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosXcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
 
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
 
jQuery 対応ライブラリと TypeScript
jQuery 対応ライブラリと TypeScriptjQuery 対応ライブラリと TypeScript
jQuery 対応ライブラリと TypeScript
 
新・ReVIEWパーサについて
新・ReVIEWパーサについて新・ReVIEWパーサについて
新・ReVIEWパーサについて
 
MBSD Cybersecurity Challenges 2017 本選プレゼン
MBSD Cybersecurity Challenges 2017 本選プレゼンMBSD Cybersecurity Challenges 2017 本選プレゼン
MBSD Cybersecurity Challenges 2017 本選プレゼン
 
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
 

IM飲み会2010 Sekka開発秘話