Rでテキストマイニングを試してみる(4)N-gramの比較

こんにちは。前回に続き、N-gramを取り上げます。
RMeCabには、N-gramをする関数がいろいろあるので、今回は試してみます。
Ngram関数を使ってみる
このNgram関数は、前回使った関数です。比較のためにプログラムと結果を載せることにします。
library(RMeCab)
result0<-Ngram(file.choose(),type = 1)
head(result0[order(result0$Freq,decreasing = TRUE),],10)
実行結果です。
          Ngram Freq
124     [の-私]    8
497     [私-心]    5
27  [こと-ない]    4
288   [果物-屋]    4
468   [私-それ]    4
563   [重い-さ]    4
102   [ない-私]    3
226   [暗い-の]    3
232   [以前-私]    3
316     [街-街]    3
Ngram関数では、形態素ごとのつながりは [前の形態素-続く形態素] で表されています。
NgramDF関数を使ってみる
次に、NgramDF関数を使ってみます。
library(RMeCab)
result1 <- NgramDF(file.choose(),type = 1)
head(result1[order(result1$Freq,decreasing = TRUE),],10)
実行結果です。
    Ngram1 Ngram2 Freq
124     の     私    8
497     私     心    5
27    こと   ない    4
288   果物     屋    4
468     私   それ    4
563   重い     さ    4
102   ない     私    3
226   暗い     の    3
232   以前     私    3
316     街     街    3
形態素の前後関係は、Ngram1・Ngram2というように別の列で表されています。
docNgram関数を使ってみる
次にdocNgram関数を使ってみます。
この関数は、今までのようにファイルを選択して1つの文に対してN-gramを求めることもできますが、ディレクトリ(フォルダ)を選択してフォルダ内の文に対してもN-gramを求めることができます。
library(RMeCab)
result2 <- docNgram(choose.dir(),type = 1)
head(result2[order(result2[,1],decreasing = TRUE),],10)
「檸檬」の作者の他の作品「桜の樹の下には」「愛撫」との比較をしてみましょう。
上のプログラムで、「檸檬」「桜の樹の下には」「愛撫」の文章が含まれているフォルダを実行時に指定します。
「愛撫」のN-gramの出現回数順で表示します。
            aibu.txt lemon.txt sakurano_kino_shitaniwa.txt
[猫-耳]            7         0                           0
[の-私]            5         8                           0
[化粧-道具]        3         0                           0
[私-それ]          3         4                           0
[耳-の]            3         0                           0
[切符-切り]        3         0                           0
[爪-ない]          3         0                           0
[猫-手]            3         0                           0
[こと-空想]        2         0                           0
[こと-私]          2         2                           0
「愛撫」の中では[猫-耳]のつながりが多く出てくるようです。
「愛撫」と「檸檬」では、[の-私]と[私-それ]あたりが共通して多いようです。
「桜の樹の下には」では、このつながりは出現しないようです。
今回は短いですが、これでおしまいにします。それではまた。












ディスカッション
コメント一覧
まだ、コメントがありません