1

我正在尝试为演示建立一个排名。我进行了“自动培训”,结果还不错(可能会更好) 我正在尝试进行手动培训,但我对 Bluemix 在线文档中参数的含义感到困惑:https ://www.ibm.com /watson/developercloud/doc/retrieve-rank/training_data.shtml#manual

有人可以在下面的 Bluemix 示例数据中解释一下吗?

query_id, feature1, feature2, feature3,...,ground_truth
question_id_1, 0.0, 3.4, -900,...,0
question_id_1, 0.5, -70, 0,...,1
question_id_1, 0.0, -100, 20,...,3
...

什么是查询 ID?(它代表什么?)什么是feature1,feature2?(它代表什么?)什么是 question_id_1?(它代表什么?)以及如何计算这些分数(0.0、3.4、-900)?

我知道 ground_truth 值必须从 0 到 4,(0 表示完全不相关,4 表示完美匹配)对吗?

亲切的问候泽维尔

4

1 回答 1

0

训练数据旨在训练学习排序(L2R) 算法。L2R 方法是首先获取一个列表candidate answers(例如搜索结果页面中的文档),这些列表是为响应query(又名问题)而生成的,并将每个都表示query-answer pair为一组特征。每个特征都希望能捕捉到特定候选答案与查询匹配程度的一些表示。训练数据中的每一行代表属于这些查询-答案对之一的特征值。

因为训练数据包含来自许多不同查询(和相应的搜索结果)的特征向量,所以第一列使用查询 id 将响应单个查询而生成的不同候选答案联系在一起。

正如您所说,最后一列简单地捕获了人工注释者是否认为答案实际上与问题相关。0-4 比例不是强制性的。0 总是代表不相关。但在那之后,您可以使用对您的用例有意义的任何比例(当数据有限时,人们通常只使用 0-1 二进制比例,因为这会降低复杂性)。

在给定包含不同查询的文件的情况下,您引用的文档页面上提供的python 脚本实际上将经历生成候选答案和相应特征向量的过程。您可能希望单步执行该脚本中的代码,以更好地了解如何创建训练数据。

于 2017-03-09T21:50:48.007 回答