Ir para conteúdo

Introdução ao processamento de linguagem natural

Saeed Amen
Saeed Amen
Fundador Cuemacro

Com tantas notícias e dados financeiros em formatos não estruturados na internet e nos serviços de notícias, como traders e investidores podem fazer o melhor uso possível dessas informações para chegar a um #SmarterTrading? Neste post, Saeed Amen, fundador da empresa de análise de dados Cuemacro e coautor do The Book of Alternative Data, responde a essa pergunta convidando você a ingressar no mundo do processamento de linguagem natural.


  1. Hoje em dia há muito texto sendo gerado em formatos não estruturados, o que simplesmente impede traders e investidores de incorporar tudo isso em seus processos de tomada de decisão.
  2. Nossa introdução ao processamento de linguagem natural considera os diferentes estágios de compreensão e de interpretação de textos não estruturados.
  3. Exemplos de processamento de linguagem natural da Refinitiv incluem conjuntos de dados baseados nos serviços de notícias (newswires) da Thomson Reuters ou nos índices MarketPsych.

Os traders, obviamente, preferem trabalhar com dados de séries temporais bem estruturados. São informações que podem, por exemplo, representar uma série de preços ou índices econômicos, como taxas de desemprego. Entretanto, no dia-a-dia, inúmeros dados que poderiam ser utilizados nos mercados financeiros não se encontram nesse formato.

Na verdade, muitos desses dados não estruturados costumam surgir como texto –em vez de números. Podem ser artigos na internet, nas redes sociais ou nos serviços de notícias que contenham informações de mercado, análises ou mesmo comunicações do banco central.

Mas, diante da enorme quantidade de texto que vem sendo gerada, é impossível que os investidores e traders consigam ler e incorporar tudo em suas atividades. Portanto, a pergunta que temos feito é: como podemos automatizar os processos de compreensão e interpretação do texto?

News Feeds, Analytics & Indices –Transforme enormes quantidades de dados desestruturados em insights úteis.

Com o processamento de linguagem natural (PLN) é possível estruturar textos para que sejam utilizados em trading. O PLN incorpora muitas das tarefas realizadas por um computador para imitar a maneira como um ser humano entenderia textos.

Como compreendemos a linguagem

Antes de começarmos a discutir algumas dessas tarefas citadas acima e o emprego de algoritmos, precisamos pensar nos vários estágios de compreensão da linguagem.

  1. Primeiro, há a compreensão da fonética, que são os sons específicos gerados pela voz humana. Depois, a da fonologia, que se trata dos sons de um idioma específico. Este é um dos subconjuntos entre os que a voz humana pode representar. Embora os idiomas possam ter certos sons em comum, há alguns que são muito específicos de determinada língua.
  2. Após essa etapa, temos a morfologia. Aqui, procuramos entender como as palavras são construídas e como podem ser decompostas. Por exemplo, as palavras macaco e macacos estão claramente relacionadas. No entanto, podemos decompor o termo “macacos”, separando “macaco” como sua raiz e o ‘s’ como o sufixo. Também temos formas verbais diferentes da mesma palavra, que às vezes são iguais –ou muito semelhantes—, como run (verbo), running (adjetivo) e run (substantivo). Para certos idiomas, como o árabe, onde os verbos geralmente consistem em três letras raiz, a morfologia pode ser muito importante.
  3. Por fim, existe a compreensão da sintaxe, que é quando examinamos como as palavras combinam-se para formar uma frase. A semântica procura, então, fazer perguntas sobre o significado dessa frase, como quem, o quê, por quê, onde e quando. Já a pragmática envolve a compreensão de um texto dentro de um contexto e, muitas vezes, requer informações adicionais que nem sempre estão disponíveis ali.

Medindo o sentimento

A normalização é uma das primeiras tarefas do processamento de linguagem natural a fim de se decifrar um texto. Segmentamos as palavras para conseguir identificá-las. Em inglês, podemos usar um caractere de espaço para separar palavras, embora isso possa acabar dividindo entidades –“Burger King”, por exemplo, é uma entidade específica, que não deve ser cortada ao meio.

Para entender um texto, precisamos criar para ele uma representação vetorizada, o que é conhecido como incorporação de palavras. O chamado “bag-of-words” (saco de palavras) é uma forma simples de fazer isso, em que simplesmente calculamos a frequência de determinadas palavras, mas isso ignora a gramática e a ordem em que elas ocorrem.

Entretanto, se tivermos pontuações para o “sentimento” (teor) das palavras, podemos simplesmente multiplicar a frequência em que elas aparecem em um texto pela sua pontuação. Assim conseguimos estabelecer o teor do que está escrito em um artigo.

Existem também algoritmos mais complicados de incorporação de palavras, como o word2vec e o BERT –que são freqüentemente usados—, e também podemos criar ferramentas baseadas em “sentimentos”. Obviamente, em um contexto de investimento, de trading, entender o teor do que está escrito em um texto é de extrema importância.

News Feeds, Analytics & Indices –Transforme enormes quantidades de dados desestruturados em insights úteis.

Conjuntos de dados estruturados

Outras tarefas de PLN de nível avançado incluem ainda a modelagem de tópicos, que identifica o tema sobre o qual determinado artigo discorre. A capacidade de rotular textos, que também chamamos de fazer marcações ou tags, é essencial para o processo de estruturação e para que eles possam ser utilizados pelos traders.

Porém, executar todas as tarefas de PLN, como identificação de “sentimentos” e de entidades, pode ser muito demorado e desafiador.

Por isso, costumamos optar por um conjunto de dados estruturado, como os disponíveis na Refinitiv, que se baseiam nos serviços de notícias da Thomson Reuters. Há também os índices MarketPsych, que além desses serviços de notícias, utilizam as redes sociais.

A partir de um conjunto de dados estruturado é possível criar uma série temporal para “sentimentos” e outras marcações (tags), que podem ser usadas em regras de negociação sistemáticas ou por traders discricionários para entender o espírito do mercado.

Para uma análise aprofundada sobre o Processamento de linguagem natural, ouça nosso recente webinar sobre PLN e Quant Investing.

The Book of Alternative Data

Alexander Denev e Saeed Amen são coautores do The Book of Alternative Data (Wiley), que está disponível em pré-venda na Amazon. O livro discute o processamento de linguagem natural e muitos outros tópicos relacionados a dados alternativos. Atualmente, Saeed Amen está desenvolvendo um curso sobre dados alternativos dirigido a empresas.