1. Learn
  2. /
  3. Courses
  4. /
  5. Python で学ぶ Natural Language Processing 入門

Connected

Exercise

Gensim の bag-of-words

ここでは、新しく作成した gensim のコーパスと辞書を使って、各ドキュメント内と全ドキュメント横断で最もよく出現する用語を確認します。用語の参照には辞書を使います。トピックが何かを推測してみてください。IPython Shell で他のドキュメントも自由に探索できます。

前の演習で作成した dictionary と corpus オブジェクトに加えて、分析用の中間データ構造を作るのに役立つ Python の defaultdict と itertools が使えます。

  • defaultdict は、存在しないキーに既定値を割り当てる辞書を初期化できます。引数に int を渡すと、存在しないキーに自動的に 0 が設定されます。本演習での単語数カウントの保持に最適です。

  • itertools.chain.from_iterable() は、複数のシーケンスを連続した1つのシーケンスのように反復処理できます。これにより、リストのリストである corpus オブジェクトを簡単に走査できます。

corpus の5番目のドキュメントは変数 doc に格納されており、降順にソート済みです。

Instructions 1/2

undefined XP
    1
    2
  • 最初の for ループを使い、dictionary で各 word_id を参照しながら word_count とともに、bow_doc の上位5語を出力してください。

    • word_id は dictionary の .get() メソッドで取得できます。
  • 全ドキュメントでの出現回数(word_count)の合計を値、すべてのトークン ID(word_id)をキーとする defaultdict の total_word_count を作成してください。

    • defaultdict 作成時には int を指定し、2つ目の for ループ内で各 word_id に対して word_count を加算してください。