Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Semantic Chunking

A divisão semântica em segmentos separa documentos nos pontos em que o tema muda, medindo a semelhança entre embeddings de frases adjacentes, para que cada segmento contenha uma ideia.

O agrupamento semântico divide documentos em segmentos para geração aumentada por recuperação (RAG) e busca nos pontos em que o tópico muda, identificados pela comparação dos embeddings de frases adjacentes, em vez de dividir a cada número fixo de caracteres ou tokens. Cada segmento trata então de uma ideia, de modo que seu único vetor no banco de dados vetorial represente bem essa ideia, e um segmento recuperado forneça ao modelo de linguagem grande (LLM) um pensamento completo, em vez do fim de uma seção e do início da seguinte.

Como funciona o agrupamento semântico#

O algoritmo comum, popularizado pelos tutoriais de divisão de texto de Greg Kamradt e implementado como SemanticChunker no LangChain, tem quatro etapas. O texto é dividido em frases e cada frase, geralmente agrupada com as vizinhas para suavizar o ruído, recebe um embedding. A similaridade de cosseno entre cada par de frases consecutivas é convertida em uma distância. Um limiar marca pontos de divisão onde a distância é excepcionalmente alta: por padrão, o LangChain usa o percentil 95 de todas as distâncias do documento e também oferece limiares de desvio padrão, intervalo interquartil e gradiente. As frases entre os pontos de divisão formam um segmento. O separador semântico do LlamaIndex usa o mesmo ponto de divisão baseado em percentil.

import numpy as np
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
sentences = [
    "The XR-12 coolant pump circulates water through the press line.",
    "Inspect the XR-12 pump seals for leaks every week.",
    "A worn pump bearing grinds loudly before it fails.",
    "The staff cafeteria now opens for breakfast at 7:00.",
    "The cafeteria menu adds vegetarian lunches in May.",
]

# Distância de cosseno entre cada frase e a seguinte
embeddings = model.encode(sentences, normalize_embeddings=True)
distances = 1 - np.sum(embeddings[:-1] * embeddings[1:], axis=1)

# Iniciar um novo segmento quando a distância ultrapassar o percentil 95
threshold = np.percentile(distances, 95)
chunks = [[sentences[0]]]
for sentence, distance in zip(sentences[1:], distances):
    if distance > threshold:
        chunks.append([])
    chunks[-1].append(sentence)
print(np.round(distances, 2))
print(*[" ".join(chunk) for chunk in chunks], sep="\n")

As distâncias entre frases vizinhas são 0,56, 0,64, 0,98 e 0,62; assim, o único ponto de divisão ocorre no salto de 0,98, entre o rolamento da bomba e a cafeteria, e a saída é um segmento de três frases sobre a bomba XR-12 e outro de duas frases sobre a cafeteria.

Comparação de estratégias de agrupamento#

  • Agrupamento de tamanho fixo: Divide a cada N tokens, normalmente com alguma sobreposição entre segmentos vizinhos. É rápido e previsível, mas ignora os limites entre tópicos.
  • Divisão recursiva: Divide nas quebras de parágrafo, depois nas quebras de linha e, em seguida, nas frases, até que cada parte caiba em um limite de tamanho. O LangChain recomenda seu divisor recursivo de caracteres para textos genéricos.
  • Divisão sensível à estrutura: Segue títulos, seções Markdown, elementos HTML ou o layout de página de um PDF.
  • Agrupamento semântico: Segue as mudanças de significado, mas exige criar embeddings de cada frase durante a indexação e produz segmentos de tamanhos muito variados; por isso, as implementações acrescentam comprimentos mínimo e máximo.
  • Agrupamento tardio e recuperação contextual: Resolvem o problema de um segmento sem contexto do restante do documento, como um pronome cujo referente está em um segmento anterior, e podem ser combinados com qualquer um dos métodos de delimitação acima.

O agrupamento de ações em robótica só compartilha o nome: nesse caso, uma política prevê uma sequência de comandos motores futuros como uma unidade.

Agrupamento semântico além do texto#

As transcrições de sistemas de fala para texto não têm quebras de parágrafo; por isso, os pontos de divisão baseados em embeddings são uma forma comum de detectar quando uma reunião ou podcast muda de assunto. Também é possível agrupar vídeos por conteúdo, de modo que cada clipe mostre um evento para compreensão de vídeo ou RAG multimodal, em vez de um trecho arbitrário de 10 segundos. O Ultralytics YOLO26 fornece esses limites para cenas com pessoas e veículos: o modo de rastreamento atribui a cada objeto detectado um ID persistente entre quadros, permitindo que um pipeline abra um clipe quando um novo ID entra na cena e o feche quando todos os IDs rastreados saem.

O agrupamento semântico melhora a recuperação?#

Os limites baseados em tópicos são mais importantes quando assuntos não relacionados aparecem lado a lado sem títulos, como em transcrições, páginas da web extraídas e notas concatenadas. Os segmentos semânticos também dependem do modelo de embedding e do limiar; por isso, o mesmo documento é segmentado de outra forma se qualquer um deles mudar, e ambos devem ser ajustados com base na revocação em consultas reais. O estudo O agrupamento semântico vale o custo computacional? (2024) comparou o agrupamento semântico e o de tamanho fixo na recuperação de documentos e evidências, bem como na geração de respostas baseada em recuperação, e constatou que o custo computacional adicional do agrupamento semântico não trouxe ganhos consistentes em relação aos segmentos de tamanho fixo.

Explore solutions

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina