英文中のアルファベットの出現頻度を数える

小学生のときに読んだ小説『シャーロックホームズ・踊る人形の秘密』の中で暗号を解く鍵となる事実として、英文中で一番頻繁に使われるアルファベットは'e'である、というものがある。それは本当か?また、一番使用頻度が少ないアルファベットは何か?それを実際に確かめてみた。
ドキュメントファイル(ファイル名はdoc_example.txt)を読み込んで文章中のアルファベットの使用回数を数えるスクリプトは次の通り。Pythonで書いた。

ordA = ord('A')
ordZ = ord('Z')
orda = ord('a')
ordz = ord('z')

input = open('doc_example.txt', 'r')
aString = input.readlines()

count = [0]*(ordz+1)
lineNumber = len(aString)

for i in xrange(lineNumber):
    for j in xrange(len(aString[i])):
        num = ord(aString[i][j])
        if num > ordA and num < ordz:
            count[ord(aString[i][j])] += 1

for i in xrange(orda, ordz+1):
    count[i] += count[i-orda+ordA]
    print chr(i),count[i]

このスクリプトを用いて、いくつかの文章に現れるアルファベットを実際に数えてみた。

1.英字新聞の記事

2009/10/20付けの『The New York Times』のメジャーリーグプレーオフの記事
Live Analysis A.L.C.S. Game 4: Yankees 3, Angels 0, Fifth Inning
カウントの結果をグラフ化(縦軸は出現回数)

予想通り、'e'が一番多く、't'、'a'、'n'、'o'と続いている。一番使われていないのは、'z'(0回)でその次は'q'となっている。'j'、'x'も少ない。

2.文学作品

Mark Twainの『ハックルベリーフィンの冒険
カウントの結果をグラフ化(縦軸は出現回数)

文章量は新聞の記事よりもはるかに多くなるが、全体的な傾向は短い文章の場合と変わらないようだ。'e'が一番多く、't'、'o'、'a'、'n'と続いている。使われていないのは、'z'、'q'、'x'。'j'も以外と少ない。Japaneseには馴染みの'j'だが英文にはあまり使われないようだ。

3.ラテン語

Sir Issac Newtonの『プリンキピア(Philosophiae Naturalis Principia Mathematica)
カウントの結果をグラフ化(縦軸は出現回数)

ラテン語なので英語と結果が違って当然だけれども、'i'がダントツ多い。続いて'a'、'e'、't'は英語と同じ傾向だ。それらと同じ程度に'u'も現れている。ラテン語と英語の違いは、ラテン語では'i'と'u'が頻出する、ということになる。


なんで急にこんなことをやったかというと、『世界は分けてもわからない』(福岡伸一著)を読んだから。最初のところのタンパク質を構成するアミノ酸の話で触れられている。テーマは分子生物学の専門的な内容ながら、同じ著者の他の本と同様、推理小説を読むかのようなおもしろさ。
ヴィットーレ・カルパッチョの全然別のものに見える2枚の絵が元は1枚の絵だった、という事実を知っただけで満足だ。

世界は分けてもわからない (講談社現代新書)
世界は分けてもわからない (講談社現代新書)
おすすめ平均
stars勉強の意義を若者へ伝えて欲しい
stars私たちが、学ぶことの意味は・・・、  
stars掘り下げが足りないのでは…少なくとも期待している程には。
stars「人は自分が見たいと思ったものしか見ない」とカエサルは言った
stars本質を伝えることは難しい

Amazonで詳しく見る
by G-Tools