Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O Zerank-1 é um modelo avançado de reranker desenvolvido pela ZeroEntropy. Ele desempenha um papel fundamental como um "segundo filtro" nos sistemas de recuperação de informações ou de busca semântica. Primeiro, um sistema de recuperação inicial (por exemplo, uma pesquisa vetorial) identifica rapidamente um conjunto de conteúdo potencialmente relevante em uma grande biblioteca de documentos. Em seguida, o Zerank-1 analisa e classifica novamente essa seleção inicial para produzir uma lista de resultados mais precisos e mais alinhados com a intenção da consulta do usuário. A principal vantagem desse modelo é que ele processa tanto a consulta do usuário quanto os documentos individuais, capturando assim as associações semânticas mais profundas e sutis entre os dois. Com base em dados de referência disponíveis publicamente, o Zerank-1 supera modelos semelhantes em várias áreas, melhorando significativamente a precisão do sistema de pesquisa.

Lista de funções

  • Cálculo da pontuação de relevânciaModelo de pontuação: O modelo recebe como entrada um par "consulta-documento" e gera uma pontuação que representa a relevância do documento para a consulta.
  • Reordenação dos resultadosPesquisa por palavra-chave: Após uma pesquisa inicial (por exemplo, pesquisa por vetor ou palavra-chave), o modelo é usado para realizar uma classificação secundária dos documentos candidatos, colocando os documentos mais relevantes no topo.
  • Melhorar a precisão da pesquisaMelhorar a qualidade das informações fornecidas ao usuário ou ao Modelo de Linguagem Ampla (LLM), filtrando itens potencialmente perturbadores ou conteúdo menos relevante da pesquisa inicial por meio de classificação refinada.
  • Aplicabilidade transversalDesempenho excelente em uma ampla gama de campos profissionais, incluindo finanças, direito, medicina, código e diálogo.
  • Suporte ao sistema RAGO que é: A precisão e a relevância do conteúdo gerado por grandes modelos de linguagem podem ser significativamente aprimoradas com o fornecimento de informações contextuais mais precisas no processo RAG (Retrieval Augmented Generation).

Usando a Ajuda

O que é Reranking?

Antes de descrever como o Zerank-1 é usado, é importante entender onde ele se encaixa no processo geral de busca. Um sistema de pesquisa inteligente moderno geralmente é dividido em dois estágios:

  1. Recall/Retrieval (Recuperação)Pesquisa de documentos: este é o primeiro estágio. O sistema usa um método rápido e eficiente (por exemplo, o algoritmo BM25 baseado em palavras-chave ou a pesquisa de similaridade baseada em vetores) para encontrar rapidamente centenas ou milhares de documentos de um grande banco de dados que possam ser relevantes para a consulta do usuário. O objetivo dessa fase é "matar mil antes de perder um" e garantir que o maior número possível de documentos relevantes seja incluído, portanto, a velocidade é a principal preocupação.
  2. Reranking:: Esta é a segunda fase. Como a primeira fase busca velocidade e amplitude, a precisão dos resultados pode não ser alta o suficiente. Um modelo de reordenação (por exemplo, Zerank-1) entra em ação nesse ponto. Ele avalia os documentos recuperados na primeira fase, um a um, de forma refinada, calcula a pontuação de relevância precisa de cada documento para a consulta e, em seguida, os classifica novamente de acordo com essa pontuação. Essa abordagem é mais intensiva em termos de computação e mais lenta, porém mais precisa.

O Zerank-1 é um modelo de codificador cruzado dedicado ao segundo estágio.

Como usar o Zerank-1 em Python

via Hugging Face sentence-transformers é muito fácil usar o Zerank-1 em seus projetos.

Etapa 1: Instale as bibliotecas necessárias

Se ainda não o tiver instalado em seu ambiente sentence-transformers responder cantando torchIsso pode ser feito por meio do pip Realize a instalação.

pip install -U sentence-transformers torch

Etapa 2: Carregar o modelo

fazer uso de CrossEncoder Classes carregadas do Hugging Face Hub zeroentropy/zerank-1 Modelos. Na primeira vez que você executar o programa, ele baixará automaticamente os arquivos de modelo para o cache local.

from sentence_transformers import CrossEncoder
# 加载模型,trust_remote_code=True 是必须的
model = CrossEncoder("zeroentropy/zerank-1", trust_remote_code=True)

Etapa 3: Preparar consultas e documentos

Você precisa preparar uma consulta e um conjunto de documentos a serem classificados. O formato dos dados é uma lista de tuplas, cada uma das quais é um (查询, 文档) A forma do

Por exemplo, suponha que você tenha uma consulta e vários documentos recuperados no primeiro estágio:

query = "全球变暖的主要原因是什么?"
documents = [
"太阳活动周期的变化是地球气候波动的一个自然因素。",
"根据IPCC的报告,人类活动,特别是温室气体排放,是自20世纪中期以来观测到的全球变暖的主要驱动力。",
"火山爆发会向大气中释放气溶胶,短期内可能导致地球表面温度下降。",
"燃烧化石燃料(如煤、石油和天然气)为交通和电力生产提供能源,会释放大量的二氧化碳。"
]

Etapa 4: Faça previsões e obtenha pontuações

Combine a consulta e o documento no formato de entrada exigido pelo modelo e, em seguida, chame a função model.predict() Métodos.

# 按照 (查询, 文档) 的格式创建输入对
query_document_pairs = [(query, doc) for doc in documents]
# 使用模型预测相关性得分
scores = model.predict(query_document_pairs)
print("各文档的相关性得分:", scores)

O resultado será uma matriz NumPy, em que cada valor corresponde à pontuação de relevância de um par de entrada. Uma pontuação mais alta significa que o documento é semanticamente mais relevante para a consulta.

Etapa 5: Classifique de acordo com as pontuações

Agora você pode mapear as pontuações para o documento original e classificar as pontuações da mais alta para a mais baixa para obter a lista final de resultados exatos.

import numpy as np
# 将分数和文档打包
scored_documents = list(zip(scores, documents))
# 按分数降序排序
sorted_documents = sorted(scored_documents, key=lambda x: x[0], reverse=True)
# 打印排序后的结果
print("重排序后的结果:")
for score, doc in sorted_documents:
print(f"得分: {score:.4f} - 文档: {doc}")

Depois de executar o código acima, você verá que os documentos mais relevantes relacionados às "principais causas do aquecimento global" estão no topo da lista, que é exatamente como o modelo de reordenação funciona.

cenário do aplicativo

  1. Pesquisa semântica de classe empresarial
    O zerank-1 pode ser implantado após as buscas primárias (por exemplo, buscas no Elasticsearch ou em vetores) para reordenar os 100 primeiros resultados retornados e garantir que os 10 primeiros resultados sejam os que os usuários mais desejam ver, melhorando consideravelmente a experiência e a eficiência da busca.
  2. Geração de aumento de recuperação (RAG)
    Nos aplicativos RAG, a qualidade de um Modelo de Linguagem Ampla (LLM) que responde a uma pergunta depende diretamente da qualidade das informações contextuais fornecidas a ele. A reordenação dos fragmentos de documentos recuperados usando o Zerank-1 antes de alimentá-los no LLM filtra informações irrelevantes ou ruidosas e retém apenas o contexto mais relevante para a pergunta, permitindo que o LLM gere respostas mais precisas e factuais.
  3. Sistema inteligente de perguntas e respostas (Q&A)
    No atendimento automatizado ao cliente, no suporte técnico e em outros cenários de perguntas e respostas, o sistema precisa encontrar o parágrafo que melhor responda à pergunta do usuário a partir de um grande número de documentos de perguntas frequentes, manuais de produtos etc. O Zerank-1 pode calcular com precisão o grau de correspondência entre cada parágrafo candidato e a pergunta do usuário, de modo a localizar a resposta mais precisa e melhorar a taxa de solução de problemas.
  4. Desduplicação de documentos ou códigos
    Ao trabalhar com grandes coleções de documentos ou bases de códigos, é possível encontrar um grande número de conteúdos textuais semanticamente repetitivos, mas não idênticos. Ao tratar um documento como uma "consulta" e outros documentos como "itens a serem comparados", o Zerank-1 pode ser usado para computar as pontuações de correlação entre eles, identificando e agrupando de forma eficaz documentos ou trechos de código com conteúdo semelhante.

QA

  1. Qual é a diferença entre o Zerank-1 e um modelo de incorporação normal?
    Os modelos de incorporação comuns (também chamados de Bi-Encoder) geram um vetor (ou seja, uma incorporação) para a consulta e o documento de forma independente e, em seguida, determinam a relevância calculando a semelhança de cosseno desses dois vetores. O Zerank-1, por outro lado, como um Cross-Encoder, processa tanto a consulta quanto o documento, o que permite capturar interações e relações semânticas mais complexas entre os dois e, portanto, normalmente tem uma precisão de classificação mais alta, mas com um aumento correspondente no custo computacional.
  2. O Zerank-1 é gratuito?
    zeroentropy/zerank-1 O modelo em si está disponível no Hugging Face com uma restrição de licença para seu uso. Ele está licenciado sob uma licença não comercial. Se for necessário para fins comerciais, será preciso entrar em contato diretamente com a ZeroEntropy para obter uma licença. No entanto, eles também oferecem uma versão um pouco menor, totalmente de código aberto (licença Apache 2.0) zeroentropy/zerank-1-smalldisponível para uso comercial gratuito.
  3. Que tipo de hardware é necessário para usar o Zerank-1?
    Como um modelo de aprendizagem profunda, o uso da GPU acelera consideravelmente o cálculo, especialmente quando ele precisa lidar com a classificação de um grande número de documentos. No entanto, ele também pode ser executado na CPU quando a quantidade de dados não for muito grande, mas será mais lento. As necessidades exatas dependem do cenário de seu aplicativo e dos requisitos de desempenho.
  4. Qual é o intervalo de pontuações gerado pelo modelo?
    A saída do modelo é um número de ponto flutuante que representa a correlação. A pontuação em si não tem limite superior ou inferior fixo; é um valor relativo. Ao classificar um lote de documentos, você só precisa comparar o quanto suas respectivas pontuações são altas ou baixas; quanto maior a pontuação, mais relevante é o documento.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil