wiki:GSoC2019/LTR/Work Product

Learning to Rank

Work Product

  • My main goal of this project was to make letor officially releasable and write extensive tests and documentation which I successfully completed.
  • My work involved adding PIMPL implementation of feature class and modified the api design to make some optimizations regarding sharing the Feature::Internal object among all the features in the featurelist object so that maps related to statistics do not get copied for every feature.
  • Wrote xapianletor-config script and related macros.
  • Fixed bugs in colltfcolllenfeature.cc.
  • Fixed parse_query method and score method in ranker.cc.
  • Tested xapian-letor through xapian-evaluation code and fixed bugs in xapian-evaluation and compare the performance of letor with other weighting schemes and also among different rankers.
  • Fixed various bugs in ranker API.
  • Fixed the implementation of rankers and indexing errors in ranker API and xapian-evaluation code.
  • Added Xavier initialization and bias term.
  • Wrote python3 bindings for xapian-letor.

Merged

Link of all the PRs https://github.com/xapian/xapian/pulls?q=is%3Apr+author%3AVaibhavKansagara+is%3Aclosed
Link of all the merged commits https://github.com/xapian/xapian/commits/master/?author=VaibhavKansagara

Work in Progress

PR 270 and 278 are work in progress. PR 270 adds python3 bindings along with python3 examples. PR 278 fixes the implementation of rankers.

Future Work

  • Investigate research papers which might help in improving the performance of letor against BM25+ weighting scheme.
  • Write bindings for languages other than python3.
Last modified 8 weeks ago Last modified on 26/08/19 07:27:27