En los lenguajes de programación, hay un conjunto de reglas gramaticales que rigen la construcción de declaraciones y expresiones válidas. Estas reglas ayudan a analizar los programas escritos por el usuario.
¿Puede existir alguna vez un conjunto funcionalmente completo de reglas gramaticales que pueda analizar con precisión cualquier enunciado en inglés (específico de la localidad) y que posiblemente pueda implementarse para su uso en proyectos basados en IA?
Sé que hay muchos kits de herramientas de PNL disponibles en línea, pero no son tan efectivos. La mayoría de ellos están entrenados con corpus específicos que a veces no pueden inferir algunas correlaciones complejas entre varias partes de una expresión.
En otras palabras, lo que estoy preguntando es que si es posible que una computadora analice una oración bien escrita escrita en inglés como si hubiera sido analizada por un humano adulto de habla inglesa.
EDITAR: Si no se puede representar usando reglas gramaticales simples, ¿qué tipo de estructura semántica se puede usar para generalizarlo?
EDIT2: Este documento demuestra la ausencia de libertad de contexto en los lenguajes naturales. Estoy buscando una solución, incluso si es demasiado compleja.
fuente
Respuestas:
Analízalo sí, exactamente lo más probable es que no.
Por qué ?
Según mi comprensión sobre cómo derivamos el significado de los sonidos, hay 2 estrategias complementarias:
Reglas de gramática: un sistema basado en reglas para ordenar palabras para facilitar la comunicación, aquí el significado se deriva de la interacción de sonidos discretos y su significado independiente, por lo que podría analizar una oración basada en un libro de reglas.
EG "Esto fue un triunfo" : el analizador extraería un pronombre ( This ) con el significado correspondiente (una persona o cosa específica); un verbo ( was ) con el significado correspondiente (ocurrió); ( a ) y aquí comenzamos con algunos problemas de análisis, ¿qué extraería el analizador, un sustantivo o un artículo indefinido? Por lo tanto, consultamos el libro de reglas de gramática y nos conformamos con el significado (artículo indefinido), debe analizar la siguiente palabra y referirse a ella, pero vamos a pasar por alto eso por ahora y finalmente ( triunfar ) un sustantivo (también podría ser un verbo, pero gracias al libro de reglas gramaticales nos conformamos con un sustantivo con significado: (victoria, conquista), así que al final tenemos (uniendo los significados):
Algo específico ocurrió con la victoria. Lo suficientemente cerca y estoy pasando por alto algunas otras reglas, pero ese no es el punto, la otra estrategia es:
Un diccionario léxico (o léxico) donde las palabras o los sonidos están asociados con un significado específico. Aquí el significado se deriva de una o más palabras o sonidos como una unidad. Esto introduce el problema a un analizador sintáctico, ya que bueno, no debería analizar nada.
Por ejemplo, "Non Plus Ultra", por lo que el analizador AI reconocería que esta frase no debe analizarse y, en cambio, debe coincidir con el significado:
El punto más alto o culminación
Las unidades léxicas presentan otro problema, ya que ellas mismas podrían ser parte del primer ejemplo, por lo que terminas con una recursión.
Creo que podría ser posible, la mayoría de los ejemplos que he visto tratan de manera efectiva con el libro de reglas gramaticales o la parte del léxico, pero no conozco una combinación de ambos, pero en términos de programación, podría suceder.
Desafortunadamente, incluso si resuelve este problema, su IA realmente no entendería las cosas en sentido estricto, sino que le presentaría sinónimos muy elaborados, además el contexto (como se menciona en los comentarios) juega un papel en las estrategias de gramática y léxico.
Uno mixto en el que hay reglas gramaticales y un léxico y ambos pueden cambiar y ser influenciados según el contexto y la experiencia específicos de AI, así como un sistema para tratar con estos objetos podría ser de una manera.
fuente
Estoy bastante seguro de que la respuesta es "no" en el sentido más estricto, ya que el inglés simplemente no tiene una definición formal. Es decir, nadie controla el inglés y publica una gramática formal que todos deben cumplir. El inglés se construye a través de un proceso experiencial y tiene contradicciones y defectos, pero la naturaleza probabilística de la mente humana nos permite trabajar en torno a ellos.
Por ejemplo, que esta "oración":
Esta oración sin verbo
Técnicamente no es una oración en absoluto, ya que no tiene un verbo. ¿Pero alguien tuvo algún problema para entender lo que significaba? Dudoso. Sin embargo, intenta crear una regla formal para eso. Y ese es solo un ejemplo.
Ahora, ¿podría llegar a una gramática formal que cubra, tal vez, el 90% de los casos y que sea "lo suficientemente buena" para la mayoría de los usos prácticos? Posiblemente, tal vez incluso probablemente. Pero estoy bastante seguro de que no es posible llegar al 100%.
fuente
Hemos concluido que es un problema circular de dos facetas: la estructura no se puede inferir sin contexto, pero conocer la estructura también ayuda a inferir el contexto. Entonces, aquí está su solución compleja: comience con el contexto, que está determinado por la combinación de palabras en la oración (combinatoria y problema de búsqueda), a partir de ahí determine su estructura o "análisis" (en este paso también puede filtrar algunos palabras insignificantes o al menos asignarles pesos menores), volver al contexto, volver a analizar y continuar hasta llegar al significado. Así, por reducción iterativa y recursiva, todo el problema puede resolverse.
fuente
Estoy totalmente en desacuerdo con todos los comentarios anteriores. No porque estén equivocados, lo que no lo son, sino porque son engañosos, aunque involuntariamente.
Por ejemplo: si uno mira estos problemas desde una posición académica, los problemas siempre parecerán insuperables. Esto se debe a que todo se evalúa fríamente y se calcula de forma aislada a todo lo demás.
La respuesta se encuentra predominantemente en la asociación de palabras . Debe escribir un programa que pueda procesar una vasta base de datos de libros digitales, para registrar cada palabra y todas las palabras en ese idioma que están asociadas con ella. Además de toda la información estadística con cada palabra asociada y su puntuación asociada.
Esto le dará la base sobre la cual una IA puede decidir varias cosas:
Entonces, en conclusión, tienes dos cosas que debes buscar: asociación y probabilidad.
Al basar digitalmente los datos en un modelo de lenguaje, se produce la posibilidad de "cadenas" de palabras y oraciones, de modo que cada variación de la estructura del lenguaje en cualquier oración determinada se pueda determinar antes, durante y después de que se escriba una muestra de texto. Este control íntimo sobre los patrones del modelo de lenguaje significa que los componentes sensibles como "sujeto" y "objeto" pueden determinarse fácilmente por código.
fuente