java - preguntas - Búsqueda fonética de lenguas indias.
lenguas nativas de colombia (1)
Según tengo entendido, usted quiere tomar palabras escritas en inglés, descomponerlas fonéticamente y luego agrupar palabras que se escriben de manera diferente, pero tienen las mismas representaciones fonéticas.
Para este SoundEx es una solución al 90%, siempre que las personas que escriben las palabras en inglés estén usando las consonantes correctas cuando estén traduciendo las palabras del tamil al inglés.
Debería poder simplemente eliminar el primer valor de la representación de SoundEx y usarlo como su codificación cuando la primera letra es una vocal.
La razón es que SoundEx ( https://en.wikipedia.org/wiki/Soundex ) realiza sus codificaciones solo en las consonantes en las palabras que se presentan. Elimina todas las vocales más h y w - A menos que , la Vocal es la primera letra de la palabra, lo que explica por qué sus valores son ligeramente diferentes, pero solo en la codificación de la primera letra.
En cuanto a sus ceros, las codificaciones de SoundEx son, por definición, 1 letra y 3 números (de 1 a 6 solamente), solo tiene 1 consonante en cada palabra (d o t) y SoundEx los asigna al número 3. Ya que no hay Más consonantes, creo que agrega 2 ceros para el cumplimiento. así obtienes Letter300
Si va a seguir usando SoundEx para su aplicación, debe tener en cuenta que solo puede proporcionarle 26 * 6 * 6 * 6 = 5616 codificaciones únicas basadas en su Número de letra (1-6) Número (1-6) Esquema del número (1-6). Lo que significa que las codificaciones fonéticas no serán únicas y algunas palabras que son radicalmente diferentes tendrán codificaciones SoundEx que chocan.
Quiero comparar cadenas fonéticamente en mi aplicación de Android. Pero el caso especial aquí es que quiero comparar las palabras en lengua india escritas en inglés. Por ejemplo, quiero verificar si "Edhu" "Adhu" "Yethu" son fonéticamente iguales, todos significan lo mismo en el idioma tamil. Pero las personas que usan el guión en inglés para escribir idiomas indios usan diferentes grafías para formar la palabra. ¿Cómo comparo palabras en este caso?
Probé Levenshtein. Pero no estoy seguro de cómo convertir el número que vuelve a la igualdad.
Probé Soundex, los códigos Soundex no son los mismos cuando cambia la primera letra de la palabra. Pero es capaz de averiguar las partes que suenan similares. No entiendo cómo funciona.
soundex.encode("Yethu") (soundex.encode("Edhu")) (soundex.encode("adhu"))
Y300 E300 A300