Поиск…


Вступление

НЛП - это способ для компьютеров анализировать, понимать и извлекать смысл с человеческого языка умным и полезным способом. Используя НЛП, разработчики могут организовывать и структурировать знания для выполнения таких задач, как автоматическое обобщение, перевод, распознавание имен, распознавание связей, анализ настроений, распознавание речи и сегментация тем.

Согласование текста или сходство

Одной из важных областей НЛП является сопоставление текстовых объектов, чтобы найти сходства. Важные приложения для текстового сопоставления включают автоматическую коррекцию орфографии, дедупликацию данных и анализ генома и т. Д. В зависимости от требования предоставляется ряд методов сопоставления текста. Так что давайте; Левенштейн Расстояние

Расстояние Левенштейна между двумя строками определяется как минимальное количество изменений, необходимых для преобразования одной строки в другую, причем допустимые операции редактирования включают вставку, удаление или замену одного символа.

Ниже приведена реализация эффективных вычислений памяти.

def levenshtein(s1,s2): 
   
 if len(s1) > len(s2):
    s1,s2 = s2,s1 
distances = range(len(s1) + 1) 

for index2,char2 in enumerate(s2):
    newDistances = [index2+1]
    for index1,char1 in enumerate(s1):
        if char1 == char2:
            newDistances.append(distances[index1]) 
        else:
             newDistances.append(1 + min((distances[index1], distances[index1+1], newDistances[-1]))) 
             distances = newDistances 

             return distances[-1]

print(levenshtein("analyze","analyse"))


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow