2017-12-04 18 views
1

私は類似の文章を見つけるためにword2vec/doc2vecを適用しようとしています。まず単語の類似性についてword2vecを考えてみましょう。私が理解しているところでは、CBOWは文脈の中で最も適切な単語を見つけるのに使うことができますが、Skip-gramはある単語の文脈を見つけるために使われるので、どちらの場合でも頻繁に共起する単語が得られます。しかし、それと似た言葉を見つけるにはどうすればいいですか?私の直感は、同様の文脈で類似の語が出現する傾向があるため、文脈/共起語間の類似性から単語類似度を実際に測定します。ニューラルネットでは、隠れ層のある単語のベクトル表現を出力層に通すと、共起する単語の確率が出力される。したがって、共起する単語はいくつかの単語のベクトルに影響を及ぼし、同様の単語は類似した共起する単語の集合を有するので、それらのベクトル表現も同様である。類似性を見つけるために、各単語の隠れた層の重み(またはベクトル)を抽出し、それらの類似性を測定する必要があります。私はそれを正しく理解していますか?単語の類似性のための単語埋め込みはどのように機能しますか?

最後に、word2vec/doc2vecを使用してツイートテキスト(完全な文)の類似性を見つける良い方法はありますか?

+1

[DataScience.SE](https://datascience.stackexchange.com/) – smci

答えて

0

私は、これがスタックオーバーフローのための質問ですが、ここの回答で私の試みを行くかどうか分からない...

あなたが目標の定義を混合しているのにあなたは、右の基本的な概念を持っていますあなたがニューラルネットを言及するとき、CBOWとスキップグラムのための単語埋め込みを得る他の方法があります。

単語の埋め込みを転送することができます(通常は転送学習と呼ばれますが、NLPでは埋め込みレイヤーと呼ばれます。これは最初のレイヤーとして使用する標準的な方法です)、別のドメインに固定したり、複雑なNLPの当面の作業、だから... ...あなたの最後の質問については

、それは本当にあなたがツイート距離を使用しているタスク

  1. の仕様に依存しますか?
  2. 監督または監督されていませんか?
  3. 出力スペースとは何ですか?

私は良い賭けはwmdは(私はそのgensimで実装考えるオートエンコーダ(Hinton's dimensionality reduction paperを参照)言語モデルを試してみてください(そして最後の隠されたベクトルを取る)ことであろうトピックのためのクラスタリングのようなもののためdoc2vecの教師なし学習のためだと思います)と他の多くのもの(ワード埋め込みをまったく使用しないBOWのような方法もあります)

+0

回答。私は第二の部分について私の質問を更新する。要約すると、実装がどのようなものであっても、学習された単語のベクトルがコンテキストをキャプチャし、抽出されてコンテキストキューに基づいて類似性を見つけるために使用されていますか? – Rakib

+0

有名な言語学者(J.R.Firth)の言葉があります。「あなたがそれを保有している会社の言葉を知っていなければならない」ということは、その文脈を予測することによってベクトルを構築するということです。単語の意味とその文脈は、文脈を予測することによる製品の意味合いと密接に関連しているとみなされます。 –

+0

たとえば、特定の言語の予測で単語の性別を知っている必要がある場合、おそらく表現ベクトル空間には言語の性別構造を含むいくつかのサブスペースが含まれているでしょう...そして、これは単語ジェンダーが通常近くの単語の性別(形容詞、動詞(一部の言語で)など) –

関連する問題