machine-learning
Naturlig språkbehandling
Sök…
Introduktion
NLP är ett sätt för datorer att analysera, förstå och hämta mening från mänskligt språk på ett smart och användbart sätt. Genom att använda NLP kan utvecklare organisera och strukturera kunskap för att utföra uppgifter som automatisk sammanfattning, översättning, namngivna entitetsigenkänning, utvinning av relationer, sentimentanalys, taligenkänning och ämnesegmentering.
Textmatchning eller likhet
Ett av de viktiga områdena i NLP är att matcha textobjekt för att hitta likheter. Viktiga tillämpningar av textmatchning inkluderar automatisk stavningskorrigering, dataduplicering och genomanalys etc. Ett antal textmatchningstekniker finns tillgängliga beroende på kravet. Så låter ha; Levenshtein Distans
Levenshtein-avståndet mellan två strängar definieras som det minsta antalet redigeringar som krävs för att omvandla en sträng till den andra, med de tillåtna redigeringsoperationerna är insättning, radering eller ersättning av en enda karaktär.
Följande är implementeringen för effektiva minnesberäkningar.
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"))