Я считаю, что на самом деле есть две разные проблемы.
Первое - это исправление заклинаний. Вы можете иметь его в Python здесь
http://norvig.com/spell-correct.html
Второй более функциональный. Вот что я буду делать после исправления заклинания. Я бы сделал функцию отношения.
относящиеся (предложение 1, предложение 2) тогда и только тогда, когда в предложении 1 и предложении 2 встречаются редкие общие слова. Под редкими я подразумеваю слова, отличные от (что, что, и т. Д.). Вы можете взглянуть на систему TF / IDF, чтобы определить, связаны ли два документа, используя их слова. Просто немного погуглив, я нашел это:
https://code.google.com/p/tfidf/