R でもできる!
日本語テキストマイニング

@y__mattu

データ分析・機械学習 LT 会

はじめに

誰?

icon

アルバイトとか

  • コミュニケーションアプリの分析
  • Web 広告のログ解析
  • 電子コミックと医療システムに関する解析と開発
    ←イマココ
  • たまに受託

特許

大学での研究プロジェクトで取得予定(権利は共同研究先)

著書(共著)

book

作ったパッケージ

MlBayesOpt

  • 機械学習のパラメーターをベイズ最適化でチューニングする R パッケージ
  • メンテ頑張ります…

rjumanpp

  • 形態素解析機 JUMAN++の R ラッパー
  • 最低限の機能しかないのでメンテ頑張ります…

今日の話

※特定の言語・ライブラリをディスるものではありません

  • 資料は GitHub にアップロードしています

こんな話がある

テキストマイニングといえば
Python でしょ。

確かに一昔(2-3 年)前まではそうでした

充実したモジュール

  • 形態素解析
    • MeCab
    • JUMAN++(PyKNP)
  • 自然言語処理
    • gensim
  • 機械学習
    • scikit-learn
    • tensorflow

昔も R でも
(頑張れば)できた

今は R で
そんなに頑張らなくても
できます

本当に?

本当です。

僕らがまず目指すところ

単語がスペースで区切られてる状態(分かち書き)

id text
1 私 は 新しい スマートフォン を 買っ た
2 今夜 は ミルクティ を 飲む
3 私 に は 外国人参政権 が ある
4 今夜 は クライアント 対応 で 眠れ ない だろ う

分かち書きされていれば、
たいていのことは
用意された関数でできてしまいます。

「関数」を用意してくれるパッケージたち

  • テキストデータ特有の前処理から簡単な解析(TF-IDF くらい)まで
    • stringr
    • tidytext
  • テキストデータ特有のモデル(Word2Vec とか)
    • text2vec
  • その他機械学習
    • e1071(SVM)
    • RandomForest, ranger(RF)
    • LDA, topicmodels(LDA)

肝心の分かち書き

もちろんパッケージがあります

  • RMeCab(MeCab)
  • rjumanpp(JUMAN++)

詳しくは

こちらをご覧ください。

まとめ

Python もいいけど R もいいよ。

R でテキストマイニング
詳しくは