2017-04-26 61 views
0

我正在写csv文件来训练排名在沃森检索和排名服务,与许多行[查询,“id_doc”,“relevance_score”,...] 。
我对这个文件的结构两个问题:
IBM沃森检索和排名服务 - 布尔运算符

  1. 我必须区分两个文件,这取决于查询是否包含单词“不”。更具体的:
    • 所述主体和所述第一文档的标题包含“经理”
    • 所述主体和所述第二文件的标题包含“不经理”

因此,如果查询就像“我是经理,我怎么......?”那么第一个文件是正确的,但不是第二个文件。 如果查询,如“我不是一个经理......”,那么第二份文件是正确的,但不是第一个。
是否有可以用来写在一个适当的方式查询任何特定的语法?也许使用布尔运算符?这个文件是否适用于这种过滤器?

2.该服务也有一个Web界面来训练排序器。本网站使用的评分为:1->错误答案,2->与主题相关但不回答问题,3->良好,但可以改进,4->完美答案。
在此文件中的Web界面的同一个使用的相关性得分?

谢谢!

回答

1

是否有任何特定的语法可用于以适当的方式编写查询?也许使用布尔运算符?这个文件是否适用于这种过滤器?

正如你所暗示的那样,这个文件不太适合使用过滤器。训练数据将被用来找出什么类型的词汇重叠的特点排名器应注意试图优化从Solr的搜索结果中的排序(见讨论这里了解更多信息:watson retrieve-and-rank - manual ranking)时。

也就是说,你可以在至少两行肯定会增加你的训练数据,像这样:“我是一个管理者如何做一些事情”

  • 第一可以有问题文本以及相应的正确文档ID和正整数相关标签。
  • 第二行可以有问题文本“我是一个不经理我做一些事情怎么办?”与应答文件编号的非管理人员和一个正整数的相关标签一起

有足够数量的这样的例子,希望排行榜将学会注意bigram词汇重叠功能。如果不工作,你一定能检测预经理VS 经理并应用适当的过滤器玩,但我相信这是一个单独的参数(fq做了什么?)...所以您可能必须修改train.py才能正确传递过滤器查询(默认train.py接受完整查询并通过q将其传递到/fcselect端点)。

此文件中使用的相关分数是否与Web界面相同?

不完全是,Web界面使用1-4星级,以改善数据收集的UI,但随后产生的排序器训练数据时压缩星级评定到一个较小的相关标签规模。我认为压缩给出不好的答案(即星级评分< 3)的相关标签0并通过较高的星级评级,因此,有效地有3级的评级(虽然也许有人在UI团队可以添加如有需要,详细说明细节)。它重要的底层排名算法,不好回答收到0的相关标签。