[PLN#1] Entendendo o Processamento de Linguagem Natural (PLN)


Contextualizando ...

A descoberta de conhecimento e Mineração de Dados (Knowledge Discovery and Data Mining) é uma área interdisciplinar focada em metodologias para extrair conhecimentos úteis a partir de dados. O rápido crescimento contínuo de dados on-line devido à Internet e ao uso generalizado de bancos de dados criaram uma imensa necessidade de metodologias KDD. O desafio de extrair conhecimento de dados consiste na alta variação da forma que as informações estão dispostas na Web. Para tentar compreender estas informações o KDD utiliza de pesquisas em estatísticas, bancos de dados, reconhecimento de padrões, aprendizado de máquinas, visualização de dados, otimização e computação de alto desempenho, para fornecer soluções inteligentes para mineração de dados importantes e aplica-los em diversas áreas, por exemplo a área de business intelligence.

A descoberta do conhecimento e sua gestão é de vital importância para evitar a criação de um "Cemitério de Dados". Este fenômeno ocorre com empresas que armazenam grandes massas de dados de clientes, vendas, transações, entre outras. No entanto, não utilizam estes dados como base para extração de padrões e identificação de novas informações. 

História

A história do PLN começou na década de 1950, quando Alan Turing publicou o artigo "Computing Machinery and Intelligence", que propunha o que agora é chamado de teste de Turing como critério de inteligência.
Em 1954, a experiência de Georgetown envolveu a tradução automática de mais de sessenta frases russas para o inglês. Os autores alegaram que dentro de três ou cinco anos a tradução automática se trataria de um problema resolvido. No entanto, os avanços reais foram muito mais lentos do que o previsto e, após o relatório ALPAC em 1966, que constatou que a pesquisa de dez anos não conseguiu satisfazer as expectativas, o financiamento para este estudo em tradução automática foi reduzido drasticamente. Poucas pesquisas em tradução automática foram conduzidas até o final dos anos 80, quando os primeiros sistemas estatísticos de tradução foram desenvolvidos.
Alguns sistemas de PLN bem sucedidos desenvolvidos nos anos 60 foram SHRDLU, um sistema de linguagem natural que trabalhava em "blocks worlds" com vocabulário restrito e ELIZA, uma simulação de um psicoterapeuta escrita por Joseph Weizenbaum entre 1964 e 1966. Usando pouca informação sobre o pensamento ou a emoção humana, ELIZA criava, em alguns casos, interações surpreendentemente humanas. Quando o "paciente" excedia a base de conhecimento do programa, ELIZA fornecia uma resposta genérica, por exemplo, respondendo a "Minha cabeça dói" com "Por que você diz que sua cabeça dói?".
Durante a década de 1970, muitos programadores começaram a escrever "ontologias conceituais", que estruturaram a informação do mundo real em dados compreensíveis por computadores. Exemplos são MARGIE (SCHANK, 1975), SAM (CULLINGFORD, 1978), PAM (WILENSKY, 1978), TaleSpin (MEEHAN, 1976), QUALM (LEHNERT, 1977), Politics (CARBONELL, 1979) e Plot Units (LEHNERT, 1981). Neste período, muitos chatterbots foram escritos, como PARRY, Racter e Jabberwacky.
Até a década de 1980, a maioria dos sistemas de PLN se baseava em conjuntos complexos de regras manuscritas. A partir do final dos anos 1980, no entanto, houve uma revolução no PLN com a introdução de algoritmos de aprendizagem automática (aprendizado de máquina) para o processamento de linguagem. Isto foi devido tanto ao aumento constante do poder computacional (Lei de Moore) quanto à diminuição gradual da dominância das teorias da linguística chomskyanas (como a gramática gerativa), cujos fundamentos teóricos desestimularam o tipo de corpus linguístico que está subjacente à abordagem da aprendizagem automática ao processamento da linguagem.
Alguns dos algoritmos de aprendizado de máquinas mais antigos, como as árvores de decisão, produziam sistemas de regras rígidas então semelhantes às regras existentes na escritas à mão. No entanto, a marcação de partes da fala (part-of-speech tagging) introduziu o uso de modelos ocultos de Markov para o PLN e, cada vez mais, a pesquisa se concentrava em modelos estatísticos, que tomam decisões suaves e probabilísticas baseadas na atribuição de pesos reais aos recursos que compõem dados de entrada. Os modelos de linguagem de cache, sobre os quais muitos sistemas de reconhecimento de fala agora dependem, são exemplos de tais modelos estatísticos. Esses modelos são geralmente mais robustos quando dados informações desconhecidas, especialmente entrada que contém erros (como é muito comum para dados do mundo real) e produzem resultados mais confiáveis quando integrados em sistemas maiores que compreendem múltiplas tarefas.
Muitos dos sucessos iniciais notáveis ocorreram no campo da tradução automática, devido especialmente ao trabalho de pesquisa da IBM, que desenvolveu modelos estatísticos mais elaborados. Estes sistemas foram capazes de tirar proveito de corpora textuais multilíngues existentes produzidos pelo Parlamento do Canadá e a União Europeia como resultado de leis que exigem a tradução de todos os processos governamentais em todas as línguas oficiais dos países. No entanto, a maioria dos sistemas dependia de corpora desenvolvido especificamente para tarefas implementadas por esses sistemas, o que era (e muitas vezes continua sendo) uma grande limitação no sucesso dos mesmo. Como resultado, uma grande quantidade de pesquisa passou de quantidades de dados limitadas a métodos de aprendizagem mais eficazes.
Pesquisas recentes têm se concentrado cada vez mais em algoritmos de aprendizagem semi-supervisionados e sem supervisão. Esses algoritmos são capazes de aprender com dados que não foram anotados manualmente com as respostas desejadas ou usando uma combinação de dados anotados e não anotados. Geralmente, esta tarefa é muito mais trabalhosa do que a aprendizagem supervisionada e normalmente produz resultados menos precisos para uma quantidade específica de dados de entrada. No entanto, há uma enorme quantidade de dados não anotados disponíveis (incluindo, entre outras coisas, todo o conteúdo da World Wide Web), que muitas vezes pode compensar os resultados inferiores.

Processamento de Linguagem Natural (PLN)

Outro problema que merece destaque é que boa parte do conhecimento na Web atualmente é expresso por linguagem natural. Com o crescimento exponencial de conteúdo despejado na rede diariamente, torna-se necessário que sejam desenvolvidas técnicas estatísticas e linguísticas capazes de extrair padrões de textos escrito em linguagem natural. O processamento da linguagem natural (PNL) é um campo de ciência da computação, inteligência artificial e linguística computacional, relacionado com as interações entre computadores e linguagens humanas (naturais) com o objetivo de processar grandes corpus de linguagem natural. Os maiores desafios PLN envolvem compreensão e geração de linguagem natural (freqüentemente de formas lógicas formais, legíveis por máquina), conexão da linguagem e percepção de máquina, gerenciando sistemas de diálogo humano-computador, ou alguma combinação deles.

Existem duas possíveis abordagens para a realização da PLN. São elas os algoritmos linguísticos e os estatísticos. 

Algoritmos linguísticos

Estes algoritmos têm como principal característica exploração das regras linguísticas do idioma para extração de possíveis padrões. Um dos algoritmos mais importantes e utilizados é a classificação dos termos de uma sentença de acordo com sua função na sentença, esta técnica é denominada Part-of-Speech Tagging (POS tagging). Ainda é possível combinar diversas técnicas linguísticas para extrair relações de um texto. Por exemplo, é bastante comum a identificação de relações por meio do POS tagging localizando sentenças estruturadas por Sujeito, Verbo e Predicado.


Algoritmos estatísticos

Os algoritmos estatísticos consideram a frequência das palavras e a sua posição no texto como informações básicas que podem mostrar possíveis relações. Um dos algoritmos mais simples utilizados neste campo é o de Term Frequency. Este algoritmo consiste na contagem e processamento da frequência dos termos em uma sentença. A premissa básica para sua utilização é que se um termo aparece diversas vezes em um texto é muito provável que este termo represente bem o conteúdo do texto. 



Continua ... [MD#6]





[PLN#1] Entendendo o Processamento de Linguagem Natural (PLN) [PLN#1] Entendendo o Processamento de Linguagem Natural (PLN) Reviewed by Vinicius dos Santos on 18:33:00 Rating: 5

Nenhum comentário

Escreve ai sua opinião!