Papel | Instalação | Exemplo rápido | Conjuntos de dados | Wiki | Abraçando o rosto
Beir é uma referência heterogênea contendo diversas tarefas de RI. Ele também fornece uma estrutura comum e fácil para avaliar seus modelos de recuperação baseados em PNL dentro da referência.
Para uma visão geral , consulte nossa nova página wiki : https://github.com/beir-cellar/beir/wiki.
Para modelos e conjuntos de dados , consulte a página Hugging Face (HF) : https://huggingface.co/beir.
Para o LIFERBOND , consulte a página Eval ai : https://eval.ai/web/challenges/challenge-page/1897.
Para mais informações, consulte nossas publicações:
Instale via PIP:
pip install beir
Se você deseja construir a partir da fonte, use:
$ git clone https : // github . com / beir - cellar / beir . git
$ cd beir
$ pip install - e .
Testado com as versões Python 3.6 e 3.7
Para outros códigos de exemplo, consulte nossos exemplos e tutoriais da página wiki.
from beir import util , LoggingHandler
from beir . retrieval import models
from beir . datasets . data_loader import GenericDataLoader
from beir . retrieval . evaluation import EvaluateRetrieval
from beir . retrieval . search . dense import DenseRetrievalExactSearch as DRES
import logging
import pathlib , os
#### Just some code to print debug information to stdout
logging . basicConfig ( format = '%(asctime)s - %(message)s' ,
datefmt = '%Y-%m-%d %H:%M:%S' ,
level = logging . INFO ,
handlers = [ LoggingHandler ()])
#### /print debug information to stdout
#### Download scifact.zip dataset and unzip the dataset
dataset = "scifact"
url = "https://public.ukp.informatik.tu-darmstadt.de/thakur/BEIR/datasets/{}.zip" . format ( dataset )
out_dir = os . path . join ( pathlib . Path ( __file__ ). parent . absolute (), "datasets" )
data_path = util . download_and_unzip ( url , out_dir )
#### Provide the data_path where scifact has been downloaded and unzipped
corpus , queries , qrels = GenericDataLoader ( data_folder = data_path ). load ( split = "test" )
#### Load the SBERT model and retrieve using cosine-similarity
model = DRES ( models . SentenceBERT ( "msmarco-distilbert-base-tas-b" ), batch_size = 16 )
retriever = EvaluateRetrieval ( model , score_function = "dot" ) # or "cos_sim" for cosine similarity
results = retriever . retrieve ( corpus , queries )
#### Evaluate your model with NDCG@k, MAP@K, Recall@K and Precision@K where k = [1,3,5,10,100,1000]
ndcg , _map , recall , precision = retriever . evaluate ( qrels , results , retriever . k_values )
Comando para gerar md5hash usando o terminal: md5sum filename.zip
.
Você pode visualizar todos os conjuntos de dados disponíveis aqui ou no rosto de abraçar .
Conjunto de dados | Site | Beir-name | Público? | Tipo | Perguntas | Corpus | Rel d/q | Download | MD5 |
---|---|---|---|---|---|---|---|---|---|
Msmarco | Página inicial | msmarco | ✅ | train dev test | 6.980 | 8,84m | 1.1 | Link | 444067daf65d982533ea17ebd59501e4 |
Trec-covid | Página inicial | trec-covid | ✅ | test | 50 | 171k | 493.5 | Link | ce62140cb23feb9becf6270d0d1fe6d1 |
Nfcorpus | Página inicial | nfcorpus | ✅ | train dev test | 323 | 3.6k | 38.2 | Link | a89dba18a62ef92f7d323ec890a0d38d |
Bioasq | Página inicial | bioasq | train test | 500 | 14,91m | 4.7 | Não | Como reproduzir? | |
Nq | Página inicial | nq | ✅ | train test | 3.452 | 2,68m | 1.2 | Link | d4d3d2e48787a744b6f6e691ff534307 |
Hotpotqa | Página inicial | hotpotqa | ✅ | train dev test | 7.405 | 5.23m | 2.0 | Link | f412724f78b0d91183a0e86805e16114 |
Fiqa-2018 | Página inicial | fiqa | ✅ | train dev test | 648 | 57k | 2.6 | Link | 17918ed23cd04fb15047f73e6c3bd9d9 |
Signal-1M (RT) | Página inicial | signal1m | test | 97 | 2,86m | 19.6 | Não | Como reproduzir? | |
Trec-News | Página inicial | trec-news | test | 57 | 595K | 19.6 | Não | Como reproduzir? | |
Robust04 | Página inicial | robust04 | test | 249 | 528K | 69.9 | Não | Como reproduzir? | |
Arguana | Página inicial | arguana | ✅ | test | 1.406 | 8.67k | 1.0 | Link | 8ad3e3c2a5867cdced806d6503f29b99 |
Touche-2020 | Página inicial | webis-touche2020 | ✅ | test | 49 | 382k | 19.0 | Link | 46f650ba5a527fc69e0a6521c5a23563 |
Cqadupstack | Página inicial | cqadupstack | ✅ | test | 13.145 | 457K | 1.4 | Link | 4e41456d7df8ee7760a7f866133bda78 |
Quora | Página inicial | quora | ✅ | dev test | 10.000 | 523K | 1.6 | Link | 18fb154900ba42a600f84b839c173167 |
Dbpedia | Página inicial | dbpedia-entity | ✅ | dev test | 400 | 4.63m | 38.2 | Link | c2a39eb420a3164af735795df012ac2c |
Scidocs | Página inicial | scidocs | ✅ | test | 1.000 | 25k | 4.9 | Link | 38121350fc3a4d2f48850f6aff52e4a9 |
FEBRE | Página inicial | fever | ✅ | train dev test | 6.666 | 5.42m | 1.2 | Link | 5a818580227bfb4b35bb6fa46d9b6c03 |
Clima-febre | Página inicial | climate-fever | ✅ | test | 1.535 | 5.42m | 3.0 | Link | 8b66f0a9126c521bae2bde127b4dc99d |
Scifact | Página inicial | scifact | ✅ | train test | 300 | 5k | 1.1 | Link | 5f7d1de60b170fc8027bb7898e2efca1 |
Também fornecemos uma variedade de informações adicionais em nossa página wiki . Consulte estas páginas para o seguinte:
Semelhante aos conjuntos de dados do TensorFlow ou à biblioteca de dados do Face Face, acabamos de baixar e preparamos conjuntos de dados públicos. Distribuímos apenas esses conjuntos de dados em um formato específico, mas não atestamos sua qualidade ou justiça, ou afirmamos que você tem licença para usar o conjunto de dados. Continua sendo responsabilidade do usuário determinar se você, como usuário, tem permissão para usar o conjunto de dados na licença do conjunto de dados e citar o proprietário certo do conjunto de dados.
Se você é proprietário do conjunto de dados e deseja atualizar qualquer parte dele ou não deseja que seu conjunto de dados seja incluído nesta biblioteca, fique à vontade para postar um problema aqui ou fazer uma solicitação de tração!
Se você é proprietário de um conjunto de dados e deseja incluir seu conjunto de dados ou modelo nesta biblioteca, fique à vontade para postar um problema aqui ou fazer uma solicitação de tração!
Se você achar útil este repositório, sinta-se à vontade para citar nossa publicação Beir: Um benchmark heterogêneo para avaliação zero de modelos de recuperação de informações:
@inproceedings{
thakur2021beir,
title={{BEIR}: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models},
author={Nandan Thakur and Nils Reimers and Andreas R{"u}ckl{'e} and Abhishek Srivastava and Iryna Gurevych},
booktitle={Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track (Round 2)},
year={2021},
url={https://openreview.net/forum?id=wCu6T5xFjeJ}
}
Se você usar qualquer pontuação de linha de base da tabela de líderes da Beir, fique à vontade para citar nossos recursos de publicação para fabricar BEIR: modelos de referência reprodutíveis e uma tabela de classificação oficial
@misc{kamalloo2023resources,
title={Resources for Brewing BEIR: Reproducible Reference Models and an Official Leaderboard},
author={Ehsan Kamalloo and Nandan Thakur and Carlos Lassance and Xueguang Ma and Jheng-Hong Yang and Jimmy Lin},
year={2023},
eprint={2306.07471},
archivePrefix={arXiv},
primaryClass={cs.IR}
}
Os principais colaboradores deste repositório são:
Pessoa de contato: Nandan Thakur, [email protected]
Não hesite em nos enviar um e-mail ou relatar um problema, se algo estiver quebrado (e não deveria ser) ou se você tiver mais perguntas.
Este repositório contém software experimental e é publicado com o único objetivo de fornecer detalhes adicionais sobre a respectiva publicação.
O benchmark da Beir foi possível devido a um esforço colaborativo das seguintes universidades e organizações:
Agradecemos a todas essas maravilhosas colaborações por sua contribuição para o benchmark da Beir:
Nandan Thakur | Nils Reimers | IRYNA GUREVYCH | Jimmy Lin | Andreas Rücklé | Abhishek Srivastava |