Posted at
JuliaDay 11

Juliaでテキスト分析をしてみる

More than 3 years have 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したい)