Ricerca…


introduzione

La PNL è un modo per i computer di analizzare, comprendere e derivare il significato dal linguaggio umano in modo intelligente e utile. Utilizzando la PNL, gli sviluppatori possono organizzare e strutturare le conoscenze per eseguire attività quali riepilogo automatico, traduzione, riconoscimento di entità con nome, estrazione delle relazioni, analisi dei sentimenti, riconoscimento vocale e segmentazione degli argomenti.

Corrispondenza del testo o somiglianza

Una delle aree importanti della PNL è la corrispondenza degli oggetti di testo per trovare somiglianze. Importanti applicazioni di corrispondenza testuale includono la correzione automatica dello spelling, la deduplicazione dei dati e l'analisi del genoma, ecc. A seconda del requisito sono disponibili diverse tecniche di abbinamento del testo. Quindi, abbiamo; Levenshtein Distance

La distanza di Levenshtein tra due stringhe è definita come il numero minimo di modifiche necessarie per trasformare una stringa nell'altra, con le operazioni di modifica consentite che sono l'inserimento, la cancellazione o la sostituzione di un singolo carattere.

Di seguito è riportata l'implementazione per calcoli di memoria efficienti.

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow