読者です 読者をやめる 読者になる 読者になる

データサイエンスしてみる

新米エンジニアがデータサイエンスを勉強する。機械学習とかRとかPythonとか

RMecabで文章を分かち書きして単語の出現頻度を調べてみる。

タイトル通りですけど、RMecabで文章を分かち書きして単語の出現頻度を調べてみます。

RMeCabは日本語用の形態素解析MeCabR言語版です。
自然言語処理の偉い方が開発したもので、おそらく日本で最も使用されている形態素解析器だと思います。

MeCab: Yet Another Part-of-Speech and Morphological Analyzer

RMecabはMeCabをPCにインストールした後、R上でコマンドからインストールします。

install.packages ("RMeCab", repos = "http://rmecab.jp/R")

MeCabを使うときは環境変数にPathを通さないと動かないので注意してください。

さて、RMeCabをインストールしたので早速なにかを解析してみます。
今回の解析対象はロイターのニュースです。
選定理由は特にないですが、程よく長くてちゃんとした文章を探して見つけました。
焦点:日銀の政策検証、可能性低い緩和縮小や目標柔軟化の選択 | ロイター

こいつを適当な場所にtxtで保存しておきます。
このとき文字コードに注意してください。
で、Rでtxtファイルを読み込んで解析します。

> library(RMeCab) #RMeCabのインポート
> file<-"C:\\work\\test.txt" 
> ans<-RMeCabFreq(file) #解析実行
file = C:\work\test.txt 
length = 306 
> ans #結果の表示

これで結果が表示されるのですが見難いので結果を出現頻度順にソートしてやります。
ソートと結果が下記。

> ans[order(-ans$Freq),] #ソートして表示
            Term  Info1                    Info2 Freq
52            の   助詞                   連体化   56
12            、   記号                     読点   43
67          する   動詞                     自立   28
30            に   助詞                   格助詞   27
40            は   助詞                   係助詞   27
39            を   助詞                   格助詞   26
23            が   助詞                   格助詞   25
10            。   記号                     句点   21
24            で   助詞                   格助詞   16
55            だ 助動詞                        *   15
259           2   名詞                       数   15

#長いので以下省略。

いい感じに単語の出現頻度が得られました。
簡単ですね。
こんな便利なものを作ってくれた先人に感謝です。
RMeCabはいろいろと便利な関数があるので追々触っていきたいと思います。

今回はこんな感じで。