Análise de texto estatístico.
Observação
Consulte a guia Texto e imagens para obter mais detalhes!
Tendo dividido um corpus de texto em seus tokens constituintes e preparado para análise; há algumas técnicas de análise estatística comuns que você pode usar para inferir o significado do texto.
Análise de Frequência
Talvez a maneira mais óbvia de verificar os tópicos discutidos em um documento seja simplesmente contar o número de vezes que cada token normalizado aparece. A suposição é que os termos usados com mais frequência no documento podem ajudar a identificar os assuntos ou temas discutidos. Simplificando, se você puder determinar as palavras mais usadas em um determinado documento, muitas vezes você poderá ter uma boa ideia do que se trata o documento.
Por exemplo, considere o seguinte texto:
AI in modern business delivers transformative benefits by enhancing efficiency, decision-making, and customer experiences. Businesses can leverage AI to automate repetitive tasks, freeing employees to focus on strategic work, while predictive analytics and machine learning models enable data-driven decisions that improve accuracy and speed. AI-powered tools like Copilot streamline workflows across marketing, finance, and operations, reducing costs and boosting productivity. Additionally, intelligent applications personalize customer interactions, driving engagement and loyalty. By embedding AI into core processes, businesses benefit from the ability to innovate faster, adapt to market changes, and maintain a competitive edge in an increasingly digital economy.
Depois de tokenizar, normalizar e aplicar a lematização ao texto, a frequência de cada termo pode ser contada e tabulada; produzindo os seguintes resultados parciais:
| Prazo | Frequência |
|---|---|
ai |
4 |
business |
3 |
benefit |
2 |
customer |
2 |
decision |
2 |
market |
2 |
ability |
1 |
accuracy |
1 |
| ... | ... |
A partir desses resultados, os termos que ocorrem com mais frequência indicam que o texto discute a IA e seus benefícios comerciais.
TF/IDF - frequência de termo/frequência de documento inverso (TF-IDF)
A análise de frequência simples na qual você conta o número de ocorrências de cada token pode ser uma maneira eficaz de analisar um único documento, mas quando você precisa diferenciar vários documentos dentro do mesmo corpus, você precisa de uma maneira de determinar quais tokens são mais relevantes em cada documento individual.
Por exemplo, considere os dois exemplos de texto a seguir:
Exemplo A:
Microsoft Copilot Studio enables declarative AI agent creation using natural language, prompts, and templates. With this declarative approach, an AI agent is configured rather than programmed: makers define intents, actions, and data connections, then publish the agent to channels. Microsoft Copilot Studio simplifies agent orchestration, governance, and lifecycles so an AI agent can be iterated quickly. Using Microsoft Copilot Studio helps modern businesses deploy Microsoft AI agent solutions fast.
Exemplo B:
Microsoft Foundry enables code‑based AI agent development with SDKs and APIs. Developers write code to implement agent conversations, tool calling, state management, and custom pipelines. In Microsoft Foundry, engineers can use Python or Microsoft C#, integrate Microsoft AI services, and manage CI/CD to deploy the AI agent. This code-first development model supports extensibility and performance while building Microsoft Foundry AI agent applications.
Os três principais termos mais frequentes nestes exemplos são mostrados nas seguintes tabelas:
Exemplo A:
| Prazo | Frequência |
|---|---|
agent |
6 |
ai |
4 |
microsoft |
4 |
Exemplo B:
| Prazo | Frequência |
|---|---|
microsoft |
5 |
agent |
4 |
ai |
4 |
Como você pode ver nos resultados, as palavras mais comuns em ambos os exemplos são as mesmas ("agent"e "Microsoft""AI"). Isso nos diz que ambos os documentos abordam um tema geral semelhante, mas não nos ajuda a discriminar entre os documentos individuais. Examinar as contagens de termos usados com menos frequência pode ajudar, mas você pode facilmente imaginar uma análise de um corpus com base na documentação de IA da Microsoft, o que resultaria em um grande número de termos que são comuns em todos os documentos; dificultando a determinação dos tópicos específicos abordados em cada documento.
Para resolver esse problema, Frequência de Termos – Frequência inversa de Documentos (TF-IDF) é uma técnica que calcula pontuações com base na frequência com que uma palavra ou termo aparece em um documento em comparação com sua frequência mais geral em toda a coleção de documentos. Usando essa técnica, um alto grau de relevância é considerado para palavras que aparecem com frequência em um documento específico, mas relativamente pouco frequentes em uma ampla gama de outros documentos. Para calcular TF-IDF para termos em um documento individual, você pode usar o seguinte processo de três etapas:
Calcular frequência de termo (TF): trata-se simplesmente de quantas vezes uma palavra aparece em um documento. Por exemplo, se a palavra
"agent"aparecer 6 vezes em um documento, entãotf(agent) = 6.Calcular a frequência inversa de documentos (IDF): isso verifica o quão comum ou rara é uma palavra em todos os documentos. Se uma palavra aparecer em cada documento, ela não será especial. A fórmula usada para calcular o IDF é
idf(t) = log(N / df(t))(ondeNestá o número total de documentos edf(t)é o número de documentos que contêm a palavrat)Combine-os para calcular TF-IDF: multiplique TF e IDF para obter a pontuação:
tfidf(t, d) = tf(t, d) * log(N / df(t))
Uma pontuação TF-IDF alta indica que uma palavra aparece frequentemente em um documento, mas raramente em outros. Uma pontuação baixa indica que a palavra é comum em muitos documentos. Em dois exemplos sobre agentes de IA, porque "AI", "Microsoft"e "agent" aparecem em ambas as amostras (N = 2, df(t) = 2), seu IDF é log(2/2) = 0, portanto, eles não carregam nenhum peso discriminatório no TF-IDF. Os três principais resultados TF-IDF para os exemplos são:
Exemplo A:
| Prazo | TF-IDF |
|---|---|
copilot |
2.0794 |
studio |
2.0794 |
declarative |
1.3863 |
Exemplo B:
| Prazo | TF-IDF |
|---|---|
code |
2.0794 |
develop |
2.0794 |
foundry |
2.0794 |
Nesses resultados, é mais claro que o exemplo A é sobre a criação de agente declarativo com o Copilot Studio, enquanto o exemplo B é sobre o desenvolvimento de agente baseado em código com o Microsoft Foundry.
Técnicas de aprendizado de máquina "saco de palavras"
Recipiente de palavras é o nome dado a uma técnica de extração de recursos que representa tokens de texto como um vetor de frequências ou ocorrências de palavras, ignorando a gramática e a ordem das palavras. Essa representação torna-se a entrada para algoritmos de aprendizado de máquina como Naive Bayes, um classificador probabilístico que aplica o teorema de Bayes para prever a classe provável de um documento com base na frequência de palavras.
Por exemplo, você pode usar essa técnica para treinar um modelo de machine learning que executa a filtragem de spam por email. As palavras "miracle cure", "lose weight fast"e "anti-envelhecimento", podem aparecer com mais frequência em emails de spam sobre produtos de saúde duvidosos do que seus e-mails regulares, e um modelo treinado pode sinalizar mensagens contendo essas palavras como spam em potencial.
Você pode implementar a análise de sentimento usando o mesmo método para classificar o texto por tom emocional. O pacote de palavras fornece os recursos e o modelo usa esses recursos para estimar probabilidades e atribuir rótulos de sentimento como "positivo" ou "negativo".
TextRank
TextRank é um algoritmo baseado em gráfico não supervisionado que modela o texto como uma rede de nós interconectados. Por exemplo, cada frase em um documento pode ser considerada um nó e as conexões (bordas) entre elas são pontuadas com base na similaridade das palavras que contêm. TextRank é comumente usado para resumir texto com base na identificação de um subconjunto de frases em um documento que melhor represente seu assunto geral.
O algoritmo TextRank aplica o mesmo princípio que o algoritmo PageRank do Google (que classifica páginas da Web com base em links entre elas) ao texto. A ideia principal é que uma frase é importante se for semelhante a muitas outras frases importantes. O algoritmo funciona pelas seguintes etapas:
Crie um grafo: cada frase se torna um nó, e as bordas que as conectam são ponderadas pela similaridade (geralmente medida usando sobreposição de palavras ou similaridade de cosseno entre vetores de frase).
Calcular classificações iterativamente: a pontuação de cada nó é calculada com base nas pontuações dos nós conectados a ele. A fórmula é:
TextRank(Sᵢ) = (1-d) + d * Σ(wⱼᵢ / Σwⱼₖ) * TextRank(Sⱼ)(ondedé um fator de amortecimento, normalmente 0,85,wⱼᵢé o peso da borda da frasejpara a frasei, e a soma é realizada sobre todas as frases conectadas ai).Extraia as frases mais bem classificadas: após a convergência, as frases com as pontuações mais altas são selecionadas como o resumo.
Por exemplo, considere o seguinte documento sobre computação em nuvem:
Cloud computing provides on-demand access to computing resources. Computing resources include servers, storage, and networking. Azure is Microsoft's cloud computing platform. Organizations use cloud platforms to reduce infrastructure costs. Cloud computing enables scalability and flexibility.
Para gerar um resumo deste documento, o processo TextRank começa dividindo este documento em frases:
Cloud computing provides on-demand access to computing resources.Computing resources include servers, storage, and networking.Azure is Microsoft's cloud computing platform.Organizations use cloud platforms to reduce infrastructure costs.Cloud computing enables scalability and flexibility.
Em seguida, as bordas são criadas entre frases com pesos baseados na similaridade (sobreposição de palavras). Para este exemplo, os pesos de borda podem ser:
- Frase 1 <-> Frase 2: 0,5 (compartilhamentos
"computing resources") - Sentença 1 <-> Sentença 3: 0,6 (compartilhamentos
"cloud computing") - Sentença 1 <-> Sentença 4: 0,2 (compartilhamentos
"cloud") - Sentença 1 <-> Sentença 5: 0,7 (compartilhamentos
"cloud computing") - Sentença 2 <-> Sentença 3: 0.2 (sobreposição limitada)
- Sentença 2 <-> Sentença 4: 0.1 (sobreposição limitada)
- Sentença 2 <-> Sentença 5: 0,1 (compartilhamentos
"computing") - Sentença 3 <-> Sentença 4: 0,5 (compartilhamentos
"cloud platforms") - Sentença 3 <-> Sentença 5: 0,4 (compartilhamentos
"cloud computing") - Sentença 4 <-> Sentença 5: 0.3 (sobreposição limitada)
Depois de calcular iterativamente as pontuações do TextRank usando esses pesos, as frases 1, 3 e 5 podem receber as pontuações mais altas, pois se conectam bem a outras frases através de terminologia e conceitos compartilhados. Essas frases seriam selecionadas para formar um resumo conciso: "Cloud computing provides on-demand access to computing resources. Azure is Microsoft's cloud computing platform. Cloud computing enables scalability and flexibility."
Observação
Gerar um resumo do documento selecionando as frases mais relevantes é uma forma de resumo extrativo . Nessa abordagem, nenhum novo texto é gerado – o resumo consiste em um subconjunto do texto original. Desenvolvimentos mais recentes na modelagem semântica também permitem resumo abstrativo , no qual uma nova linguagem que resume os principais temas do documento de origem é gerada.
TextRank também pode ser aplicado no nível da palavra para extração de palavras-chave, em que palavras (em vez de frases) se tornam nós e as bordas representam a co-ocorrência dentro de uma janela fixa. As palavras mais bem classificadas são extraídas como termos-chave que representam os principais tópicos do documento.