machine-learning
Procesamiento natural del lenguaje
Buscar..
Introducción
La PNL es una forma en que las computadoras analizan, comprenden y derivan el significado del lenguaje humano de una manera inteligente y útil. Al utilizar la PNL, los desarrolladores pueden organizar y estructurar el conocimiento para realizar tareas como el resumen automático, la traducción, el reconocimiento de entidades nombradas, la extracción de relaciones, el análisis de sentimientos, el reconocimiento de voz y la segmentación de temas.
Coincidencia de texto o similitud
Una de las áreas importantes de la PNL es la comparación de objetos de texto para encontrar similitudes. Las aplicaciones importantes de la correspondencia de texto incluyen la corrección automática de la ortografía, la deduplicación de datos y el análisis del genoma, etc. Hay varias técnicas de correspondencia de texto disponibles según el requisito. Así que vamos a tener; Levenshtein Distancia
La distancia de Levenshtein entre dos cadenas se define como el número mínimo de ediciones necesarias para transformar una cadena en otra, con las operaciones de edición permitidas que son la inserción, eliminación o sustitución de un solo carácter.
A continuación se muestra la implementación para cálculos de memoria eficientes.
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"))