Szukaj…


Wprowadzenie

NLP to sposób, w jaki komputery mogą analizować, rozumieć i czerpać znaczenie z ludzkiego języka w inteligentny i użyteczny sposób. Korzystając z NLP, programiści mogą organizować i strukturyzować wiedzę w celu wykonywania zadań, takich jak automatyczne podsumowanie, tłumaczenie, rozpoznawanie nazwanych jednostek, ekstrakcja relacji, analiza sentymentów, rozpoznawanie mowy i segmentacja tematów.

Dopasowanie tekstu lub podobieństwo

Jednym z ważnych obszarów NLP jest dopasowanie obiektów tekstowych w celu znalezienia podobieństw. Ważne zastosowania dopasowania tekstu obejmują automatyczną korektę pisowni, usuwanie duplikatów danych i analizę genomu itp. W zależności od wymagań dostępnych jest wiele technik dopasowania tekstu. Więc miejmy; Odległość Levenshteina

Odległość Levenshteina między dwoma łańcuchami jest zdefiniowana jako minimalna liczba zmian potrzebnych do przekształcenia jednego łańcucha w drugi, przy czym dozwolonymi operacjami edycji są wstawianie, usuwanie lub podstawianie pojedynczego znaku.

Poniżej przedstawiono implementację wydajnych obliczeń pamięci.

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow