Nas linguagens de programação, há um conjunto de regras gramaticais que governam a construção de instruções e expressões válidas. Essas regras ajudam na análise dos programas escritos pelo usuário.
Pode haver um conjunto funcionalmente completo de regras gramaticais que possam analisar com precisão qualquer declaração em inglês (específico do código do idioma) e que possa ser implementado para uso em projetos baseados em IA?
Eu sei que existem muitos kits de ferramentas de PNL disponíveis on-line, mas eles não são tão eficazes. A maioria deles é treinada usando corpus específicos que às vezes não conseguem inferir algumas correlações complexas entre várias partes de uma expressão.
Em outras palavras, o que estou perguntando é que, se é possível que um computador analise uma frase bem versada, escrita em inglês, como se fosse analisada por um humano adulto que fala inglês?
EDIT: Se não puder ser representado usando regras gramaticais simples, que tipo de estrutura semântica pode ser usada para generalizá-lo?
EDIT2: Este artigo comprova a ausência de ausência de contexto nas linguagens naturais. Estou procurando uma solução, mesmo que seja muito complexa.
fonte
Respostas:
Analise sim, com precisão provavelmente não.
Por quê ?
De acordo com meu entendimento sobre como extraímos significado dos sons, existem duas estratégias complementares:
Regras gramaticais: um sistema baseado em regras para ordenar palavras para facilitar a comunicação, aqui o significado é derivado da interação de sons discretos e seu significado independente, para que você possa analisar uma frase com base em um livro de regras.
EG "Isso foi um triunfo" : o analisador extrairia um pronome ( This ) com significado correspondente (uma pessoa ou coisa específica); um verbo ( era ) com significado correspondente (ocorreu); ( a ) e aqui começamos com alguns problemas de análise, o que o analisador extrairia, um substantivo ou um artigo indefinido? Para consultar o livro de regras gramaticais, e se contentar com o significado (artigo indefinido), você precisa analisar a próxima palavra e se referir a ela, porém, mas vamos examinar isso por enquanto e finalmente ( triunfar ) um substantivo (também poderia ser um verbo, mas, graças ao livro de regras gramaticais, decidimos por um substantivo com significado: (vitória, conquista), então, no final, temos (juntando os significados):
Ocorreu algo específico da vitória. Perto o suficiente e estou encobrindo algumas outras regras, mas esse não é o ponto, a outra estratégia é:
Um dicionário léxico (ou léxico) Onde palavras ou sons estão associados a um significado específico. Aqui o significado é derivado de uma ou mais palavras ou sons como uma unidade. Isso apresenta o problema para um analisador, pois bem, ele não deve analisar nada.
EG "Non Plus Ultra" E assim o analisador de IA reconheceria que esta frase não deve ser analisada e, em vez disso, combinada com significado:
O ponto mais alto ou ponto culminante
As unidades lexicais introduzem outro problema, pois elas mesmas podem fazer parte do primeiro exemplo e, portanto, você acaba com recursão.
Acredito que seja possível, na maioria dos exemplos que vi lidar efetivamente com o livro de regras gramaticais ou a parte do léxico, mas não conheço uma combinação de ambos, mas em termos de programação, isso pode acontecer.
Infelizmente, mesmo se você resolver esse problema, sua IA realmente não entenderia as coisas no sentido estrito, mas apresentaria sinônimos muito elaborados, além disso, o contexto (como mencionado nos comentários) desempenha um papel nas estratégias de gramática e léxico.
Um método misto em que haja regras gramaticais e um léxico e ambos possam mudar e ser influenciado com base no contexto e na experiência específicos da IA, bem como em um sistema para lidar com esses objetos, pode ser uma maneira.
fonte
Tenho certeza de que a resposta é "não" no sentido mais estrito, pois o inglês simplesmente não tem uma definição formal. Ou seja, ninguém controla o inglês e publica uma gramática formal que todos devem aderir. O inglês é construído através de um processo experiencial e possui contradições e falhas, mas a natureza probabilística da mente humana nos permite contorná-las.
Por exemplo, que esta "frase":
Esta frase sem verbo
Tecnicamente, não é uma frase, pois não possui verbo. Mas alguém teve algum problema para entender o que isso significava? Duvidoso. Tente criar uma regra formal para isso. E esse é apenas um exemplo.
Agora, você poderia criar uma gramática formal que abranja, talvez, 90% dos casos e seja "boa o suficiente" para os usos mais práticos? Possivelmente, talvez até provavelmente. Mas tenho certeza de que não é possível chegar a 100%.
fonte
Concluímos que é um problema circular de duas facetas: a estrutura não pode ser inferida sem contexto, mas conhecer a estrutura também ajuda a inferir o contexto. Então, aqui está sua solução complexa: comece com o contexto, que é determinado pela combinação de palavras na frase (combinatória e problema de pesquisa), a partir daí determine sua estrutura ou "analise" (nesta etapa, você também pode filtrar alguns palavras insignificantes ou, pelo menos, atribuir pesos menores a elas), volte ao contexto, volte à análise e continue até chegar ao significado. Assim, por redução iterativa e recursiva, todo o problema pode ser resolvido.
fonte
Discordo totalmente de todos os comentários anteriores. Não porque eles estejam errados - o que não estão - mas porque são enganosos - embora não intencionalmente.
Por exemplo: Se considerarmos esses problemas de uma posição acadêmica, os problemas sempre parecerão insuperáveis. Isso ocorre porque tudo é avaliado friamente e calculado isoladamente para todo o resto.
A resposta está predominantemente na associação de palavras . Você precisa escrever um programa que possa processar um vasto banco de dados de livros digitais, para registrar todas as palavras e todas as palavras nesse idioma associadas a ele. Além de todas as informações estatísticas de cada palavra associada e sua pontuação associada.
Isso fornecerá a base na qual uma IA pode decidir várias coisas:
Portanto, em conclusão, você tem duas coisas a procurar: Associação e probabilidade.
Ao digitalizar o banco de dados de um modelo de idioma, ocorre a possibilidade de "sequências" de palavras e frases, de modo que toda variação da estrutura do idioma em uma determinada frase possa ser determinada antes, durante e depois de uma amostra de texto ser escrita. Esse controle íntimo dos padrões de modelo de linguagem significa que componentes sensíveis como "sujeito" e "objeto" podem ser determinados facilmente pelo código.
fonte