Tech Nuggets (15)

AZIK: 12% 楽に日本語を入力する方法

Posted:

AZIK (エイズィック) という日本語入力の方法がある。 一般的なローマ字入力との互換性を十分に保ちつつ、日本語に頻出する文字列を少ないキー入力 (打鍵) で打てるようにしたものだ。

打鍵数が通常のローマ字よりも約12%[*] 少なくなります。…
[*] 8 万字を越える実際の文字列に基づいたシミュレーションによる数値です。 たった12%しか打鍵数が減らないのか、とがっかりしないでください。使っていくうちに、数値以上の効果を実感できるはずです。

AZIK総合解説書

とても気に入っているので紹介したい。

AZIK とは

ローマ字入力では「です」と打つときに desu と打つことになる。de というキー入力に対して「で」という文字が、su に「す」が対応することが 予め定義して あって、その定義に従って文字を出力されている。

この「予め定義して」ある対応表を書き換えることで、少ない打鍵で任意の文字を出力できるようにする。

AZIK では ds と打つと「です」が出力される。 これは対応表に ds が「です」に対応すると書き込まれているからだ。 このように一般的なローマ字入力にはない対応関係を追加することで少ない打鍵・心地よい入力を実現するのが AZIK である。

この対応表のことを「ローマ字変換テーブル」と呼ぶ。

AZIK の魅力

AZIK の魅力はハードルが低い割に得られる効果が大きいことだ。

打鍵の少なさでは かな入力親指シフト薙刀式 などに及びもつかない。 しかしこれらの入力方式への移行には踏ん切りがいる。 移行直後はまともに打てなくなるし、専用のキーボードかソフトウェアの導入が必要になる。 一方 AZIK はほとんどの文字をローマ字入力と同じ打鍵で打つことができる。 専用のキーボードもソフトウェアも必要なく、Google 日本語入力への導入ならばファイルをひとつ読み込むだけで完了する。

また学習も容易である。 かな入力、親指シフト、薙刀式が 0 から専用のトレーニングを積むのに対して、AZIK はすでに持っているローマ字入力のスキルをそのまま使いながら新しい打鍵を身につけることができる。

このように AZIK は導入、移行、学習のすべてが簡単だ。

打鍵の数はそれほど減らないが、それでもローマ字入力と比べて指がバタつく感じはぐっと少なくなる。 特に「っ」と「ん」の入力で感じるはずだ。 指が少し楽になるだけで打ち心地を大きく向上する。

AZIK のローマ字変換テーブル

ここでは AZIK が追加する対応関係のうち、以下の 4 つを簡単に紹介する:

  1. 二重母音
  2. 母音+ん
  3. 「っ」
  4. 特殊拡張

詳しくは作者のサイトを参照してほしい:
AZIKでの入力方法 | AZIK総合解説書

1. 二重母音

一般的なローマ字入力における ai uu ei ou について以下のキーを使うことができる。

ローマ字入力AZIK
aiq
uuh
eiw
oup

「かい」は kq、「くう」は kh と各子音について対応関係を追加することで実現する。

AZIK を使い始めて初めて意識したが、上の二重母音は本当によく出てくる。 省力化を強く実感できるはずだ。

2. 母音+ん

一般的なローマ字入力における an in un en on について以下のキーを使うことができる。

ローマ字入力AZIK
anz
ink
unj
end
onl

「かん」は kz、「きん」は kk と各子音に対して対応関係を追加することで実現する。

ローマ字入力では「ん」の後ろに子音が続く場合 n をひとつ、母音が続く場合はふたつ打つ必要がある。 この使い分けは慣れれば苦にならないとは言え、後ろに続く文字を意識しなくてはならない。 常に nn と打つこともできるだろうが、「こんにちは」と打つときには n が 3 つ連続することになる。 AZIK では後ろの文字を意識することなく「ん」を打つことができる。

3. 「っ」

; を「っ」と対応させることで実現する。

「っ」に専用のキーがあることで指のバタつきが減るし、感覚的にもしっくりくる。 例えば「だった」と入力するときローマ字入力では datta と打つことになるが、これは頭の中で datta に、つまり「だ」と「った」に分割されているはずだ。 AZIK では da;ta と打てるため「だっ」を一息で打つことができる。 この「だ」+「った」、「だっ」+「た」の感覚の差は思いの外大きく、私は後者のほうが心地よい。 賛成してもらえる思うのだがどうだろうか。 ぜひ体感してほしい。

4. 特殊拡張

以下のようなよく使う文字列に対応するキーを対応させている:

文字列ローマ字AZIK
ですdesuds
したsitast
なるnarunr

その他については下を参照してほしい:
入力方法(その3:特殊拡張)| AZIK総合解説書

どれくらい打鍵が減るのか

例えば「日本語入力」と打つ場合以下のようになる:

ローマ字入力nihongonyuuryoku
AZIKnihlgonghryoku

ローマ字入力の打鍵数に 16 対して AZIK は 14。 差があるのは「ほん」と「にゅう」のふたつで、どちらも打鍵が1ずつ少なくなっている。

大して打鍵数を減らせていない。 では「大して打鍵数を減らせていない」を打つ場合を見てみよう:

ローマ字入力taisitedakensuuwoheraseteinai
AZIKtqstdakdshwoheraseteinq

ローマ字入力の打鍵数に 29 対して AZIK は 23。差がある箇所をまとめると:

ローマ字入力AZIK
たいtaitq-1
してsitest-2
けんkenkd-1
すうsuush-1
ないnainq-1

このくらい少なくなると省力化を実感できるのではないだろうか。

導入方法

mozc には以下の手順で導入できる。 Google 日本語入力への導入もさして違いはないだろう。

  1. ローマ字変換テーブル (テキストファイル) を用意する
  2. mozcConfiguration Tool を開く
  3. General タブの最下部、Romaji Table の右にある Customize ボタンをクリックする
  4. 新たに開くウィンドウの左下 Edit から Import from file... をクリックする
  5. (1) で用意したファイルを読み込む

既存のローマ字変換テーブルのバックアップを取っておくと良い。 (4) の前に Edit から Export to file... を選択することでできる。

(1) で用意するファイルは 私が使っているローマ字変換テーブル でも良いし他のものでも構わない。

ローマ字変換テーブルは 1 行にひとつの対応関係が記載されている。 各行は次のような書式になっている:

キーの組み合わせ<TAB>対応する文字列

例えば st が「した」に対応することを記載している行は以下のようになる (>>>> は TAB):

st>>>>した

区切る文字がスペースだとエラーが出るので注意してほしい。

その他の日本語入力

楽に日本語を入力するべく、さまざまな入力方式が開発されてきた。 変換する文字列の区切りをマニュアルで制御することで誤変換を避ける SKK や、一文字あたりのキー入力 (打鍵) を減らすため、文字とキーを 1:1 で対応させる かな入力親指シフト薙刀式 などがある。

変換の際にどの部分を単語として助詞として扱うかは形態素解析によって決められる。 SKK はその部分分けをソフトに (形態素解析に) 頼らず、ユーザーが行うようにしたものだ。 自前の変換辞書が育っていくことで変換が容易になること、またその独特の操作感から根強い人気がある。

かな入力、親指シフト、薙刀式については、導入・移行・学習に手間と時間がかかるものの、その効果は絶大だと聞く。 谷を超えた先には「指が喋る」ような感覚が待っているそうだ。