¿Es posible con una gran cantidad de trabajo hacer un programa de traducción perfecto?

La respuesta es un no sólido.

Una palabra clave es semántica , que solo debería explicar por qué es imposible ahora. Las máquinas simplemente no tienen conciencia todavía y no son capaces de comprender la semántica de un solo lenguaje humano más simple, y mucho menos correlacionar los significados de las palabras de dos idiomas diferentes para construir una cosa tan simple y mundana como un diccionario (que cualquier alfabetizado o analfabeto El ser humano que de alguna manera ha aprendido dos idiomas puede hacer fácilmente, al menos en forma hablada, si no escrita.

Nosotros, los humanos, ni siquiera podemos programar un conjunto de reglas que le digan a la computadora cómo extraer y codificar significados de las palabras, porque nadie sabe realmente cómo lo hacemos con nuestros propios cerebros. ¿Asociamos y pegamos nuestra percepción, sensación de un objeto o idea con nuestra percepción del sonido que otras personas usan para algo como ese objeto? Tal vez, pero eso no nos acerca a construir máquinas que puedan hacer lo mismo con una flexibilidad y eficiencia comparables: un programa que está capacitado para detectar solo fotos de gatos entre todas las demás imágenes, en términos simples, solo funciona construyendo un “tamiz” rápido, grande y tonto para imágenes con “agujeros” ásperos en forma de gato, que deben construirse literalmente de nuevo y almacenarse para su uso futuro para cada nuevo tipo de objeto que queremos detectar con él. Y aun así, el programa no tiene forma de saber qué es un gato, ese es un trabajo para un ser consciente como un ser humano.

La correlación de significados entre idiomas es aún más difícil: cada idioma moldea sin piedad la forma en que piensan sus hablantes nativos. Pregúntate, ¿en qué idioma estás pensando ahora? Pregúntele a una persona verdaderamente bilingüe, ¿en qué idioma está pensando habitualmente, o en este momento, o cuando habla en uno de sus idiomas nativos? Yo, por ejemplo, he conversado con personas tan bilingües y me he dado cuenta en algunas ocasiones de que cambian los idiomas de forma involuntaria e instantánea, y pueden o no corregirse después (o tal vez sonreír y explicar de nuevo lo que significan si no conozco el idioma). otro idioma que usaron para esa palabra o frase).

Otra palabra es contexto , que nos recuerda que tanto las personas como sus idiomas cambian con el tiempo, y que cada uso del lenguaje en un punto dado en el espacio-tiempo no puede observarse eficientemente sin considerar la situación en la que se utilizó y la historia de todas las partes involucradas, y la historia del lenguaje en sí. Recuerde esa escena de Ivanhoe donde Wamba el tonto hace una broma sobre el uso comparativo de las palabras sajonas versus normandas para el ganado y la carne que sucedieron después de que los normandos invadieron Inglaterra.

El lenguaje humano puede considerarse un mecanismo de compresión de información con pérdida. El humano que habla y el humano que escucha son sistemas extremadamente complejos y contienen mucha más información que todos los diccionarios y libros de gramática del lenguaje que usan, y tal vez incluso más que todas las construcciones de lenguaje válidas e inválidas que podrían generar en su totalidad. vida de comunicación. Los padres a veces recuerdan y usan las divertidas “palabras” sin sentido que sus hijos acuñaron por algún juguete, objeto o acción, y ningún lenguaje podría comprimir toda la información asociada en una sola palabra: es la suya.

La información se pierde cuando un humano dice algo, porque simplemente elegimos el mejor denominador común para la idea de que estamos tratando de expresar el idioma de acuerdo con lo que ya sabemos de ese idioma (o inventamos algo en el acto). Luego, se pierde aún más información cuando el otro humano escucha algo, porque siempre recordamos o reconstruimos nuestras propias ideas e imágenes y sentimientos basándonos en algo que recibimos de los demás y en lo que sabemos sobre el lenguaje que estamos usando (o de nuevo, inventa algo en el acto).

El grado de pérdida total de información durante la comunicación humana ni siquiera se puede medir de manera confiable, ya que la otra parte puede tardar años en darse cuenta de lo que el hablante quiso decir al hablar, o el verdadero significado puede perderse por completo en años. ¿Alguna vez has escuchado una grabación de audio de un poeta de renombre recitando su propia poesía? ¿Cómo fue diferente de lo que experimentó cuando lo leyó por primera vez en papel? Personalmente, me sorprendió sentir que incluso esa información no verbal adicional (que es mucho más rica que un par de caracteres escritos, pero menos precisa) no puede acercarnos mucho más al estado del autor. Los mejores autores, poetas y escritores en prosa por igual, intentan usar el lenguaje en toda su extensión, pero sorprendentemente su herencia en realidad da forma al lenguaje a cambio, lo que es realmente alucinante cuando lo ves: crean nuevas palabras y significados y alteran los existentes Se esfuerzan por expresarse y hacer que los lectores sientan lo que sienten, e incluso a veces pueden fallar.

Por lo tanto, hacer una traducción perfecta de un idioma a otro no tiene sentido, incluso si fuera posible, incluso un solo idioma humano es un gran problema para profundizar. Esperemos hasta que comprendamos los mecanismos del cerebro humano lo suficientemente bien como para definir y replicar la conciencia, luego construyamos máquinas conscientes, eduquémoslas y les enseñemos a traducir. Quizás eso sea lo suficientemente bueno.

Siendo realistas, no.

Si quieres una respuesta artificial: ¡Seguro! Todo lo que necesita hacer es escribir un programa para traducir entre dos lenguajes inventados, ultra uber, simples y completamente no ambiguos.

Estoy de acuerdo con los demás … un simple NO es la respuesta correcta aquí.

Además de la ambigüedad inherente de los lenguajes naturales, la semántica, el contexto, el énfasis, los sinónimos con matices muy diferentes, etc.

Incluso si los dos idiomas son extremadamente simplistas y totalmente inequívocos, todavía no hay garantía de que se pueda hacer una “traducción uno a uno perfecta entre los dos. Solo como ejemplo, intente encontrar un traductor de lenguaje de programación de F # a C # (y atrás) … vea qué tan bien va para usted. Y esos lenguajes fueron diseñados para ser completamente inequívocos, reglas estrictas sobre cada uno sin excepciones, semántica claramente entendida que no cambia con el tiempo, etc. etc.

Entonces, si incluso un traductor “simple” es una imposibilidad de ser “perfecto”, ¿qué posibilidades hay cuando agregas toda la complejidad e inconsistencia de un lenguaje natural a la mezcla (no importa dos)?

Dado que ya se ha realizado una gran cantidad de trabajo durante cientos de años (en serio, la investigación es anterior a las computadoras, por razones obvias), voy a adivinar “no”. Las gramáticas no son lo suficientemente rigurosas como para ser programadas de manera significativa y la mayor parte de la traducción proviene de comprender el significado y el contexto solo del texto (“el tiempo vuela como una flecha; la fruta vuela como un plátano”), razón por la cual se manejan los datos las conjeturas casi se han apoderado del campo.

Dado que el lenguaje natural es lo suficientemente ambiguo como para que incluso los humanos no puedan hacer una traducción perfecta, la respuesta tiene que ser No. Pero si modifica un poco la pregunta y pregunta si se puede crear un programa que sea tan bueno como un humano , entonces Creo que está dentro del ámbito de la posibilidad, pero probablemente no por unas pocas décadas más.