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
- SVDしてるだけだから次元数減らしとかはやってくれない
- DocumentTermMatrixをtfidfするとSparseMatrixが帰ってくる.現状svdにSparseMatrixを受け取るのはないので落ちる(悲しい
LDA(Latenr Dirclet Allocation)
まだ未実装だよ!!!!!
TopicModels.jlというライブラリもある
まとめ
- Juliaでテキスト分析はまだプレイヤーがそんなにいないので発展途上だけど実装するのはやりやすそう
- TextAnalysisみんなで貢献しましょう!(次はそれでLTしたい)