Compreensão da linguagem natural

O entendimento da linguagem natural ( inglês NLU ) ou interpretação em linguagem natural ( NLI ) é um subconjunto do  processamento da linguagem natural  na  inteligência artificial que lida com o entendimento da reprodução automática. Compreender a linguagem natural é considerado um problema difícil em IA.

O interesse comercial neste campo é considerável devido à sua aplicação em coleta de notícias, categorização de textos, ativação de voz, arquivamento e análise de conteúdo em larga escala.

Histórico

O programa STUDENT, escrito em 1964 por Daniel Bobrow para sua tese de doutorado no MIT , é uma das primeiras tentativas de compreensão da linguagem natural por um computador. Oito anos depois que John McCarthy cunhou o termo inteligência artificial , a dissertação de Bobrow (intitulada Natural Language Input for a Computer Problem Solving System) mostrou como um computador pode entender linguagem natural simples para resolver problemas algébricos de palavras.

Um ano depois, em 1965, Joseph Weizenbaum do MIT escreveu ELIZA , um programa interativo que apresentava diálogos em inglês sobre qualquer assunto, o mais popular dos quais era psicoterapia. ELIZA trabalhou pela análise simples e substituição de palavras-chave em frases em caixas e Weizenbaum evitou o problema de dar ao programa um banco de dados de conhecimento do mundo real ou um léxico rico. O ELIZA, no entanto, ganhou popularidade surpreendente e pode ser considerado um precursor inicial dos sistemas de negociação atuais, como os usados ​​pelo Ask.com.

Em 1969, Roger Schank, da Stanford University, introduziu a teoria da dependência conceitual  para a compreensão da linguagem natural. Esse modelo, em parte influenciado pelo trabalho de Syndney Lamb, foi usado extensivamente por alunos de Schank na Universidade de Yale , como Robert Wilensky, Wendy Lehnert e Janet Kolodner.

Em 1970, William A. Woods introduziu a Rede de Transição Aumentada (ATN) para representar a contribuição da linguagem natural. Em vez de regras de estrutura de sentenças, os ATNs usaram um conjunto equivalente de autômatos de estado finito chamados recursivamente. Os ATNs e seu formato mais geral, denominado "ATN generalizado", continuaram a ser usados ​​por vários anos.

Em 1971, Terry Winograd terminou de escrever SHRDLU para sua tese de doutorado no MIT. SHRDLU podia entender frases simples em inglês em um pequeno mundo de blocos infantis para direcionar um braço robótico para mover objetos. A demonstração bem-sucedida de SHRDLU forneceu um impulso importante para futuras pesquisas de campo. Winograd continuou a ser uma grande influência na área com a publicação de seu livro Language as a Cognitive Process. Em Stanford, Winograd seria mais tarde conselheiro de Larry Page, co-fundador do Google.

Nas décadas de 1970 e 1980, o grupo de processamento de linguagem natural da SRI International continuou suas atividades de pesquisa e desenvolvimento no campo. Uma série de esforços comerciais orientados para pesquisa foram empreendidos, por exemplo, em 1982 Gary Hendrix formou a Symantec Corporation originalmente como uma empresa para desenvolver uma interface de linguagem natural para consultas de banco de dados em computadores pessoais. No entanto, com o advento das interfaces gráficas do usuário acionadas pelo mouse, a Symantec mudou de direção. Vários outros esforços comerciais foram lançados na mesma época, por exemplo, Larry R. Harris na Artificial Intelligence Corporation e Roger Schank e seus alunos na Cognitive Systems corp. Em 1983, Michael Dyer desenvolveu o sistema BORIS em Yale, que era semelhante ao trabalho de Roger Schank e WG Lehnart.

O terceiro milênio viu a introdução de sistemas que usam aprendizado de máquina para a classificação de textos, como o Watson da IBM . No entanto, não se trata de compreender a linguagem natural. De acordo com John Searle, Watson nem mesmo recebeu as perguntas.

John Ball , cognitivo e inventor da Teoria Pathom apóia esta avaliação. O processamento de linguagem natural fez incursões em aplicativos para apoiar a produtividade humana em serviços e e-commerce, mas isso foi amplamente possibilitado pela redução do escopo do aplicativo. Existem milhares de maneiras de perguntar algo em linguagem humana que ainda desafia o natural convencional processamento de linguagem. "Ter uma conversa significativa com as máquinas só é possível se associarmos cada palavra ao significado correto de acordo com o significado das outras palavras da frase - assim como uma criança de 3 anos não faz suposições."

Escopo e contexto

O termo genérico "compreender a linguagem natural" pode ser aplicado a um conjunto diversificado de aplicativos de computador, desde tarefas pequenas e relativamente simples, como comandos curtos submetidos a robôs, até tarefas complexas, como compreender artigos de jornais ou ler livros. Muitos aplicativos do mundo real caem entre os dois extremos, por exemplo, classificar texto para análise automática de e-mails e encaminhá-los para um departamento apropriado em uma empresa não requer um conhecimento profundo do texto, mas deve lidar com um vocabulário. Muito mais amplo e uma sintaxe mais diversa do que lidar com consultas simples em um banco de dados com esquemas fixos.

Ao longo dos anos, várias tentativas de processar a linguagem natural ou frases em inglês apresentadas aos computadores ocorreram em vários graus de complexidade. Algumas tentativas não resultaram em sistemas com um conhecimento profundo, mas contribuíram para a usabilidade geral do sistema. Por exemplo, Wayne Ratliff desenvolveu originalmente o programa Vulcan com sintaxe no estilo inglês para imitar o computador que fala inglês em Star Trek . Vulcan mais tarde se tornou o sistema dBase , cuja sintaxe fácil de usar efetivamente lançou a indústria de banco de dados de computador pessoal. Os sistemas com sintaxe fácil de usar ou em inglês são, no entanto, bastante distintos dos sistemas que usam um léxico rico e incluem uma representação interna (frequentemente como lógica de primeira ordem ) da semântica das sentenças em linguagem natural.

Portanto, a amplitude e a profundidade do "entendimento" que um sistema busca determinam tanto a complexidade do sistema (e os desafios envolvidos) quanto os tipos de aplicativos que ele pode manipular. A "amplitude" de um sistema é medida pelo tamanho de seu vocabulário e gramática. "Profundidade" é medida pelo grau em que a compreensão de uma pessoa se aproxima da de um falante nativo fluente. No nível mais restrito e superficial, os intérpretes de comando no estilo inglês exigem complexidade mínima, mas têm um pequeno número de aplicativos. Sistemas estreitos, mas profundos, exploram e modelam mecanismos de compreensão, mas ainda têm aplicação limitada. Os sistemas que tentam entender o conteúdo de um documento, como um comunicado à imprensa, além de apenas combinar palavras-chave e julgar sua adequação para um usuário, são mais amplos e exigem uma complexidade considerável, mas ainda são superficiais. Tanto os sistemas muito amplos quanto os muito profundos estão além do estado da arte atual.

Componentes e arquitetura

Independentemente da abordagem usada, a maioria dos sistemas de compreensão de linguagem natural compartilham alguns elementos comuns. O sistema precisa de um léxico da língua, um analisador e regras gramaticais para dividir as sentenças em uma representação interna. Construir um léxico rico com uma ontologia apropriada requer um grande esforço, por exemplo, o léxico Wordnet exigiu muitos anos de esforço por pessoa.

O sistema também precisa de uma teoria semântica para orientar a compreensão. As capacidades de interpretação de um sistema de compreensão de linguagem dependem da teoria semântica que ele usa. Teorias semânticas concorrentes da linguagem têm compromissos específicos em sua relevância como base para a interpretação semântica computadorizada. Estes variam de semântica ingênua ou análise semântica estocástica ao uso de pragmática para derivar significado do contexto.

Aplicações avançadas de compreensão de linguagem natural também tentam incorporar inferência lógica em sua estrutura. Isso geralmente é obtido mapeando o significado derivado em um conjunto de afirmações na lógica de predicados e, em seguida, usando a dedução lógica para chegar a conclusões. Portanto, os sistemas baseados em linguagens funcionais como Lisp devem incluir um subsistema para representar asserções lógicas, enquanto os sistemas orientados à lógica, como aqueles que usam a linguagem Prolog , geralmente contam com uma extensão da estrutura de representação lógica embutida.

Gerenciar o contexto na compreensão da linguagem natural pode apresentar desafios especiais. Uma ampla variedade de exemplos e contra-exemplos resultou em várias abordagens para a modelagem de contexto formal, cada uma com pontos fortes e fracos específicos.

Veja também

Notas

  1. (em) Semaan, P. (2012). Geração de linguagem natural: uma visão geral. Journal of Computer Science & Research (JCSCR) -ISSN, 50-57
  2. Roman V. Yampolskiy. Teste de Turing como uma característica definidora da integridade do AI. In Artificial Intelligence, Evolutionary Computation and Metaheuristics (AIECM) - Nos passos de Alan Turing. Xin-She Yang (Ed.). p. 3-17. (Capítulo 1). Springer, Londres. 2013. http://cecs.louisville.edu/ry/TuringTestasaDefiningFeature04270003.pdf
  3. Breve História da IA ​​da Associação para o Avanço da Inteligência Artificial [1]
  4. Tese de doutorado de Daniel Bobrow  (in) - Introdução em linguagem natural para um sistema de solução de problemas de computador .
  5. Máquinas que pensam por Pamela McCorduck 2004 ( ISBN  1-56881-205-1 ) página 286
  6. Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach Prentice Hall, ( ISBN  0-13-790395-2 ) , http://aima.cs.berkeley.edu/ , p.  19
  7. Estilo do logotipo da ciência da computação: além da programação de Brian Harvey 1997 ( ISBN  0-262-58150-7 ) página 278
  8. Weizenbaum, Joseph (1976). Poder do computador e razão humana: do julgamento ao cálculo WH Freeman and Company. ( ISBN  0-7167-0463-3 ) páginas 188-189
  9. Roger Schank , 1969, Um analisador de dependência conceitual para a linguagem natural Proceedings of the 1969 conference on Computational linguistics, Sång-Säby, Suécia, páginas 1-3
  10. Larry R. Harris, Research at the Artificial Intelligence Corp. Boletim ACM SIGART, edição 79, janeiro de 1982 [2]
  11. dentro do raciocínio baseado em casos por Christopher K. Riesbeck, Roger C. Schank 1989 ( ISBN  0-89859-767-6 ) página xiii
  12. (em) John Searle, "  John Searle: Watson não sabe que ganhou é perigo!  " , The Wall Street Journal ,23 de fevereiro de 2011( leia online , consultado em 30 de junho de 2020 ).
  13. Uma abordagem para categorização hierárquica de e-mail por Peifeng Li et al. em Processamento de linguagem natural e sistemas de informação editado por Zoubida Kedad, Nadira Lammari 2007 ( ISBN  3-540-73350-7 )
  14. InfoWorld , 13 de novembro de 1989, página 144
  15. InfoWorld , 19 de abril de 1984, página 71
  16. Construindo modelos de trabalho de compreensão total da linguagem natural em domínios pragmáticos limitados por James Mason 2010 [3]
  17. Mining the Web: descobrindo conhecimento a partir de dados de hipertexto por Soumen Chakrabarti 2002 ( ISBN  1-55860-754-4 ) página 289
  18. GA Miller, R. Beckwith, CD Fellbaum, D. Gross, K. Miller. 1990. WordNet: Um banco de dados léxico online . Int. J. Lexicograph. 3, 4, pp. 235-244.
  19. Usando computadores em linguística: um guia prático de John Lawler, Helen Aristar Dry 198 ( ISBN  0-415-16792-2 ) página 209
  20. Semântica ingênua para compreensão de linguagem natural por Kathleen Dahlgren 1988 ( ISBN  0-89838-287-4 )
  21. Análise semântica com base estocástica por Wolfgang Minker, Alex Waibel , Joseph Mariani 1999 ( ISBN  0-7923-8571-3 )
  22. Pragmática e compreensão da linguagem natural por Georgia M. Green 1996 ( ISBN  0-8058-2166-X )
  23. Natural Language Processing Prolog Programmers por M. Covington, 1994 ( ISBN  0-13-629478-2 )
  24. Processamento de linguagem natural em Prolog de Gerald Gazdar, Christopher S. Mellish 1989 ( ISBN  0-201-18053-7 )
  25. Entendendo a compreensão da linguagem por Ashwin Ram, Kenneth Moorman 1999 ( ISBN  0-262-18192-4 ) página 111
  26. Aspectos formais do contexto por Pierre Bonzon et al 2000 ( ISBN  0-7923-6350-7 )
  27. Programar com linguagem natural está realmente funcionando , Wolfram Blog.
  28. (em) Robert D. Van Valin, Jr. , "  From NLP to NLU  " [PDF]
  29. John Ball , “  NLU multilíngue por Pat Inc  ” .