ツイートからユーザ辞書(MeCab や Janome 用)をpython で作ってみる

gensim の Phrases を使えば、文書に頻出するフレーズ(単語の組合せ)を簡単に探せることを こちら で見ました。この Phrases を使って、辞書に未登録の複合語を探してみようと思います。
たとえば “プログラム言語” とか “拡散希望”、 “女子会” といった単語を拾いだしてみたいと思います。

元ネタの文書として twitter のツイートを使うことにします。

- 目次 -

スポンサーリンク

使用ツール

TwitterAPI

ツイートを大量に取得するため TwitterAPI を利用します。
こちら で作った python コードを利用します。

Janome

単語の分割や品詞の判定には janome を使います。
バージョンは 0.2.8 以降。
Janome について

Phrases

ツイートから頻出フレーズを抜き出すために Phrases を使用します。
Phrases について

tweet_dict

名詞だけ

フレーズのうち、名詞とみなせそうなものだけ拾いだすことにします。
文法的な正しさはちょっと横に置いておいて、次のルールを設けます。

名詞 + 名詞のフレーズは多分 名詞

名詞 + 名詞 はきっと名詞だろうという安易な想定ですが、たとえば、次のようなフレーズを拾えるようにします。

駅前広場、人工無能

ただし、名詞とはいえ、1号店、2号店のように数字が混ざるものははずします。
また、固有名詞も除外します。
ひらがなだけのフレーズもはずします。”げげ” とか “らら” を除外するためです。

動詞も一部 OK

飲み放題 という単語も拾いたいのですが、”飲み” は動詞です。
そこで、動詞は、連用形なら OK とします。
(”飲み” は “飲む” の連用形)

パラメータ

以下の 2 項目をパラメータ指定できるようにします。

  • キーワード
    ツイートの検索キーワード
  • ツイート件数
    ツイートを取得する件数

ユーザー定義辞書も指定できるようにします。

出力形式

CSV形式

MeCab 辞書フォーマットの CSV 形式で出力します。ファイルに落とせば janome のユーザー辞書として使えます。もちろん MeCab の辞書更新にも使えます。

品詞やコスト等は固定

品詞は名詞(一般)を固定でセットします。
左文脈ID、右文脈ID、コストも固定値をセットします。
読み、発音も * を固定でセットします。

プログラム

ソース

パラメータ

キーワード:グルメ
ツイート件数:5000 件

となっています。

結果

キーワード:グルメ

(以下は一部のハードコピーです。こちらに、全テキスト)

phrase_gurume

キーワード:人工知能

キーワードを変えて試します。”人工知能”

(以下は一部のハードコピーです。こちらに、全テキスト)

phrase_ai

スポンサーリンク

コメントはお気軽に