Python前回に引き続きPythonネタ。実際にはどうやるんだろ?と思い、試してみた。やろうとしたこと大量の問い合わせ記録から、どう言ったジャンルの問い合わせが多いのか傾向分析したかった。使用したツールはJanomeとword2Vec。結果的に傾向とかはよくわからなかったんだけど、とりあえず、Word2Vecで文章をベクター化するとこまではできた。そこまでの手順を書き起こしておく。日本語を単語ごとに分割してみる日本語で言語解析を始める前についてまわるのが「形態素解析」と言う単語分割。分析する前に文章を単語ごとに分割しないといけない。形態素解析にはいくつか有名なツールがあるんだけど、今回は「Janome」を使用。「Mecab」も使ってみたけどだいたい同じ感じ。環境構築に若干クセがあるようで、職場のPCではうまく動かなかった。Janomeはその点お手軽で、安定して動作しているようなので採用。環境構築とサンプルコードまずは、Janomeをインストール。janome次にサンプルコードで簡単な形態素解析をしてみる。名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ形態素解析するならこれだけ。実際に解析するにはもう少し手を加える必要がある。t.tokenize(u'今日は国会議事堂に行った。名詞,一般,*,*,*,*,議事堂,ギジドウ,ギジドーに助詞,格助詞,一般,*,*,*,に,ニ,ニ行っ動詞,自立,*,*,五段・カ行促音便,連用タ接続,行く,イッ,イッた助動詞,*,*,*,特殊・タ,基本形,た,タ,タ。記号,句点,*,*,*,*,。「国会」と「議事堂」に分かれてしまっている。そのため、「国会議事堂」がひとつの単語だと言うことを教えてやる必要がある。それを教えるためのファイルが「ユーザー辞書」である。JanomeはMecabと同じフォーマットのユーザー辞書を読み込ませることが可能。Mecabのフォーマットは項目も多くて作るのが大変。そんなものぐさな私のために、「簡易辞書」と言うフォーマットも用意されている。以下のような「,,」のフォーマットでcsvファイルを用意しておく。t.tokenize(u'今日は国会議事堂に行った。名詞,*,*,*,*,*,国会議事堂,コッカイギジドウ,コッカイギジドウに助詞,格助詞,一般,*,*,*,に,ニ,ニ行っ動詞,自立,*,*,五段・カ行促音便,連用タ接続,行く,イッ,イッた助動詞,*,*,*,特殊・タ,基本形,た,タ,タ。記号,句点,*,*,*,*,。