Recherche…


Introduction

La PNL est un moyen pour les ordinateurs d'analyser, de comprendre et de tirer un sens du langage humain d'une manière intelligente et utile. En utilisant le protocole NLP, les développeurs peuvent organiser et structurer leurs connaissances pour effectuer des tâches telles que la synthèse automatique, la traduction, la reconnaissance d'entités nommées, l'extraction de relations, l'analyse de sentiments, la reconnaissance vocale et la segmentation.

Correspondance du texte ou similarité

L'un des domaines importants de la PNL est la correspondance des objets texte pour trouver des similitudes. Les applications importantes de la correspondance de texte incluent la correction automatique de l'orthographe, la déduplication des données et l'analyse du génome, etc. Un certain nombre de techniques de correspondance de texte sont disponibles en fonction des besoins. Alors laisse faire; Levenshtein Distance

La distance Levenshtein entre deux chaînes est définie comme le nombre minimum de modifications nécessaires pour transformer une chaîne en une autre, les opérations d'édition autorisées étant l'insertion, la suppression ou la substitution d'un seul caractère.

Voici l'implémentation pour des calculs de mémoire efficaces.

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow