11
8

More than 5 years have passed since last update.

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

Posted at

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したい)
11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8