Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correctness tests #19

Open
amallia opened this issue Apr 3, 2020 · 2 comments
Open

Correctness tests #19

amallia opened this issue Apr 3, 2020 · 2 comments

Comments

@amallia
Copy link

amallia commented Apr 3, 2020

Please add some correctness tests. One simple idea to do so would be to compute Kendall's Tau between Lucene and the other engines.

@JMMackenzie @elshize any other ideas?

@JMMackenzie
Copy link

Kendall's tau has some problems when the lists aren't conjoint, I would suggest computing Rank Biased Overlap (RBO) - see here: http://codalism.com/research/papers/wmz10_tois.pdf

To make the comparison more fair, we could also try to get a CIFF ingestor for each of the systems (https://github.com/osirrc/ciff) - PISA already has this but perhaps Tantivy could try it too?

@fulmicoton
Copy link
Collaborator

Adding it for tantivy is a 1 day job. If I follow you correctly, it would help with comparing results by :

  • ensuring there are no tokenization discrepancy.
  • ensuring the doc ordering is the same.
  1. is not really an issue as it is not related with the verification itself. We can give non-ambiguous corpus (lowercase, no punctuation, no apostrophes, no one letter word) and guidelines (no stemming). I prefer keeping natural language there, the reader of the results can have a rough idea of the underlying statistics. (correlation & docfreq), and can craft his own query.

  2. For the second part, that would indeed really help. Another way to deal with this is to use a document id and have engine return the list of doc ids. Or (Score, DocIds).

About the metric to use here... You guys are the expert, I am open to any idea, but I am stretched very thin, so I will not be able to help on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants