Estoy trabajando en una aplicación que necesita poder traducir partes de oraciones. El problema es que si envío las partes a una API de traducción como Google Translate, las traducciones a menudo no tienen sentido en el contexto en el que ocurrieron. Ejemplo:

Él sale del edificio

Si traduzco hojas a cualquier idioma de destino, probablemente obtendré un resultado en el contexto de "hojas de un árbol", lo que por supuesto no tiene sentido en el ejemplo. Por lo tanto, la traducción debe tener en cuenta el contexto. Si amplío la oración de traducción a Se va obtengo la traducción correcta de Se va . Sin embargo, pierdo la traducción de hojas , que es la palabra que estoy buscando.

¿Alguien tiene alguna idea de cómo debería abordar esto? Tenga en cuenta que la API de Google Translate es una API paga, por lo que me gustaría minimizar la cantidad de traducciones que solicito a la API.

3
Yaeger 15 dic. 2016 a las 20:15

2 respuestas

La mejor respuesta

Tiene razón al señalar que traducir sin contexto es inútil.

La API de Google Translate, al igual que la integración de Chrome, es inteligente con las etiquetas HTML (los parámetros predeterminados incluyen format=html).

Así que una buena opción es ajustar la palabra o frase en la que está interesado en las etiquetas HTML .

Puedes probar esto en la consola:

enter image description here

Debería ser fácil analizar el contenido de la etiqueta HTML de nuevo , luego puede lematizar.

Nota 1 :
La interfaz de usuario independiente de Google Translate orientada al consumidor no expone esta opción; para probarla, debe traducir a través de la consola API o mediante programación, o traducir páginas con Chrome.

Nota 2 :
Hay algunos matices porque las palabras en las traducciones no son inherentemente 1: 1. A veces, la palabra se convierte en dos palabras y, en ocasiones, la palabra tiene una representación nula en el idioma de destino.

Ejemplo 1: 2:
es: He <span>left</span> the building.
eso: Ha <span>lasciato</span> l'edificio.
[Podría decirse que también debería incluirse ha .]

Ejemplo 1: 0:
es: How <span>are</span> you?
ru: Как вы?
[ to be generalmente se escribe en ruso.]
es: How are <span>you</span>?
eso: Come stai?
[Los pronombres a menudo se eliminan en italiano].

Ejemplo 2: 1:
es: He is always <span>screwing</span> things up.
eso: Sempre <span>spiegazza</span> le cose.
[El inglés y otros idiomas tienen verbos separables. La entrada real aquí es arruinar , no atornillar .]

Para usted, esto es un trabajo pero también es información muy útil, y de todos modos es más fácil para usted procesar lasciato para obtener el lema correcto lasciare .

Consulte cloud.google.com/translate/docs/reference/rest para obtener más información. documentación de parámetros

4
Adam Bittlingmayer 11 sep. 2017 a las 06:52

Mi idea:

Envíe "Se va", y para comprender qué parte es "él" y qué parte es "se va", se cruzan con todas las traducciones posibles de "se va" (mantenga localmente un diccionario bilingüe de todas las traducciones posibles de todas las palabras en todas sus formas)

1
user31264 15 dic. 2016 a las 17:29