Papel | Instalación | Ejemplo rápido | Conjuntos de datos | Wiki | Cara abrazada
Beir es un punto de referencia heterogéneo que contiene diversas tareas IR. También proporciona un marco común y fácil para la evaluación de sus modelos de recuperación basados en PNLP dentro del punto de referencia.
Para obtener una visión general , consulte nuestra nueva página Wiki : https://github.com/beir-cellar/beir/wiki.
Para modelos y conjuntos de datos , visite la página de abrazos de abrazos (HF) : https://huggingface.co/beir.
Para la tabla de clasificación , consulte la página de evaluación de evaluación : https://eval.ai/web/challenges/challenge-page/1897.
Para obtener más información, visite nuestras publicaciones:
Instalar a través de PIP:
pip install beir
Si desea construir desde la fuente, use:
$ git clone https : // github . com / beir - cellar / beir . git
$ cd beir
$ pip install - e .
Probado con las versiones de Python 3.6 y 3.7
Para otros códigos de ejemplo, consulte nuestros ejemplos y tutoriales Wiki Página.
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 generar MD5HASH usando terminal: md5sum filename.zip
.
Puede ver todos los conjuntos de datos disponibles aquí o en la cara abrazada .
Conjunto de datos | Sitio web | Nombre de Beir | ¿Público? | Tipo | Consultas | Cuerpo | Rel D/Q | Descargar | MD5 |
---|---|---|---|---|---|---|---|---|---|
Msmarco | Página principal | msmarco | ✅ | train dev test | 6,980 | 8.84m | 1.1 | Enlace | 444067daf65d982533ea17ebd59501e4 |
Trec-covid | Página principal | trec-covid | ✅ | test | 50 | 171k | 493.5 | Enlace | ce62140cb23feb9becf6270d0d1fe6d1 |
Nfcorpus | Página principal | nfcorpus | ✅ | train dev test | 323 | 3.6k | 38.2 | Enlace | a89dba18a62ef92f7d323ec890a0d38d |
Bioasq | Página principal | bioasq | train test | 500 | 14.91m | 4.7 | No | ¿Cómo reproducir? | |
NQ | Página principal | nq | ✅ | train test | 3,452 | 2.68m | 1.2 | Enlace | d4d3d2e48787a744b6f6e691ff534307 |
Hotpotqa | Página principal | hotpotqa | ✅ | train dev test | 7.405 | 5.23m | 2.0 | Enlace | f412724f78b0d91183a0e86805e16114 |
FIQA-2018 | Página principal | fiqa | ✅ | train dev test | 648 | 57k | 2.6 | Enlace | 17918ed23cd04fb15047f73e6c3bd9d9 |
Señal-1m (RT) | Página principal | signal1m | test | 97 | 2.86m | 19.6 | No | ¿Cómo reproducir? | |
Trec-news | Página principal | trec-news | test | 57 | 595k | 19.6 | No | ¿Cómo reproducir? | |
Robusto04 | Página principal | robust04 | test | 249 | 528K | 69.9 | No | ¿Cómo reproducir? | |
Arguana | Página principal | arguana | ✅ | test | 1.406 | 8.67k | 1.0 | Enlace | 8ad3e3c2a5867cdced806d6503f29b99 |
Touche-2020 | Página principal | webis-touche2020 | ✅ | test | 49 | 382k | 19.0 | Enlace | 46f650ba5a527fc69e0a6521c5a23563 |
Cqadupstack | Página principal | cqadupstack | ✅ | test | 13,145 | 457k | 1.4 | Enlace | 4e41456d7df8ee7760a7f866133bda78 |
Quora | Página principal | quora | ✅ | dev test | 10,000 | 523k | 1.6 | Enlace | 18fb154900ba42a600f84b839c173167 |
Dbpedia | Página principal | dbpedia-entity | ✅ | dev test | 400 | 4.63m | 38.2 | Enlace | c2a39eb420a3164af735795df012ac2c |
Escictos | Página principal | scidocs | ✅ | test | 1,000 | 25k | 4.9 | Enlace | 38121350fc3a4d2f48850f6aff52e4a9 |
FIEBRE | Página principal | fever | ✅ | train dev test | 6,666 | 5.42m | 1.2 | Enlace | 5a818580227bfb4b35bb6fa46d9b6c03 |
Plato climático | Página principal | climate-fever | ✅ | test | 1.535 | 5.42m | 3.0 | Enlace | 8b66f0a9126c521bae2bde127b4dc99d |
Morder | Página principal | scifact | ✅ | train test | 300 | 5k | 1.1 | Enlace | 5f7d1de60b170fc8027bb7898e2efca1 |
También proporcionamos una variedad de información adicional en nuestra página wiki . Consulte estas páginas para obtener lo siguiente:
Similar a los conjuntos de datos TensorFlow o abrazar la biblioteca de conjuntos de datos de Face, acabamos de descargar y preparar conjuntos de datos públicos. Solo distribuimos estos conjuntos de datos en un formato específico, pero no respondemos por su calidad o justicia, o afirmamos que tiene licencia para usar el conjunto de datos. Sigue siendo responsabilidad del usuario determinar si usted, como usuario, tiene permiso para usar el conjunto de datos bajo la licencia del conjunto de datos y citar al propietario correcto del conjunto de datos.
Si es propietario de un conjunto de datos y desea actualizar cualquier parte de él, o no desea que su conjunto de datos se incluya en esta biblioteca, ¡no dude en publicar un problema aquí o hacer una solicitud de extracción!
Si es propietario de un conjunto de datos y desea incluir su conjunto de datos o modelo en esta biblioteca, ¡no dude en publicar un problema aquí o hacer una solicitud de extracción!
Si encuentra útil este repositorio, no dude en citar nuestra publicación Beir: un punto de referencia heterogéneo para la evaluación de cero disparos de los modelos de recuperación de información:
@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}
}
Si utiliza cualquier puntaje de referencia de la tabla de clasificación de Beir, no dude en citar nuestros recursos de publicación para elaborar Beir: modelos de referencia reproducibles y una tabla de clasificación 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}
}
Los principales contribuyentes de este repositorio son:
Persona de contacto: Nandan Thakur, [email protected]
No dude en enviarnos un correo electrónico o informar un problema, si algo está roto (y no debería estarlo) o si tiene más preguntas.
Este repositorio contiene software experimental y se publica con el único propósito de dar detalles de antecedentes adicionales sobre la publicación respectiva.
El punto de referencia Beir ha sido posible debido a un esfuerzo de colaboración de las siguientes universidades y organizaciones:
Gracias a todas estas maravillosas colaboraciones por su contribución al punto de referencia Beir:
Nandan Thakur | Nils reimers | Iryna Gurevych | Jimmy Lin | Andreas Rücklé | Abhishek srivastava |