Skip to content

Commit

Permalink
Add unicoil-noexp on beir datasets (#1913)
Browse files Browse the repository at this point in the history
add all required to run unicoil-noexp on beir (29) datasets including: (1) add unicoil-noexp pre-encoded queries (2) documents (3) integration test
  • Loading branch information
jacklin64 authored Jun 17, 2022
1 parent 1a28d34 commit f592832
Show file tree
Hide file tree
Showing 119 changed files with 5,202 additions and 34 deletions.
65 changes: 33 additions & 32 deletions README.md

Large diffs are not rendered by default.

72 changes: 72 additions & 0 deletions docs/regressions-beir-v1.0.0-arguana-unicoil-noexp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Anserini Regressions: BEIR (v1.0.0) — ArguAna

**Model**: uniCOIL (without any expansions)

This page describes regression experiments, integrated into Anserini's regression testing framework, using uniCOIL (without any expansions) on [BEIR (v1.0.0) — ArguAna](http://beir.ai/).
The uniCOIL model is described in the following paper:

> Jimmy Lin and Xueguang Ma. [A Few Brief Notes on DeepImpact, COIL, and a Conceptual Framework for Information Retrieval Techniques.](https://arxiv.org/abs/2106.14807) _arXiv:2106.14807_.
The exact configurations for these regressions are stored in [this YAML file](../src/main/resources/regression/beir-v1.0.0-arguana-unicoil-noexp.yaml).
Note that this page is automatically generated from [this template](../src/main/resources/docgen/templates/beir-v1.0.0-arguana-unicoil-noexp.template) as part of Anserini's regression pipeline, so do not modify this page directly; modify the template instead.

From one of our Waterloo servers (e.g., `orca`), the following command will perform the complete regression, end to end:

```
python src/main/python/run_regression.py --index --verify --search --regression beir-v1.0.0-arguana-unicoil-noexp
```

## Indexing

Typical indexing command:

```
target/appassembler/bin/IndexCollection \
-collection JsonVectorCollection \
-input /path/to/beir-v1.0.0-arguana-unicoil-noexp \
-index indexes/lucene-index.beir-v1.0.0-arguana-unicoil-noexp/ \
-generator DefaultLuceneDocumentGenerator \
-threads 16 -impact -pretokenized \
>& logs/log.beir-v1.0.0-arguana-unicoil-noexp &
```

For additional details, see explanation of [common indexing options](common-indexing-options.md).

## Retrieval

After indexing has completed, you should be able to perform retrieval as follows:

```
target/appassembler/bin/SearchCollection \
-index indexes/lucene-index.beir-v1.0.0-arguana-unicoil-noexp/ \
-topics src/main/resources/topics-and-qrels/topics.beir-v1.0.0-arguana.test.unicoil-noexp.tsv.gz \
-topicreader TsvString \
-output runs/run.beir-v1.0.0-arguana-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-arguana.test.unicoil-noexp.txt \
-impact -pretokenized -removeQuery -hits 1000 &
```

Evaluation can be performed using `trec_eval`:

```
tools/eval/trec_eval.9.0.4/trec_eval -c -m ndcg_cut.10 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-arguana.test.txt runs/run.beir-v1.0.0-arguana-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-arguana.test.unicoil-noexp.txt
tools/eval/trec_eval.9.0.4/trec_eval -c -m recall.100 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-arguana.test.txt runs/run.beir-v1.0.0-arguana-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-arguana.test.unicoil-noexp.txt
tools/eval/trec_eval.9.0.4/trec_eval -c -m recall.1000 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-arguana.test.txt runs/run.beir-v1.0.0-arguana-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-arguana.test.unicoil-noexp.txt
```

## Effectiveness

With the above commands, you should be able to reproduce the following results:

| nDCG@10 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): ArguAna | 0.3959 |


| R@100 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): ArguAna | 0.9225 |


| R@1000 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): ArguAna | 0.9794 |
72 changes: 72 additions & 0 deletions docs/regressions-beir-v1.0.0-bioasq-unicoil-noexp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Anserini Regressions: BEIR (v1.0.0) — BioASQ

**Model**: uniCOIL (without any expansions)

This page describes regression experiments, integrated into Anserini's regression testing framework, using uniCOIL (without any expansions) on [BEIR (v1.0.0) — BioASQ](http://beir.ai/).
The uniCOIL model is described in the following paper:

> Jimmy Lin and Xueguang Ma. [A Few Brief Notes on DeepImpact, COIL, and a Conceptual Framework for Information Retrieval Techniques.](https://arxiv.org/abs/2106.14807) _arXiv:2106.14807_.
The exact configurations for these regressions are stored in [this YAML file](../src/main/resources/regression/beir-v1.0.0-bioasq-unicoil-noexp.yaml).
Note that this page is automatically generated from [this template](../src/main/resources/docgen/templates/beir-v1.0.0-bioasq-unicoil-noexp.template) as part of Anserini's regression pipeline, so do not modify this page directly; modify the template instead.

From one of our Waterloo servers (e.g., `orca`), the following command will perform the complete regression, end to end:

```
python src/main/python/run_regression.py --index --verify --search --regression beir-v1.0.0-bioasq-unicoil-noexp
```

## Indexing

Typical indexing command:

```
target/appassembler/bin/IndexCollection \
-collection JsonVectorCollection \
-input /path/to/beir-v1.0.0-bioasq-unicoil-noexp \
-index indexes/lucene-index.beir-v1.0.0-bioasq-unicoil-noexp/ \
-generator DefaultLuceneDocumentGenerator \
-threads 16 -impact -pretokenized \
>& logs/log.beir-v1.0.0-bioasq-unicoil-noexp &
```

For additional details, see explanation of [common indexing options](common-indexing-options.md).

## Retrieval

After indexing has completed, you should be able to perform retrieval as follows:

```
target/appassembler/bin/SearchCollection \
-index indexes/lucene-index.beir-v1.0.0-bioasq-unicoil-noexp/ \
-topics src/main/resources/topics-and-qrels/topics.beir-v1.0.0-bioasq.test.unicoil-noexp.tsv.gz \
-topicreader TsvString \
-output runs/run.beir-v1.0.0-bioasq-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-bioasq.test.unicoil-noexp.txt \
-impact -pretokenized -removeQuery -hits 1000 &
```

Evaluation can be performed using `trec_eval`:

```
tools/eval/trec_eval.9.0.4/trec_eval -c -m ndcg_cut.10 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-bioasq.test.txt runs/run.beir-v1.0.0-bioasq-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-bioasq.test.unicoil-noexp.txt
tools/eval/trec_eval.9.0.4/trec_eval -c -m recall.100 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-bioasq.test.txt runs/run.beir-v1.0.0-bioasq-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-bioasq.test.unicoil-noexp.txt
tools/eval/trec_eval.9.0.4/trec_eval -c -m recall.1000 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-bioasq.test.txt runs/run.beir-v1.0.0-bioasq-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-bioasq.test.unicoil-noexp.txt
```

## Effectiveness

With the above commands, you should be able to reproduce the following results:

| nDCG@10 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): BioASQ | 0.4771 |


| R@100 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): BioASQ | 0.7306 |


| R@1000 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): BioASQ | 0.8814 |
72 changes: 72 additions & 0 deletions docs/regressions-beir-v1.0.0-climate-fever-unicoil-noexp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Anserini Regressions: BEIR (v1.0.0) — Climate-FEVER

**Model**: uniCOIL (without any expansions)

This page describes regression experiments, integrated into Anserini's regression testing framework, using uniCOIL (without any expansions) on [BEIR (v1.0.0) — Climate-FEVER](http://beir.ai/).
The uniCOIL model is described in the following paper:

> Jimmy Lin and Xueguang Ma. [A Few Brief Notes on DeepImpact, COIL, and a Conceptual Framework for Information Retrieval Techniques.](https://arxiv.org/abs/2106.14807) _arXiv:2106.14807_.
The exact configurations for these regressions are stored in [this YAML file](../src/main/resources/regression/beir-v1.0.0-climate-fever-unicoil-noexp.yaml).
Note that this page is automatically generated from [this template](../src/main/resources/docgen/templates/beir-v1.0.0-climate-fever-unicoil-noexp.template) as part of Anserini's regression pipeline, so do not modify this page directly; modify the template instead.

From one of our Waterloo servers (e.g., `orca`), the following command will perform the complete regression, end to end:

```
python src/main/python/run_regression.py --index --verify --search --regression beir-v1.0.0-climate-fever-unicoil-noexp
```

## Indexing

Typical indexing command:

```
target/appassembler/bin/IndexCollection \
-collection JsonVectorCollection \
-input /path/to/beir-v1.0.0-climate-fever-unicoil-noexp \
-index indexes/lucene-index.beir-v1.0.0-climate-fever-unicoil-noexp/ \
-generator DefaultLuceneDocumentGenerator \
-threads 16 -impact -pretokenized \
>& logs/log.beir-v1.0.0-climate-fever-unicoil-noexp &
```

For additional details, see explanation of [common indexing options](common-indexing-options.md).

## Retrieval

After indexing has completed, you should be able to perform retrieval as follows:

```
target/appassembler/bin/SearchCollection \
-index indexes/lucene-index.beir-v1.0.0-climate-fever-unicoil-noexp/ \
-topics src/main/resources/topics-and-qrels/topics.beir-v1.0.0-climate-fever.test.unicoil-noexp.tsv.gz \
-topicreader TsvString \
-output runs/run.beir-v1.0.0-climate-fever-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-climate-fever.test.unicoil-noexp.txt \
-impact -pretokenized -removeQuery -hits 1000 &
```

Evaluation can be performed using `trec_eval`:

```
tools/eval/trec_eval.9.0.4/trec_eval -c -m ndcg_cut.10 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-climate-fever.test.txt runs/run.beir-v1.0.0-climate-fever-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-climate-fever.test.unicoil-noexp.txt
tools/eval/trec_eval.9.0.4/trec_eval -c -m recall.100 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-climate-fever.test.txt runs/run.beir-v1.0.0-climate-fever-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-climate-fever.test.unicoil-noexp.txt
tools/eval/trec_eval.9.0.4/trec_eval -c -m recall.1000 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-climate-fever.test.txt runs/run.beir-v1.0.0-climate-fever-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-climate-fever.test.unicoil-noexp.txt
```

## Effectiveness

With the above commands, you should be able to reproduce the following results:

| nDCG@10 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): Climate-FEVER | 0.1824 |


| R@100 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): Climate-FEVER | 0.4182 |


| R@1000 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): Climate-FEVER | 0.5849 |
72 changes: 72 additions & 0 deletions docs/regressions-beir-v1.0.0-cqadupstack-android-unicoil-noexp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Anserini Regressions: BEIR (v1.0.0) — CQADupStack-android

**Model**: uniCOIL (without any expansions)

This page describes regression experiments, integrated into Anserini's regression testing framework, using uniCOIL (without any expansions) on [BEIR (v1.0.0) — CQADupStack-android](http://beir.ai/).
The uniCOIL model is described in the following paper:

> Jimmy Lin and Xueguang Ma. [A Few Brief Notes on DeepImpact, COIL, and a Conceptual Framework for Information Retrieval Techniques.](https://arxiv.org/abs/2106.14807) _arXiv:2106.14807_.
The exact configurations for these regressions are stored in [this YAML file](../src/main/resources/regression/beir-v1.0.0-cqadupstack-android-unicoil-noexp.yaml).
Note that this page is automatically generated from [this template](../src/main/resources/docgen/templates/beir-v1.0.0-cqadupstack-android-unicoil-noexp.template) as part of Anserini's regression pipeline, so do not modify this page directly; modify the template instead.

From one of our Waterloo servers (e.g., `orca`), the following command will perform the complete regression, end to end:

```
python src/main/python/run_regression.py --index --verify --search --regression beir-v1.0.0-cqadupstack-android-unicoil-noexp
```

## Indexing

Typical indexing command:

```
target/appassembler/bin/IndexCollection \
-collection JsonVectorCollection \
-input /path/to/beir-v1.0.0-cqadupstack-android-unicoil-noexp \
-index indexes/lucene-index.beir-v1.0.0-cqadupstack-android-unicoil-noexp/ \
-generator DefaultLuceneDocumentGenerator \
-threads 16 -impact -pretokenized \
>& logs/log.beir-v1.0.0-cqadupstack-android-unicoil-noexp &
```

For additional details, see explanation of [common indexing options](common-indexing-options.md).

## Retrieval

After indexing has completed, you should be able to perform retrieval as follows:

```
target/appassembler/bin/SearchCollection \
-index indexes/lucene-index.beir-v1.0.0-cqadupstack-android-unicoil-noexp/ \
-topics src/main/resources/topics-and-qrels/topics.beir-v1.0.0-cqadupstack-android.test.unicoil-noexp.tsv.gz \
-topicreader TsvString \
-output runs/run.beir-v1.0.0-cqadupstack-android-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-cqadupstack-android.test.unicoil-noexp.txt \
-impact -pretokenized -removeQuery -hits 1000 &
```

Evaluation can be performed using `trec_eval`:

```
tools/eval/trec_eval.9.0.4/trec_eval -c -m ndcg_cut.10 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-cqadupstack-android.test.txt runs/run.beir-v1.0.0-cqadupstack-android-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-cqadupstack-android.test.unicoil-noexp.txt
tools/eval/trec_eval.9.0.4/trec_eval -c -m recall.100 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-cqadupstack-android.test.txt runs/run.beir-v1.0.0-cqadupstack-android-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-cqadupstack-android.test.unicoil-noexp.txt
tools/eval/trec_eval.9.0.4/trec_eval -c -m recall.1000 src/main/resources/topics-and-qrels/qrels.beir-v1.0.0-cqadupstack-android.test.txt runs/run.beir-v1.0.0-cqadupstack-android-unicoil-noexp.unicoil-noexp.topics.beir-v1.0.0-cqadupstack-android.test.unicoil-noexp.txt
```

## Effectiveness

With the above commands, you should be able to reproduce the following results:

| nDCG@10 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): CQADupStack-android | 0.3563 |


| R@100 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): CQADupStack-android | 0.6464 |


| R@1000 | uniCOIL no expansion|
|:-------------------------------------------------------------------------------------------------------------|-----------|
| BEIR (v1.0.0): CQADupStack-android | 0.8361 |
Loading

0 comments on commit f592832

Please sign in to comment.