学习使用未标记数据集进行排名

数据挖掘 nlp xgboost 排行 搜索引擎 学习排名
2022-03-03 09:39:05

我有大约 60k PDF 文档的文件夹,我想学习根据查询对这些文档进行排名,以显示最相关的结果。目标是显示相关文档并对其进行排名,非常类似于搜索引擎。我知道学习排名是一种监督算法,需要基于查询文档对生成的特征。然而,问题是它们都没有被标记。我需要多少查询才能开始训练模型?

1个回答

有不同的方法来看待这个:

  • 您可以应用完全无监督的方法,例如为查询计算 TDIDF 向量,然后根据其与每个文档的相似性(例如余弦)进行排名。这根本不需要培训,但您甚至无法评估该方法。
  • 您可以使用已经实现的系统,例如ElasticSearch
  • 你可以用任意数量的样本训练一个有监督的排序模型,但显然它会在大量样本的情况下工作得更好。第一个困难是生成一个尽可能具有代表性的查询样本。第二个困难是找到一种方法来为每个查询选择顶部文档:如果手动完成,注释器需要读取 60k 文档(哎呀!)。我什至不会谈论考虑到查询的主观性和潜在的歧义。
  • 你可以尝试做某种形式的半监督学习或主动学习。例如,如果这适用于您的用例,您可以通过使用用户反馈来逐步优化模型。