Processamento de linguagem natural é um ramo da ciência da computação e inteligência artificial, que trata da comunicação com máquinas usando linguagem natural falada. É o assunto deste post.
Abordagens
O processamento de linguagem natural tem 3 tipos de abordagens: simbólica, estatística e conexionista. Na simbólica, usa-se as regras e léxicos estabelecidos da língua para fazer a análise. A estatística usa exemplos de fenômenos linguísticos e modelos baseados em estatística, implementando técnicas matemáticas para analisar textos. A conexionista utiliza ambas, sabe as regras da língua e usa inferência estatística.
Etapas do processamento
As etapas do processamento de linguagem natural (PLN) são nesta ordem:
- Fonologia: Esta etapa só entra se o computador precisar ouvir a pessoa, identifica as palavras a partir do som;
- Análise morfológica: Identifica e analisa a estrutura das palavras. É impraticável ter um dicionário com todas as palavras, portanto, são implementadas regras para palavras regulares e adiciona-se algumas palavras irregulares dentro de domínios;
- Análise léxica: Determina o significado das palavras individuais.
- Análise sintática: Reconhece e analisa frases e as regras da gramática. Uma árvore sintática é usada para fazer o reconhecimento de cima para baixo (top-down).
Outra forma de reconhecimento é a de baixo para cima (bottom-up).
- O gato caçou o rato.
- Artigo gato caçou o rato.
- Artigo Substantivo caçou o rato.
- Artigo Substantivo Verbo o rato.
- Artigo Substantivo Verbo Artigo rato.
- Artigo Substantivo Verbo Artigo Substantivo.
- Frase.
- Análise semântica: Verifica o significado das frases mapeando a estrutura sintática, precisa ter informações sobre o mundo real para eliminar ambiguidade e sentenças sem lógica, como “sorvete quente”.
- Análise do discurso: Observa como as sentenças se relacionam em um texto.
- Análise pragmática: Verifica se a interpretação semântica está correta e determina significados não claros.
Chatbots e outras aplicações
A aplicação mais notável do PLN são os chatbots, os programas que conversam como gente.
Tradutores online também usam PLN.
Algumas outras aplicações:
- Recrutamento de recursos humanos;
- Ferramentas de busca como o Google e o Qwant;
- Filtrar spams;
- Corretores de texto;
- Geração de relatórios.