2011-08-16 11 views
13

Estoy interesado en escribir un guión PHP (sí doy la bienvenida a las sugerencias de agnóstico del lenguaje) que transliteraría una oración o palabra escrita en inglés (phoenetically) en el guión de otro idioma. Dado que estoy mirando el inglés escrito phoenixically (es decir, de oído): tendría que lidiar con la ortografía variante de la misma palabra.Transliteración inteligente en PHP

Se supone que no existe una norma para la romanización (por ejemplo, en chino, tiene la Simplificado Wade, etc.)

¿Alguien tiene algún consejo sobre donde podría empezar?

EDIT: estoy haciendo esto solo con fines educativos, y al principio tenía la impresión de que para averiguar la conexión entre la ortografía variante (que se podía encontrar en un corpus de mensajes de MI, publicaciones de Facebook escritas en la forma romanizada del idioma), necesitarías algún tipo de herramienta de aprendizaje automático. Sin embargo, me gustaría saber si estoy en el camino correcto, y me gustaría algo de ayuda para averiguar qué debo hacer para que funcione (por ejemplo, ¿qué herramienta de aprendizaje automático debo estudiar?) .

+0

Sin entrar demasiado carnoso - variantes ortográficas de una palabra extranjera (normalmente escrito en su propio guión), tales como " eheree "versus" ehery ", o" ei "frente a" ey ". Entiendo que no es mucho: esperaba una solución que requiriera un poco de análisis estadístico sobre un corpus determinado (por ejemplo, mensajes de mensajería instantánea o actualizaciones de Facebook escritas en la forma romanizada del idioma). – arkate

Respuesta

2

Sé con japonés al menos, usted tiene un número establecido de combinaciones de letras.

Así, se podría hacer algo así como crear una matriz juego como éste

array(
    'oo' => 'おう', 
    'oh' => 'おう', 
    'ou' => 'おう' 
) 

Por supuesto, continuar adelante, y asegurarse de que no coinciden 'Do', cuando debería ser 'tsu'.

Esto solo sería un punto de partida, por supuesto.

El aprendizaje automático es probablemente más práctico con el chino ... pero aquí hay un mal comienzo hiragana: https://gist.github.com/1154969

+0

Estaba buscando algo en esta línea.Lo único que falta aquí es una forma de generar probablemente estas asociaciones (tal vez mediante técnicas de aprendizaje automático). – arkate

3

Trate Transliteration PHP Extension por Derick Rethans:

Esta extensión le permite Transliterate texto en no latinos caracteres (como el chino, cirílico, griego, etc.) a caracteres latinos. Además de la transliteración, la extensión también contiene filtros en latín, minúsculo y minúsculo, cirílico y griego, y realiza formas especiales de transcripción , como la conversión de ligaduras como noruego "æ" a "ae" y la normalización de puntuación y espaciado.

¡Parece que ya ha empezado justo en lo que está buscando! (a menos que desee tratar con el idioma inglés-> latín, pero al menos esto se refiere a las secuencias de comandos de otros idiomas. :))

+0

Es una buena herramienta, y gracias por señalarlo a mí. Sin embargo, estaba más interesado en averiguar cómo construiría uno solo (fines puramente educativos). Me disculpo si no estaba claro en la pregunta :( – arkate

+2

Sugeriría obtener esta biblioteca y mirar su código. La mejor manera de aprender (para mí): tomar algo que funciona, romperlo, descubrir cómo solucionarlo. Repito. –

Cuestiones relacionadas