Skip to content

Commit

Permalink
Add missing conditions for MS MARCO v2 passage/doc (#2414)
Browse files Browse the repository at this point in the history
  • Loading branch information
lintool authored Mar 24, 2024
1 parent 9afe974 commit 3fd7ee9
Show file tree
Hide file tree
Showing 134 changed files with 5,820 additions and 570 deletions.
52 changes: 27 additions & 25 deletions README.md

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions docs/regressions.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,9 @@ nohup python src/main/python/run_regression.py --index --verify --search --regre
nohup python src/main/python/run_regression.py --index --verify --search --regression msmarco-v2-passage-unicoil-noexp-0shot >& logs/log.msmarco-v2-passage-unicoil-noexp-0shot &
nohup python src/main/python/run_regression.py --index --verify --search --regression msmarco-v2-passage-unicoil-0shot >& logs/log.msmarco-v2-passage-unicoil-0shot &
nohup python src/main/python/run_regression.py --index --verify --search --regression msmarco-v2-passage-splade-pp-ed >& logs/log.msmarco-v2-passage-splade-pp-ed &
nohup python src/main/python/run_regression.py --index --verify --search --regression msmarco-v2-passage-splade-pp-ed-onnx >& logs/log.msmarco-v2-passage-splade-pp-ed-onnx &
nohup python src/main/python/run_regression.py --index --verify --search --regression msmarco-v2-passage-splade-pp-sd >& logs/log.msmarco-v2-passage-splade-pp-sd &
nohup python src/main/python/run_regression.py --index --verify --search --regression msmarco-v2-passage-splade-pp-sd-onnx >& logs/log.msmarco-v2-passage-splade-pp-sd-onnx &

nohup python src/main/python/run_regression.py --index --verify --search --regression msmarco-v2-doc >& logs/log.msmarco-v2-doc &
nohup python src/main/python/run_regression.py --index --verify --search --regression msmarco-v2-doc-d2q-t5 >& logs/log.msmarco-v2-doc-d2q-t5 &
Expand All @@ -188,7 +190,9 @@ nohup python src/main/python/run_regression.py --index --verify --search --regre
nohup python src/main/python/run_regression.py --index --verify --search --regression dl21-passage-unicoil-noexp-0shot >& logs/log.dl21-passage-unicoil-noexp-0shot &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl21-passage-unicoil-0shot >& logs/log.dl21-passage-unicoil-0shot &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl21-passage-splade-pp-ed >& logs/log.dl21-passage-splade-pp-ed &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl21-passage-splade-pp-ed-onnx >& logs/log.dl21-passage-splade-pp-ed-onnx &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl21-passage-splade-pp-sd >& logs/log.dl21-passage-splade-pp-sd &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl21-passage-splade-pp-sd-onnx >& logs/log.dl21-passage-splade-pp-sd-onnx &

nohup python src/main/python/run_regression.py --index --verify --search --regression dl21-doc >& logs/log.dl21-doc &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl21-doc-d2q-t5 >& logs/log.dl21-doc-d2q-t5 &
Expand All @@ -206,22 +210,34 @@ nohup python src/main/python/run_regression.py --index --verify --search --regre
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-passage-unicoil-noexp-0shot >& logs/log.dl22-passage-unicoil-noexp-0shot &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-passage-unicoil-0shot >& logs/log.dl22-passage-unicoil-0shot &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-passage-splade-pp-ed >& logs/log.dl22-passage-splade-pp-ed &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-passage-splade-pp-ed-onnx >& logs/log.dl22-passage-splade-pp-ed-onnx &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-passage-splade-pp-sd >& logs/log.dl22-passage-splade-pp-sd &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-passage-splade-pp-sd-onnx >& logs/log.dl22-passage-splade-pp-sd-onnx &

nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-doc >& logs/log.dl22-doc &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-doc-d2q-t5 >& logs/log.dl22-doc-d2q-t5 &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-doc-segmented >& logs/log.dl22-doc-segmented &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-doc-segmented-d2q-t5 >& logs/log.dl22-doc-segmented-d2q-t5 &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-doc-segmented-unicoil-noexp-0shot-v2 >& logs/log.dl22-doc-segmented-unicoil-noexp-0shot-v2 &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl22-doc-segmented-unicoil-0shot-v2 >& logs/log.dl22-doc-segmented-unicoil-0shot-v2 &

nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage >& logs/log.dl23-passage &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-d2q-t5 >& logs/log.dl23-passage-d2q-t5 &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-augmented >& logs/log.dl23-passage-augmented &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-augmented-d2q-t5 >& logs/log.dl23-passage-augmented-d2q-t5 &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-unicoil-noexp-0shot >& logs/log.dl23-passage-unicoil-noexp-0shot &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-unicoil-0shot >& logs/log.dl23-passage-unicoil-0shot &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-splade-pp-ed >& logs/log.dl23-passage-splade-pp-ed &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-splade-pp-ed-onnx >& logs/log.dl23-passage-splade-pp-ed-onnx &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-splade-pp-sd >& logs/log.dl23-passage-splade-pp-sd &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-passage-splade-pp-sd-onnx >& logs/log.dl23-passage-splade-pp-sd-onnx &

nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-doc >& logs/log.dl23-doc &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-doc-d2q-t5 >& logs/log.dl23-doc-d2q-t5 &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-doc-segmented >& logs/log.dl23-doc-segmented &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-doc-segmented-d2q-t5 >& logs/log.dl23-doc-segmented-d2q-t5 &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-doc-segmented-unicoil-noexp-0shot-v2 >& logs/log.dl23-doc-segmented-unicoil-noexp-0shot-v2 &
nohup python src/main/python/run_regression.py --index --verify --search --regression dl23-doc-segmented-unicoil-0shot-v2 >& logs/log.dl23-doc-segmented-unicoil-0shot-v2 &
```

</details>
Expand Down
5 changes: 0 additions & 5 deletions docs/regressions/regressions-dl21-doc-d2q-t5.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,3 @@ With the above commands, you should be able to reproduce the following results:
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.3443 | 0.3580 | 0.3616 |
| **R@1000** | **BM25 (default)**| **+RM3** | **+Rocchio**|
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.7066 | 0.7574 | 0.7583 |

Some of these regressions correspond to official TREC 2021 Deep Learning Track "baseline" submissions:

+ `d_bm25` = BM25 (default), `k1=0.9`, `b=0.4`
+ `d_bm25rm3` = BM25 (default) + RM3, `k1=0.9`, `b=0.4`
5 changes: 0 additions & 5 deletions docs/regressions/regressions-dl21-doc-segmented-d2q-t5.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,3 @@ With the above commands, you should be able to reproduce the following results:
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.3656 | 0.4131 | 0.4172 |
| **R@1000** | **BM25 (default)**| **+RM3** | **+Rocchio**|
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.7202 | 0.7948 | 0.7969 |

Some of these regressions correspond to official TREC 2021 Deep Learning Track "baseline" submissions:

+ `dseg_bm25` = BM25 (default), `k1=0.9`, `b=0.4`
+ `dseg_bm25rm3` = BM25 (default) + RM3, `k1=0.9`, `b=0.4`
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ target/appassembler/bin/SearchCollection \
-index indexes/lucene-index.msmarco-v2-doc-segmented-unicoil-0shot-v2/ \
-topics tools/topics-and-qrels/topics.dl21.unicoil.0shot.tsv.gz \
-topicReader TsvInt \
-output runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot.topics.dl21.unicoil.0shot.txt \
-output runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt \
-hits 10000 -selectMaxPassage -selectMaxPassage.delimiter "#" -selectMaxPassage.hits 1000 -impact -pretokenized &

target/appassembler/bin/SearchCollection \
Expand All @@ -116,10 +116,10 @@ target/appassembler/bin/SearchCollection \
Evaluation can be performed using `trec_eval`:

```bash
target/appassembler/bin/trec_eval -c -M 100 -m map tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.100 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.1000 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m recip_rank -c -m ndcg_cut.10 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m map tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.100 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.1000 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m recip_rank -c -m ndcg_cut.10 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt

target/appassembler/bin/trec_eval -c -M 100 -m map tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot+rm3.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.100 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot-v2.unicoil-0shot+rm3.topics.dl21.unicoil.0shot.txt
Expand Down Expand Up @@ -147,12 +147,3 @@ With the above commands, you should be able to reproduce the following results:
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.3700 | 0.4233 | 0.4374 |
| **R@1000** | **uniCOIL (with doc2query-T5) zero-shot**| **+RM3** | **+Rocchio**|
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.7069 | 0.7611 | 0.7809 |

This run roughly corresponds to run `p_unicoil0` submitted to the TREC 2021 Deep Learning Track under the "baseline" group.
The difference is that here we are using pre-encoded queries, whereas the official submission performed query encoding on the fly.

## Reproduction Log[*](../../docs/reproducibility.md)

To add to this reproduction log, modify [this template](../../src/main/resources/docgen/templates/dl21-doc-segmented-unicoil-0shot-v2.template) and run `bin/build.sh` to rebuild the documentation.

+ Results reproduced by [@lintool](https://github.com/lintool) on 2022-06-06 (commit [`236b386`](https://github.com/castorini/anserini/commit/236b386ddc11d292b4b736162b59488a02236d6c))
19 changes: 5 additions & 14 deletions docs/regressions/regressions-dl21-doc-segmented-unicoil-0shot.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,17 +94,17 @@ target/appassembler/bin/SearchCollection \
-index indexes/lucene-index.msmarco-v2-doc-segmented-unicoil-0shot/ \
-topics tools/topics-and-qrels/topics.dl21.unicoil.0shot.tsv.gz \
-topicReader TsvInt \
-output runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot.topics.dl21.unicoil.0shot.txt \
-output runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt \
-hits 10000 -selectMaxPassage -selectMaxPassage.delimiter "#" -selectMaxPassage.hits 1000 -impact -pretokenized &
```

Evaluation can be performed using `trec_eval`:

```bash
target/appassembler/bin/trec_eval -c -M 100 -m map tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.100 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.1000 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m recip_rank -c -m ndcg_cut.10 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m map tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.100 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.1000 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m recip_rank -c -m ndcg_cut.10 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-0shot.unicoil-0shot-cached_q.topics.dl21.unicoil.0shot.txt
```

## Effectiveness
Expand All @@ -122,12 +122,3 @@ With the above commands, you should be able to reproduce the following results:
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.3664 |
| **R@1000** | **uniCOIL (with doc2query-T5) zero-shot**|
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.7053 |

This run roughly corresponds to run `p_unicoil0` submitted to the TREC 2021 Deep Learning Track under the "baseline" group.
The difference is that here we are using pre-encoded queries, whereas the official submission performed query encoding on the fly.

## Reproduction Log[*](../../docs/reproducibility.md)

To add to this reproduction log, modify [this template](../../src/main/resources/docgen/templates/dl21-doc-segmented-unicoil-0shot.template) and run `bin/build.sh` to rebuild the documentation.

+ Results reproduced by [@lintool](https://github.com/lintool) on 2022-06-06 (commit [`236b386`](https://github.com/castorini/anserini/commit/236b386ddc11d292b4b736162b59488a02236d6c))
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ target/appassembler/bin/SearchCollection \
-index indexes/lucene-index.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2/ \
-topics tools/topics-and-qrels/topics.dl21.unicoil-noexp.0shot.tsv.gz \
-topicReader TsvInt \
-output runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot.topics.dl21.unicoil-noexp.0shot.txt \
-output runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot-cached_q.topics.dl21.unicoil-noexp.0shot.txt \
-hits 10000 -selectMaxPassage -selectMaxPassage.delimiter "#" -selectMaxPassage.hits 1000 -impact -pretokenized &

target/appassembler/bin/SearchCollection \
Expand All @@ -116,10 +116,10 @@ target/appassembler/bin/SearchCollection \
Evaluation can be performed using `trec_eval`:

```bash
target/appassembler/bin/trec_eval -c -M 100 -m map tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot.topics.dl21.unicoil-noexp.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.100 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot.topics.dl21.unicoil-noexp.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.1000 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot.topics.dl21.unicoil-noexp.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m recip_rank -c -m ndcg_cut.10 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot.topics.dl21.unicoil-noexp.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m map tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot-cached_q.topics.dl21.unicoil-noexp.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.100 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot-cached_q.topics.dl21.unicoil-noexp.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.1000 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot-cached_q.topics.dl21.unicoil-noexp.0shot.txt
target/appassembler/bin/trec_eval -c -M 100 -m recip_rank -c -m ndcg_cut.10 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot-cached_q.topics.dl21.unicoil-noexp.0shot.txt

target/appassembler/bin/trec_eval -c -M 100 -m map tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot+rm3.topics.dl21.unicoil-noexp.0shot.txt
target/appassembler/bin/trec_eval -c -m recall.100 tools/topics-and-qrels/qrels.dl21-doc.txt runs/run.msmarco-v2-doc-segmented-unicoil-noexp-0shot-v2.unicoil-noexp-0shot+rm3.topics.dl21.unicoil-noexp.0shot.txt
Expand Down Expand Up @@ -147,12 +147,3 @@ With the above commands, you should be able to reproduce the following results:
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.3563 | 0.4048 | 0.4147 |
| **R@1000** | **uniCOIL (noexp) zero-shot**| **+RM3** | **+Rocchio**|
| [DL21 (Doc)](https://microsoft.github.io/msmarco/TREC-Deep-Learning) | 0.6787 | 0.7506 | 0.7589 |

This run roughly corresponds to run `p_unicoil0` submitted to the TREC 2021 Deep Learning Track under the "baseline" group.
The difference is that here we are using pre-encoded queries, whereas the official submission performed query encoding on the fly.

## Reproduction Log[*](../../docs/reproducibility.md)

To add to this reproduction log, modify [this template](../../src/main/resources/docgen/templates/dl21-doc-segmented-unicoil-noexp-0shot-v2.template) and run `bin/build.sh` to rebuild the documentation.

+ Results reproduced by [@lintool](https://github.com/lintool) on 2022-06-06 (commit [`236b386`](https://github.com/castorini/anserini/commit/236b386ddc11d292b4b736162b59488a02236d6c))
Loading

0 comments on commit 3fd7ee9

Please sign in to comment.