machine-learning
Przetwarzanie języka naturalnego
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"))