Saltar al contenido

¿Qué es el algoritmo Metaphone 3?

Este dilema se puede abordar de variadas maneras, pero nosotros te enseñamos la que para nosotros es la resolución más completa.

Solución:

Dado que el autor (Lawrence Philips) decidió comercializar el algoritmo en sí, es muy probable que no encuentre una descripción. El buen lugar para preguntar sería la lista de correo: https://lists.sourceforge.net/lists/listinfo/aspell-metaphone

pero también puede consultar el código fuente (es decir, los comentarios del código) para comprender cómo funciona el algoritmo: http://code.google.com/p/google-refine/source/browse/trunk/main/src/com/google /refine/clustering/binning/Metaphone3.java?r=2029

De Wikipedia, el algoritmo Metaphone es

Metaphone es un algoritmo fonético, un algoritmo publicado en 1990 para indexar palabras por su pronunciación en inglés. Mejora fundamentalmente el algoritmo de Soundex mediante el uso de información sobre variaciones e inconsistencias en la ortografía y pronunciación del inglés para producir una codificación más precisa, que hace un mejor trabajo al unir palabras y nombres que suenan similares. […]

Metáfono 3 específicamente

[…] logra una precisión de aproximadamente el 99% para palabras en inglés, palabras no inglesas familiares para los estadounidenses y nombres y apellidos que se encuentran comúnmente en los Estados Unidos, y se desarrolló de acuerdo con los estándares de ingeniería modernos contra un arnés de prueba de codificaciones correctas preparadas.

La descripción general del algoritmo es:

El algoritmo Metaphone funciona eliminando primero las letras y los caracteres que no están en inglés de la palabra que se está procesando. A continuación, todas las vocales también se descartan a menos que la palabra comience con una vocal inicial, en cuyo caso se descartan todas las vocales excepto la inicial. Finalmente, todas las consonantes y grupos de consonantes se asignan a su código Metáfono. Las reglas para agrupar consonantes y grupos de las mismas y luego asignarlas a códigos de metáfono son bastante complicadas; para obtener una lista completa de estas conversiones, consulte los comentarios en la sección del código fuente.

Ahora, en su real pregunta:

Si está interesado en los detalles del algoritmo Metaphone 3, creo que no tiene suerte (a menos que compre el código fuente, lo entienda y lo vuelva a crear por su cuenta): el punto central de no hacer público el algoritmo (del cual la fuente que puede comprar es una instancia) es que no puede recrearlo sin pagarle al autor por su esfuerzo de desarrollo (proporcionar el “algoritmo preciso” que está buscando es equivalente a proporcionar el código real en sí) . Considere las citas anteriores: el desarrollo del algoritmo involucró un “arnés de prueba de […] codificaciones”. A menos que tenga dicho arnés de prueba o pueda crear uno, no podrá replicar el algoritmo.

Por otro lado, las implementaciones de las dos primeras iteraciones (Metaphone y Double Metaphone) son disponible gratuitamente (el enlace de Wikipedia anterior contiene una veintena de enlaces a implementaciones en varios idiomas para ambos), lo que significa que tiene un buen punto de partida para comprender de qué se trata exactamente el algoritmo, luego mejórelo como mejor le parezca (por ejemplo, creando y usando un arnés de prueba apropiado).

El enlace de @Bo ahora se refiere al (ahora desaparecido) código fuente completo del proyecto.

Por lo tanto, aquí está el nuevo enlace con enlace directo al código fuente de Metaphone 3 https://searchcode.com/codesearch/view/2366000/

por Lawrence Phillips
* * Metaphone 3 está diseñado para devolver un aproximado fonético key (y una alternativa * fonética aproximada key cuando corresponda) que debería ser el mismo para las palabras en inglés * y la mayoría de los nombres familiares en los Estados Unidos, que se pronuncian similar. * Él key el valor es no destinado a ser un exacto fonética, o incluso fonémica, * representación de la palabra. Esto se debe a que un cierto grado de ‘borrosidad’ ha * demostrado ser útil para compensar las variaciones en la pronunciación, así como * las pronunciaciones mal escuchadas. Por ejemplo, aunque los americanos no suelen ser conscientes de ello, * la letra ‘s’ normalmente se pronuncia ‘z’ al final de palabras como “sounds”.

* * El aspecto ‘aproximado’ de la codificación se implementa de acuerdo con las siguientes reglas:

* * (1) Todas las vocales están codificadas con el mismo valor – ‘A’. Si el parámetro encodeVowels * se establece en falsesolamente inicial las vocales se codificarán en absoluto. Si encodeVowels se establece * en true, ‘A’ se codificará en todos los lugares de la palabra en los que las vocales normalmente se pronuncian *. Tanto la ‘W’ como la ‘Y’ se tratan como vocales. Aunque existen diferencias en * la pronunciación de ‘W’ e ‘Y’ en diferentes circunstancias que conducen a que sean * clasificadas como vocales en algunas circunstancias y como consonantes en otras, a efectos * del componente de ‘borrosidad’ del Soundex y la familia de algoritmos Metaphone serán * siempre tratados aquí como vocales.

* * (2) Los pares de consonantes sonoras y sordas se asignan al mismo valor codificado. Esto significa que:
* ‘D’ y ‘T’ -> ‘T’
* ‘B’ y ‘P’ -> ‘P’
* ‘G’ y ‘K’ -> ‘K’
* ‘Z’ y ‘S’ -> ‘S’
* ‘V’ y ‘F’ -> ‘F’

* * – Además de las reglas sonoras/sordas anteriores, ‘CH’ y ‘SH’ -> ‘X’, donde ‘X’ * representa los sonidos “-SH-” y “-CH-” en la codificación Metaphone 3.

Aquí tienes las comentarios y valoraciones

Al final de todo puedes encontrar las referencias de otros sys admins, tú también eres capaz insertar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *