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"))


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow