2011-03-26 4 views
5

Me gustaría anotar automáticamente textos para estudiantes de idiomas extranjeros con traducciones de palabras difíciles.Traducción de palabras sueltas, teniendo en cuenta el contexto, usando herramientas de procesamiento de lenguaje por computadora

Por ejemplo, si el texto original es:

El gato esta en la casa de mis vecinos

Se convierte en

El gato esta en la casa de mis vecinos (vecinos)

El primer paso es identificar qué palabras son las más difíciles. Esto podría hacerse mediante la lematización de las palabras en el texto original y comparándolas con una lista de "palabras fáciles" (un vocabulario básico de 1500-2000 palabras). Los que no se encuentran en esta lista serán designados como "palabras difíciles". Este proceso parece bastante sencillo usando el kit de herramientas de lenguaje natural (NLTK) para Python.

Hay alguna dificultad en las palabras que debe ser traducido como un par, como 'recién casados', o frases verbales 'que llama me hasta' o el alemán 'er ruft mich un '(anrufen). Aquí las palabras no pueden ser tratadas individualmente. Para verbos compuestos y similares quizás se necesite cierta comprensión de la gramática.

El segundo paso consiste en obtener una traducción correcta de las palabras difíciles según el contexto en el que aparecen. Según entiendo, esto está aplicando efectivamente la primera mitad de un sistema estadístico de traducción automática como google translate. Creo que este problema podría resolverse utilizando Google Translate Research API, que le permite enviar texto para traducir, y la respuesta incluye información sobre qué palabra en la traducción corresponde a qué palabra en el texto original. Entonces podrías alimentar en la oración completa y luego pescar la palabra que querías de la respuesta. Sin embargo, debe solicitar utilizar esta API y tienen límites de uso, lo que probablemente sea un problema para mi aplicación. Prefiero encontrar otra solución. Espero que ninguna solución proporcione el 100% de las traducciones correctas y que deberán verificarse a mano, pero esto debería acelerar aún más las cosas.

Gracias por sus comentarios.

David

+0

¿Cuál es la pregunta? –

+2

Lo sentimos, la pregunta es: ** '¿Existe algún software que pueda resolver este problema por mí?' **, de lo contrario, ** '¿Cómo puedo llevar a cabo el segundo paso de este proceso sin utilizar Google Translate? '** y también, **' ¿Tiene alguna sugerencia sobre cómo mejorar la selección de 'palabras difíciles', dadas las dificultades mencionadas anteriormente? '** – Davidw

Respuesta

1

Para la etapa inicial, no hay necesidad de contar con un vocabulario priori - simplemente acumular conteos de ficha en un corpus de entrenamiento y marcar las fichas en su equipo de prueba que no se producen antes de un punto de corte en el vocabulario ordenado por rango debería ser suficiente.

http://vuw.academia.edu/JosephSorell/Papers/549885/Zipfs_Law_and_Vocabulary

Para la segunda etapa, "la obtención de una traducción correcta de las palabras difíciles según el contexto en el que aparecen", sí, lo que se necesita acceso a una API MT y/o traducción humana. Elegir el mejor enfoque depende de tus objetivos.

Puede obtener una traducción correcta, una traducción rápida o una traducción barata: no conozco ninguna manera de que pueda tener las tres al mismo tiempo.

Cuestiones relacionadas