Compreensão de linguagem natural - Natural-language understanding

Compreensão de linguagem natural ( NLU ) ou interpretação de linguagem natural ( NLI ) é um subtópico de processamento de linguagem natural em inteligência artificial que lida com compreensão de leitura por máquina . A compreensão da linguagem natural é considerada um problema difícil de IA .

Há um interesse comercial considerável no campo por causa de sua aplicação ao raciocínio automatizado , tradução automática , resposta a perguntas , coleta de notícias, categorização de texto , ativação por voz , arquivamento e análise de conteúdo em grande escala .

História

O programa STUDENT , escrito em 1964 por Daniel Bobrow para sua dissertação de doutorado no MIT , é uma das primeiras tentativas conhecidas 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 Entrada de linguagem natural para um sistema de solução de problemas de computador ) mostrou como um computador poderia entender entrada de linguagem natural simples para resolver problemas de álgebra.

Um ano depois, em 1965, Joseph Weizenbaum do MIT escreveu ELIZA , um programa interativo que mantinha um diálogo em inglês sobre qualquer assunto, sendo o mais popular a psicoterapia. ELIZA trabalhou através da análise simples e substituição de palavras-chave em frases enlatadas e Weizenbaum evitou o problema de dar ao programa um banco de dados de conhecimento do mundo real ou um léxico rico . Ainda assim, ELIZA ganhou popularidade surpreendente como um projeto de brinquedo e pode ser visto como um precursor inicial dos sistemas comerciais atuais, como os usados ​​por Ask.com .

Em 1969, Roger Schank , da Universidade de Stanford, introduziu a teoria da dependência conceitual para o entendimento da linguagem natural. Este modelo, parcialmente influenciado pelo trabalho de Sydney Lamb , foi amplamente utilizado pelos 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 entrada de linguagem natural. Em vez de regras de estrutura de frase, os ATNs usaram um conjunto equivalente de autômatos de estado finito que foram chamados recursivamente. Os ATNs e seu formato mais geral, chamados de "ATNs generalizados", 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 mundo restrito de blocos infantis para direcionar um braço robótico para mover itens. A demonstração bem-sucedida de SHRDLU proporcionou um impulso significativo para a continuidade da pesquisa no 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 aconselharia mais tarde Larry Page , co-fundador do Google .

Nas décadas de 1970 e 1980, o grupo de processamento de linguagem natural da SRI International continuou a pesquisa e o desenvolvimento no campo. Vários esforços comerciais com base na pesquisa foram realizados, 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. Uma série de outros esforços comerciais foram iniciados 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 tinha semelhanças com o trabalho de Roger Schank e WG Lehnert.

O terceiro milênio viu a introdução de sistemas que usam aprendizado de máquina para classificação de texto, como o IBM Watson . No entanto, os especialistas debatem o quanto de "compreensão" tais sistemas demonstram: por exemplo , de acordo com John Searle , Watson nem mesmo entendeu as perguntas.

John Ball, cientista cognitivo e inventor da Teoria Patom , apóia esta avaliação. O processamento de linguagem natural fez incursões em aplicativos para apoiar a produtividade humana em serviços e comércio eletrônico, mas isso foi amplamente possível estreitando o escopo do aplicativo. Existem milhares de maneiras de solicitar algo em uma linguagem humana que ainda desafia o processamento de linguagem natural convencional. "Ter uma conversa significativa com as máquinas só é possível quando combinamos cada palavra com o significado correto com base nos significados das outras palavras na frase - assim como uma criança de 3 anos faz sem suposições."

Escopo e contexto

O termo genérico "compreensão de linguagem natural" pode ser aplicado a um conjunto diversificado de aplicativos de computador, desde tarefas pequenas e relativamente simples, como comandos curtos emitidos para robôs , até empreendimentos altamente complexos, como a compreensão total de artigos de jornal ou passagens de poesia . Muitos aplicativos do mundo real caem entre os dois extremos, por exemplo , a classificação de texto para a análise automática de e-mails e seu roteamento para um departamento adequado em uma empresa não requer um entendimento profundo do texto, mas precisa lidar com uma vocabulário mais amplo e sintaxe mais diversa do que o gerenciamento de consultas simples a tabelas de banco de dados com esquemas fixos.

Ao longo dos anos, várias tentativas de processar a linguagem natural ou frases semelhantes ao inglês apresentadas a computadores ocorreram em vários graus de complexidade. Algumas tentativas não resultaram em sistemas com conhecimento profundo, mas ajudaram na usabilidade geral do sistema. Por exemplo, Wayne Ratliff desenvolveu originalmente o programa Vulcan com uma sintaxe semelhante ao inglês para imitar o computador que fala inglês em Star Trek . Mais tarde, o Vulcan 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 uma sintaxe fácil de usar ou semelhante ao 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 frases em linguagem natural.

Conseqüentemente, a amplitude e a profundidade do "entendimento" almejado por um sistema determinam tanto a complexidade do sistema (e os desafios implícitos) quanto os tipos de aplicativos com os quais ele pode lidar. A "amplitude" de um sistema é medida pelos tamanhos de seu vocabulário e gramática. A "profundidade" é medida pelo grau em que sua compreensão se aproxima da de um falante nativo fluente. Nos mais estreitos e superficiais, os intérpretes de comando semelhantes ao inglês requerem complexidade mínima, mas têm uma pequena variedade de aplicações. 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 da simples correspondência de palavras-chave e julgar sua adequação para um usuário, são mais amplos e exigem complexidade significativa, mas ainda são um tanto superficiais. Sistemas que são muito amplos e 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 componentes comuns. O sistema precisa de um léxico da linguagem e um analisador e regras gramaticais para quebrar as sentenças em uma representação interna. A construção de um léxico rico com uma ontologia adequada requer um esforço significativo, por exemplo , o léxico Wordnet exigiu muitos anos de esforço por pessoa.

O sistema também precisa da teoria da semântica para guiar a compreensão. As capacidades de interpretação de um sistema de compreensão de linguagem dependem da teoria semântica que ele usa. As teorias semânticas concorrentes da linguagem têm compensações específicas em sua adequação como base da interpretação semântica automatizada por computador. Eles variam de semântica ingênua ou análise semântica estocástica ao uso de pragmática para derivar significado do contexto. Os analisadores semânticos convertem textos de linguagem natural em representações de significado formal.

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, sistemas baseados em linguagens funcionais como Lisp precisam incluir um subsistema para representar asserções lógicas, enquanto sistemas orientados a lógica, como aqueles que usam a linguagem Prolog, geralmente dependem de uma extensão da estrutura de representação lógica embutida.

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

Veja também

Notas