Esto es más como una pregunta general de PNL. ¿Cuál es la entrada adecuada para entrenar una incrustación de palabras, a saber, Word2Vec? ¿Deberían todas las oraciones que pertenecen a un artículo ser un documento separado en un corpus? ¿O debería cada artículo ser un documento en dicho corpus? Este es solo un ejemplo usando Python y Gensim.
Corpus dividido por oración:
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."]]
Corpus dividido por artículo:
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."]]
Entrenamiento Word2Vec en Python:
from gensim.models import Word2Vec
wikiWord2Vec = Word2Vec(ArticleCorpus)
fuente
Como complemento de la respuesta de @ NBartley. Para cualquiera que se encuentre con esta pregunta. Intenté usar el artículo / oración como entrada para word2vec en Spark2.2, resultado como sigue.
usa la oración como entrada:
use el artículo como entrada:
fuente
Para el primero, gensim tiene la clase Word2Vec. Para este último, Doc2Vec.
http://rare-technologies.com/doc2vec-tutorial/
fuente