More than 1 year has passed since last update.

Juliaアドベントカレンダーの記事です。
先日のJuliaTokyoでLTした内容を記事にさせていただきました.

やること

  • 日本語のテキスト分析をJuliaでやる
  • TextAnalysisというイブラリがあるので, それに日本語文書を投入して分析する
    • 分かち書きすれば日本語も使えるので,@chezouさんのMecab.jlを使う
  • TextAnalysisが夢見がちなライブラリであることをみんなに伝える

使うパッケージ

  • TextAnalysis.jl

johnmyleswhite先生のライブラリ
テキスト分析でやりたいこと大体できるようにREADMEみたら思えるけど、大体は願望

  • MeCab.jl

形態素解析の日本語バインディング

TextAnalysisのCorpusに放り込む

using TextAnalysis
using MeCab

mecab = Mecab()

lines = readlines("titles.txt")
documents = [TokenDocument(parse_surface(mecab, title)) for line in lines]
crps = Corpus(documents)
update_lexicon!(crps)
update_inverse_index!(crps)

TFIDFする

m = DocumentTermMatrix(crps)
tfidfs = tf_idf(m)
  • SparseMatrixで帰ってくる
  • 各indexの語はDocumentTermMatrixから得ることができる
  • READMEに書いてあるkmeansの例は動かないよ!

まだ使えないメソッドたち

LSA

lsa_github.png

  • SVDしてるだけだから次元数減らしとかはやってくれない
  • DocumentTermMatrixをtfidfするとSparseMatrixが帰ってくる.現状svdにSparseMatrixを受け取るのはないので落ちる(悲しい

LDA(Latenr Dirclet Allocation)

lda_github.png

まだ未実装だよ!!!!!

TopicModels.jlというライブラリもある

まとめ

  • Juliaでテキスト分析はまだプレイヤーがそんなにいないので発展途上だけど実装するのはやりやすそう
  • TextAnalysisみんなで貢献しましょう!(次はそれでLTしたい)