Оценка результатов по поисковому запросу в python: ранжированный список против одного правильного документа, помеченного вручную - PullRequest
2 голосов
/ 03 апреля 2019

С учетом следующего прогнозируемого ранжированного списка документов:

query1_predicted = [1381, 1637, 646, 1623, 774, 1764, 92, 12, 642, 463, 613, ...]

и это лучший выбор, помеченный вручную:

query1_manual = 646

Есть ли какая-либо подходящая метрика из поиска информации, уже реализованная в pythonчтобы оценить этот результат?

Я не думаю, что NDCG работает для меня, потому что мне не хватает истинного и полностью ранжированного списка документов.Я полагаю, что вспомнить, точность, F-оценка и MAP также не будут работать, пока у меня нет полного списка ранжированных вручную результатов на запрос, указывающих на актуальность документа.

Кстати:Длина прогнозируемого списка равна общему количеству документов в моей коллекции:

len(query1_predicted) = len(documents)

Спасибо за помощь заранее!

1 Ответ

2 голосов
/ 03 апреля 2019

Идея состоит в том, чтобы объединить метрики точности и отзыва.Например, если ваш запрос возвращает список с первым правильным документом, вы можете сказать, что ваша точность и отзыв равны 100%.Если он находится на втором месте, у вас снова 100% точность, но ваш отзыв падает до 50% и так далее.Я знаю, что этот подход не идеален, но он дает хорошее представление о ваших результатах с хорошо известными показателями.

...