Изучает ли Doc2Vec представления тегов?

Я использую теги Doc2Vec в качестве уникального идентификатора для своих документов, каждый документ имеет свой тег и не имеет семантического значения. Я использую теги для поиска определенных документов, чтобы вычислить сходство между ними.

Влияют ли теги на результаты моей модели?

В этом руководстве говорится о параметре train_lbls=false, если для этого параметра установлено значение false, представления не изучены. для этикеток (тегов).

Это руководство несколько устарело, и я предполагаю, что этот параметр больше не существует, как Doc2Vec обрабатывает теги?


person Stanko    schedule 21.04.2017    source источник


Ответы (1)


Для 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