Интерпретировать представление векторных кластеров Doc2Vec - PullRequest
0 голосов
/ 20 апреля 2019

Я новичок в Doc2Vec, пожалуйста, ответьте на наивные вопросы.

Я сгенерировал оценку Doc2vector, т.е. с использованием алгоритма «Вектор абзаца».У меня есть выходной массив для каждого документа.

Я использую модель. Похоже на doc1 и получаю вывод - doc5 и doc10 похожи на doc1.

Q1) Как подвести итог, используя кодКакие важные слова или краткое описание высокого уровня содержится в этом документе?

Кроме того, если я использую вывод массива и запускаю K-means, чтобы получить 5 кластеров.Как определить определение кластера.

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

1 Ответ

0 голосов
/ 21 апреля 2019

Нет встроенной функции «суммирования» для Doc2Vec док-векторов (или кластеров одного и того же).

Теоретически, модель могла бы сделать что-то вроде оппозиции выводу doc-вектора. Он может взять вектор документа - возможно, соответствующий существующему документу - и затем предоставить его модели, запустить модель «вперед» и считать уровни активации всех ее выходных узлов. По крайней мере, в моделях, использующих отрицательную выборку по умолчанию, эти узлы отображаются один на один с известными словарными словами, и вы можете правдоподобно сортировать / масштабировать эти уровни активации, чтобы найти N самых «ассоциированных» слов с этим документом. вектор.

Вы можете посмотреть на источник predict_output_word() метода Word2Vec, чтобы получить приблизительное представление о том, как могут работать такие вычисления:

https://github.com/RaRe-Technologies/gensim/blob/3514d3fb9224280edd8ddd14c46b722220df5436/gensim/models/word2vec.py#L1131

Как уже упоминалось, это не существующая возможность, и я не знаю онлайн-источника кода для такого расчета. Но, если бы это было осуществлено, это был бы приветственный вклад .

(Я не уверен, что на самом деле ваш Q2 вопрос.)

...