Distancia de edición de Levenshtein
Calcula la distancia Levenshtein por puntos de código Unicode sin normalizar cadenas.
def edit_distance(a, b):
if not isinstance(a, str) or not isinstance(b, str):
raise ValueError("text.required")
previous = list(range(len(b) + 1))
for i, left in enumerate(a, 1):
current = [i]
for j, right in enumerate(b, 1):
current.append(min(current[-1] + 1, previous[j] + 1,
previous[j - 1] + (left != right)))
previous = current
return previous[-1]Revisa antes de aplicar
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
Modelos
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Proyecto
Prueba texto vacío, una sustitución de emoji y formas compuestas o descompuestas sin afirmar equivalencia visual.
def edit_distance(a, b):
if not isinstance(a, str) or not isinstance(b, str):
raise ValueError("text.required")
previous = list(range(len(b) + 1))
for i, left in enumerate(a, 1):
current = [i]
for j, right in enumerate(b, 1):
current.append(min(current[-1] + 1, previous[j] + 1,
previous[j - 1] + (left != right)))
previous = current
return previous[-1]Define qué debe significar una coincidencia de texto antes de programarla
GlyphMetrum es un entorno de programación para Windows que permite usar un modelo de IA conectado para examinar cambios de procesamiento de texto en tu proyecto. Empieza describiendo la decisión que debe tomar la aplicación: comparar una entrada, sugerir una etiqueta cercana o rechazar un valor que no cumple los requisitos. Pide al asistente que inspeccione la función pertinente y el código que la llama antes de proponer cambios, para conectar los detalles de implementación con el comportamiento visible.
El ejemplo distance.py da un punto de partida concreto mediante una comparación de ediciones de caracteres. Es contexto de un proyecto de ejemplo, no un motor de búsqueda ni una función de coincidencias incorporada en GlyphMetrum. Tu aplicación puede necesitar sus propias decisiones sobre mayúsculas y minúsculas, normalización y grado de diferencia aceptable. Revisa esas decisiones por separado del mecanismo de cálculo de distancia.
Prueba el comportamiento resultante con ejemplos cuyos resultados esperados puedas explicar, incluidos texto vacío y cadenas visualmente similares representadas de manera distinta. Comprueba cómo gestiona el código consumidor los empates o la ausencia de coincidencias aceptables. Conecta un endpoint compatible con OpenAI o de Anthropic admitido y añade credenciales cuando sean necesarias; solo se puede seleccionar un modelo sin restricciones donde se ofrezca. Las restricciones del modelo, las herramientas disponibles y los límites de contexto siguen dependiendo del servicio configurado. El entorno de programación ayuda a organizar el trabajo mientras tú decides si el resultado encaja con la aplicación.
Decisiones de comparación de texto para una tarea de programación
¿Define el ejemplo una política completa de coincidencias?
No. Proporciona un mecanismo de comparación para analizar. Tu aplicación debe decidir qué transformaciones se permiten y qué resultado se considera una coincidencia, y probar esas decisiones a través del código que lo llama en lugar de depender solo de la distancia.
¿Debe añadirse automáticamente la normalización de mayúsculas y minúsculas?
Solo cuando coincida con el comportamiento previsto. Algunos identificadores distinguen mayúsculas y minúsculas, mientras que las etiquetas para usuarios pueden no hacerlo. Da al asistente ejemplos representativos y revisa dónde se realiza cualquier normalización para que no afecte a texto ajeno.
¿Cómo compruebo sugerencias ambiguas?
Incluye casos en los que varios candidatos estén a la misma distancia e indica cómo debe responder la aplicación. Inspecciona la lógica de selección además de la función de comparación, porque una distancia correcta no elige una política útil de desempate.
¿Es GlyphMetrum un servicio de búsqueda aproximada listo para usar?
No se afirma que ofrezca ese servicio. Es un entorno de programación donde analizar y revisar código de procesamiento de texto de tu proyecto. La indexación, el comportamiento de la aplicación y cualquier infraestructura de búsqueda siguen siendo responsabilidad de tu implementación.
GlyphMetrum · Actualizado 2026-10-25