INFS7410 Project - Part 1
version 1.0
CourseNana.COM
Preamble
The due date for this assignment is 9 September 2022 16:00 Eastern Australia Standard Time.
CourseNana.COM
This part of project is worth 20% of the overall mark for INFS7410 (part 1 + part 2 = 40%). A detailed marking sheet for this assignment is provided alongside this notebook. The project is to be completed individually.
CourseNana.COM
We recommend that you make an early start on this assignment, and proceed by steps. There are a number of activities you may have already tackled, including setting up the pipeline, manipulating the queries, implement some retrieval functions, and performing evaluation and analysis. Most of the assignment relies on knowledge and code you should have already have experienced in the computer practicals, however there are some hidden challenges here and there that you may require some time to solve.
CourseNana.COM
Aim
Project aim: The aim of this project is to implement a number of classical information retrieval methods, evaluate them and compare them in the context of a real use-case.
CourseNana.COM
Project Part 1 aim
The aim of Part 1 is to:
CourseNana.COM
- Setup your infrastructure to index the collection and evaluate queries.
- Implement common information retrieval baselines.
- Tune your retrieval implementations to improve their effectiveness.
- Implement rank fusion methods.
In this project we will consider the problem of open-domain passage ranking in answer to web queries. In this context, users pose queries to the search engine and expect answers in the form of a ranked list of passages (maximum 1000 passages to be retrieved).
CourseNana.COM
The provided queries are real queries submitted to the Microsoft Bing search engine. In the collection, there are approximately 8.8 million passages and the goal is to rank them based on their relevance to the queries.
CourseNana.COM
What we provide you with:
Files from practical
- A collection of 8.8 million text passages extracted from web pages (
collection.tsv
— provided in Week 1). - A query file that contains 43 queries for you to perform retrieval experiments (
queries.tsv
— provided in Week 2). - A qrel file that contains relevance judgements for you to tune your methods (
qrels.txt
— provided in Week 2).
- A leaderboard system for you to evaluate how well your system performs.
- A test query file that contains 54 queries for you to generate run files to submit to the leaderboard (
test_queries.tsv
). - This jupyter notebook, which you will include inside it your implementation and report.
Put this notebook and provided files under the same directory.
CourseNana.COM
What you need to produce
You need to produce:
CourseNana.COM
- Correct implementations of the methods required by this project specifications.
- An explanation of the retrieval methods used, including the formulas that represent the models you implemented and code that implements that formula, an explanation of the evaluation settings followed, and a discussion of the findings.
You are required to produce both of these within this jupyter notebook.
CourseNana.COM
Required methods to implement
In Part 1 of the project you are required to implement the following retrieval methods. All implementations should be based on your own code.
CourseNana.COM
- BM25: Create your own implementation, do not use the Pynserini API's implementation. See the videos in Week 3 for background information.
- Pseudo-relevance feedback using BM25 for query expansion: create your own implementation using the Pyserini API to extract index statistics. See Week 5 practical for background information.
- IDF-r query reduction: create your own implementation using the Pyserini API to extract index statistics. See Week 5 practical for background information.
- The rank fusion method Borda; you need to create your own implementation of this. See Week 4 practical for background information.
- The rank fusion method CombSUM; you need to create your own implementation of this. See Week 4 practical for background information.
- The rank fusion method CombMNZ; you need to create your own implementation of this. See Week 4 practical for background information.
For your BM25, query expansion and query reduction implementations, you are also required to tune the parameters of these methods. You must perform a parameter search over at least 5 sensibly chosen parameter values depending on the method (10 when the method has two parameters).
CourseNana.COM
For the rank fusion methods, consider fusing the highest performing tuned run from each of the BM25, query expansion and query reduction implementations.
CourseNana.COM
You should have already attempted many of these implementations above as part of the computer pracs exercises.
CourseNana.COM
In Part 1 of the project you are required to perform the following evaluation:
CourseNana.COM
- For all methods, tune using
queries.tsv
and qrels.txt
(i.e., use this data to tune any parameter of a retrieval model, e.g. $b$ and $k1$ for BM25, etc.) and submit your runs on the test_queries.tsv
using the parameter values you selected from the queries.tsv
to the learderboard system. - Report the results of every method on the
queries.tsv
(only for the run you selected the tuned paramters from) separately, into a table. Perform statistical significance analysis across the results of the methods and report them in the tables. - Produce a gain-loss plot that compares BM25 vs. Pseudo-relevance feedback query expansion using BM25; and plots that compare BM25 vs. each rank fusion method on the dev set.
- Comment on trends and differences observed when comparing your findings. Is there a method that consistently outperform the others on the
queries.tsv
and the test_queries.tsv
? - Provide insights of whether rank fusion works, or if it does not, e.g., with respect to runs to be considered in the fusion process, queries, etc.
In terms of evaluation measures, evaluate the retrieval methods with respect to nDCG at 10 (ndcg_cut_10
). You should use this measure as the target measure for tuning. Also compute reciprocal rank at 1000 (recip_rank
), MAP (map
) and Recall at 1000 (recall_1000
).
CourseNana.COM
For all gain-loss plots, produce them with respect to nDCG at 10.
CourseNana.COM
For all statistical significance analysis, use paired t-test; distinguish between p<0.05 and p<0.01.
CourseNana.COM
How to submit
You will have to submit one file:
CourseNana.COM
- A zip file containing this notebook (.ipynb) and this notebook as a PDF document. The code should be able to be executed by us. Remeber to include all your discussion and analysis also in this notebook and not as a separate file.
It needs to be submitted via the relevant Turnitin link in the INFS7410 BlackBoard site, by 3 September 2021, 16:00 Eastern Australia Standard Time, unless you have been given an extension (according to UQ policy), before the due date of the assignment.
CourseNana.COM