Según this comente un hilo relacionado, me gustaría saber por qué los métodos basados en la distancia de Levenshtein son mejores que Soundex.Métodos basados en la distancia de Levenshtein Vs Soundex
Respuesta
Soundex es bastante primitivo, fue desarrollado originalmente para ser calculado a mano. Resulta en una clave que se puede comparar.
Soundex funciona bien con los nombres occidentales, ya que fue desarrollado originalmente para los datos del censo de EE. UU. Está destinado a la comparación fonética.
Levenshtein distance observa dos valores y produce un valor basado en su similitud. Está buscando letras perdidas o sustituidas.
Básicamente Soundex es mejor para encontrar que "Schmidt" y "Smith" pueden ser del mismo apellido.
distancia Levenshtein es mejor para detectar que el usuario ha escrito mal "Levnshtein" ;-)
Como he publicado en la otra pregunta, Daitch-Mokotoff es mejor para nosotros los europeos (y yo argumentaría en los Estados Unidos).
También he leído la Wiki en Levenshtein. Pero no veo por qué (en la vida real) es mejor para el usuario que Soundex.
Sugeriría usar Metaphone, no Soundex. Como se señaló, Soundex se desarrolló en el siglo XIX con nombres estadounidenses. Metaphone le dará algunos resultados al verificar el trabajo de los deficientes deletreadores que están "sondeándolo" y deletreando fonéticamente.
La distancia de edición es buena para atrapar errores tipográficos, como letras repetidas, letras transpuestas o presionar la tecla incorrecta.
Considera la aplicación para decidir cuál se ajustará mejor a tus usuarios — o úsalas ambas juntas, con Metaphone complementando las sugerencias producidas por Levenshtein.
Con respecto a la pregunta original, he usado n-grams con éxito en aplicaciones de recuperación de información.
e iría por metafonía doble, devuelve 2 códigos, uno para sonido occidental y otro para sonidos 'extranjeros' (más slavic IIRC). – gbjbaanb
Soundex se desarrolló a principios del siglo XX y se usó para datos censales del siglo XIX. – webmaster777
Estoy de acuerdo con usted en Daitch-Mokotoff, Soundex es parcial porque los encuestadores originales de Estados Unidos querían nombres 'americanizados'.
Tal vez un ejemplo de la diferencia ayudaría:
Soundex pone adición de valor en el inicio de una palabra - de hecho, sólo tiene en cuenta los 4 primeros sonidos fonéticos. Entonces, si "Schmidt" y "Smith" coincidirán con "Smith" y "Wmith" no lo harán.
El algoritmo de Levenshtein sería mejor para encontrar errores tipográficos: una o dos letras faltantes o reemplazadas produce una alta correlación, mientras que el impacto fonético de esas letras faltantes es menos importante.
No creo que ninguno sea mejor, y consideraría tanto un algoritmo de distancia como uno fonético para ayudar a los usuarios a corregir la entrada mecanografiada.
- 1. OCR: distancia Levenshtein ponderada
- 2. Levenshtein Distancia en VBA
- 3. Levenshtein distancia simétrica?
- 4. distancia de Levenshtein en la expresión regular
- 5. Fast Levenshtein distancia en R?
- 6. Distancia de Levenshtein en T-SQL
- 7. Similitud de cadenas -> distancia de Levenshtein
- 8. ¿Cómo se implementa la distancia de Levenshtein en Delphi?
- 9. La forma más eficiente de calcular la distancia de Levenshtein
- 10. Damerau-Levenshtein distancia (Editar distancia con transposición) c implementación
- 11. Implementación de la distancia de Levenshtein para búsqueda mysql/fuzzy?
- 12. Porcentaje de coincidencia de coincidencia con Levenshtein Coincidencia de distancia
- 13. calculando distancia de Levenshtein usando listas de palabras
- 14. Levenshtein Algoritmo de distancia mejor que O (n * m)?
- 15. Damerau-Levenshtein php
- 16. Concordancia exacta de la palabra de búsqueda posiblemente usando la distancia de Levenshtein
- 17. Realizar diferentes métodos basados en la variable de plantilla tipo
- 18. Métodos estáticos vs métodos de instancia en C#
- 19. Comparación: métodos de interfaz vs métodos virtuales vs métodos abstractos
- 20. Determina de manera eficiente "cómo está ordenada" una lista, p. Ej. Distancia de Levenshtein
- 21. levenshtein alternative
- 22. Función SQL-soundex
- 23. ¿Se ha mejorado Soundex?
- 24. distancia euclidiana vs Pearson similitud de correlación vs coseno?
- 25. Cómo probar métodos basados en Salat con ScalaTest
- 26. Algunos cambios en el algoritmo de Soundex
- 27. Acelerando levenshtein/similar_text en PHP
- 28. Componente basado en Java vs marcos basados en solicitud
- 29. Funciones vs métodos en Scala
- 30. metaphone versus soundex versus NYSIIS
En segundo lugar la sugerencia de Metaphone/Double Metaphone –
¿Qué es el doble de metafonía? – Marin