キーボード入力概論 このサイトを作りながら、さまざまな言葉とその表記、そしてキーボード入力の方式の関係を調べているうちに考えたことをまとめてみました。 1. キーボード入力の目標 最初にキーボードを使って入力するという作業の最終的な目標または成果物は何かという問題を考えてみましょう。答えはとても簡単で「同じ言語を共有する特定の地域の住民が読める」ものを作ることです。 この場合「読める」には、印刷して読む、ディスプレー上で読む、音声読み上げソフトで読む、等が含まれます。この意味でコンピューターを使ったキーボード入力は手書きと本質的に変わるものではありません。一般的には「文字」を使った文書となることでしょう。 2. キーボード入力までの流れ 上で見た目標が「出口」だとするならば「入口」は何でしょう。これは作業の内容によりさまざまでしょう。手書きの原稿の清書ならばその原稿、テープおこしだったら音声、自分で文章を作るのだったら頭の中で考えていること、等ということになります。 この入口と出口の間をつなぐのが入力の技術であり、キーボードのその一例です。さまざまな技術の善し悪しは入口、出口の種類により異なるものであり、要はそれぞれに応じて適切なものを選んでくればいいだけです。例えば、印刷物をコンピューターで読めるファイルにするにはOCR(Optical Character Recognition)、テープ起こしだったら音声認識、といったものが適当かもしれません。 3. 言葉・・・音声と文字の関係およびキーボード入力 (1)言語と音声 私は言語学者ではないので学問的に言語がどのように定義されているのか知りませんが、以下の私の議論のために暫定的に私の考えを述べると「言語とは特定の社会的集団において意思疎通を図るための手段」ということになり、その表現の方法としては音声と文字が代表的なものといえます。世界の言葉で「しゃべられているが文字がない」というのはたくさんありますから、一般に言語においては音声が基本的な要素と考えられます。 言語における音声の意味や音声の構成をどのように考えるか等については私は全然知識がないので、厳密なことは音声学者におまかせすることにします。 (2)文字と音声 さて、文字と音声の関係は言語によりさまざまです。この規則が(明示的に決められているか否かを問わず)正書法と呼ばれるものです。個別の表記ルールには立ち入りませんが、音声と文字による表記、特に音韻の構成要素をどの程度表記により区別するかは言葉により大体の傾向があります。 例えば日本語はほぼ音節に対応するひらがな、カタカナと数音節に対応する漢字を組み合わせて表記するのが社会的に許容されている方法です。なお、かなはそれより細かい分割(例えば子音と母音)をすることはできません。韓国語ではハングルはほぼ音節に対応しています。また、ハングルの構成要素はほぼ、音韻の構成要素に対応しています。さらに、一部の言葉は漢字を使って表記します。中国語では漢字それぞれが一つの音節に対応しています。イ語では文字が音節に対応しています。英語等では音韻の構成要素(例えば子音・母音)をそれぞれ独立した文字で表記します。タイ語やビルマ語では音韻の構成要素のうち声調についても表記で区別できるようになっています。 音声と文字の関係は完全に一対一ということはありません。同じ音声が違う文字で表記されたり違う音声が同じ表記をされたりすることは普通です。これはどの言葉でもあることです。一般的に時間の経過とともに音声は変化が大きいのに対して文字の表記は変化が小さいことも関係します。このため、正書法ができてからかなりの時間が経過している言語では乖離が大きくなることが予想されます。 (3)キーボード入力との関係 すでに述べたようにキーボードによる入力の最終的な目標は「文字」です。このため、キーボード入力のもっとも簡単なモデルは、文字とキーボードのキーを対応させるものです。例えば一般的な英文タイプライターや20年ほど前まで使われていた日本語タイプライターはこれに当たります。 この方式は文字とキーの対応が直接的なため実装に高度な技術を必要としないという利点があります。ところが、人間が容易に記憶し操作できるキーの数は限られています。キーボードを見ないで入力をするタッチタイプを前提とすると、上下方向には3段、左右方向には10キー(人指し指が2キー、中指、薬指、小指が1キーを担当する)が現実的な使いやすいキーの配置となります。英文の場合はアルファベットの文字が26文字ですので、この制約は問題になりません。 日本語のように漢字まで入れると、通常使う文字の数が数百を超える場合は明らかにタッチタイプを前提としたキーの配置は不可能です。ところが、コンピューターが実用化されるようになると、キーボード入力に関して機械的な技術だけでなくソフト的な技術を応用することが考えられるようになりました。 典型的な例が日本語入力におけるかな漢字変換です。キーボードのキーに漢字を割り当てることをすっぱりあきらめ、漢字を読みから検索し選択するという方式を採ったことにより、実用的なスピードでタッチタイプをするという目標が可能になりました。 かな漢字変換の進歩が急速だったことも原因かもしれませんが、キーボード自体の考察は後回しになったと考えられます。もちろん、親指シフトやM式、トロンキーボードといった例外がないわけではありませんが、かな文字とキーボードのキーの対応については、いわゆるJISキーボードが使われることになりました。また、かなについてはアルファベットを用いたローマ字表記があることを利用してアルファベットを入力して自動的にそれをかなに変換する(これもソフト的な手法を用いないと不可能)ことも行われるようになりました。 ローマ字かな入力で一つ注目すべきは、かなという日本語特有の表記を知らなくても発音が分かればそれをアルファベット化したつづりを入力することにより日本語入力が可能になったことがあります。ただし、最終的には日本語の文章にはかなが残るわけですから、かなが分からないと正しい表記になったかどうかは判断できないわけですが。いずれにせよ、かな入力ではほとんど役割がなかった音声をローマ字入力では味方にできる可能性がでてきたことは特筆すべきです。このことは後に論じる外国語のキーボード入力において一つの論点となります。 4.親指シフトキーボードが達成したこと ここで、親指シフトキーボードによって可能になったことを振り返ってみましょう。まず「親指と他の指の同時打鍵」という特徴です。親指シフトを使う人はよく知っていて、そうでない人にはあまり知られていないのは、親指を「同時に」(英文キーボードのシフトキーのように最初に押すのではなくて)打鍵するということです。実際には「ほぼ同時」でいいのですが、これはハード的な仕掛けで実現することは難しいと思われます。もう一つ、シフト無し、同手シフト、クロスシフトの3通りを一つのキーに割り当てることができるようになったことです。このため、上下3段、左右方向10キーでタッチタイプができるようになる文字数が90まで増えたことです。 もう一つはキー上の文字配列を出現頻度や記憶の容易さ(例えば濁音を対応する清音のクロスシフトに割り当てた)等を考慮して合理的なものとしたことです。なお、配列はソフト的に決定できるため、個人の嗜好等に合わせてカスタマイズすることも容易です。 こうした意味で、親指シフトキーボードは従来の機械的制御の考え方から大きく飛躍してソフト的制御の利点を最大に活用して、使い勝手を改善したことになります。 5.各国語とキーボード入力 それでは、このウェブサイトで取り上げた言葉について、音声と表記の関係、そしてキーボード入力への含意を論じてみましょう。 (1) ハングル [表記と音声] 朝鮮語の表記は朝鮮半島の南北で少し違うようです。北朝鮮ではハングルのみで表記するのに対して、韓国では必要に応じて漢字も混ぜるようです。ハングル自体は、各文字が一音節に対応しているとともに、その構成要素は音声の構成要素に対応しています。 なお、漢字は一音節で読まれるため漢字一文字はハングル一文字に対応します。 文字の構成要素の数を見ると、頭子音は19、母音が21、末子音が27あります。この組み合わせをすべて数えると19×21×(27+1)=11,172通りになるわけですが、全部が使われるということではないようです。UnicodeではAC00〜D7A3(十六進表示)で、すべての場合を網羅しています。 [キーボード入力] キーボード入力に関して、とりあえず漢字のことは忘れるとして、ハングルの入力だけを考えます。上記の通り、ハングルの文字数は大変多いためキーボードに割り当てることは無理です。このため、通常のハングル入力方式では子音と母音を左右に振り分けて構成要素ごとに入力します。ある意味で日本語のローマ字かな入力と同じことをしています。 ローマ字と違ってハングルでは子音、母音ともに数が多いため、上記の方式では、(1)シフト(小指)が多い、(2)頭子音と末子音を使い回しせざるを得ないので文字の確定が遅れる、(3)文字のキーへの割り当てに工夫がないので覚えにくい、等の問題がでてきます。 親指シフトキーボードはこうした問題を解決できます。キーに割り当てられる文字の数が増えることにより頭子音と末子音を区別できるようになり、また、親指シフトの動作で子音の平音、激音、濃音の区別、母音の半母音無し、半母音がy、半母音がwの区別を行うことができるようになり、これは習得を容易にします。 (2)ベトナム語 [表記と音声] ベトナム語の音節の成り立ちは、(頭子音)+(介子音)+母音+(末子音)+声調、となっています。ベトナム語はアルファベットをベースに独自の拡張を加えた29文字に声調記号を付して表記されます。子音については単独の子音でありながら複数の子音を並べて表記する場合(例:kh、ngh)もあります。アルファベットをベースにするということからは避けられない制約かもしれませんが一つの音節に使用される文字の数がかなり変化することは使い勝手の面ではほめられたものではありません。 [キーボード入力] 現行のベトナム語のキーボードからの入力方法は、文字や声調記号をキーに割り当ててそれを順番に入力していきます。なお、少し細かいことをいうと、a,e,oの上に^を書いた文字はベトナム語の正式の文字の一部ですがこれはキーに割り当てられてなく、文字を入力してから^を入力することになっています。 この方式では、子音や母音で単独の文字で表せないものを含むものについては入力の回数が多くなってしまいます。最大の場合は1音節を入力するのに11回の入力が必要とされます。このように入力の効率が悪く、使い勝手も良くありません。また、末子音に使われている文字は頭子音に使われている文字と重なるため、末子音の有無の判断が遅れることとなります。 親指シフトキーボードの考え方は基本的に音声をベースにしています。これは、もともとベトナム語の音声と表記の関係があまりすっきりと整理されていないため、表記をベースにキーボード入力を考えると(現行のキーボード入力の方法はそうです)使い勝手の悪いものになってしまうからです。綴り方に引っ張られることなく、音声をベースとするためにソフト的な手法を活用することは必須条件です。一つのキーを押すだけでnghの3文字か入力されるようになる、ということを考えるにはタイプライター時代から引き継いだハード的思考方法からソフト的制御の思想へ大転換することが前提条件となります。具体的な実装方法は該当ページを見てください。 (3)中国語 [表記と音声] 中国語は漢字だけで表記されます。漢字は一文字が一音節にほぼ対応します。使われる漢字の数はかなり多く中国政府が決めた良く使われるものは6763個となっています。音節は(子音)+(介子音)+母音+(子音)+声調という構成になっています。音節の数は約400種となっています。 [キーボード入力] 上記の数で見て分かる通り、漢字にしろ音節にしろそのままでキーボードのキーに割り当てることは不可能です。そのため、一つの音節を入力するのには少なくとも2回の入力が必要とされることが分かります。実際に入力に使われている方法は何種類かあるようですが、いずれも入力の回数が多かったり、音節→漢字への変換効率が悪かったりするといった問題があります。 音節の数が約400だとすれば、20×20=400ですから、何らかの分類方法を工夫すれば2回の入力で1音節が入力できるようになる、というのが親指シフトキーボードによる入力の基本的アイデアです。親指シフトでは1回の打鍵で90種の打ち分けができますから楽勝です。 親指シフトを使った入力の実装方法はいくつかありますが、基本的には音節を子音+介子音、母音+子音(+声調)の2つに分ける方法をとっています。親指シフトによる打ち分けの数が多いため覚えやすさに対する工夫もする余地が生まれます。 中国語では漢字への変換の問題を抜きにすることはできません。日本でのかな漢字変換の技術の進歩の早さと同様に中国語でも漢字変換は技術進歩が早いと思いますが、それと同時に入力の問題も考える必要があると思います。 (4)イ語 [表記と音声] 音節は(子音)+母音+声調により成り立っています。子音は43種類、母音は10種類、声調は4種類です。このため音節の可能性としては43×10×4=1720あることになります。イ語の表記については、漢字のような表意文字であるclassical Yi とmodern Yi があり、中国政府は1980年に規範イ語として後者を制定しています。各文字は一つの音節に対応しており、それを構成要素に分割したものはありません。日本語のかなと同じようなものと考えていいと思います。UnicodeのYi Syllablesでは、A000〜A48Cの1164文字が登録されています。これは、子音、母音、声調の組み合わせには制限があることを示しています。 [キーボード入力] 現行の入力方法がどのようなもの化についてはあまり情報がないので、仮にローマ字入力をするとした場合の問題を考えてみます。子音が43種類あることから分かる通り、普通のローマ字では区別ができないことになります。母音は10種類ですので、これも普通のローマ字にある母音では区別ができません。声調も独立に入力するとなると1ストローク余計にかかることになります。 親指シフトキーボードの考え方は、上にあった43×10×4を43と10×4=40に分けます。そして、それぞれのストロークを組み合わせて一つの音節(=一つの文字)を構成します。やっていることは日本語におけるローマ字→かな変換と同じです。日本語の場合はこのあとかな漢字変換をするわけですが、イ語では音節を表す文字を書けばいいので必要ありません。それぞれが親指シフトでは実装は難しくありません。また、母音の数が10なので横1列に収まるのは使い勝手を良くしています。 <この項続く> (参考文献) 東京外国語大学語学研究所[編](1998) 世界の言語ガイドブック 2 アジア・アフリカ地域 三省堂 三上吉彦、池田巧、山口真也[編著](1991) 電脳外国語大学 技術評論社 その他、当ウェブサイトでの引用文献 2002.11.17 初版 |