2017-12-01 3 views
0

私はthis questionを見つけました。これは、文の順序がおそらく重要であるという証拠を提供します(ただし、効果は異なるランダム初期化の結果でもあります)。gensimからのword2vec実現は、文脈を調べるときに文章レベルを超えますか?

は、私は私のプロジェクトのためReddit comment dumpsを処理したいのですが、JSONから抽出された文字列がソートされていないことが、非常に異なるsubredditsと話題に属しますので、私は台無しコンテキストにしたくない:だから

{"gilded":0,"author_flair_text":"Male","author_flair_css_class":"male","retrieved_on":1425124228,"ups":3,"subreddit_id":"t5_2s30g","edited":false,"controversiality":0,"parent_id":"t1_cnapn0k","subreddit":"AskMen","body":"I can't agree with passing the blame, but I'm glad to hear it's at least helping you with the anxiety. I went the other direction and started taking responsibility for everything. I had to realize that people make mistakes including myself and it's gonna be alright. I don't have to be shackled to my mistakes and I don't have to be afraid of making them. ","created_utc":"1420070668","downs":0,"score":3,"author":"TheDukeofEtown","archived":false,"distinguished":null,"id":"cnasd6x","score_hidden":false,"name":"t1_cnasd6x","link_id":"t3_2qyhmp"} 

隣人の文章はgensim word2vecにとって重要なのですか?私は全体のコメントツリー構造を回復する必要がありますか、あるいは単に「文章の袋」を抽出してモデルを訓練することはできますか?

答えて

1

gensim Word2Vecによって期待されるコーパスはリスト・オブ・トークン反復可能なです。 (たとえば、トークンリストのリストは機能しますが、大規模なコーパスの場合は、永続ストレージのテキスト例をストリームする再起動可能な繰り返し可能性を提供して、コーパス全体をメモリに保持しないようにします)。

個々のテキストの例内の単語ベクトルトレーニングのみのコンシューマコンテキスト。つまり、1つのトークンリスト内にあります。したがって、2つの連続する例が...

['I', 'do', 'not', 'like', 'green', 'eggs', 'and', 'ham'] 
['Everybody', 'needs', 'a', 'thneed'] 

...これらの例では、「ハム」と「誰でも」の間に影響はありません。

例の順序が特定のタイプのすべての単語またはトピックをまとめると、微妙な効果がある可能性があります。たとえば、単語Xのすべての例がコーパスの始めに、単語Yのすべての例が遅れて起こることは望ましくありません。これは、最良の結果をもたらすインターリーブされた多様な例の種類を妨げます。

あなたのコーパスがトピック、著者またはサイズまたは言語によって集められた任意の種類の並べ替え順に入っている場合、そのような集約を取り除くために最初のシャッフルを実行することはしばしば有益です。 (トレーニングパスの間など、これ以上シャッフルしないと、ほとんどの場合追加の利益が得られません)

+0

ありがとうございました。私はRedditのダンプはかなり混乱していると思うので、あなたは私の構造を再構築する仕事の巨大な山から私を救った。 – Slowpoke

関連する問題