さて今回は辞書データを調べて
日本語の単語の数がどうなっているかを
調べてみました。

解説動画はこちら



さて今回使用する辞書データは
こちらのものです
naist-jdic.csv(Mecab用の辞書データ)
(奈良先端科学技術大学院大学 : Nara Institute of Science and Technology)

調べたい方は検索してみてください。

早速これを読み込みします。

import pandas as pd
import codecs

tmp = codecs.open('naist-jdic.csv', 'r', 'euc_jp', 'ignore')
df = pd.read_csv(tmp)
df.shape
(485862, 16)


48万行ほどあるので
結構な数の単語が載っていますね。

1文字目を取り出して集計してみます。
df['行'] = df[' .2'].str[0:1]
df2 = pd.DataFrame(df['行'].value_counts())

for i , row in df2[df2['行']>=10].iterrows():
    print(i,row['行'])
カ 30723
シ 25156
オ 23427
ア 18293
ト 17947
・・・

「か」で始まる単語が多そうですね。

次はこれを行で数えてみます。

dc1={
    'ア':['ア','イ','ウ','エ','オ','ヴ'],
    'カ':['カ','キ','ク','ケ','コ','ガ','ギ','グ','ゲ','ゴ'],
    'サ':['サ','シ','ス','セ','ソ','ザ','ジ','ズ','ゼ','ゾ'],
    'タ':['タ','チ','ツ','テ','ト','ダ','ヂ','ヅ','デ','ド','ッ'],
    'ナ':['ナ','ニ','ヌ','ネ','ノ'],
    'ハ':['ハ','ヒ','フ','ヘ','ホ','バ','ビ','ブ','ベ','ボ','パ','ピ','プ','ペ','ポ'],
    'マ':['マ','ミ','ム','メ','モ'],
    'ヤ':['ヤ','ユ','ヨ','',''],
    'ラ':['ラ','リ','ル','レ','ロ'],
    'ワ':['ワ','ヲ','ン']}
dc2 = {k:{v2:0 for v2 in v} for k,v in dc1.items() }
for i , row in df2[df2['行']>=10].iterrows():
    for k,v in dc2.items():
        if i in v:
            dc2[k][i]=row['行']
            break
for k,v in dc2.items():
    print(k,sum([v2 for k2 , v2 in v.items()]))

結果は・・・

ア 77966
カ 88527
サ 72447
タ 69555
ナ 35274
ハ 65386
マ 41391
ヤ 22425
ラ 7263
ワ 5477

カ行の単語が一番多く
次いでア行、サ行でした。

前半の方に単語が多く載っていそうです。

ラ行やワ行の言葉は
かなり少ないですね。

何でこんなに偏るのか
日本語の成り立ちが気になっちゃいました。

今回は辞書データを調べて
どの行の単語が多いのか
調べてみました。

それでは。