日本語を対象とした語彙比較

 以前、語彙の豊富さや文章の難しさを測る (3) という記事で、languageRパッケージを使った語彙分析を行いました。今回は、上記の記事で紹介したcompare.richness.fnc関数を使って、日本語の分析をする方法について書きたいと思います。
 分析データは、東京大学の濱田純一総長のメッセージ京都大学の松本紘総長のメッセージとします。*1 以下の分析では、これら2つのデータがそれぞれ"Tokyo.txt"、"Kyoto.txt"という名前でRのワーキング・ディレクトリに保存されているものとします。
 では、compare.richness.fnc関数を使って、読み込んだ2つのデータにおける語彙の豊富さを比較してみましょう。日本語を対象とする場合には、文章を形態素解析し、単語ベクトルの形式にすることが必要です。

# パッケージの読み込み
library(RMeCab)
library(languageR)
library(zipfR)
# データの読み込みと形態素解析
x <- RMeCabText("Tokyo.txt")
y <- RMeCabText("Kyoto.txt")
# 単語ベクトルの形式に変換
x2 <- unlist(sapply(x, "[[", 1))
y2 <- unlist(sapply(y, "[[", 1))
# 語彙の豊富さの比較
compare.richness.fnc(x2, y2)

 上記のスクリプトを実行すると、以下のような結果が表示されます。

comparison of lexical richness for x2 and y2 
with approximations of variances based on the LNRE models
fzm (X2 = 16.34) and fzm (X2 = 0.9)

   Tokens Types HapaxLegomena GrowthRate
x2    600   223           143    0.23833
y2    845   309           196    0.23195

two-tailed tests:

                             Z      p
Vocabulary Size        -5.3766 0.0000
Vocabulary Growth Rate  0.2851 0.7756

*1:これらのデータは、2014年8月4日に取得し、本文以外の部分を削除しました。