母音の連接頻度
月見草開発に用いた文章サンプルで公開されている、かなの連接表を使わせていただき、母音の連接という観点から集計してみた。
母音の連接というのは、要は「ひらがな」なら「iaaa」、「キーボード」なら「ioo」、「魚は羽ばたかなかった」なら「aaaaaaaaaaa」となる。
ローマ字配列は母音を一方の片手、子音を逆の片手にまとめて左右交互打鍵を実現しているものが多い。そのため、母音に限定した連接頻度は、母音を担当する手の運指を考慮する上で役に立つのではと思った。
ソースと集計方法
ソース
ソース詳細は上記のリンク先参照。
文章サンプルは口語体を多く採用しました。青空文庫 11,032,631 バイト
某知恵袋 21,211,842 バイト
ビジネス文書 2,278,528 バイト
Wikisource 2,092,621 バイト
Wikipedia 964,471 バイト
ニュース記事 1,089,780 バイト
文字数は濁点は0、捨て仮名も一文字としています。また「、。・ー」及び開き括弧がカウントされています。括弧は「『(をまとめて集計しました。
かなgramのデータは出現回数8回未満は切られている。
集計
捨て仮名も一文字としているので、ローマ字で打鍵する母音とは必ずしも一致しない。
例えば2gramデータで「おし」が10670個とあるが、だからといって「oi」という母音の連接が10670個になるわけではない。「おしゃれ」「おしょう」などの一部である可能性もある。この場合、母音の連接は「oa」「ou」として扱わなければならないが、では10670個の内いくつが「おしゃ」でいくつが「おしょ」なのかは2gramからでは分からない。
そのため、3gramデータの最初の2文字を集計した。
- 基本は1文字目と2文字目の母音で集計する
- 1または2文字目に記号「、。ー・括弧」促音「っ」が含まれるデータは集計しない
- 2文字目が捨て仮名(ぁぃぅぇぉゃゅょゎ)のデータは集計しない
- 3文字目が捨て仮名(ぁぃぅぇぉゃゅょゎ)の場合、2文字目でなく3文字目の母音で集計する
- 撥音「ん」は「ん」のまま集計する
つまりは3文字目の母音を知る必要があるが、正しい母音が上記の理由で正確には分からない連接は集計していない。一応、不当に高いまたは低い評価をされる連結が無いように気をつけたつもりだが、見落としがある可能性は否定できない。
「だったのだが、そこで」のように促音や長音、記号を挟んでの連接は考慮しない。促音と長音は考慮したかったが、データの都合上出来なかった。よって促音・長音を挟む連接(「楽器」の「ai」、「ボール」の「ou」など)はカウントされていないため、もしある連接がこの形で特によく出てくるとすれば、それは低く評価されてしまっている。ただ、促音や長音は子音側でより多くのキーを打鍵しているため、「子音1つを挟んだ母音の連接」と同列に評価すべきかは一考を要するポイントである。
追記:よく見たら4gramのデータもちゃんとあったので、それを使えば促音・長音を挟む連接も集計可能だった。ただ、かなgramの形に加工されたデータでの集計は限界があったため(下記課題参照)、修正しての再集計は後回しにする。
撥音は、母音側の手に「ん」を一打で入力するキーを配置することを想定し、今回の集計では母音のように扱っている。
結果表
5母音+ん
a | i | u | e | o | n | A | I | U | E | O | |
---|---|---|---|---|---|---|---|---|---|---|---|
a | 786393 | 472751 | 452137 | 339848 | 380448 | 231806 | 55982 | 455871 | 24716 | 50370 | 41394 |
i | 886923 | 353284 | 293121 | 343886 | 530857 | 148361 | 41395 | 80931 | 38845 | 26100 | 31943 |
u | 497132 | 342693 | 238549 | 236390 | 540924 | 59340 | 11524 | 67861 | 125052 | 17828 | 15551 |
e | 304552 | 171418 | 236410 | 120235 | 184064 | 224159 | 30041 | 259733 | 3063 | 3658 | 18346 |
o | 448212 | 367245 | 257244 | 237546 | 636126 | 112264 | 38572 | 120215 | 570810 | 20403 | 87924 |
n | 221747 | 105706 | 59038 | 112889 | 202201 | 0 | 3411 | 10437 | 834 | 4014 | 2590 |
横が1打目、縦が2打目 大文字は、間に子音を挟まない「あいうえお」 |
8母音+ん
a | i | u | e | o | ya | yu | yo | n | |
---|---|---|---|---|---|---|---|---|---|
a | 724027 | 455695 | 395348 | 328894 | 315033 | 6476 | 11809 | 25449 | 225762 |
i | 848757 | 353284 | 259214 | 343886 | 440492 | 18599 | 27163 | 55149 | 148361 |
u | 464793 | 333435 | 198159 | 232901 | 432028 | 17116 | 23857 | 58832 | 52273 |
e | 295963 | 171418 | 229327 | 120235 | 153852 | 2937 | 5471 | 23791 | 224159 |
o | 411846 | 338014 | 189295 | 226170 | 546372 | 8305 | 19866 | 36175 | 100695 |
ya | 38262 | 17056 | 37603 | 10954 | 16819 | 447 | 1428 | 2977 | 6044 |
yu | 5094 | 9258 | 12374 | 3489 | 3975 | 35 | 1342 | 1998 | 7067 |
yo | 13732 | 29231 | 40660 | 11376 | 20049 | 193 | 941 | 1418 | 11569 |
n | 203916 | 105706 | 38777 | 112889 | 168727 | 12591 | 19042 | 28360 | 0 |
A | I | U | E | O | Ya | Yu | Yo | ||
a | 54449 | 451475 | 24037 | 49986 | 40532 | 16454 | 5595 | 19807 | |
i | 41395 | 80931 | 38845 | 26100 | 31943 | 19567 | 6744 | 35216 | |
u | 10982 | 67319 | 26124 | 16905 | 15537 | 9987 | 2817 | 43585 | |
e | 30041 | 259733 | 3063 | 3658 | 18346 | 5652 | 1612 | 6421 | |
o | 38420 | 111487 | 319316 | 20330 | 87373 | 13456 | 5559 | 31866 | |
ya | 1533 | 4396 | 679 | 384 | 862 | 727 | 354 | 363 | |
yu | 542 | 542 | 98928 | 923 | 14 | 107 | 0 | 506 | |
yo | 152 | 8728 | 251494 | 73 | 551 | 680 | 923 | 246 | |
n | 3411 | 10437 | 834 | 4014 | 2590 | 5240 | 1219 | 5114 | |
横が1打目、縦が2打目 大文字は、間に子音を挟まない「あいうえおやゆよ」 |
ランク表
「間に子音を挟まない連接」は母音側の指で2回続けて打つ。
「間に子音を1つ挟む連接」は1打目の母音を入力後、(逆の手で)子音を入力してから2打目を打つ。
5母音+ん
間に子音を挟まない連接
1 | 570810 | oU |
2 | 455871 | aI |
3 | 259733 | eI |
4 | 231806 | an |
5 | 224159 | en |
6 | 148361 | in |
7 | 125052 | uU |
8 | 120215 | oI |
9 | 112264 | on |
10 | 87924 | oO |
11 | 80931 | iI |
12 | 67861 | uI |
13 | 59340 | un |
14 | 55982 | aA |
15 | 50370 | aE |
16 | 41395 | iA |
17 | 41394 | aO |
18 | 38845 | iU |
19 | 38572 | oA |
20 | 31943 | iO |
21 | 30041 | eA |
22 | 26100 | iE |
23 | 24716 | aU |
24 | 20403 | oE |
25 | 18346 | eO |
26 | 17828 | uE |
27 | 15551 | uO |
28 | 11524 | uA |
29 | 10437 | nI |
30 | 4014 | nE |
31 | 3658 | eE |
32 | 3411 | nA |
33 | 3063 | eU |
34 | 2590 | nO |
35 | 834 | nU |
36 | 0 | nn |
間に子音を1つ挟む連接
1 | 886923 | ia |
2 | 786393 | aa |
3 | 636126 | oo |
4 | 540924 | uo |
5 | 530857 | io |
6 | 497132 | ua |
7 | 472751 | ai |
8 | 452137 | au |
9 | 448212 | oa |
10 | 380448 | ao |
11 | 367245 | oi |
12 | 353284 | ii |
13 | 343886 | ie |
14 | 342693 | ui |
15 | 339848 | ae |
16 | 304552 | ea |
17 | 293121 | iu |
18 | 257244 | ou |
19 | 238549 | uu |
20 | 237546 | oe |
21 | 236410 | eu |
22 | 236390 | ue |
23 | 221747 | na |
24 | 202201 | no |
25 | 184064 | eo |
26 | 171418 | ei |
27 | 120235 | ee |
28 | 112889 | ne |
29 | 105706 | ni |
30 | 59038 | nu |
8母音+ん
見栄えを整えるため、ya=x, yu=y, yo=z と表記する
間に子音を挟まない連接
1 | 451475 | aI |
2 | 319316 | oU |
3 | 259733 | eI |
4 | 251494 | zU |
5 | 225762 | an |
6 | 224159 | en |
7 | 148361 | in |
8 | 111487 | oI |
9 | 100695 | on |
10 | 98928 | yU |
11 | 87373 | oO |
12 | 80931 | iI |
13 | 67319 | uI |
14 | 54449 | aA |
15 | 52273 | un |
16 | 49986 | aE |
17 | 43585 | uZ |
18 | 41395 | iA |
19 | 40532 | aO |
20 | 38845 | iU |
21 | 38420 | oA |
22 | 35216 | iZ |
23 | 31943 | iO |
24 | 31866 | oZ |
25 | 30041 | eA |
26 | 26124 | uU |
27 | 26100 | iE |
28 | 24037 | aU |
29 | 20330 | oE |
30 | 19807 | aZ |
31 | 19567 | iX |
32 | 18346 | eO |
33 | 16905 | uE |
34 | 16454 | aX |
35 | 15537 | uO |
36 | 13456 | oX |
37 | 11569 | zn |
38 | 10982 | uA |
39 | 10437 | nI |
40 | 9987 | uX |
41 | 8728 | zI |
42 | 7067 | yn |
43 | 6744 | iY |
44 | 6421 | eZ |
45 | 6044 | xn |
46 | 5652 | eX |
47 | 5595 | aY |
48 | 5559 | oY |
49 | 5240 | nX |
50 | 5114 | nZ |
51 | 4396 | xI |
52 | 4014 | nE |
53 | 3658 | eE |
54 | 3411 | nA |
55 | 3063 | eU |
56 | 2817 | uY |
57 | 2590 | nO |
58 | 1612 | eY |
59 | 1533 | xA |
60 | 1219 | nY |
61 | 923 | yE |
61 | 923 | zY |
63 | 862 | xO |
64 | 834 | nU |
65 | 727 | xX |
66 | 680 | zX |
67 | 679 | xU |
68 | 551 | zO |
69 | 542 | yA |
69 | 542 | yI |
71 | 506 | yZ |
72 | 384 | xE |
73 | 363 | xZ |
74 | 354 | xY |
75 | 246 | zZ |
76 | 152 | zA |
77 | 107 | yX |
78 | 73 | zE |
79 | 14 | yO |
80 | 0 | yY |
80 | 0 | nn |
間に子音を1つ挟む連接
1 | 848757 | ia |
2 | 724027 | aa |
3 | 546372 | oo |
4 | 464793 | ua |
5 | 455695 | ai |
6 | 440492 | io |
7 | 432028 | uo |
8 | 411846 | oa |
9 | 395348 | au |
10 | 353284 | ii |
11 | 343886 | ie |
12 | 338014 | oi |
13 | 333435 | ui |
14 | 328894 | ae |
15 | 315033 | ao |
16 | 295963 | ea |
17 | 259214 | iu |
18 | 232901 | ue |
19 | 229327 | eu |
20 | 226170 | oe |
21 | 203916 | na |
22 | 198159 | uu |
23 | 189295 | ou |
24 | 171418 | ei |
25 | 168727 | no |
26 | 153852 | eo |
27 | 120235 | ee |
28 | 112889 | ne |
29 | 105706 | ni |
30 | 58832 | uz |
31 | 55149 | iz |
32 | 40660 | zu |
33 | 38777 | nu |
34 | 38262 | xa |
35 | 37603 | xu |
36 | 36175 | oz |
37 | 29231 | zi |
38 | 28360 | nz |
39 | 27163 | iy |
40 | 25449 | az |
41 | 23857 | uy |
42 | 23791 | ez |
43 | 20049 | zo |
44 | 19866 | oy |
45 | 19042 | ny |
46 | 18599 | ix |
47 | 17116 | ux |
48 | 17056 | xi |
49 | 16819 | xo |
50 | 13732 | za |
51 | 12591 | nx |
52 | 12374 | yu |
53 | 11809 | ay |
54 | 11376 | ze |
55 | 10954 | xe |
56 | 9258 | yi |
57 | 8305 | ox |
58 | 6476 | ax |
59 | 5471 | ey |
60 | 5094 | ya |
61 | 3975 | yo |
62 | 3489 | ye |
63 | 2977 | xz |
64 | 2937 | ex |
65 | 1998 | yz |
66 | 1428 | xy |
67 | 1418 | zz |
68 | 1342 | yy |
69 | 941 | zy |
70 | 447 | xx |
71 | 193 | zx |
72 | 35 | yx |
考察
間に子音を挟む場合と挟まない場合で、順位に差が見られた。 「○I」のように二重母音の2文字目としての「い」は頻出するが、子音を挟むとその頻度は母音5種の中でも下位になる。
また、間に子音を挟む連接を見ると、5母音の中では下位のデータ(ee)でも1位のデータ(ia)の7~8分の1程度で大きな差があるとは言えない。 結局どの連接もそれなりに出てくるため、ローマ字配列での母音の配置の最適化というものは、出来なくはないが、効果は実感しにくいと思われる。
Dvorakのように、左手横一列に母音を配置、上段に二重母音、下段に撥音拡張を導入する場合。
- 疲れやすい小指には打鍵数・連続打鍵が共に少ない「e」を配置するのが良い。
- 指の負担を考慮して小指にeを割り当てている配列はSKY配列、きゅうり改など比較的よく見られる。
- ただし同じ配列で英語も入力するなら、eは打鍵数が多いのでこの限りではない。
- 人差指伸下段(QWERTYでbの位置)は押しづらいので、その上のgには撥音が最も少ない「u」を配置する。
- 二重母音「uU」まで打ちづらくなるデメリットがある。
- iを1打目に持つ二重母音は頻度が少ないため、uUはiの上に配置してもよい。
- fはgと同じ人差し指で打鍵するので、uとの絡みが最も少ない「o」を配置する。
- 二重母音があるため「oU」は考慮の必要がなく、「uO」の頻度で評価。
- 「uA」は「uO」より少ないが、二重母音が用意されていないため「aU」と合計すると多くなる。
- 残る中指と薬指にaとiを配置するが、特に決定的な優位はない。
- 強いて言えば、中指は長いため下段が打ちづらい。よって撥音の頻度の違いから、中指に「i」、薬指に「a」を配置
このように頻度を元に手捏ねで母音を決めると、以下の配置が一つの案となる。
小 | 薬 | 中 | 人 | ||||||
---|---|---|---|---|---|---|---|---|---|
ei | ai | uu | ou | ui | |||||
e | a | i | o | u | |||||
enn | ann | inn | onn | unn |
課題・発展
今回は母音に限定した2連接を集計したが、3連接以上を不足無く集計する場合、理論的には「促音・長音を含めた1音節の最大仮名文字数」×「連接数」-2gramのかな連接データが必要となる。(強引な例だが、「キャッチャー直球」の頭から4連接を「aaou」と正しく求めるには「ゃっちゃーちょっきゅ」の10かなが必要。3×4-2=10。)でも現実的には、それより「連接数-2」くらい少なくても十分だろう。
既存のローマ字配列には、子音に続けて「ann」「ai」「ou」などを一度に入力できる二重母音・撥音拡張を持つものがあるが、それらを考慮に入れる場合、母音の2連接の集計には最低かな6gramのデータが必要となる。そのデータを集めることが出来れば、二重母音(上段)→撥音(下段)などの跳躍を考慮した、より負担の少ない母音配置を求めることが期待できる。
追記:拡張母音を想定すると、形態素解析による品詞の特定も必要となる。
「今は居ません」「強く打った」などに含まれる「はい」「くう」は、自分は拡張を使って打たない。かなgramデータではその区別を付けられないため、二重母音が過剰に評価されてしまう。品詞ごとに分かち書きするなどして、品詞間は拡張を使わないようにしなければならない。
しかし単純に品詞ごとに分かち書きしただけでは、今度は「ありません」「している」などが「ませ/ん」「て/いる」と分かれてしまう。この場合の「せん」「てい」は自分は拡張を使って打っているため、今度は過小評価が発生してしまう。今回の3gramデータでも「ている」7位、「ません」12位で、とても無視できる頻度ではない。
現在の所、この2つ以外に品詞をまたいで拡張を使う例が見つからないので、「ません(助動詞)」「ている(助動詞)」を形態素解析の辞書に登録してしまえばよい。そうすれば分かち書き出力一発で出せる。辞書登録は優先度の数値を適切に決める必要があるらしく、その方法がなにやら難しいように見えた。要調査。
今後一つ一つ辞書登録できない多様な例外が見つかるようなら、形態素解析の段階ではまず読みと品詞を出力し、品詞の種類によって前後をまたいだ拡張の可不可を判断した後、母音に置換するという手順になる。できればやりたくない。
また、人によって拡張を使うか使わないか微妙なラインのものもあるだろう。「て/いる」などは使わないという人がいてもおかしくない。拡張母音を想定した母音の連接頻度の解析を自分の癖に合わせて行っても、そのデータは癖の違う他人にとっては誤差を含むデータにしか成り得ないことになる。
今回の集計では句読点、括弧、長音は入れていないが、それらのキーを母音側に配置するとすれば、母音と同列に考えた方がよい。
想定する配列によって、集計に入れるべき対象、除くべき対象、音節の扱い方が変わってくるため、一つの集計結果を基に万能な配列に適用することは出来ない。 今回の結果は「母音を片手にまとめて」「撥音「ん」のみ母音側に配置し」「省入力拡張は使用しない」配列が前提である点に注意する。
品詞をまたぐ拡張
どこに書こうか迷ったが、とりあえずここに。「課題・発展」の追記部分を継承する内容。
思いつく範囲で、「品詞は分かれているが普段自分が拡張を使っている例」を挙げてみた。解析辞書はunidic-MeCabを使用。
元の品詞 | 登録する品詞 | 備考 | |
---|---|---|---|
ている | 接続助詞て+上一段動詞いる | 助動詞 | MeCabの辞書は活用も自分で全て登録する |
ません | 助動詞ます+助動詞ぬ | 助動詞 | これは終止形・連体形のみでおk |
かぜねわ+い | 終助詞+終助詞い | 終助詞 | 元気かい、元気だぜい、知らないねい、知っとるわい |
だい,でい | 助動詞だ終止形+終助詞い | 終助詞 | 生きるんだい、生きるんでい |
以下は自分は使わないが、人によっては使うかもしれない | |||
無,不+い,う | 接頭辞+名詞 | 名詞 | 無意義、無意識、無意味、不一致など 無為、無一文、不意、不入りなどは既に一語である |
話し言葉で使われる語尾「終助詞い」で幾つかあるが、列挙できないほどではない。また、漏れがあっても致命的な影響は出ないと思われる。「知らないやい」「どうしてこうなったい」は一語で登録されていた。
思い出しでの探索には限界がある。「自分が拡張を使うかどうか」は機械的な判断ができないため確認は自分で行うしかないが、せめて怪しい単語を一覧で抽出できれば確認作業が楽になる。どのように抽出すべきか。
あと、辞書登録だけでは対処しにくい構文があった。「準体助詞ん」である。
「そうなんだ」「写るんです」など、用言の連体形に付いて体言に変化させる役割を持った助詞。これも自分は拡張を使っている。連体形なら何でもくっつくので、まさか既存辞書の全ての用言に対して各々これをくっつけた品詞を作って登録するわけにもいかない。口語体ならよく見る構文なので切って捨てるわけにもいかない。
現在撥音拡張のある配列を使っていて思うことだが、「ん」はほとんど拡張を使い、Nの2回打鍵で入力することは少ない。なので「ん」の拡張がらみに関しては、『分かち書き出力後「ん」の直前が分かたれていれば前に繋げる』というルールで間に合う気がする。これによって困る例はあるだろうか。確かめてみた。
辞書のソースファイルを覗いて、読みが「ん」から始まる品詞を調べた。結果、助詞や助動詞の「ん」は全て拡張を使った方が自分の打ち方とあっていた。他の例では固有名詞、感動詞(んっと)、連体詞(あんな→んな)、接続詞(それで→んで)、動詞(なさる→んさる)など。これらは拡張を使って打たないため、誤判定になる。だが、「ん」から始まる固有名詞や動詞はほぼ出てこない。残りは砕けた書体で見るものもあったが、誤判定となるのは「直前に(句読点や括弧でなく)かなが来る場合」であり、その条件にあてはまるものは少ないと思われる。ちゃんとやるならきっちり「何%以下だから無視できるものとする」と調べた方がいいのだろうが、まぁ、余力があれば…。
なので、「ん」は分かち書き出力後、一律で前に繋げるものとする。