Python: puntuación de similitud semántica para cadenas [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo calcular la similitud entre dos documentos de texto? 7 respuestas

¿Hay bibliotecas para calcular puntuaciones de similitud semántica para un par de oraciones?

Soy consciente de la base de datos semántica de WordNet y de cómo puedo generar el puntaje para 2 palabras, pero estoy buscando bibliotecas que realicen todas las tareas de preprocesamiento, como la recopilación de puertos, la eliminación de palabras, etc. una puntuación de cómo están relacionadas las dos oraciones.

Encontre untrabajo en curso, se escribe utilizando el marco .NET que calcula la puntuación utilizando una serie de pasos de preprocesamiento. ¿Hay algún proyecto que haga esto en python?

No estoy buscando la secuencia de operaciones que me ayude a encontrar la puntuación (como se solicita)aquí)
Me encantaría implementar cada etapa por mi cuenta, o pegar funciones de diferentes bibliotecas para que funcione con pares de oraciones, pero necesito esto principalmente como una herramienta para probar inferencias en los datos.

EDITAR: Estaba considerando usar NLTK y calcular la puntuación para cada par de palabras iteradas en las dos oraciones, y luego extraer inferencias de la desviación estándar de los resultados, pero no sé si esa es una estimación legítima de la similitud. Además, tomará mucho tiempo para cuerdas largas.
Nuevamente, estoy buscando proyectos / bibliotecas que ya implementen esto inteligentemente. Algo que me permite hacer esto:

import amazing_semsim_package
str1='Birthday party ruined as cake explodes'
str2='Grandma mistakenly bakes cake using gunpowder'

>>similarity(str1,str2)
>>0.889

Respuestas a la pregunta(3)

Su respuesta a la pregunta