Для Doc2Vec от gensim ваши текстовые примеры должны быть объектами, подобными классу example TaggedDocument
: со свойствами words
и tags
. Свойство tags
должно быть списком «тегов», которые служат ключами к документам-векторам, которые будут изучены из соответствующего текста.
В классическом / исходном случае каждый документ имеет один тег - по сути, уникальный идентификатор для этого одного документа. (Теги могут быть строками, но для очень больших корпусов Doc2Vec будет использовать несколько меньше памяти, если вместо этого вы будете использовать теги, которые представляют собой простые целые значения Python, начиная с 0, без пропущенных значений.)
Теги используются для поиска изученных векторов после обучения. Если бы у вас был документ во время обучения с единственным тегом 'mars'
, вы бы искали изученный вектор с помощью:
model.docvecs['mars']
Если вы выполняли model.docvecs.most_similar['mars']
вызов, результаты также будут сообщены их ключами тегов.
Теги являются просто ключами в коллекции doc-векторов - они не имеют семантического значения, и даже если строка повторяется из токенов слов в тексте, нет необходимой связи между этим ключом тега и слово.
То есть, если у вас есть документ с единственным тегом идентификатора 'mars', нет никакой существенной связи между изученным вектором документа, доступ к которому осуществляется с помощью этого ключа (model.docvecs['mars']
), и любым изученным вектором слова, доступ к которому осуществляется с помощью того же строкового ключа (model.wv['mars']
) - они поступают из отдельных наборов векторов.
person
gojomo
schedule
16.05.2017