名詞率とMVRに基づくテクスト分類

 今回は、樺島・寿岳 (1965) によって提案された、名詞率とMVRによるテクスト分類法を紹介します。*1 分析データは、RMeCabを使う (1) という記事で使用した「PM」データセットとします。

# パッケージの読み込み
library(RMeCab)
# 品詞頻度行列の作成
setwd("C:/")
result <- docDF("PM", type = 1, N = 1)
# 不要な情報の削除
result <- result[, -1]
result <- result[, -2]
# ファイル名の取得
filenames <- colnames(result[, -1])
# 各ファイルの総語数の計算
tokens <- colSums(result[, -1])
# 名詞、形容詞、形容動詞、副詞、連体詞、動詞の抽出
meishi <- subset(result, POS1 == "名詞")
keiyoshi <- subset(result, POS1 == "形容詞")
keiyodoshi <- subset(result, POS1 == "形容動詞")
hukushi <- subset(result, POS1 == "副詞")
rentaishi <- subset(result, POS1 == "連体詞")
doshi <- subset(result, POS1 == "動詞")
# 名詞率の計算
meishi.ritu <- colSums(meishi[, -1]) / tokens * 100
# 相の計算
so <- colSums(keiyoshi[, -1]) + colSums(keiyodoshi[, -1]) + colSums(hukushi[, -1]) +colSums(rentaishi[, -1])
# 用の計算
yo <-  colSums(doshi[, -1])
# MVRの計算
mvr <- (100 * so / yo)
# 散布図の作成
plot(meishi.ritu, mvr, xlab = "名詞率", ylab = "MVR (Modifier Verb Ratio)")
text(meishi.ritu, mvr, filenames, pos = 1, cex = 0.7)

 上記のスクリプトを実行すると、以下のような散布図が表示されます。そして、散布図の右下に分布する文章は「要約的な文章」、左上は「ありさま描写的な文章」、左下は「動き描写的な文章」とされます。*2

f:id:langstat:20140910145147p:plain

*1:MVRとは、「相(形容詞・形容動詞・副詞・連体詞)の類の比率」に100をかけた値を「用(動詞)の類の比率」で割ったものです。

*2:今回のデータには、形容動詞がまったく現れていませんでした。(R)MeCabの解析結果に形容動詞が含まれるのかどうかをチェックする必要があるかも知れません。