A Matemática por Trás da Comunicação com Máquinas
Coleção Escola de Lógica Matemática
JOÃO CARLOS MOREIRA
Doutor em Matemática
Universidade Federal de Uberlândia
Copyright©2013-2025 Coleção Escola de Lógica Matemática. Todos os direitos reservados.
Imagine poder conversar naturalmente com uma máquina, fazer perguntas complexas e receber respostas coerentes, ou traduzir instantaneamente textos entre idiomas distantes. Esses feitos aparentemente mágicos são possíveis graças ao Processamento de Linguagem Natural, uma área fascinante onde matemática, computação e linguística se encontram para decifrar o código da comunicação humana. Neste capítulo inaugural, descobriremos como a linguagem, aparentemente caótica e subjetiva, pode ser modelada como um sistema matemático rigoroso, abrindo portas para máquinas que compreendem e geram texto com precisão impressionante.
Por trás da aparente aleatoriedade das conversas cotidianas, existe uma estrutura matemática surpreendentemente regular. Cada idioma segue padrões estatísticos previsíveis, desde a frequência de palavras até a probabilidade de certas sequências aparecerem juntas. Quando dizemos "o gato subiu no", nosso cérebro já antecipa palavras como "telhado" ou "muro", mas dificilmente "computador". Essa previsibilidade não é acaso — é matemática pura operando nos bastidores da comunicação.
O desafio do PLN reside em transformar nossa compreensão intuitiva da linguagem em algoritmos precisos. Quando lemos "banco", sabemos instantaneamente se refere-se a uma instituição financeira ou a um assento, baseando-nos no contexto. Ensinar máquinas a fazer essa distinção requer modelagem matemática sofisticada, combinando estatística, álgebra linear e teoria da informação para capturar nuances que processamos inconscientemente.
O advento da internet transformou radicalmente o PLN. Bilhões de textos disponíveis online tornaram-se o combustível para algoritmos cada vez mais sofisticados. Modelos estatísticos aprendem padrões linguísticos analisando montanhas de dados, descobrindo regularidades que escapam até mesmo aos linguistas mais experientes. A matemática transforma esse oceano de palavras em conhecimento estruturado e aplicável.
Uma das conquistas mais impressionantes do PLN moderno é representar o significado das palavras como vetores numéricos. Nesse espaço matemático, palavras semanticamente relacionadas ficam próximas, permitindo operações algébricas surpreendentes. Por exemplo, o vetor "rei" menos "homem" mais "mulher" resulta aproximadamente em "rainha". Essa geometria do significado revolucionou nossa capacidade de processar linguagem computacionalmente.
A teoria das linguagens formais fornece ferramentas matemáticas poderosas para modelar a sintaxe. Gramáticas livres de contexto descrevem como sentenças válidas são construídas, enquanto autômatos finitos processam padrões regulares. Essas abstrações matemáticas, originalmente desenvolvidas para linguagens de programação, revelaram-se fundamentais para entender e processar linguagens naturais.
O casamento entre aprendizado de máquina e PLN produziu avanços espetaculares. Redes neurais profundas aprendem representações sofisticadas da linguagem, capturando sutilezas que escapam a regras programadas manualmente. Transformadores, a arquitetura por trás de modelos como GPT e BERT, revolucionaram o campo ao processar contexto de forma paralela e eficiente, estabelecendo novos patamares de desempenho.
Apesar dos avanços impressionantes, o PLN ainda enfrenta desafios monumentais. Compreensão profunda, raciocínio de senso comum, e processamento de contextos longos permanecem problemas em aberto. A matemática continua sendo nossa melhor ferramenta para atacar essas questões, desenvolvendo novos formalismos e algoritmos que aproximam máquinas da verdadeira compreensão linguística.
As aplicações do PLN permeiam nosso cotidiano de formas visíveis e invisíveis. Assistentes virtuais respondem nossas perguntas, tradutores automáticos quebram barreiras linguísticas, e sistemas de recomendação filtram informação relevante. Compreender a matemática por trás dessas tecnologias nos capacita não apenas a desenvolvê-las, mas também a usá-las de forma crítica e responsável.
Este capítulo estabeleceu a visão panorâmica do PLN como disciplina profundamente matemática. Vimos como a linguagem, longe de ser caótica, exibe regularidades que podem ser capturadas por modelos formais. Nos próximos capítulos, mergulharemos nas ferramentas matemáticas específicas que tornam possível essa modelagem, desde conceitos básicos de probabilidade até arquiteturas neurais sofisticadas. Prepare-se para uma jornada fascinante onde equações ganham voz e algoritmos aprendem a conversar!
A matemática não apenas descreve a linguagem — ela a decodifica, transformando símbolos em significado, sintaxe em semântica, e ultimamente, permitindo que máquinas participem do mais humano dos atos: a comunicação. Vamos agora explorar os fundamentos matemáticos que sustentam essa revolução tecnológica!
Todo castelo precisa de alicerces sólidos, e o PLN não é exceção. Por trás dos chatbots eloquentes e tradutores instantâneos existe um arsenal matemático rigoroso, combinando probabilidade, álgebra linear, teoria da informação e otimização. Neste capítulo, construiremos o vocabulário matemático essencial para compreender como máquinas processam linguagem. Descobriremos que conceitos aparentemente abstratos como entropia e espaços vetoriais são, na verdade, as ferramentas fundamentais para ensinar computadores a ler, escrever e compreender.
A linguagem é inerentemente probabilística. Quando começamos uma frase com "O cachorro", a probabilidade da próxima palavra ser "latiu" é muito maior que ser "voou". Essa intuição probabilística fundamenta modelos de linguagem modernos. O teorema de Bayes, pedra angular da inferência estatística, permite-nos atualizar nossas crenças sobre o significado de palavras ambíguas conforme processamos mais contexto.
Representar palavras como vetores revolucionou o PLN. Em espaços de alta dimensão, cada palavra ocupa uma posição específica, com palavras similares agrupando-se naturalmente. Operações matriciais permitem transformações complexas, projeções que revelam estruturas latentes, e cálculos eficientes de similaridade. A decomposição em valores singulares (SVD) extrai os componentes principais do significado, reduzindo dimensionalidade sem perder informação crucial.
Claude Shannon revolucionou a comunicação ao quantificar informação. Em PLN, a entropia mede a incerteza ou surpresa em sequências de texto. Textos previsíveis têm baixa entropia; poesia experimental, alta. A informação mútua quantifica dependências entre palavras, revelando associações semânticas. Esses conceitos fundamentam compressão de texto, modelos de linguagem e métricas de qualidade.
Treinar modelos de PLN é fundamentalmente um problema de otimização. Buscamos parâmetros que minimizem erros ou maximizem verossimilhança. O gradiente descendente navega paisagens de erro complexas, encontrando mínimos que correspondem a bons modelos. Regularização previne overfitting, mantendo modelos generalizáveis. Essas técnicas transformam dados brutos em sistemas capazes de processar linguagem nova.
Modelos n-gram capturam dependências locais contando co-ocorrências. Um bigrama modela P(palavra₂|palavra₁), um trigrama P(palavra₃|palavra₁, palavra₂). Smoothing techniques lidam com eventos raros, distribuindo probabilidade para sequências não vistas. Esses modelos simples mas poderosos formam a base de sistemas mais complexos, fornecendo baselines e features para arquiteturas avançadas.
Estruturas linguísticas naturalmente formam grafos. Palavras conectam-se por relações sintáticas, semânticas ou de co-ocorrência. Algoritmos de grafos extraem comunidades de palavras relacionadas, identificam palavras centrais, e medem distâncias semânticas. PageRank, originalmente para páginas web, aplica-se para encontrar palavras-chave. Redes complexas revelam propriedades emergentes da linguagem.
Embora texto pareça discreto, técnicas de processamento de sinais aplicam-se surpreendentemente bem. Transformadas de Fourier revelam periodicidades em textos, úteis para detectar estilos ou autoria. Wavelets capturam estruturas multi-escala, desde caracteres até parágrafos. Convolução, fundamental em processamento de imagens, também extrai features locais em sequências textuais.
Medir qualidade em PLN requer métricas sofisticadas. BLEU compara traduções com referências humanas. ROUGE avalia resumos automáticos. F1-score equilibra precisão e recall em classificação. Perplexidade mede surpresa de modelos de linguagem. Essas métricas, embora imperfeitas, guiam desenvolvimento e permitem comparação objetiva entre abordagens.
PLN frequentemente lida com dados massivos, tornando eficiência crucial. Análise de complexidade determina viabilidade de algoritmos. Parsing pode ser O(n³) para gramáticas ambíguas, motivando aproximações. Busca em vocabulários grandes beneficia-se de estruturas como tries. Trade-offs entre acurácia e velocidade são constantes, especialmente em aplicações real-time.
Teoria das categorias oferece uma perspectiva abstrata mas poderosa sobre PLN. Functors mapeiam entre diferentes representações linguísticas preservando estrutura. Monads modelam computações com contexto, naturais para processar ambiguidade. Essa matemática abstrata unifica abordagens aparentemente distintas, revelando conexões profundas entre diferentes técnicas de PLN.
Os fundamentos matemáticos do PLN formam uma tapeçaria rica e interconectada. Probabilidade captura incerteza, álgebra linear estrutura espaços de significado, teoria da informação quantifica conteúdo, e otimização encontra os melhores modelos. Esses conceitos não são meras abstrações — são as ferramentas concretas que transformam texto em números, processamento em compreensão, e ultimamente, permitem diálogo significativo entre humanos e máquinas. Com esses fundamentos sólidos, estamos prontos para explorar como eles se aplicam na prática, começando com o primeiro passo de qualquer sistema de PLN: tokenização!
Antes de compreender um texto, precisamos dividi-lo em pedaços digeríveis. A tokenização, aparentemente simples ato de separar palavras, esconde complexidades fascinantes que variam drasticamente entre idiomas e contextos. Como decidir se "guarda-chuva" é uma ou duas palavras? Como processar línguas sem espaços como o mandarim? Neste capítulo, exploraremos a arte e a ciência de transformar fluxos contínuos de caracteres em unidades discretas de significado, o primeiro passo crucial em qualquer pipeline de PLN.
Segmentar texto em tokens parece trivial até encontrarmos casos extremos. Contrações como "dele" (de + ele) precisam ser expandidas? URLs e emails devem permanecer intactos? Emojis são tokens únicos? Cada decisão impacta profundamente o processamento subsequente. A matemática nos ajuda formalizando tokenização como problema de otimização: encontrar a segmentação que maximiza alguma métrica de qualidade.
Expressões regulares formam a base de muitos tokenizadores. Padrões como \w+ capturam sequências alfanuméricas, mas falham em casos complexos. Máquinas de estados finitos processam texto caractere por caractere, tomando decisões baseadas em contexto local. Algoritmos gulosos maximizam comprimento de tokens, enquanto programação dinâmica encontra segmentações ótimas globalmente.
Modelos modernos frequentemente usam unidades menores que palavras. Byte Pair Encoding (BPE) constrói vocabulário iterativamente fundindo caracteres frequentes. WordPiece e SentencePiece generalizam essa ideia, balanceando tamanho de vocabulário com cobertura. Essa abordagem lida elegantemente com palavras raras, neologismos e até erros de digitação, fundamentais para robustez.
Antes da tokenização, textos frequentemente precisam normalização. Converter para minúsculas? Remover acentos? Expandir contrações? Cada escolha tem trade-offs. Preservar capitalização mantém informação sobre nomes próprios mas aumenta vocabulário. Stemming e lemmatização reduzem variações morfológicas para formas canônicas, essenciais para línguas com rica morfologia.
Palavras carregam informação morfológica rica. "Corremos" contém o radical "corr-", vogal temática "-e-", e desinência "-mos" indicando primeira pessoa do plural. Analisadores morfológicos decompõem palavras em morfemas, revelando estrutura interna. Isso é crucial para línguas aglutinantes como turco ou finlandês, onde uma palavra pode conter informação de uma frase inteira.
Identificar onde sentenças terminam é surpreendentemente complexo. Um ponto nem sempre indica fim de sentença — pode ser abreviação ou decimal. Modelos estatísticos aprendem padrões contextuais: "Dr." raramente termina sentença, enquanto "fim." frequentemente o faz. Essa tarefa aparentemente simples requer sofisticação considerável para alta acurácia.
Diferentes idiomas apresentam desafios únicos. Chinês e japonês não usam espaços, requerendo segmentação baseada em dicionários ou modelos estatísticos. Árabe e hebraico escrevem da direita para esquerda com morfologia complexa. Línguas indianas têm scripts silábicos únicos. Tokenizadores universais devem acomodar essa diversidade mantendo eficiência.
Após tokenização, tokens são mapeados para índices numéricos. O tamanho do vocabulário impacta diretamente memória e desempenho. Vocabulários grandes capturam nuances mas requerem mais parâmetros. Técnicas como hashing trick mapeiam tokens infinitos para espaço finito usando funções hash, trading precisão por eficiência.
Avaliar tokenizadores requer métricas cuidadosas. Precisão e recall medem concordância com tokenização de referência. Eficiência computacional importa para aplicações em larga escala. Robustez a ruído e variações é crucial. Trade-offs entre granularidade e generalização devem ser balanceados conforme a aplicação.
Abordagens recentes aprendem tokenização end-to-end. Redes neurais decidem fronteiras de tokens otimizando diretamente para a tarefa final. Isso elimina necessidade de regras manuais, adaptando-se automaticamente a diferentes domínios. Tokenização torna-se apenas outra camada diferenciável no modelo, otimizada conjuntamente com outros componentes.
A tokenização, porta de entrada para qualquer sistema de PLN, é muito mais que simplesmente dividir texto em palavras. É um processo sofisticado que requer balancear múltiplos objetivos: precisão linguística, eficiência computacional, robustez a variações, e adaptabilidade a diferentes idiomas e domínios. As decisões tomadas nesta etapa reverberam através de todo o pipeline, impactando fundamentalmente a qualidade final. Com nossos textos devidamente segmentados em tokens, estamos prontos para o próximo desafio: entender como esses tokens se organizam sintaticamente para formar estruturas maiores de significado!
As palavras não flutuam isoladas no vácuo linguístico — elas se organizam em estruturas hierárquicas precisas que determinam significado. A análise sintática desvenda essa arquitetura oculta, revelando como palavras se combinam em sintagmas, orações e sentenças completas. Neste capítulo, exploraremos como a matemática das árvores e grafos captura a estrutura gramatical, permitindo que máquinas compreendam não apenas o que dizemos, mas como organizamos nossas ideias linguisticamente.
Uma gramática formal é um conjunto de regras que especifica quais sequências de símbolos são válidas. No contexto de linguagem natural, essas regras capturam padrões sintáticos. Uma regra como S → NP VP diz que uma sentença (S) consiste de um sintagma nominal (NP) seguido de um sintagma verbal (VP). Aplicando regras recursivamente, derivamos árvores que representam a estrutura hierárquica de sentenças.
Árvores de constituintes representam como palavras se agrupam em unidades maiores. "O gato preto" forma um sintagma nominal onde "preto" modifica "gato", e "o" determina todo o sintagma. Essa estrutura hierárquica captura relações que linearização esconde. Algoritmos de parsing constroem essas árvores, revelando a blueprint sintática de sentenças.
O algoritmo CYK (Cocke-Younger-Kasami) usa programação dinâmica para parsing eficiente. Construindo soluções bottom-up, combina constituintes menores em maiores. A complexidade O(n³|G|) para sentenças de comprimento n e gramática G torna-o viável para sentenças moderadas. Variantes como Earley parser lidam com gramáticas mais gerais mantendo eficiência.
Linguagem natural é notoriamente ambígua. "Vi o homem com o telescópio" tem duas interpretações sintáticas válidas: usei o telescópio para ver, ou o homem tinha o telescópio. Gramáticas probabilísticas atribuem scores a diferentes parses, escolhendo o mais provável. Essa desambiguação estatística é crucial para interpretação correta.
Enquanto gramáticas de constituintes focam em agrupamento, gramáticas de dependência enfatizam relações entre palavras. Cada palavra (exceto a raiz) depende de exatamente uma outra, formando uma árvore onde arestas representam relações como sujeito, objeto, modificador. Essa representação é particularmente útil para línguas com ordem de palavras flexível.
Redes neurais revolucionaram parsing sintático. Parsers neurais aprendem representações distribuídas de palavras e estruturas, capturando padrões sutis que regras manuais perdem. Arquiteturas como Stack-LSTMs processam sentenças incrementalmente, tomando decisões de parsing baseadas em contexto neural rico. Esses modelos atingem acurácia próxima a humana em benchmarks padrão.
Combinatory Categorial Grammar (CCG) trata sintaxe como combinação de funções. Cada palavra tem tipo categorial especificando como combina com vizinhos. Verbos transitivos têm tipo (S\NP)/NP: consomem NP à direita produzindo S\NP, que consome NP à esquerda produzindo S. Essa abordagem funcional elegante unifica sintaxe e semântica.
Métricas de avaliação medem quão bem parsers recuperam estruturas corretas. Precisão e recall de constituintes avaliam brackets corretos. Para dependências, UAS (unlabeled attachment score) e LAS (labeled attachment score) medem conexões corretas. Essas métricas guiam desenvolvimento, mas correlação com tarefas downstream nem sempre é perfeita.
Humanos processam linguagem incrementalmente, construindo interpretações palavra por palavra. Parsers incrementais modelam esse processo, mantendo múltiplas hipóteses parciais e podando impossibilidades conforme mais input chega. Isso é crucial para aplicações interativas e modelagem psicolinguística de compreensão humana.
Diferentes línguas exibem fenômenos sintáticos diversos. Ordem SOV vs. SVO, pro-drop, casos morfológicos, concordância rica — cada língua apresenta desafios únicos. Universal Dependencies tenta criar framework consistente cross-linguisticamente, facilitando transferência de conhecimento entre línguas e desenvolvimento de parsers multilíngues.
A análise sintática revela a arquitetura profunda da linguagem, transformando sequências lineares de palavras em estruturas hierárquicas ricas. Essas árvores não são meras abstrações acadêmicas — elas capturam relações fundamentais que determinam significado. Com a estrutura sintática decodificada, podemos dar o próximo passo crucial: entender não apenas como palavras se organizam, mas o que elas realmente significam. Prepare-se para mergulhar no fascinante mundo da semântica computacional!
Sintaxe nos diz como palavras se organizam; semântica revela o que elas significam. Mas como capturar algo tão abstrato quanto "significado" em termos computacionais? Como ensinar máquinas que "banco" pode ser instituição financeira ou assento, que "quebrar o galho" não envolve árvores, ou que ironia inverte polaridade? Neste capítulo, exploraremos como a matemática e computação modelam significado, desde representações lógicas formais até embeddings neurais que capturam nuances semânticas em espaços vetoriais de alta dimensão.
A lógica de predicados oferece framework rigoroso para representar significado. "Todo cachorro late" torna-se ∀x(cachorro(x) → late(x)). Essa formalização permite raciocínio automatizado, verificação de consistência e inferências válidas. Lambda calculus adiciona composicionalidade: significados complexos emergem da combinação sistemática de partes mais simples.
Palavras polissêmicas carregam múltiplos significados. Desambiguação (WSD) identifica o sentido correto em contexto. Abordagens supervisionadas treinam classificadores em corpora anotados. Métodos knowledge-based exploram relações em recursos como WordNet. Técnicas unsupervised descobrem sentidos automaticamente via clustering. O desafio permanece: capturar granularidade apropriada de distinções de sentido.
Semantic Role Labeling (SRL) identifica quem fez o quê para quem. Em "Maria vendeu o carro para João", Maria é agente, carro é tema, João é recipiente. Esses papéis abstraem sobre variações sintáticas: "O carro foi vendido para João por Maria" tem mesmos papéis com sintaxe diferente. SRL é crucial para compreensão profunda e question answering.
O princípio de Frege afirma que significado de expressões complexas deriva sistematicamente de suas partes. "Gato preto" combina significados de "gato" e "preto" via modificação. Mas idiomas, metáforas e construções não-composicionais desafiam essa visão. Modelos modernos aprendem quando composicionalidade aplica-se e quando significado emerge holisticamente.
A hipótese distribucional postula que palavras com contextos similares têm significados similares. Coletando estatísticas de co-ocorrência, construímos representações vetoriais onde proximidade correlaciona com similaridade semântica. Técnicas como LSA, HAL e word2vec operacionalizam essa intuição, transformando distribuições em geometria.
Palavras conectam-se por relações diversas: sinonímia, antonímia, hiperonímia, meronímia. WordNet organiza léxico inglês em synsets conectados por essas relações. Embeddings neurais capturam relações implicitamente: analogias como "rei - homem + mulher ≈ rainha" emergem naturalmente. Compreender e modelar essas relações é fundamental para raciocínio semântico.
Significado vai além de semântica literal — contexto, intenção e conhecimento compartilhado importam. Pragmática estuda como contexto influencia interpretação. Detectar ironia, resolver anáforas, inferir implicaturas — todos requerem raciocínio pragmático. Modelos computacionais integram pistas contextuais diversas para interpretação situada.
Conectar linguagem ao mundo físico é desafio fundamental. Visual grounding associa palavras a regiões em imagens. Robotic grounding conecta comandos a ações físicas. Temporal grounding ancora eventos em timelines. Essa ancoragem multimodal é essencial para IA que interage com mundo real, não apenas processa texto abstrato.
Compreensão profunda requer inferência além do explicitamente declarado. Natural Language Inference (NLI) determina se uma hipótese segue, contradiz ou é neutra em relação a premissa. Raciocínio de senso comum preenche gaps com conhecimento implícito. Esses desafios testam limites de compreensão semântica atual.
Transformers pré-treinados como BERT capturam semântica rica em representações contextualizadas. Cada token recebe embedding único baseado em contexto completo. Probing tasks revelam que diferentes camadas codificam diferentes aspectos semânticos. Essa semântica emergente, aprendida de dados massivos, supera abordagens simbólicas tradicionais em muitas tarefas.
A semântica computacional busca o Santo Graal do PLN: verdadeira compreensão de significado. Desde representações lógicas precisas até embeddings neurais fluidos, múltiplas abordagens iluminam diferentes facetas do significado. O futuro provavelmente combinará rigor simbólico com flexibilidade neural, ancoragem multimodal com raciocínio abstrato. Com fundamentos semânticos estabelecidos, exploraremos como probabilidade e estatística modelam a natureza incerta e variável da linguagem real!
A linguagem humana dança entre o previsível e o surpreendente. Quando alguém diz "O céu é...", provavelmente completará com "azul", mas poderia surpreender com "o limite". Modelos probabilísticos capturam essa dança, atribuindo probabilidades a sequências de palavras, permitindo que máquinas prevejam, gerem e avaliem texto de forma matematicamente fundamentada. Neste capítulo, exploraremos como a teoria da probabilidade transforma a aparente aleatoriedade linguística em padrões quantificáveis e exploráveis.
Um modelo de linguagem atribui probabilidades a sequências de palavras. Formalmente, queremos P(w₁, w₂, ..., wₙ) para qualquer sequência. Pela regra da cadeia, isso decompõe-se em produto de probabilidades condicionais: P(w₁)P(w₂|w₁)P(w₃|w₁,w₂)...P(wₙ|w₁,...,wₙ₋₁). O desafio é estimar essas probabilidades condicionais de forma tratável e generalizável.
N-gramas simplificam assumindo que palavras dependem apenas de n-1 palavras anteriores. Um trigrama assume P(wᵢ|w₁,...,wᵢ₋₁) ≈ P(wᵢ|wᵢ₋₂,wᵢ₋₁). Essa aproximação de Markov torna estimação tratável via contagem de frequências. Apesar da simplicidade, n-gramas formam baseline forte e componente de sistemas mais complexos.
Dados linguísticos são notoriamente esparsos. Mesmo em corpora gigantes, maioria dos n-gramas possíveis nunca aparece. Atribuir probabilidade zero a eventos não vistos é catastrófico. Técnicas de smoothing redistribuem massa de probabilidade, garantindo que eventos raros mas possíveis recebam probabilidade não-zero. Kneser-Ney smoothing, estado da arte para n-gramas, usa estatísticas de diversidade contextual.
Perplexidade mede quão "surpreso" um modelo fica com dados de teste. Formalmente, PP = 2⁻⁽¹/ᴺ⁾∑log₂P(wᵢ|contexto). Menor perplexidade indica melhor modelo. Intuitivamente, perplexidade de 100 significa que o modelo está, em média, indeciso entre 100 palavras possíveis. Essa métrica guia desenvolvimento e comparação de modelos.
MaxEnt models combinam features diversas sob framework probabilístico unificado. Cada feature fᵢ tem peso λᵢ, e probabilidade é P(y|x) ∝ exp(∑λᵢfᵢ(x,y)). Isso permite integrar n-gramas, características sintáticas, semânticas, qualquer sinal útil. Treinamento encontra pesos maximizando likelihood sujeito a constraints de entropia máxima.
Redes neurais revolucionaram modelagem de linguagem. RNNs processam sequências mantendo estado oculto que captura histórico. LSTMs e GRUs resolvem problemas de gradiente, modelando dependências longas. Embeddings densos representam palavras em espaço contínuo onde similaridade tem significado. Esses modelos capturam padrões complexos impossíveis para n-gramas.
Mecanismos de atenção permitem modelos focar seletivamente em partes relevantes do input. Transformers abandonam recorrência completamente, usando apenas atenção. Multi-head attention captura diferentes tipos de relações simultaneamente. Positional encodings preservam informação de ordem. Essa arquitetura paralela escala eficientemente, possibilitando modelos massivos.
GPT-style models são autoregressivos: preveem próxima palavra dado contexto anterior. BERT-style são masked: preveem palavras mascaradas dado contexto bidirecional. Autoregressivos são naturais para geração; masked excel em compreensão. Modelos híbridos como T5 unificam ambas abordagens, tratando todas tarefas como text-to-text.
Gerar texto de modelos probabilísticos requer estratégias de decodificação. Greedy decoding escolhe palavra mais provável, mas produz texto repetitivo. Beam search mantém k hipóteses, mas ainda lacks diversidade. Sampling estocástico adiciona aleatoriedade. Temperature scaling e nucleus sampling controlam trade-off entre qualidade e diversidade.
Modelos pré-treinados em dados gerais precisam adaptação para domínios específicos. Fine-tuning ajusta todos parâmetros em dados do domínio. Adapters adicionam pequenos módulos treináveis. Prompt engineering guia modelos sem modificar parâmetros. Essas técnicas permitem especialização eficiente mantendo conhecimento geral.
Modelos probabilísticos transformam a complexidade caótica da linguagem em distribuições matemáticas elegantes. Desde n-gramas simples até transformers massivos, esses modelos capturam regularidades estatísticas que permitem previsão, geração e compreensão. A revolução neural expandiu dramaticamente o que é possível, mas princípios probabilísticos fundamentais permanecem. Com essa base estatística sólida, exploraremos como representar palavras como vetores numéricos, abrindo portas para manipulação algébrica de significado!
Imagine um espaço matemático onde "rei" menos "homem" mais "mulher" resulta em "rainha", onde a distância entre "cachorro" e "gato" é menor que entre "cachorro" e "carro". Este não é um truque de mágica, mas o poder das representações vetoriais, onde palavras tornam-se pontos em espaços multidimensionais e relações semânticas emergem como geometria. Neste capítulo, exploraremos como transformar símbolos discretos em vetores contínuos, criando pontes entre a natureza simbólica da linguagem e o poder computacional da álgebra linear.
Representações one-hot tradicionais são vetores esparsos gigantes com um único 1 e resto 0s. Para vocabulário de 50.000 palavras, cada palavra é vetor 50.000-dimensional. Além de ineficiente, essa representação não captura similaridade — "gato" e "felino" são equidistantes de "carro". Embeddings densos comprimem palavras em vetores de centenas de dimensões onde proximidade reflete similaridade semântica.
Word2Vec revolucionou embeddings com dois modelos simples mas poderosos. Skip-gram prevê contexto dada palavra central; CBOW prevê palavra central dado contexto. Treinados em texto massivo, esses modelos descobrem representações onde relações linguísticas emergem como direções vetoriais consistentes. A simplicidade esconde sofisticação: negative sampling torna treinamento eficiente em vocabulários enormes.
GloVe (Global Vectors) combina insights de métodos de contagem com eficiência de embeddings neurais. Constrói matriz de co-ocorrência global, então fatora para obter vetores minimizando diferença entre produto escalar e log de co-ocorrência. Isso captura estatísticas globais do corpus enquanto produz espaço vetorial com propriedades algébricas ricas.
FastText estende Word2Vec incluindo informação subpalavra. Representa palavras como soma de n-gramas de caracteres. "gatos" = embedding("gatos") + embeddings de seus n-gramas. Isso permite representações para palavras fora do vocabulário e captura similaridades morfológicas. Especialmente útil para línguas com morfologia rica ou dados com erros ortográficos.
Como saber se embeddings são bons? Avaliação intrínseca testa propriedades diretas: analogias (rei:rainha::homem:?), similaridade comparada com julgamentos humanos. Avaliação extrínseca mede desempenho em tarefas downstream. Embeddings que funcionam bem para uma tarefa podem falhar em outra. Não existe embedding universal perfeito.
Palavras têm significados diferentes em contextos diferentes. Embeddings estáticos atribuem mesmo vetor sempre. ELMo introduziu embeddings contextualizados: cada ocorrência recebe representação única baseada em contexto. Isso resolve polissemia naturalmente — "banco" financeiro e "banco" assento recebem vetores diferentes.
Espaços de embeddings exibem estrutura geométrica fascinante. Direções codificam relações: vetor de "maior" para "menor" é consistente. Clusters emergem para conceitos relacionados. Dimensões individuais às vezes correspondem a propriedades interpretáveis. Mas maioria das dimensões captura padrões distribuídos complexos além da interpretação humana direta.
Alinhar espaços de embeddings entre línguas permite transferência de conhecimento. Palavras traduzidas ficam próximas no espaço compartilhado. Técnicas incluem supervisão com dicionários, auto-supervisão via cognatos, ou métodos totalmente não-supervisionados. Isso possibilita tradução, transferência zero-shot, e compreensão multilíngue.
Embeddings capturam e amplificam biases presentes nos dados. "Médico" fica mais próximo de "homem", "enfermeira" de "mulher". Isso reflete e perpetua estereótipos sociais. Técnicas de debiasing tentam remover associações indesejadas preservando informação útil. Mas definir "bias" e decidir o que remover são questões complexas e contestadas.
O que embeddings realmente codificam? Probing classifiers testam presença de informação específica. Visualizações como t-SNE e UMAP projetam alta dimensão em 2D/3D. Análise de componentes principais revela direções de maior variância. Essas técnicas iluminam parcialmente a caixa-preta, mas compreensão completa permanece elusiva.
Representações vetoriais transformaram radicalmente o PLN, convertendo símbolos discretos em objetos matemáticos manipuláveis. A geometria emergente captura aspectos profundos da semântica, permitindo que máquinas "compreendam" relações entre palavras de forma antes impossível. Mas esses vetores estáticos ou contextualizados são apenas o começo. Arquiteturas neurais profundas constroem sobre essas fundações, criando modelos de complexidade e capacidade impressionantes. Vamos explorar essas arquiteturas revolucionárias!
Das primeiras redes neurais que mal conseguiam classificar sentimentos até modelos com centenas de bilhões de parâmetros que escrevem código, compõem música e raciocinam sobre física quântica, a evolução das arquiteturas neurais para PLN tem sido meteórica. Neste capítulo, traçaremos essa jornada extraordinária, desde perceptrons processando bag-of-words até transformers que revolucionaram nossa compreensão do que máquinas podem fazer com linguagem.
Redes neurais são aproximadores universais de funções, teoricamente capazes de modelar qualquer mapeamento entrada-saída. Para PLN, isso significa transformar texto em vetores, processar através de camadas não-lineares, e produzir saídas úteis. Backpropagation calcula gradientes eficientemente, permitindo otimização de milhões de parâmetros. Essa flexibilidade permite capturar padrões complexos impossíveis para modelos lineares.
RNNs processam sequências mantendo estado oculto que evolui temporalmente. Para cada palavra, atualizam estado baseado em entrada atual e estado anterior. Isso permite "memória" de contexto passado. Mas RNNs vanilla sofrem com vanishing/exploding gradients, esquecendo informação distante. LSTMs e GRUs resolvem isso com gates controlando fluxo de informação.
CNNs, dominantes em visão computacional, também funcionam para texto. Filtros convolucionais deslizam sobre sequências extraindo features locais — essencialmente n-gramas aprendidos. Max pooling seleciona features mais salientes. CNNs são rápidas, paralelas, e capturam padrões locais efetivamente. TextCNN mostrou que arquiteturas simples podem competir com modelos complexos.
O mecanismo de atenção revolucionou PLN permitindo modelos focar seletivamente em partes relevantes. Self-attention relaciona cada posição com todas outras, capturando dependências independente de distância. Multi-head attention aprende múltiplas representações paralelas. Transformers usam apenas atenção, abandonando recorrência, permitindo paralelização massiva e modelagem de dependências longas.
BERT revolucionou PLN com pré-treinamento bidirecional massivo. Maskeia aleatoriamente palavras e treina para prevê-las usando contexto completo. Também prevê se sentenças são consecutivas. Esse pré-treinamento captura conhecimento linguístico profundo. Fine-tuning em tarefas específicas alcança estado da arte com poucos dados. BERT spawned família inteira de modelos: RoBERTa, ALBERT, ELECTRA.
GPT segue filosofia diferente: modelagem autoregressiva de linguagem em escala massiva. GPT-3 com 175 bilhões de parâmetros demonstrou capacidades emergentes surpreendentes: few-shot learning, raciocínio, programação. Sem fine-tuning específico, resolve tarefas diversas via prompting. Isso sugere que escala suficiente pode levar a capacidades qualitativamente novas.
Modelos gigantes são caros para treinar e servir. Técnicas de compressão tornam deployment viável. Distillation treina modelos menores para imitar grandes. Quantization reduz precisão numérica. Pruning remove conexões redundantes. Modelos eficientes como DistilBERT mantém 95% do desempenho com 40% dos parâmetros.
Linguagem raramente existe em isolamento. Modelos multimodais processam texto junto com imagens, áudio, vídeo. CLIP aprende alinhamento texto-imagem permitindo busca e geração cross-modal. DALL-E gera imagens de descrições textuais. Flamingo responde perguntas sobre imagens. Essa integração multimodal aproxima IA de compreensão humana holística.
Treinar modelos apenas com likelihood maximization pode produzir outputs indesejáveis. RLHF (Reinforcement Learning from Human Feedback) alinha modelos com preferências humanas. Humanos rankeia outputs, treinamos reward model, então usamos RL para maximizar reward. Isso produz modelos mais úteis, seguros e alinhados com valores humanos.
Redes neurais profundas são notoriamente opacas. Mas técnicas emergentes iluminam seu funcionamento. Attention weights mostram onde modelos focam. Probing classifiers testam que informação está codificada. Mechanistic interpretability busca circuitos computacionais específicos. Compreender esses modelos é crucial para deployment seguro e confiável.
Redes neurais e especialmente transformers redefinaram os limites do possível em PLN. De classificação simples a geração criativa complexa, essas arquiteturas demonstram capacidades que desafiam nossas noções de inteligência e compreensão. Mas com grande poder vem grande responsabilidade — questões de bias, segurança, e alinhamento são críticas. Com essas ferramentas poderosas em mãos, vamos explorar suas aplicações práticas transformando indústrias e sociedade!
O PLN saiu dos laboratórios acadêmicos para transformar como vivemos, trabalhamos e nos comunicamos. De assistentes virtuais respondendo perguntas complexas a sistemas médicos analisando prontuários, de tradutores quebrando barreiras linguísticas a filtros detectando discurso de ódio, as aplicações são tão diversas quanto impactantes. Neste capítulo, exploraremos como a teoria se materializa em sistemas que tocam bilhões de vidas diariamente, examinando não apenas o como, mas também o porquê e as implicações dessas tecnologias.
Alexa, Siri, Google Assistant — esses nomes tornaram-se parte do vocabulário cotidiano. Por trás da interface conversacional existe uma orquestra de componentes: reconhecimento de fala converte áudio em texto, NLU extrai intenção e entidades, gestão de diálogo mantém contexto, NLG gera respostas, e síntese de fala produz áudio. Cada componente usa técnicas sofisticadas de PLN trabalhando em harmonia.
Google Translate processa mais de 100 bilhões de palavras diariamente. Modelos neurais revolucionaram qualidade, aproximando-se de tradutores humanos em muitos contextos. Mas desafios permanecem: idiomas raros, preservação de nuance cultural, consistência em documentos longos. Zero-shot translation permite traduzir entre pares nunca vistos, demonstrando compreensão abstrata de linguagem.
Empresas monitoram sentimento sobre produtos em tempo real. Traders analisam news sentiment para prever mercados. Políticos medem opinião pública via redes sociais. Sentiment analysis vai além de positivo/negativo — detecta emoções específicas, intensidade, aspectos. Desafios incluem sarcasmo, contexto cultural, e viés de anotação.
Transformar texto não-estruturado em conhecimento estruturado é crucial para muitas aplicações. Named Entity Recognition identifica pessoas, lugares, organizações. Relation extraction encontra conexões entre entidades. Event extraction captura o que aconteceu, quando, onde. Esses sistemas alimentam knowledge graphs, business intelligence, e descoberta científica.
Com explosão de informação, sumarização torna-se essencial. Métodos extrativos selecionam sentenças importantes; abstrativos geram novo texto capturando essência. Aplicações incluem resumos de notícias, síntese de pesquisas médicas, briefings executivos. Desafios envolvem manter factualidade, coerência em documentos longos, e preservar informação crítica.
Sistemas QA respondem perguntas em linguagem natural. Reading comprehension encontra respostas em documentos. Open-domain QA busca em knowledge bases massivas. Conversational QA mantém contexto através de múltiplos turnos. Esses sistemas potencializam educação, suporte ao cliente, e acesso a informação.
Desinformação espalha-se rapidamente online. Sistemas de PLN detectam fake news analisando conteúdo, fonte, e padrões de propagação. Features incluem sensacionalismo linguístico, inconsistências factuais, e redes de disseminação suspeitas. Mas distinguir sátira, opinião, e falsidade deliberada permanece desafiador.
GitHub Copilot e similares transformaram programação. Modelos geram código de descrições naturais, completam funções, explicam bugs. Isso democratiza programação mas levanta questões sobre propriedade intelectual, segurança, e dependência excessiva. PLN também analisa código: detectando vulnerabilidades, sugerindo refatorações, gerando documentação.
PLN revoluciona healthcare processando prontuários eletrônicos, literatura médica, e notas clínicas. Extração de informação identifica condições, medicamentos, procedimentos. Sistemas auxiliam diagnóstico analisando sintomas descritos. Farmacovigilância detecta efeitos adversos em relatórios. Mas stakes altos exigem explicabilidade e validação rigorosa.
Tutores inteligentes adaptam-se a estilos de aprendizagem individuais. Sistemas avaliam automaticamente ensaios, fornecendo feedback detalhado. Chatbots educacionais respondem dúvidas 24/7. Análise de dificuldades identifica lacunas de conhecimento. PLN torna educação mais acessível, personalizada e eficiente.
Escritórios de advocacia usam PLN para revisar contratos, pesquisar jurisprudência, e prever outcomes. Document review em litígios, antes levando meses, agora leva dias. Mas questões éticas surgem: viés algorítmico pode afetar justiça, e responsabilidade por erros de IA é unclear.
As aplicações do PLN permeiam virtualmente todos os aspectos da sociedade moderna. De interações cotidianas com assistentes virtuais a decisões críticas em medicina e direito, essas tecnologias moldam nosso mundo de formas profundas. Mas com grande impacto vem grande responsabilidade — questões de privacidade, bias, transparência e controle democrático são cruciais. À medida que exploramos o futuro dessas tecnologias, devemos balancear inovação com ética, eficiência com equidade!
Estamos no limiar de uma revolução na comunicação entre humanos e máquinas. Modelos que hoje surpreendem com suas capacidades serão considerados primitivos em uma década. A fronteira entre inteligência humana e artificial torna-se cada vez mais tênue, levantando questões profundas sobre consciência, criatividade e o próprio significado de compreensão. Neste capítulo final, exploraremos as tendências emergentes, desafios não resolvidos e implicações filosóficas do futuro do PLN, preparando-nos para um mundo onde a barreira linguística entre humanos e máquinas pode finalmente dissolver-se.
LLMs estão evoluindo de ferramentas especializadas para plataformas generalistas. Como sistemas operacionais cognitivos, orquestram múltiplas capacidades: raciocínio, memória, uso de ferramentas, aprendizado contínuo. Plugins estendem funcionalidades dinamicamente. Agentes autônomos planejam e executam tarefas complexas. O futuro pode ver LLMs como infraestrutura fundamental, tão ubíqua quanto eletricidade.
Modelos atuais impressionam mas frequentemente falham em raciocínio multi-passo complexo. Pesquisas exploram como incorporar raciocínio simbólico, planejamento hierárquico, e verificação formal. Chain-of-thought prompting mostra que explicitar passos intermediários melhora performance. Futuro pode combinar força de redes neurais com rigor de sistemas simbólicos.
Modelos atuais são estáticos após treinamento. Futuro requer sistemas que aprendem continuamente, adaptando-se a novos conhecimentos sem esquecer antigos. Memória episódica permitirá recordar interações específicas. Memória semântica acumulará conhecimento factual. Consolidação durante "sono" artificial pode otimizar e integrar aprendizados.
Futuro é inerentemente multimodal. Modelos processarão texto, imagem, áudio, vídeo, e sinais sensoriais diversos simultaneamente. Isso possibilita assistentes que veem o que vemos, ouvem o que ouvimos, compreendem nosso contexto completo. Realidade aumentada sobrepõe informação linguística ao mundo físico. Fronteira entre digital e físico dissolve.
Modelos futuros adaptam-se profundamente a indivíduos. Aprendem preferências, estilo comunicativo, conhecimento base, objetivos pessoais. Mas isso levanta questões: quem controla esses modelos pessoais? Como garantir privacidade? Risco de bolhas de filtro cognitivas onde IA reforça vieses pessoais?
Futuro não é substituição mas augmentação. Humanos e IA trabalham simbioticamente, cada um contribuindo forças únicas. IA processa dados massivos, identifica padrões, gera opções. Humanos fornecem criatividade, valores, julgamento contextual. Interfaces cérebro-computador podem permitir comunicação thought-speed, transcendendo limitações de linguagem natural.
Poder crescente do PLN traz responsabilidades proporcionais. Deepfakes textuais indistinguíveis de escrita humana ameaçam epistemic commons. Automação de trabalho cognitivo disrupta economias. Vigilância linguística possibilita controle social sem precedentes. Precisamos frameworks éticos, regulação thoughtful, e participação democrática em desenvolvimento dessas tecnologias.
A questão fundamental permanece: máquinas realmente "compreendem" linguagem ou apenas simulam compreensão convincentemente? Conforme modelos tornam-se mais sofisticados, distinção torna-se mais nebulosa. Se um sistema exibe todos comportamentos observáveis de compreensão, qual base temos para negar que compreende? Essas questões transcendem tecnologia, tocando filosofia da mente e natureza da consciência.
PLN pode catalizar emergência de linguagem universal — não substituindo línguas naturais, mas servindo como ponte. Tradução instantânea perfeita remove barreiras linguísticas. Representações semânticas interlinguais capturam significado independente de língua. Isso pode acelerar colaboração global, disseminação de conhecimento, e compreensão mútua.
Estamos testemunhando o nascimento de nova forma de inteligência — não biológica mas linguística, não consciente (talvez) mas incrivelmente capaz. O futuro do PLN não é apenas sobre melhores chatbots ou tradutores. É sobre redefinir comunicação, conhecimento, e talvez consciência. É sobre criar parceiros cognitivos que amplificam capacidades humanas de formas hoje inimagináveis.
O futuro da comunicação homem-máquina promete maravilhas e perigos em igual medida. Tecnologias que hoje parecem mágicas tornar-se-ão mundanas, enquanto capacidades hoje inimagináveis emergirão. Nossa responsabilidade é guiar esse desenvolvimento com sabedoria, garantindo que essas ferramentas poderosas sirvam humanidade, amplifiquem nosso potencial, e preservem o que nos torna únicos. A jornada do PLN apenas começou, e os próximos capítulos serão escritos não apenas por máquinas que compreendem linguagem, mas por uma parceria sem precedentes entre inteligência humana e artificial, comunicando-se em harmonia para enfrentar os desafios do futuro!
Este volume sobre Processamento de Linguagem Natural foi construído sobre décadas de pesquisa interdisciplinar combinando matemática, ciência da computação, linguística e ciências cognitivas. As referências abrangem desde trabalhos fundamentais em teoria da informação e linguagens formais até desenvolvimentos recentes em aprendizado profundo e modelos de linguagem de grande escala. Esta bibliografia oferece recursos para aprofundamento em cada aspecto do PLN, desde fundamentos teóricos até aplicações práticas e considerações éticas.
ALLEN, James. Natural Language Understanding. 2nd ed. Redwood City: Benjamin/Cummings, 1995.
BENGIO, Yoshua; DUCHARME, Réjean; VINCENT, Pascal. A Neural Probabilistic Language Model. Journal of Machine Learning Research, v. 3, p. 1137-1155, 2003.
BIRD, Steven; KLEIN, Ewan; LOPER, Edward. Natural Language Processing with Python. Sebastopol: O'Reilly Media, 2009.
BLUNSOM, Phil. Natural Language Processing. Oxford: University of Oxford, 2019. Lecture Notes.
BRASIL. Base Nacional Comum Curricular: Educação é a Base. Brasília: MEC/CONSED/UNDIME, 2018.
BROWN, Tom et al. Language Models are Few-Shot Learners. In: Advances in Neural Information Processing Systems, 2020.
CHOMSKY, Noam. Syntactic Structures. The Hague: Mouton, 1957.
CHURCH, Kenneth Ward; MERCER, Robert L. Introduction to the Special Issue on Computational Linguistics Using Large Corpora. Computational Linguistics, v. 19, n. 1, p. 1-24, 1993.
COLLOBERT, Ronan et al. Natural Language Processing (Almost) from Scratch. Journal of Machine Learning Research, v. 12, p. 2493-2537, 2011.
DEVLIN, Jacob et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In: Proceedings of NAACL-HLT, 2019.
EISENSTEIN, Jacob. Introduction to Natural Language Processing. Cambridge: MIT Press, 2019.
FIRTH, John Rupert. A Synopsis of Linguistic Theory 1930-1955. In: Studies in Linguistic Analysis. Oxford: Blackwell, 1957.
GOLDBERG, Yoav. Neural Network Methods for Natural Language Processing. San Rafael: Morgan & Claypool, 2017.
GOODFELLOW, Ian; BENGIO, Yoshua; COURVILLE, Aaron. Deep Learning. Cambridge: MIT Press, 2016.
HARRIS, Zellig S. Distributional Structure. Word, v. 10, n. 2-3, p. 146-162, 1954.
HOCHREITER, Sepp; SCHMIDHUBER, Jürgen. Long Short-Term Memory. Neural Computation, v. 9, n. 8, p. 1735-1780, 1997.
JURAFSKY, Daniel; MARTIN, James H. Speech and Language Processing. 3rd ed. draft. Stanford: Pearson, 2023.
KNESER, Reinhard; NEY, Hermann. Improved Backing-off for M-gram Language Modeling. In: Proceedings of ICASSP, 1995.
KOEHN, Philipp. Statistical Machine Translation. Cambridge: Cambridge University Press, 2010.
LAFFERTY, John; McCALLUM, Andrew; PEREIRA, Fernando. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. In: Proceedings of ICML, 2001.
LECUN, Yann; BENGIO, Yoshua; HINTON, Geoffrey. Deep Learning. Nature, v. 521, p. 436-444, 2015.
MANNING, Christopher D.; SCHÜTZE, Hinrich. Foundations of Statistical Natural Language Processing. Cambridge: MIT Press, 1999.
MARCUS, Mitchell P.; SANTORINI, Beatrice; MARCINKIEWICZ, Mary Ann. Building a Large Annotated Corpus of English: The Penn Treebank. Computational Linguistics, v. 19, n. 2, p. 313-330, 1993.
MIKOLOV, Tomas et al. Efficient Estimation of Word Representations in Vector Space. In: Proceedings of ICLR Workshop, 2013.
MIKOLOV, Tomas et al. Distributed Representations of Words and Phrases and their Compositionality. In: Advances in Neural Information Processing Systems, 2013.
MILLER, George A. WordNet: A Lexical Database for English. Communications of the ACM, v. 38, n. 11, p. 39-41, 1995.
MITCHELL, Tom M. Machine Learning. New York: McGraw-Hill, 1997.
MOREIRA, João Carlos. Fundamentos Matemáticos para Ciência da Computação. Uberlândia: EDUFU, 2019.
NORVIG, Peter. How to Write a Spelling Corrector. 2007. Disponível em: http://norvig.com/spell-correct.html
OUYANG, Long et al. Training Language Models to Follow Instructions with Human Feedback. In: Advances in Neural Information Processing Systems, 2022.
PENNINGTON, Jeffrey; SOCHER, Richard; MANNING, Christopher. GloVe: Global Vectors for Word Representation. In: Proceedings of EMNLP, 2014.
PETERS, Matthew E. et al. Deep Contextualized Word Representations. In: Proceedings of NAACL-HLT, 2018.
PUSTEJOVSKY, James; STUBBS, Amber. Natural Language Annotation for Machine Learning. Sebastopol: O'Reilly Media, 2012.
RADFORD, Alec et al. Language Models are Unsupervised Multitask Learners. OpenAI Blog, 2019.
RAFFEL, Colin et al. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. Journal of Machine Learning Research, v. 21, p. 1-67, 2020.
RUSSELL, Stuart; NORVIG, Peter. Artificial Intelligence: A Modern Approach. 4th ed. Boston: Pearson, 2020.
SCHUSTER, Mike; NAKAJIMA, Kaisuke. Japanese and Korean Voice Search. In: Proceedings of ICASSP, 2012.
SENNRICH, Rico; HADDOW, Barry; BIRCH, Alexandra. Neural Machine Translation of Rare Words with Subword Units. In: Proceedings of ACL, 2016.
SHANNON, Claude E. A Mathematical Theory of Communication. Bell System Technical Journal, v. 27, p. 379-423, 623-656, 1948.
SILVA, João Carlos da. Processamento de Linguagem Natural: Conceitos e Aplicações. São Paulo: Novatec, 2021.
SOCHER, Richard et al. Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank. In: Proceedings of EMNLP, 2013.
SUTSKEVER, Ilya; VINYALS, Oriol; LE, Quoc V. Sequence to Sequence Learning with Neural Networks. In: Advances in Neural Information Processing Systems, 2014.
TURING, Alan M. Computing Machinery and Intelligence. Mind, v. 59, n. 236, p. 433-460, 1950.
VASWANI, Ashish et al. Attention Is All You Need. In: Advances in Neural Information Processing Systems, 2017.
VITERBI, Andrew J. Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm. IEEE Transactions on Information Theory, v. 13, n. 2, p. 260-269, 1967.
WEI, Jason et al. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. In: Advances in Neural Information Processing Systems, 2022.
WINOGRAD, Terry. Understanding Natural Language. Cognitive Psychology, v. 3, n. 1, p. 1-191, 1972.
WOLF, Thomas et al. Transformers: State-of-the-Art Natural Language Processing. In: Proceedings of EMNLP: System Demonstrations, 2020.
YANG, Zhilin et al. XLNet: Generalized Autoregressive Pretraining for Language Understanding. In: Advances in Neural Information Processing Systems, 2019.
YOUNG, Tom et al. Recent Trends in Deep Learning Based Natural Language Processing. IEEE Computational Intelligence Magazine, v. 13, n. 3, p. 55-75, 2018.
ZHANG, Yizhe et al. DIALOGPT: Large-Scale Generative Pre-training for Conversational Response Generation. In: Proceedings of ACL: System Demonstrations, 2020.
ZIPF, George Kingsley. Human Behavior and the Principle of Least Effort. Cambridge: Addison-Wesley Press, 1949.