Cosine Сходство в основном используется со строками, а не сравнивает одно слово с другим словом. Я бы порекомендовал вам использовать что-то вроде расстояния Левенштейна (также называемое «Редактировать расстояние»).
Изменить расстояние (иначе расстояние Левенштейна) - это мера сходства между двумя строками, называемыми исходной и целевой строками. Расстояние между строками описывается как минимальное количество операций редактирования (удаления, вставки или замены), необходимых для преобразования источника в цель. Таким образом, чем меньше расстояние, тем выше вероятность того, что они очень похожи.
Вы можете использовать его через библиотеку nltk Python следующим образом:
import nltk
w1 = 'mapping'
w2 = 'mappings'
nltk.edit_distance(w1, w2)
В этом в случае, если выходные данные возвращаются как 1, так как между w1 и w2
имеется различие в одну букву