PaddlePaddle / PaddleNLP

👑 Easy-to-use and powerful NLP and LLM library with 🤗 Awesome model zoo, supporting wide-range of NLP tasks from research to industrial applications, including 🗂Text Classification, 🔍 Neural Search, ❓ Question Answering, ℹ️ Information Extraction, 📄 Document Intelligence, 💌 Sentiment Analysis etc.
https://paddlenlp.readthedocs.io
Apache License 2.0
12.11k stars 2.94k forks source link

看了cross_encoder\predict.py 中的 rocketqa-base-cross-encoder 逻辑不是用: results = predict(model, test_data_loader) 排序了吗,为什么下面还用 sorted再排序? 意义在哪里? #5675

Closed gg22mm closed 1 year ago

gg22mm commented 1 year ago

请提出你的问题

文档:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/neural_search/ranking/cross_encoder

看了\applications\neural_search\ranking\cross_encoder\predict.py 中的 rocketqa-base-cross-encoder 意义在哪里?

图片

其中 :results = predict(model, test_data_loader) 出来的应该是排序好的了吧,为什么下面还用 sorted再排序回去

图片

其中 :results = predict(model, test_data_loader) 出来的应该是排序好的了吧,为什么下面还用 sorted再排序回去??

逻辑不是用: results = predict(model, test_data_loader) 排序了吗,为什么下面还用 sorted再排序?

w5688414 commented 1 year ago

您好,排序模型只负责打分,最后一个sort是根据输出的打分对结果进行重排序。

gg22mm commented 1 year ago

感谢回复~!~

懂了些,但还有些疑问,召回也有打分,排序也有打分

比如:

输入文本:平安退保怎么办理 检索召回 如何办理企业养老保险 0.38980848 公司缴纳的社保卡资金何时到达 0.52140886 农民如何购买养老保险 0.5896399 中国保险常青怎么样 0.5914014 什么是自愿保险和强制保险 0.6349595 如何计算汽车保险 0.6414228 保险公司能在其他地方办理车辆检查吗 0.64597094 安*常青重病保险购买后不能退款 0.6792605 老板会为员工购买商业意外保险 0.6963649 如何为西班牙购买签证保险? 0.7250722 (paddle38) [root@localhost faq_finance]#


以上是召回结果: 问题1:是不是我直接对召唤用sort就行了,感觉好象也可以 问题2:召回sort+排序模型再sor 有这个必要吗?我怎么感觉直接召回并排序就可以了

非常感谢~~

w5688414 commented 1 year ago

感谢回复~!~

懂了些,但还有些疑问,召回也有打分,排序也有打分

比如:

输入文本:平安退保怎么办理 检索召回 如何办理企业养老保险 0.38980848 公司缴纳的社保卡资金何时到达 0.52140886 农民如何购买养老保险 0.5896399 中国保险常青怎么样 0.5914014 什么是自愿保险和强制保险 0.6349595 如何计算汽车保险 0.6414228 保险公司能在其他地方办理车辆检查吗 0.64597094 安*常青重病保险购买后不能退款 0.6792605 老板会为员工购买商业意外保险 0.6963649 如何为西班牙购买签证保险? 0.7250722 (paddle38) [root@localhost faq_finance]#

以上是召回结果: 问题1:是不是我直接对召唤用sort就行了,感觉好象也可以 问题2:召回sort+排序模型再sor 有这个必要吗?我怎么感觉直接召回并排序就可以了

非常感谢~~

召回和排序的得分可以做加权之后,进行排序,如果排序模型的结果比较好,直接使用排序模型的结果即可