2014年12月31日水曜日

RMeCabは偉い問題

石田基広さんのRMeCabは偉いっ。MeCabはそもそも形態素解析だけで、pythonでN-Gram出ないじゃねえの、めんどくっせ〜と、気づきました。RStudio入れておいてよかった、よかった。

■データマイニング入門

では、基本からいっときます。

library(RMeCab)
library(igraph)

b ← "私はあの力士のことを深く愛している。"
c ← RMeCabC(b)
c
c[[1]]

# "名詞" ← どうも配列の名前で参照のようっす
names(c[[1]])
# "私"
c[[1]][1]

setwd("/Users/OnePunchMan/Desktop/R/rmecab")
getwd()

c ← RMeCabText("./test0.txt")
c

# 頻度
r ← RMeCabFreq("./test1.txt") 
r

# 頻度が5以上
r[r$Freq >= 5, ] 

# 頻度が5以上、かつ品詞が名詞
r[r$Freq >= 5 & r$Info1 == "名詞", ]

# 頻度が5以上、かつ(名詞もしくは動詞)
r[r$Freq >= 5 & (r$Info1 == "名詞" | r$Info1 == "動詞"), ]

# 固有名詞
r[r$Info2 == "固有名詞", ]


# 共起語
r  ← collocate("./test2.txt", node="芸者", span=1)
r

# 共起語(t値、MI値)
r2 ← collScores(r, node="芸者", span=1)
r2

# N-Gram
r  ← Ngram("./test3.txt", type=1, pos="名詞", N=2)
r

# N-Gram(DataFrame)
r2 ← NgramDF("./test.txt", type=1, pos="名詞")
r2

# plot ← .Rprofileの変更しないと文字化けしますぞ
g  ← graph.data.frame(r2)
g
plot(g)

# EOF #

しかし、このplotの見づらさは、何とかならんとは思いつつ。
よろしくお願いいたします。

0 件のコメント:

コメントを投稿