O que é PLN, como e onde se aplica, e o que estudar para trabalhar com isso

O Processamento de Linguagem Natural (ou PLN para as pessoas mais íntimas) é uma subárea da Ciência da Computação que abrange outras áreas do conhecimento, como a linguística — área de formação desta que vos fala — a fim de resolver problemas computacionais que envolvem a linguagem humana, seja na compreensão ou na geração de linguagem natural.

Soa como uma área do conhecimento nova ou experimental, mas desde a década de 1950, com Alan Turing, existe uma abrangência de estudos e avanços  que proporcionaram produtos que hoje estão no nosso cotidiano.

Você, por exemplo, deve estar lendo este texto em um computador que tem um assistente virtual, ou já tentou encontrar um produto ou uma informação em um site por meio de um buscador, aplicações que utilizam o PLN.

Basicamente, o PLN permite que a máquina possa “compreender” a fala ou a escrita humana, um objeto complexo de entender, devido às ambiguidades, gírias, ironias e outras características que tornam nossa linguagem difícil de ser interpretada. Com tecnologias como reconhecimento de entidade nomeada, sumarização de texto, análise de sentimento, entre outras técnicas, as máquinas são capazes de inferir a intenção da pessoa usuária e tomar decisão de acordo com as informações recebidas, como a nova ferramenta do Google, o chatbot Meena, lançado em janeiro de 2020, que tem um modelo de conversação neural treinado de ponta a ponta de 2,6 bilhões de parâmetros e promete conduzir conversas mais coerentes e específicas do que o estado da arte dos chatbots até então.

A partir dessa habilidade de entender, interpretar e manipular a linguagem humana, existem diferentes tarefas que podem ser executadas com PLN:

  • Categorização de conteúdo. Um resumo do documento baseado em linguística, que inclui pesquisa e indexação, alertas de conteúdo e detecção de duplicações;
  • Descoberta e modelagem de tópicos. Captura com precisão o significado e os temas em coleções de texto, e aplica advanced analytics como otimização e forecasting;
  • Extração contextual. Extrai automaticamente informações estruturadas de fontes textuais;
  • Análise de sentimento. Identifica o estado de espírito ou opiniões subjetivas em grandes quantidades de texto, incluindo o sentimento médio e a mineração de opinião;
  • Conversão fala-texto e texto-fala. Transforma comandos de voz em texto escrito e vice-versa;
  • Sumarização. Gera sinopses de grandes corpos de texto automaticamente;
  • Tradução de máquina. Traduz texto ou fala de um idioma para outro, automaticamente.
  • Fonte: Processamento de Linguagem Natural – O que é e qual sua importância?

Por exemplo, Chatbots usam classificação para entender a que intenção uma resposta se refere (positiva, negativa etc), também usa extração pra capturar palavras-chaves como endereços ou números de telefone e pode usar a análise de sentimentos para regular o tipo de abordagem que dará para cada pessoa. 

Diferentes indústrias têm aplicado PLN para resolver problemas: Assistentes virtuais (Siri, Alexa), Sistemas de atendimento a pessoas usuárias em empresas de serviços diversos (chatbots em sites, automações no atendimento por telefone – URAs), Direito (revisão de documentos), Marketing, Medicina (extrair informações de registros eletrônicos de saúde, como laudos e relatórios), comunicação (identificar notícias falsas), entre muitas outras! Veja mais no artigo Seu Guia para Processamento de Linguagem Natural (NLP).

Por estar em tantas aplicações e conectar diferentes ciências, o perfil  profissional é difícil de definir, muito diverso. Se no mundo da Inteligência Artificial a álgebra linear é uma base importante, aqui nós também a temos, assim como os estudos linguísticos e estatísticos para guiar as pesquisas e o desenvolvimento de sistemas. Então, eu preciso ser um unicórnio para trabalhar com PLN?

Não! Geralmente os times são multidisciplinares, isto é, composto por pessoas estatísticas, linguistas, programadoras, engenheiras, psicólogas, físicas e um infinito de possibilidades de profissionais competentes em áreas diferentes que têm interesse e entendimento sobre o universo do PLN. Por isso, uma das características não-técnicas mais essenciais é ser entusiasta por problemas (que em sua maioria irão te tirar da sua zona de conforto). Isso implica também que as pessoas com uma boa percepção analítica conseguem contribuir para n tipos de soluções computacionais, independente da sua área de formação.

Das habilidades técnicas, existe um “feijão com arroz”:  as linguagens Python ou Java devido às inúmeras bibliotecas, como NLTK, CoreNLP, spacy e outros tópicos como linguística de corpus e machine learning que podem te ajudar a se encontrar no meio do caminho nesse universo novo. 

Chatbot é a onda do momento

A função dessa ferramenta é simular uma conversa com um humano,  como em um serviço de autoatendimento ou disparo massivo de textos. A construção de ferramentas conversacionais podem ter um design conversacional sofisticado no qual a função do bot é compreender a linguagem humana como também gerar a resposta ao receptor humano. Outra abordagem é mais simples: ao receber uma pergunta, o bot procurar a resposta num banco de dados e retorna à pessoa usuária

As empresas perceberam as vantagens dessa ferramenta e nos últimos anos a procura por pessoas profissionais capacitadas para lidar com ela aumentou muito. Com o mercado aquecido, os investimentos aumentaram e hoje existem ferramentas de PLN prontíssimas para serem integradas, tais como o DialogFlow, Amazon Lex, LUIS, Watson ou RASA, que desempenham um excelente trabalho na abordagem mais simples das assistentes virtuais.

Quanto à abordagem mais robusta, essas empresas responsáveis pelas plataformas citadas anteriormente também têm investido tempo e dinheiro para aprimorar suas ferramentas, mas ainda falta um caminho a ser percorrido no português brasileiro.

Não basta ter uma pessoa linguista ou uma programadora para fazer uma ferramenta de PLN. De ferramentas criadas somente por regras morfossintáticas àquelas por redes neurais, essas plataformas conversacionais mostraram que a melhor abordagem é a híbrida e isso significa que os humanos por detrás das máquinas também precisam ser. Nem tanto linguista, nem tanto programador/a. Entre os conhecimentos de linguística, programação e estatística, tem espaço pra todas! 

Se interessou? Seguem algumas sugestões de leituras para iniciar sua jornada no processamento de linguagem natural.

Livros e artigos:

Cursos e videoaulas:

Sites interessantes para se ligar

 

Karina Soares dos Santos

Graduada em Letras pela Universidade Estadual de Maringá Analista de IA na B2W Digital. Fascinada por Natural Language Understanding e pela filosofia UNIX, não pôde fazer nada quando leu os princípios de Tim Peters escrito em The zen of Python a não ser tornar-se Linguista Computacional.

Linkedin: https://www.linkedin.com/in/soareskarina/

Twitter: https://twitter.com/Karysoares