2017-12-03 10 views
1

私は、教授された回帰/分類を行うためにtext2vecに実装されたGloVe単語埋め込みを使用したいと思います。単語ベクトルの生成方法については、text2vecのホームページ上で役立つチュートリアルを読んでいます。しかし、私はさらに進んでいく方法をつかむことができません。つまり、これらの単語ベクトルを適用または変換し、各文書がベクトル(私が想定している成分単語のベクトルから派生したもの)によって表されるように各文書に付け加えます。クラシファイアの入力として使用されます。私は簡単な文書のためにいくつかの簡単な修正を行ってきましたが、私の文書はかなり長いです(ムービーサブタイトル)、そのような文書をどのように進めるかについてのガイダンスはありません。私はnグラム、辞書、トピックモデルでの作業経験がありますが、単語の埋め込みは私を困惑させます。単語ベクトルから文書ベクトル[text2vec]

ありがとうございました!

+0

Doc2Vec(Rでは使用できません)を試すか、ワードベクタをCNNに渡すことができます。開始するリンクは次のとおりです。https://stackoverflow.com/questions/47615799/from-word-vector-to-document-vector-text2vec?rq=1 – TMrtSmith

答えて

0

あなたの目標が文書を分類することであれば、どんなdoc2vecのアプローチも単語/ nグラムの単語に勝るとは思えません。あなたがまだ試してみたいのであれば - 一般的な簡単な戦略短い文書(< 20ワード)は単語ベクトルの加重和/平均として文書を表現することです。

次のようなもので、それを入手することができます。私は長い文書のための良い文書ベクトルを取得するために任意のユニバーサル確立された方法を認識していないよ

common_terms = intersect(colnames(dtm), rownames(word_vectors)) 
dtm_averaged = normalize(dtm[, common_terms], "l1") 
# you can re-weight dtm above with tf-idf instead of "l1" norm 
sentence_vectors = dtm_averaged %*% word_vectors[common_terms, ]