携帯電話用IMEにあると便利な機能。
(過去:メモ。@2006年12月21日)
※文章が複雑怪奇になってしまったので、最下部に変換表を添付しました。プログラムを組んだ経験がある方は、最下部をご覧になってから本文をお読みいただくほうがいいかもしれません……というか、本文は読まなくても良さそうな感じが^^;。
携帯電話用のIMEは、通常「JISかな」ベースで動いているようです……すくなくとも「プラスATOK」がそうであるらしく、またほかの携帯電話用IMEも「ワープロ時代のIME名が使われている例が多い」ので、これらも含めて考えると、たぶんそうなのだろうな、と勝手に予想していたり。
……とすると、現行の「パソコン用IME」が備える機能を「ケータイ用IME」へと技術転化することは、原理的には可能かもしれないわけで。
「T9」のような「子音入力・辞書の力を借りて候補を選ぶ方式」では候補がたくさん出過ぎる(適切な候補のみを提示するのがとても難しい)可能性がある一方で、現行の「かなめくり入力」や「ベル打ち」では、かな単位での厳密な指定が必要になり、打鍵手順が煩雑になりがちという特性があります。
……とすると、この中間に近い特性をIMEで実現しつつ、「特殊なルールを用いない・日常的な感性をそのまま流用できる」方法があれば、それはそれで実用的に使えるのかもしれません。
特に「ポケベル入力」の無駄なシフトを抑制し、うまくいけば「かなめくり入力」でも有用に使えるかもしれません。
ルールは次のとおり……って、今日のメモに書いたことをそのまま転記してみます^^;。
第一段階(小改訂のみで実装できそうなもの)。
内部的にJISかなを使っていることを利用して、デスクトップ用IMEと同じく「シフトキーの押し忘れを考慮して変換候補を提示」します。
ただし、「わ→を」変換は余計なので、これは排除する方向で。
……「かなめくり入力」では、あまり有難みがないのかもしれません。
第二段階(本格的に検索ロジックを組まなければならないもの)。
次の入力忘れ対応機能を必要に応じて有効にできるようにします。
-
- 濁点&半濁点キーの押し忘れを補完(JISかな系の濁点・半濁点忘れ補完と同等)。
- 例)かんたん→がんたん、かんかえる→かんがえる、はんはく→ばんぱく。
- 小文字化忘れを補完(JISかなのシフト忘れ補完とほぼ同等)。
- 例)にゆーす→にゅーす、きゆうどう→きゅうどう、じゆく→じゅく。
- 子音と母音の間へのWHYS挿入忘れを補完(姫踊子草配列・下駄配列の打鍵感を辞書で再現)。
- 例)さしん→しゃしん、はみこん→ふぁみこん、へっどほんざっく→へっどふぉんじゃっく。
- 濁点&半濁点キーの押し忘れを補完(JISかな系の濁点・半濁点忘れ補完と同等)。
「濁点&半濁点補完」はそのままですね。
「小文字化」は前出の「シフトキー補完」と同じです。
一つ新しいのは「WHYS補完」。
これは確かどこかで見たことがある気がするのですが、要は「さ・しゃ」や「は・ふぁ」などを同一のコストで入力できるようにしよう……という話。姫踊子草配列や、下駄配列が採用する「拗音節のワンアクション入力」からアイデアを頂いてみました。
子音と母音の間に「W・H・Y・S」のいずれかを挟んだときに、それを含む語が辞書に含まれているかどうかをチェックします*1。
ケータイのキーボードは12キーしかないので、普通に入力するとなると、どうしても拗音節(大書き文字の後に書くべき)小書き文字を打つには3〜4打鍵*2必要となります。これでは「清音・濁音・半濁音とは発音のタイミングが異なる」ので、ちょっと違和感がある気がしています。
ここで「しゃ」と入力する代わりに「さ」と入力する……とかいう規則を採用すれば、(当然候補は増えてしまうので選択コストは増加しますが)入力している瞬間の時間圧は変わらないので、かな入力区間に関するストレスは多少低減できるかも……というのが狙いです。
T9のような子音入力よりは情報量があるので、余計な候補はだいぶ減らせるはずです……って、こちらはおまけ的な話であって、必ずしも重要ではありません。
仮にこれをフル実装すると、「無改造のポケベル入力」のひらがな入力効率は「かえで携帯配列」よりもさらに高くなります(但し辞書が全てヒットする場合)。さらに、ここから1%程入力効率が良いKodama携帯配列よりも、さらに効率の良い文字入力が可能になるかもしれません。
……って、いまいち実感がわきにくいですよね^^;。
というわけで、とりあえず例文を書いてみることにします。
入力文)にんてんとうのちすくしすてむは、にんてんとうのすーはーはみこんにせつそくして、はしめてふれいすることかてきます。
――――――――
変換時候補例)にんてんどうのでぃすくしすてむは、にんてんどうのすーぱーふぁみこんにせつぞくして、はじめてぷれいすることができます。
完全な子音入力&辞書選択法とは違って、この案であれば「一つのかなに結わえ付けられる選択肢が比較的少ない」ので、その分だけ候補を絞りやすくなります。
また、表示される文字も「ふぁみこん」の元字が「はみこん」であるなど、かな文を見て無理やり読める程度の崩し方しかしていないので、入力中テキストが(人間にとって)常に意味を持ち続けることが出来ます。
……で、一番の特徴はあくまでも「文字入力コストが、発音時のコスト負担分布に近い」ことです。
いまいちピンと来ない方は、とりあえず「モーラ - Wikipedia」あたりをご覧ください(と言って逃げてみる^^;)。
姫踊子草配列や下駄配列で「ワンアクション入力できる」部分や、飛鳥カナ配列で「倍速打鍵と言われる入力法になってしまう」部分は、実際に「すばやく入力できないといらつく」部分でもあります。
この部分は従来のケータイが持つ「キー→かな対応が1対1&使えるキー数は12個のみ」なインターフェースをそのまま使っては実現しづらい(3キー掛けて1文字を出してもいいのであれば別ですけど……)ので、ここでは辞書の力を借りてみることにしました。
ちなみにこれは、auのSharp/W41SH(T9もどきの子音入力を搭載)をチラッと触っていて思いつきました。
この機種にある子音入力を使ってみると、本当に「必要十分な語句すらも出ず、ほとんど使い物にならない」状態でした……が、あれで組み合わせ可能な語句全てが出ると「必要ではない語句ばかりが出て、カーソル選択が大変」という事態に陥りそうで、その対策として考えてみた次第です。
本物のT9ならばもう少し賢いのかもしれませんが、あれはあれで「辞書にない場合は、別の入力法で打ち直す必要がある」らしく、辞書にヒットしなかった場合の再入力コストが結構掛かりそうな気がしました……ので、「ヒットすれば高効率、ヒットしなければ低効率」という事態を避けるために「ヒットすれば中効率、ヒットしなくても最悪の事態は避けられる」あたりを目指してみました。
……って、こんなものをわざわざ実装してくれるメーカーさんはいないでしょうね^^;。
今日はとりあえず、アイデアの書き出しのみ。
変換候補テーブルを書いてみるテスト。
……と、文章にすると「わけが解らない」ので、表を作ってみました。
この記事で言いたいことは、表左端にある「基準かな」を入力した場合に、その右側にある文字が(オプションで指定されている場合に限り)入力されている可能性があるものとみなして、右側にある文字を採用した場合の変換候補も一緒に出してください!という……そういうお願いなのです。
基準かな | 濁音・半濁音化候補*3 | 拗音化候補*4 | 濁音化&半濁音化拗音化候補*5 | 小文字化候補*6 |
---|---|---|---|---|
あ | いゃ・うぁ | ヴぁ | ぁ | |
い | いぃ・うぃ | ヴぃ | ぃ | |
う | ヴ | いゅ・うぅ | ヴぅ | ぅ |
え | いぇ・うぇ | ヴぇ | ぇ | |
お | いょ・うぉ | ヴぉ | ぉ | |
か | が | きゃ・くぁ | ぎゃ・ぐぁ | |
き | ぎ | きぃ・くぃ | ぎぃ・ぐぃ | |
く | ぐ | きゅ・くぅ | ぎゅ・ぐぅ | |
け | げ | きぇ・くぇ | ぎぇ・ぐぇ | |
こ | ご | きょ・くぉ | ぎょ・ぐぉ | |
さ | ざ | しゃ・すぁ | じゃ・ずぁ | |
し | じ | しぃ・すぃ | じぃ・ずぃ | |
す | ず | しゅ・すぅ | じゅ・ずぅ | |
せ | ぜ | しぇ・すぇ | じぇ・ずぇ | |
そ | ぞ | しょ・すぉ | じょ・ずぉ | |
た | だ | ちゃ・とぁ | ぢゃ・どぁ | |
ち | ぢ | ちぃ・とぃ | ぢぃ・どぃ | |
つ | づ | ちゅ・とぅ | ぢゅ・どぅ | っ |
て | で | ちぇ・とぇ | ぢぇ・どぇ | |
と | ど | ちょ・とぉ | ぢょ・どぉ | |
な | にゃ・ぬぁ | |||
に | にぃ・ぬぃ | |||
ぬ | にゅ・ぬぅ | |||
ね | にぇ・ぬぇ | |||
の | にょ・ぬぉ | |||
は | ば・ぱ | ひゃ・ふぁ・うぁ | びゃ・ぶぁ・ぴゃ・ぷぁ・ヴぁ | |
ひ | び・ぴ | ひぃ・ふぃ・うぃ | びぃ・ぶぃ・ぴぃ・ぷぃ・ヴぃ | |
ふ | ぶ・ぷ | ひゅ・ふぅ・うぅ | びゅ・ぶぅ・ぴゅ・ぷぅ・ヴぅ・ヴ | |
へ | べ・ぺ | ひぇ・ふぇ・うぇ | びぇ・ぶぇ・ぴぇ・ぷぇ・ヴぇ | |
ほ | ぼ・ぽ | ひょ・ふぉ・うぉ | びょ・ぶぉ・ぴょ・ぷぉ・ヴぉ | |
ま | みゃ・むぁ | |||
み | みぃ・むぃ | |||
む | みゅ・むぅ | |||
め | みぇ・むぇ | |||
も | みょ・むぉ | |||
や | ゃ | |||
ゆ | ゅ | |||
よ | ょ | |||
ら | りゃ・るぁ | |||
り | りぃ・るぃ | |||
る | りゅ・るぅ | |||
れ | りぇ・るぇ | |||
ろ | りょ・るぉ | |||
わ | ゎ | |||
を | ||||
ん | ||||
、 | ||||
。 | ||||
ー | ||||
「 | ||||
」 | ||||
・ |
(2006年12月22日1:43:35追記:この記事は、2006年12月21日ではなく2006年12月22日に投稿しました……日付が変わってしまったことに気づかず投稿していますorz)
*1:間違っても、「毎回ローマ字に変換して、文字を挟んでからロマ仮名変換して……」なんてアホな処理はしないでください。変換表を記事最下部に追記しましたので、それを利用してください。
*2:「かなめくり」であれば逆トグルを利用、「ポケベル入力(ベル打ち)」であれば文字の前後にモードキーの操作が必要なので、【発音コストが低く、極端に素早く打てないといけない】小書き文字がすんなりと打てない。この点の解消に有効なのは携帯ローマ字入力なのだけれど、こちらを採用しても「清音・濁音・半濁音の打鍵差」は残ってしまう&母音の入力に運指コストが意外と必要(原理的に母音は辺境にしか配置できない)……と。なかなか「キー→かな」ルールのみでの解決は難しいのかもしれません。故に「かな漢字変換辞書」の力を借りてみる、と。
*3:「濁音&半濁音補完」指定があった場合に有効
*4:「拗音化補完」指定があった場合に有効
*5:「濁音&半濁音補完」と「拗音化補完」の指定があった場合に有効
*6:「小文字化補完」の指定があった場合に有効