Entender as técnicas de estatística usadas para o processamento de linguagem natural (NLP)

Concluído

Nas últimas décadas, vários desenvolvimentos no campo do processamento de linguagem natural (NLP) resultaram na obtenção de modelos de linguagem grande (LLMs).

Para entender as LLMs, primeiro vamos explorar as técnicas estatísticas para NLP que, ao longo do tempo, contribuíram para as técnicas atuais.

O início do processamento de linguagem natural (NLP)

Como o NLP se concentra na compreensão e na geração de texto, a maioria das primeiras tentativas de realizar o NLP foi baseada no uso das regras e da estrutura inerentes às linguagens. Especialmente antes das técnicas de machine learning se tornarem predominantes, modelos estruturais e gramática formal eram os principais métodos empregados.

Essas abordagens se baseavam na programação explícita de regras linguísticas e padrões gramaticais para processar e gerar texto. Embora esses modelos possam lidar com algumas tarefas de linguagem específicas razoavelmente bem, eles enfrentaram desafios significativos quando confrontados com a vasta complexidade e variabilidade das linguagens naturais.

Em vez de regras de codificação rígida, pesquisadores nos anos 90 começaram a utilizar modelos estatísticos e probabilísticos para aprender padrões e representações diretamente dos dados.

Noções básicas sobre a geração de tokens

Como você pode esperar, os computadores têm dificuldade em decifrar texto, pois dependem principalmente de números. Para ler o texto, portanto, precisamos converter o texto apresentado em números.

Um desenvolvimento importante para permitir que os computadores trabalhem com mais facilidade com texto foi a geração de tokens. Tokens são cadeias de caracteres com um significado conhecido, geralmente representando uma palavra. A geração de tokens está transformando palavras em tokens, que são convertidos em números. Uma abordagem estatística para a geração de tokens é usar um pipeline:

Animation showing the pipeline of tokenization of a sentence.

  1. Comece com o texto que você deseja tokenizar.
  2. Divida as palavras no texto com base em uma regra. Por exemplo, divida as palavras em que há um espaço em branco.
  3. Lematização. Mescle palavras semelhantes removendo o final de uma palavra.
  4. Remoção de palavra irrelevante (stop word). Remova palavras barulhentas que têm pouco significado como the e a. Um dicionário dessas palavras é fornecido para removê-las estruturalmente do texto.
  5. Atribua um número a cada token exclusivo.

A geração de tokens permitiu que o texto fosse rotulado. Como resultado, técnicas estatísticas podem ser usadas para permitir que os computadores encontrem padrões nos dados em vez de aplicar modelos baseados em regras.

Técnicas estatísticas para NLP

Dois avanços importantes para alcançar técnicas estatísticas usadas por NLP: Naïve Bayes e Frequência de Termos – Frequência inversa de Documentos (TF-IDF).

Noções básicas sobre Naïve Bayes

Naïve Bayes é uma técnica estatística que foi usada pela primeira vez para filtragem de email. Para saber a diferença entre spam e não spam, dois documentos são comparados. Os classificadores de Naïve Bayes identificam quais tokens estão correlacionados com emails rotulados como spam. Em outras palavras, a técnica localiza qual grupo de palavras ocorre apenas em um tipo de documento e não no outro. O grupo de palavras é frequentemente chamado de recursos de saco de palavras.

Por exemplo, as palavras miracle cure, lose weight fast e anti-aging podem aparecer com mais frequência em emails de spam sobre produtos de saúde duvidosos do que seus emails regulares.

Embora a técnica Naïve Bayes tenha se mostrado mais eficaz do que modelos simples baseados em regras para classificação de texto, ela ainda era relativamente rudimentar, pois apenas a presença (e não a posição) de uma palavra ou token era considerada.

Noções básicas sobre TF-IDF

A técnica Frequência de Termos – Frequência inversa de Documentos (TF-IDF) tinha uma abordagem semelhante, pois comparava a frequência de uma palavra em um documento com a frequência da palavra em um corpus inteiro de documentos. Ao entender em qual contexto uma palavra estava sendo usada, os documentos poderiam ser classificados com base em determinados tópicos. O TF-IDF geralmente é usado para recuperação de informações, para ajudar a entender quais palavras ou tokens relativos pesquisar.

Observação

No contexto do NLP, um corpus refere-se a uma coleção grande e estruturada de documentos de texto que é usada para tarefas de aprendizado de máquina. Corpos (plural de corpo) servem como recursos essenciais para treinamento, teste e avaliação de vários modelos de NLP.

Por exemplo, a palavra flour geralmente pode ocorrer em documentos que incluem receitas para assar. Se estiver pesquisando documentos com flour, os documentos que incluem baking também poderão ser recuperados, pois as palavras geralmente são usadas juntas em um texto.

O TF-IDF provou ser útil para mecanismos de pesquisa na compreensão da relevância de um documento para a consulta de pesquisa de alguém. No entanto, a técnica TF-IDF não considera a relação semântica entre palavras. Sinônimos ou palavras com significados semelhantes não são detectados.

Embora as técnicas estatísticas tenham sido desenvolvimentos valiosos no campo do NLP, as técnicas de aprendizado profundo criaram as inovações necessárias para atingir o nível de NLP que temos hoje.