AmenRa / ranx

⚡️A Blazing-Fast Python Library for Ranking Evaluation, Comparison, and Fusion 🐍
https://amenra.github.io/ranx
MIT License
438 stars 24 forks source link

Integer relevance score #8

Closed maximedb closed 2 years ago

maximedb commented 2 years ago

Hi,

Thank you for this nice library.

Is there a fundamental reason why relevance score need to be integers in Qrels?

Thanks.

AmenRa commented 2 years ago

Hi and thank you! :)

In Information Retrieval, relevance score judgments can be binary or graded. To the best of my knowledge, graded relevance score judgments are usually expressed as integers.

Moreover, if I recall correctly, the choice of requiring integers was taken for similarity with trec_eval, the standard evaluation library in Information Retrieval.

Do you needranx to support floating point relevance score judgments?

Best,

Elias

maximedb commented 2 years ago

Thank make sense! No no, it was just something I was wondering about :)

Perenz commented 2 years ago

Following up on this, I'd now need ranx to support floating point relevance score judgments? Is that supported right now? Or is there a turnaround you'd recommend to use floating relevance score?

Best,

Stefano

AmenRa commented 2 years ago

Hi Stefano,

I apologize if my question sounds stupid: are your relevance judgments truly continuous, or are they discrete but defined with floats?

In the latter case, you should always be able to convert them to integers by simply re-scaling them.

If that's not the case, you could, for example, round your floats at the 4th decimal position, multiply them by 10^4, and then cast them to integers.

If this still does not solve your problem, could you please provide more information about your use case so I can better help you find a solution?

I do not plan to change the implementation of Qrels at the moment.

Best,

Elias