2017-03-26 22 views
3

テンソルフローエンコーダーが行っている/戻っていることを誰かに説明することができますか?私は文書ごとに単語数のベクトルを得ることを期待しています(sklearnのように)、しかし、明らかに何かもっと奇妙なことをしています。この例ではテンソルフローエンコーダーの説明

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/learn/text_classification.py

features = encoders.bow_encoder(
    features, vocab_size=n_words, embed_dim=EMBEDDING_SIZE) 

A「embed_dim」を渡され、私はまた、これは弓のエンコーディングのコンテキストでやっていることを理解していません。ドキュメントは悲しいかなら非常に有用ではありません。私はTensorflowのコードを使って作業を試みることができますが、私は高いレベルの説明に感謝します。

答えて

0

古典弓モデル内の各単語は、ID(スパースベクトル)で表されます。 bow_encoderは、これらの疎ベクトルを「embed_dim」で指定されたサイズの別のレイヤーにマップします。 bow_encoderは、単語またはテキストの密なベクトル表現を学習するために使用されます(たとえば、word2vecモデルなど)。

bow_encoderについてのテンソルフローの文書から: 「埋め込みを平均化することでシンボルごとのシーケンスをベクトルにマップする」

したがって: bow_encoderへの入力が単一の単語である場合、それは単に埋め込み層にマッピングされます。文(またはテキスト)は単語ごとにマッピングされ、最終的な埋め込みベクトルは平均化されます。