2017-01-01 38 views
1

我正在尝试构建一个示例的排名。 我做了“自动训练”,我得到了确定的结果(可能会更好) 我试图进入手动训练,但我很迷惑有关从Bluemix在线文档参数的含义:https://www.ibm.com/watson/developercloud/doc/retrieve-rank/training_data.shtml#manualwatson检索和排名 - 手动排名

莫非一些请在下面的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 
... 

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

我明白,ground_truth值必须从0到4,(0意味着根本不相关,4意味着完美匹配)是正确的吗?

亲切的问候 泽维尔

回答

0

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

由于训练数据包含来自大量不同查询(以及相应的搜索结果)的特征向量,因此第一列使用查询ID来将响应于单个查询而生成的不同候选答案捆绑在一起。

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

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