是我的排名者经过适当的训练



我提出了一个问题What is the ...?使用/fcselect处理程序没有排名ID并获得以下文档:

"docs": [
  {"id": "100"},  // ranked first
  {"id": "101"},  // ranked second
  ...
  {"id": "198"},  // ranked second from last (99th)
  {"id": "199"}   // ranked last (100th)
]

然后,我使用以下地面事实创建了一个排名:

What is the ...?,199,5,198,4
...

然后,我问了*相同的问题*使用/fcselect处理程序与排名者,并获得了以下文档:

"docs": [
  {"id": "100"},  // ranked first
  {"id": "101"},  // ranked second
  ...
  {"id": "199"},  // ranked 30th
  ...
  {"id": "198"}   // ranked 35th
  ...
]

,但我期望像以下顺序:

"docs": [
  {"id": "199"},  // ranked first
  {"id": "198"},  // ranked second
  {"id": "100"},  // ranked third
  {"id": "101"}   // ranked 4th
  ...
]

排名训练是否适当?

有关类似问题的答案,请参见此处:https://developer.ibm.com/answers/questions/317822/4-stars-answers.html。

通过学习到级别的方法,当然不能保证排名者将在地面真理中标记为"正确"的答案到搜索结果的顶部。这是因为排名是不记住正确的答案,而是希望在特征值分布中捕获概括,从而捕获查询和搜索结果之间的重叠。为了验证排名训练的行为,您可以在大量查询(与培训过程中使用的查询不同)上测量最高的结果准确性,并平均检查改进

也就是说,奇怪的是,排名前两个的搜索结果根本不会改变排名者培训。在实验中需要考虑的一些事情以提高性能:

  • 是将行传递到排名较高的行数(在您的示例中,由于默认值为10,应将参数设置为至少100个)。
  • 是等级培训期间包含的行数(准备地面真相文件时)与运行时包含的行数相同(它们应该匹配最佳性能 - 这是您可以使用的设置以进行调整性能)?
  • 查询与可能混淆排名者的正确答案文档之间是否存在词汇差距?是否可以将同义词/停止词删除/下刻度/茎等合并到您的索引/查询分析仪中以改善查询和正确答案之间的重叠?
  • 在培训和运行时,您是否还可以添加并传递给排名者,从而可以更好地从搜索结果中捕获问题和候选答案之间的重叠?有关更多信息,请参阅此处:https://medium.com/machine-learning-with-ibm-watson/developing-with-ibm-watson-retrieve-ark----------------------------------custom-features-826fe8888a5c63?cm_mc_uid =06908383978514879641730& cm_mc_sid_50200000 = 1488383112#.gtzsdg4k3

最新更新