Python: Семантическая оценка сходства для строк [дубликат]
На этот вопрос уже есть ответ здесь:
Как вычислить сходство между двумя текстовыми документами? 7 ответовСуществуют ли какие-либо библиотеки для вычисления оценок семантического сходства для пары предложений?
Я знаю семантическую базу данных WordNet и то, как я могу сгенерировать оценку для 2 слов, но я ищу библиотеки, которые выполняют все задачи предварительной обработки, такие как перенос по портам, удаление стоп-слов и т. Д., Для целых предложений и выводов. оценка того, насколько связаны два предложения.
Я нашелработай в процессе написания с использованием .NET Framework, который вычисляет оценку, используя массив этапов предварительной обработки. Есть ли проект, который делает это в Python?
Я не ищу последовательность операций, которая бы помогла мне найти счет (как это просилиВот)
Я бы хотел реализовать каждый этап самостоятельно или склеить функции из разных библиотек, чтобы он работал для пар предложений, но мне это нужно в основном как инструмент для проверки выводов данных.
РЕДАКТИРОВАТЬ: Я рассматривал вопрос об использовании NLTK и вычислении баллов для каждой пары слов, повторяемых в двух предложениях, а затем делал выводы из стандартного отклонения результатов, но я не знаю, является ли это законной оценкой сходства. Плюс, это займет много времени для длинных струн.
Опять же, я ищу проекты / библиотеки, которые уже реализуют это разумно. Что-то, что позволяет мне сделать это:
import amazing_semsim_package
str1='Birthday party ruined as cake explodes'
str2='Grandma mistakenly bakes cake using gunpowder'
>>similarity(str1,str2)
>>0.889