abj配列
abj配列は、母音省略システムを搭載した行段系配列です。
【abjシステム】
abjシステムは母音の入力を可能な限り省略するシステムです。abjシステムでは、子音(例:K)が入力されたときに優先度の高いカナ(例:か)を表示します。優先度の低いカナを入力する場合は、適切な母音を追加することによって目的のカナになります。これによって母音入力の約35%を省略できます。
例えば「dkims」と言う文字列は日本語で「できます」に見えるかと思いますが、abjシステムでは実際「できます」が出力されます。
【abjの意味】
abjとはabjadの略で、アラビア語やヘブライ語などの短母音を表す文字が存在しない言語のことをいいます。詳しくはwikiを参照してください。
アブジャド - Wikipedia
これを日本語入力に取り入れてみたのがabj配列です。この分野での先駆的な研究には「Touch Me Key」「T9」などがあります。
【入力方法】
母音推定
子音を入力されると、デフォルト設定のカナがいきなり表示されます。
例 : S->す
このようなデフォルト設定のカナを「優先カナ」と呼びます。
このときに立て続けに子音を入力し続けると「優先カナ」が確定していきます。
例 : BKDSN->バカですな
もし「優先カナ」が希望のカナがではない場合には適切な母音を入力すると希望のカナに変わって確定します。
例 : BoKuDSNe->ボクですね
母音のいくらかを省略できるローマ字だと思ってください。
子音 | 優先カナ | 子音 | 優先カナ | 子音 | 優先カナ |
---|---|---|---|---|---|
b | ば | ch | ち | d | で |
f | ふ | g | が | h | は |
j | じ | k | か | l | ぁ |
m | ま | n | な | p | 。 |
r | る | s | す | t | た |
v | ・ | sh | し | y | よ |
ly | ょ | z | 、 |
確定カナ
特によく使うカナである「た」「と」「の」「ん」「っ」は専用キーが用意してあります。専用キーを押しても直前の「優先カナ」が確定します。これはタ行、ナ行では「た」「と」「て」「な」「の」等の出現頻度が高い上に均等でabjシステムがうまく動作しないからです。また「ん」とナ行を区別する必要もありました。
もちろん「あいうえお」も「aiueo」でそのまま確定します。
また「を」「わ」についても専用キーを用意してあります。「これをあげる」と言った文章で「わ」を誤打鍵するミスを防ぐためです。
追加子音
「sh」「ch」の子音にはキーに割り振られています。このルールでは「SH」と入力すると「すは」と出てしまうからです。また拗音を入力しやすくするためでもあります。
これによって「TI」「SI」と打った場合は「ち」「し」ではなく「てい」「すい」が入力されます。
長母音拡張
子音を入力した後に「-ai」「-ou」を入力すると長母音が入力されます。これは母音省略が行われたものと勘違いするミスを軽減するためです。
例 : 「K(か),I」で「かい」が出そうだが「き」が出る
撥音「っ」
撥音「っ」は専用キー(slash)を打つことによって入力できます。子音連打では出ないのは「かかく」等を打つ利便性を優先させたからです。「っP」のみは「。(P)」の連打でも出ます。これは、colon→commaの運指が厳しいことと「。」が続くことが通常ないからです
拗音
k-Y-o等の拗音の「Y」は「-y」キーで入力します。「Y」を押しても出ません。これは運指を改善するのと、意図しない動作(例:×MY->まよ ○MY->みょ)を防止するために分離したものです。また、「-y」を押した時点でk-Y-oと「ょ」が優先されます。aiを打つことによって「ゃゅ」に変わります。-ai、-ouに続けることもできます。この結果3打必要とする拗音は拗音全体の8%以内に収まります。
そのほか、あまり一般的ではない拗音の入力方法は無効になっています。
例外1
以下のキーの連続は通常の規則から外れています。
- KR : から
- Mの : もの
- RR : られ
- RRR : られる
- NN : なに
- Sん : せん
- -y-y : ゅう
例外2
「PZV」行に関しては「優先カナ」がありません。「、。・」とキーを共有しています。これによってキー数を稼ぎ指の移動を減らしています。
【配列作成者向けの設計思想話】
プログラマー的な省略記法では子音のみで表現することがままあり(例:cmd(command)、wnd(window)、msg(message))これを日本語入力に応用できないかと常々考えていました。AZIKの特殊拡張のように限定されたパターン(ds->です、ms->ます)でならできるのですが、一般化された状況ではIMEの補助無しには不可能と思えました。
これらの先行例としてはT9入力などがあります。
ネックになったのはTKN行の変化の多彩さで「とて」「かき」「もの」のように、デフォルトでどれかを選択する仕様にしてもイマイチ中途半端な結果に終わりました。
ところが、最近いくつかのカナ行段のハイブリッド配列を作成した関係で行段にもいくつかの確定カナキーを置くのが有効であるとわかったので確定カナキーを使ってTKN行を制御することを思いつきました。試行錯誤の結果、K行はなにもせずTN行に専用キーを設けて完成としました。
これで実用レベルになったと思います。
親指キーの使用
親指キーの使用は当初から考えていました。もともとは親指シフト系を使っていて親指の使用頻度が多すぎるかなと思ったのが発端だからです。
確定カナ
この辺がカナ行段ハイブリッド配列の名残になります。
abj配列は行段系配列ですが、子音キーの連続に意味がありますので、子音キーにazikのような拡張を配置することがなかなかできません。そこでまずは「ん」を独立したキーにする必要がありました。それ以外の「確定カナ」が無くても動作しますが、打鍵数が約8%増加するのに加え「あったとて」のようにabjシステムがうまく動作しないパターンが多く発生する問題がありました。
候補として「たとかなの」の5カナが考えられましたが、キー配置とのバランスを考慮して「たとの」を選択しました。「た」と「か」のどちらを採用するかはだいぶ試行錯誤しましたが、「た」を採用すると「て」が「優先カナ」に繰り上がり、Eの使用頻度を減らすことを優先し「た」を採用しました。
「わ」については当初「を」と共有させていましたが、わかりにくいことと、「Y」キーになにも割り当てておらずもったいなかったのでこのようにしました。
母音の配置
母音の配置がほぼqwertyのままですが、これは習得の容易性を考慮したものではありますが、場所を移動しても、あまり利益が無かったのでこのようになりました。
。いざというときにqwertyに復帰しやすいからです。私の場合は約3分カチャカチャすればすんなりqwertyに戻れます。経験的に、指に異なる母音を割り当てない(例:右手人差し指にIを割り当て)のが鍵のようです。
悪運指について
2ヶ月程かけて目立った悪運指は減ってきたかと思いますが、定量的な評価は単に悪運指の出現頻度に限らず指の運動量を総合的に評価する段になってから検討したいと思います。
性能
小梅配列さんのところの10万字サンプル(英字抜き)で集計したら
字数計 102,070
打鍵数(k) | 負荷ポイント | |
---|---|---|
通常ローマ字 | 177 | 2476 |
NICOLA | 143 | 1806 |
月2-263 | 131 | 1803 |
飛鳥 | 144 | 1697 |
小梅(私家版) | 135 | 1656 |
新下駄 | 127 | 1535 |
qwerty_hybrid | 128 | 1768 |
abj | 129 | 1595 |
(abjは母音の補足に必要な打鍵が計算に入っていないから5%程悪化するはず)
となり、まずまず最新の配列と遜色ない性能が出ています。
qwerty_hybridより見た目の打鍵数が増加しているのはabjが「っ」を設けて「-ei」を削除したためです。その代わり、母音の補足が必要な回数が減っているはずです。
今後の予定
nodokaにタイマーが実装されたら、一定時間で「優先カナ」が確定するようにしたいです。一呼吸おくと「優先カナ」が確定していないことを忘れるからです。そうなればいっそう使いやすくなると思います。
【ダウンロード】
abj_001.nodoka - Google ドライブ