O que é processamento de linguagem natural?

O que é processamento de linguagem natural?

Processamento de linguagem natural, ou PNL para breve, é amplamente definido como a manipulação automática da linguagem natural, como fala e texto, por software.

O estudo do processamento de linguagem natural existe há mais de 50 anos e cresceu fora do campo da linguística com o surgimento dos computadores.

Neste post, você descobrirá o que é o processamento de linguagem natural e por que ele é tão importante.

Depois de ler esta postagem, você saberá:

  • O que é a linguagem natural e como ela é diferente de outros tipos de dados.
  • O que torna o trabalho com linguagem natural tão desafiador.
  • De onde veio o campo da PNL e como é definido pelos praticantes modernos.

Comece seu projeto com meu novo livro Deep Learning for Natural Language Processing, incluindo tutoriais passo a passo e a Código-fonte Python arquivos para todos os exemplos.

Vamos começar.

O que é processamento de linguagem natural?

O que é processamento de linguagem natural?
Foto de pedrik, alguns direitos reservados.

Linguagem natural

A linguagem natural se refere à maneira como nós, humanos, nos comunicamos uns com os outros.

Ou seja, fala e texto.

Estamos cercados por texto.

Pense na quantidade de texto que você vê por dia:

  • Sinais
  • Menus
  • O email
  • SMS
  • Paginas web
  • e muito mais…

A lista não tem fim.

Agora pense na fala.

Podemos falar uns com os outros, como espécie, mais do que escrevemos. Pode até ser mais fácil aprender a falar do que escrever.

Voz e texto são como nos comunicamos.

Dada a importância desse tipo de dado, devemos ter métodos para entender e raciocinar sobre a linguagem natural, assim como fazemos com outros tipos de dados.

Precisa de ajuda com Deep Learning for Text Data?

Faça meu curso intensivo de e-mail gratuito de 7 dias agora (com código).

Clique para se inscrever e também obter uma versão gratuita do Ebook em PDF do curso.

Comece Seu Crash-Course GRÁTIS Agora

Desafio da linguagem natural

Trabalhar com dados de linguagem natural não está resolvido.

Foi estudado por meio século e é muito difícil.

É difícil do ponto de vista da criança, que deve passar muitos anos aprendendo uma língua ... é difícil para o adulto aprendiz, é difícil para o cientista que tenta modelar os fenômenos relevantes, e é difícil para o engenheiro que tenta construir sistemas que lidam com entrada ou saída de linguagem natural. Essas tarefas são tão difíceis que Turing poderia, com razão, tornar uma conversa fluente em linguagem natural a peça central de seu teste de inteligência.

- Página 248, Mathematical Linguistics, 2010.

A linguagem natural é principalmente difícil porque é confusa. Existem algumas regras.

Mesmo assim, podemos nos entender facilmente na maior parte do tempo.

A linguagem humana é altamente ambígua ... Ela também está sempre mudando e evoluindo. As pessoas são ótimas em produzir e compreender a linguagem e são capazes de expressar, perceber e interpretar significados muito elaborados e matizados. Ao mesmo tempo, embora nós, humanos, sejamos grandes usuários da linguagem, também somos muito pobres em compreender e descrever formalmente as regras que governam a linguagem.

- Página 1, Métodos de redes neurais no processamento de linguagem natural, 2017.

Da Lingüística ao Processamento de Linguagem Natural

Linguística

Lingüística é o estudo científico da linguagem, incluindo sua gramática, semântica e fonética.

A linguística clássica envolveu conceber e avaliar regras de linguagem. Grande progresso foi feito em métodos formais de sintaxe e semântica, mas na maior parte, os problemas interessantes na compreensão da linguagem natural resistem a formalismos matemáticos limpos.

Em termos gerais, um linguista é qualquer pessoa que estuda a linguagem, mas talvez de forma mais coloquial, um linguista autodefinido pode estar mais focado em estar no campo.

A matemática é a ferramenta da ciência. Os matemáticos que trabalham com a linguagem natural podem se referir a seus estudos como linguística matemática, focalizando exclusivamente o uso de formalismos matemáticos discretos e teoria para a linguagem natural (por exemplo, linguagens formais e teoria dos autômatos).

Lingüística Computacional

Linguística computacional é o estudo moderno da linguística usando as ferramentas da ciência da computação. A lingüística de ontem pode ser a lingüista computacional de hoje, visto que o uso de ferramentas e pensamento computacionais ultrapassou a maioria dos campos de estudo.

Linguística computacional é o estudo de sistemas computacionais para a compreensão e geração de linguagem natural. … Uma função natural para a linguística computacional seria o teste de gramáticas propostas por linguistas teóricos.

- Páginas 4-5, Linguística Computacional: Uma Introdução, 1986.

Dados grandes e computadores rápidos significam que coisas novas e diferentes podem ser descobertas em grandes conjuntos de dados de texto escrevendo e executando software.

Na década de 1990, os métodos estatísticos e o aprendizado de máquina estatístico começaram a substituir as abordagens clássicas de linguagem baseadas em regras de cima para baixo, principalmente por causa de seus melhores resultados, velocidade e robustez. A abordagem estatística para estudar a linguagem natural agora domina o campo; pode definir o campo.

Os métodos Data-Drive para processamento de linguagem natural agora se tornaram tão populares que devem ser considerados abordagens convencionais para a linguística computacional. … Um forte fator que contribui para esse desenvolvimento é, sem dúvida, o aumento da quantidade de dados armazenados eletronicamente disponíveis aos quais esses métodos podem ser aplicados; outro fator pode ser um certo desencanto com abordagens baseadas exclusivamente em regras artesanais, devido à sua fragilidade observada.

- Página 358, The Oxford Handbook of Computational Linguistics, 2005.

A abordagem estatística da linguagem natural não se limita às estatísticas em si, mas também aos métodos de inferência avançados, como os usados ​​no aprendizado de máquina aplicado.

… Compreender a linguagem natural requer grande quantidade de conhecimento sobre morfologia, sintaxe, semântica e pragmática, bem como conhecimento geral sobre o mundo. Adquirir e codificar todo esse conhecimento é um dos impedimentos fundamentais para o desenvolvimento de sistemas de linguagem eficazes e robustos. Assim como os métodos estatísticos… os métodos de aprendizado de máquina saem da promessa de aquisição automática desse conhecimento a partir de corpora de linguagem anotada ou não anotada.

- Página 377, The Oxford Handbook of Computational Linguistics, 2005.

Processamento Estatístico de Linguagem Natural

A linguística computacional também se tornou conhecida pelo nome de processo de linguagem natural, ou PNL, para refletir a abordagem mais baseada em engenharia ou empírica dos métodos estatísticos.

O domínio estatístico do campo também freqüentemente leva a PNL a ser descrita como Processamento Estatístico de Linguagem Natural, talvez para distanciá-la dos métodos clássicos de linguística computacional.

Eu vejo a linguística computacional como tendo um lado científico e outro de engenharia. O lado da engenharia da linguística computacional, muitas vezes chamado de processamento de linguagem natural (PNL), está amplamente preocupado com a construção de ferramentas computacionais que fazem coisas úteis com a linguagem, por exemplo, tradução automática, resumo, resposta a perguntas, etc. Como qualquer disciplina de engenharia, linguagem natural o processamento baseia-se em uma variedade de diferentes disciplinas científicas.

- Como a revolução estatística muda a linguística (computacional), 2009.

A lingüística é um grande tópico de estudo e, embora a abordagem estatística da PNL tenha mostrado grande sucesso em algumas áreas, ainda há espaço e grande benefício dos métodos clássicos de cima para baixo.

Grosso modo, a PNL estatística associa as probabilidades às alternativas encontradas durante a análise de um enunciado ou texto e aceita o resultado mais provável como o correto. … Não é de surpreender que palavras que nomeiam fenômenos intimamente relacionados no mundo, ou nossa percepção deles, frequentemente ocorrem próximas umas das outras, de modo que fatos nítidos sobre o mundo se refletem em fatos um tanto confusos sobre os textos. Há muito espaço para debate nesta visão.

- Página xix, The Oxford Handbook of Computational Linguistics, 2005.

Processamento de linguagem natural

Como profissionais de aprendizado de máquina interessados ​​em trabalhar com dados de texto, estamos preocupados com as ferramentas e métodos da área de Processamento de Linguagem Natural.

Vimos o caminho da linguística para a PNL na seção anterior. Agora, vamos dar uma olhada em como os pesquisadores e profissionais modernos definem o que é PNL.

Em talvez um dos livros mais amplamente escritos por pesquisadores de ponta na área, eles se referem ao assunto como “ciência linguística, ”Permitindo a discussão tanto da lingüística clássica quanto dos métodos estatísticos modernos.

O objetivo de uma ciência linguística é ser capaz de caracterizar e explicar a multiplicidade de observações linguísticas que circulam ao nosso redor, em conversas, na escrita e em outras mídias. Parte disso tem a ver com o tamanho cognitivo de como os humanos adquirem, produzem e entendem a linguagem, parte tem a ver com a compreensão da relação entre enunciados linguísticos e o mundo, e parte tem a ver com entender as estruturas linguísticas por qual linguagem se comunica.

- Página 3, Fundamentos do Processamento Estatístico de Linguagem Natural, 1999.

Eles passam a se concentrar na inferência por meio do uso de métodos estatísticos no processamento de linguagem natural.

A PNL estatística visa fazer inferência estatística para o campo da linguagem natural. A inferência estatística em geral consiste em pegar alguns dados (gerados de acordo com alguma distribuição de probabilidade desconhecida) e então fazer algumas inferências sobre essa distribuição.

- Página 191, Foundations of Statistical Natural Language Processing, 1999.

Em seu texto sobre processamento de linguagem natural aplicada, os autores e colaboradores da popular biblioteca NLTK Python para PNL descrevem o campo amplamente como o uso de computadores para trabalhar com dados de linguagem natural.

Tomaremos Processamento de Linguagem Natural - ou PNL para abreviar - em um sentido amplo para cobrir qualquer tipo de manipulação de linguagem natural por computador. Em um extremo, pode ser tão simples quanto contar a frequência das palavras para comparar diferentes estilos de escrita. No outro extremo, a PNL envolve “compreender” expressões humanas completas, pelo menos a ponto de ser capaz de dar respostas úteis a elas.

- Página ix, Processamento de linguagem natural com Python, 2009.

A PNL estatística virou outra esquina e agora está fortemente focada no uso de redes neurais de aprendizado profundo para realizar inferência em tarefas específicas e para desenvolver sistemas completos robustos.

Em um dos primeiros livros dedicados a este tópico emergente, Yoav Goldberg define sucintamente a PNL como métodos automáticos que usam a linguagem natural como entrada ou produzem a linguagem natural como saída.

Processamento de linguagem natural (PNL) é um termo coletivo que se refere ao processamento computacional automático de linguagens humanas. Isso inclui algoritmos que usam texto produzido por humanos como entrada e algoritmos que produzem texto de aparência natural como saídas.

- Página xvii, Métodos de redes neurais no processamento de linguagem natural, 2017.

Aprendizado profundo para processamento de linguagem natural

As técnicas de aprendizado profundo são muito promissoras para desafiar problemas de processamento de linguagem natural. Saiba mais aqui:

Para uma visão geral de como as redes neurais de aprendizado profundo podem ser aproveitadas para linguagem natural, consulte a postagem:

Leitura Adicional

Esta seção fornece mais recursos sobre o tópico se você estiver procurando ir mais fundo.

Livros

Wikipedia

Resumo

Nesta postagem, você descobriu o que é o processamento de linguagem natural por que ele é tão importante.

Especificamente, você aprendeu:

  • O que é a linguagem natural e como ela é diferente de outros tipos de dados.
  • O que torna o trabalho com linguagem natural tão ...

Você também pode estar interessado em