Giter Site home page Giter Site logo

zendelo / irqpp Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 1.0 27.87 MB

The result of the work in this repo was published in the SIGIR 2019 paper: Information Needs, Queries, and Query Performance Prediction

Home Page: https://dl.acm.org/doi/10.1145/3331184.3331253

License: MIT License

Python 74.95% Shell 1.22% C++ 23.83%
qpp query-performance-prediction information-retrieval query-reformulation

irqpp's Introduction

IRQPP

The main script is generate_results.py
Usage: python3.6 generate_results.py -h
Before running the code you must ensure having the following files:

Results Files

  1. ~/QppUqvProj/Results/{corpus}/test/{basic/raw/fused}/QL.res
  2. ~/QppUqvProj/Results/{corpus}/test/{basic/raw/fused}/logqlc.res

Parameters Files

  1. ~/QppUqvProj/Results/{corpus}/test/indriRunQF.xml
  2. ~/QppUqvProj/Results/{corpus}/test/indriRunQL.xml
  3. ~/QppUqvProj/Results/{corpus}/test/clarityParam.xml

AP Results Files

  1. ~/QppUqvProj/Results/{corpus}/test/aggregated/map1000-{agg function}
  2. ~/QppUqvProj/Results/{corpus}/test/single/map1000-{single selection function}

Cross Validation files

  1. ~/QppUqvProj/Results/{corpus}/test/2_folds_30_repetitions.json

LogQLC stands for log QL of the query with the entire corpus

In general the code assumes the directories structure is as seen in the file FS-structure.pdf

To create the files using indri:
Create QL.res example for ROBUST UQV will create QL scores retrieved results list:
indri-5.6/runqueryql/IndriRunQueryQL QppUqvProj/Results/ROBUST/test/indriRunQL.xml -threads=8 QppUqvProj/data/ROBUST/fullqueriesUQV.xml > QppUqvProj/Results/ROBUST/test/raw/QL.res
Create logqlc.res example:
indri-5.6/logqlc/LogQlC QppUqvProj/Results/ROBUST/test/indriRunQL.xml QppUqvProj/data/ROBUST/fullqueriesUQV.xml > QppUqvProj/Results/ROBUST/test/raw/logqlc.res
Create QLmap1000 (raw ap scores) example:
trec_eval -qn -m map QppUqvProj/data/ROBUST/qrelsUQV QppUqvProj/Results/ROBUST/test/raw/QL.res | awk '{print $2, $3}' > QppUqvProj/Results/ROBUST/test/raw/QLmap1000 Create map1000-max file example (for single pick): python3.6 repos/IRQPP/singleUQV.py QppUqvProj/Results/ROBUST/test/raw/QLmap1000 QppUqvProj/Results/ROBUST/test/raw/QLmap1000 -f max > QppUqvProj/Results/ROBUST/test/single/map1000-max Create fused (CombSum) results file:
python3.7 repos/IRQPP/fusion.py QppUqvProj/Results/ROBUST/test/raw/QL.res QppUqvProj/Results/ROBUST/test/raw/logqlc.res > QppUqvProj/Results/ROBUST/test/fusion/QL.res

Help Files

Some of the help instructions still need to be updated.

usage: python3.6 generate_results.py --predictor PREDICTOR -c CORPUS -q QUERIES 

Full Results Pipeline Automation Generator

optional arguments:
  -h, --help            show this help message and exit
  --predictor predictor_name
                        predictor to run
  -q queries.xml, --queries queries.xml
                        path to queries xml res
  -c {ROBUST,ClueWeb12B}, --corpus {ROBUST,ClueWeb12B}
                        corpus (index) to work with
  --qtype {basic,single,aggregated,fusion}
                        The type of queries to run
  -m {pearson,spearman,kendall}, --measure {pearson,spearman,kendall}
                        default correlation measure type is pearson
  -t {basic,single,aggregated,fusion,all}, --table {basic,single,aggregated,fusion,all}
                        the LaTeX table to be printed
  --generate            generate new predictions
  --lists               generate new lists
  --calc                calc new UQV predictions

Currently Beta Version

irqpp's People

Contributors

zendelo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

nvmb3r

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.