To jest bardziej ogólne pytanie NLP. Jaki jest odpowiedni wkład, aby nauczyć się osadzania słów, a mianowicie Word2Vec? Czy wszystkie zdania należące do artykułu powinny być osobnym dokumentem w korpusie? A może każdy artykuł powinien być dokumentem we wspomnianym korpusie? To tylko przykład użycia Pythona i gensim.
Korpus podzielony według zdania:
SentenceCorpus = [["first", "sentence", "of", "the", "first", "article."],
["second", "sentence", "of", "the", "first", "article."],
["first", "sentence", "of", "the", "second", "article."],
["second", "sentence", "of", "the", "second", "article."]]
Korpus podzielony według artykułu:
ArticleCorpus = [["first", "sentence", "of", "the", "first", "article.",
"second", "sentence", "of", "the", "first", "article."],
["first", "sentence", "of", "the", "second", "article.",
"second", "sentence", "of", "the", "second", "article."]]
Szkolenie Word2Vec w języku Python:
from gensim.models import Word2Vec
wikiWord2Vec = Word2Vec(ArticleCorpus)
źródło
Jako uzupełnienie odpowiedzi @ NBartley. Każdemu napotkać to pytanie. Próbowałem użyć artykułu / zdania jako danych wejściowych dla word2vec na Spark2.2, wynik jest następujący.
użyj zdania jako danych wejściowych:
użyj artykułu jako danych wejściowych:
źródło
W przypadku tego pierwszego gensim ma klasę Word2Vec. W tym ostatnim Doc2Vec.
http://rare-technologies.com/doc2vec-tutorial/
źródło