タグ

gensimに関するmanabouのブックマーク (2)

  • Pythonで単語分散表現のクラスタリング - Ahogrammer

    最近の自然言語処理では、単語の分散表現は当たり前のように使われています。 単語分散表現では、各単語が高次元ベクトル空間に配置され、加減乗除等の演算を行えるようになります。 これらのベクトルは、意味の近い単語に対しては同じようなベクトルになることがわかっています。 記事では、単語分散表現のベクトルをクラスタリングし、意味が近い単語のクラスタを作ってみたいと思います。 これらのクラスタは、眺めて楽しむだけでなく、機械学習の素性として使うこともできます。 イメージ的には、以下のような感じで単語をクラスタにまとめます。 では、単語分散表現をクラスタリングして、単語のクラスタを作ってみましょう。 準備 まずは、作業用のディレクトリを作成しておきましょう。 また、必要に応じて Python の仮想環境も用意します。 以下のコマンドを実行することで、ディレクトリを用意します。 $ mkdir work

    Pythonで単語分散表現のクラスタリング - Ahogrammer
  • Doc2Vecの仕組みとgensimを使った文書類似度算出チュートリアル

    類似したコンテンツのタイトルは、女性アーティストだらけとなっている。浜崎あゆみは日のレディー・ガガらしい。 Bag-of-wordsの欠点とDoc2Vecのメリット Bag-of-wordsは文書内の単語の出現回数をベクトルの要素とした分散表現だ。例えば、 { I, have, a, pen, I, have, an, apple } という単語区切りの文書があるとしよう。この文書をBag-of-wordsでベクトル化する。ベクトルの並び順をI, have, a, pen, an, appleとすると、 [2, 2, 1, 1, 1, 1] と表現することになる。単に出現頻度を計算しているだけなので、シンプルで計算効率よく分散表現を得ることが出来る。 では、Bag-of-wordsの何が問題なのだろうか?Bag-of-wordsでは、単語の出現順序が考慮されず、同様の単語が使われていれば

    Doc2Vecの仕組みとgensimを使った文書類似度算出チュートリアル
  • 1