Я использую библиотеку gensim python для работы с небольшими корпусами (около 1500 статей в прессе каждый раз).Допустим, я заинтересован в создании групп статей, относящихся к одним и тем же новостям.
Так что для каждого свода статей я разбил токены, обнаружил коллокации, остановил и затем снабдил небольшим словарем (около 20 тысяч токенов).Я прошел через модель TFIDF.
Наконец, я использовал корпус TFIDF для построения модели корпуса LSI, и с помощью функций подобия документа gensim я смог получить очень хорошие результаты.
Но мне было любопытно, и я проверил последовательность LSI с помощью:
lsi_topics = [[word for word, prob in topic] for topicid, topic in
lsi.show_topics(formatted=False)]
lsi_coherence = CoherenceModel(topics=lsi_topics[:10], texts=corpus, dictionary=dictionary, window_size=10).get_coherence()
logger.info("lsi coherence: %.3f" % lsi_coherence)
И я всегда получаю значения около 0,45, которые могут показаться довольно слабыми.
Так что я былХотите знать, как интерпретировать это значение когерентности?И имеет ли это значение смысл, когда вам нужно только сходство документов в индексе с самим индексом (поэтому запросы представляют собой полный документ из корпуса)?
Редактировать: я пробовал разные вещи для предварительной обработки текста, такие какразделение каждого документа на реальные предложения перед подачей в класс фраз, создание биграмм, триграмм или удаление акцентов или нет, и в некоторых случаях мне удалось получить значение когерентности около 0,55, поэтому, по крайней мере, я думаю, это может помочь найти наиболее эффективный способ обработкинеобработанные данные ...