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

Qrels and Run query ids do not match #12

Closed
celsofranssa opened this issue Mar 7, 2023 · 6 comments
Closed

Qrels and Run query ids do not match #12

celsofranssa opened this issue Mar 7, 2023 · 6 comments

Comments

@celsofranssa
Copy link

Trial 0 failed with parameters: {'b': 0.37, 'k1': 9.600000000000001} because of the following error: 
AssertionError('Qrels and Run query ids do not match').

I guess this issue happens because in qrels, there are not all possible scores for all possible results in the run.
Wouldn't it be interesting to filter the run dictionary for only the evaluated cases that occur in qrels ?

@AmenRa
Copy link
Owner

AmenRa commented Mar 8, 2023

I think it's better if users do that on their own so that they are aware of what's happening.
Also, if you do not that upfront you will end up slowing down the optimisation process, as you will search also for queries for which you do not have qrels.

@celsofranssa
Copy link
Author

However, how to integrate this filter during autotune?

Even during autotune, since the retrieve results depend on the queries and the training collection, it is unlikely that qrels contains all possible keys from run (although ideally, it will have an intersection with the run).

@AmenRa
Copy link
Owner

AmenRa commented Mar 8, 2023

You don't need the true relevance value for each query-doc tuple.
As the error says, the query ids do not match. Meaning that the provided qrels has more/less/different query ids than the queries for which the run was computed.

@celsofranssa
Copy link
Author

I see. Since it is costly to obtain relevance feedback, I only have it for a general case. So when I try to autotune the retriever for different slices of data, there is no way to guarantee that the keys in qrels and run are identical, only that they intersect.

Anyway, thank you.

@AmenRa
Copy link
Owner

AmenRa commented Mar 13, 2023

Well, can't you extract the intersection before tuning?

@AmenRa
Copy link
Owner

AmenRa commented Mar 27, 2023

Closing for inactivity.

@AmenRa AmenRa closed this as completed Mar 27, 2023
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

2 participants