我想使用Watson Discovery V1 API进行相关性培训。我尝试了以下方法,但尚未获得理想的结果。在下面详细描述问题:
我有一组文档,其中一些包含单词'cloud'
或'big data'
。我想用'hadoop'
api搜索单词query()
并找回这些文档,但是发现查询什么都没有返回。
现在,我想提供以下培训示例以发现相关知识,以更新相关性分数,以便我得到那些结果(我将查询扩展用于同一任务,并且它起作用了,现在我对相关性训练)。
我已经使用api add_training_data()
将查询'hadoop'
与相关文档(例如,由ID指定,即包含'cloud'
的文档指定)。
现在训练数据如下:
{
"natural_language_query": "hadoop",
"filter": "",
"examples": [
{
"document_id": "1ad6f551-e092-4ce9-b08c-eb4f4cbc9458",
"cross_reference": "",
"relevance": 1,
"created": "2020-01-30T23:16:19.674Z",
"updated": "2020-01-30T23:16:19.716Z"
},
{
"document_id": "f1d11f51-31b2-414f-b359-d5336b019575",
"cross_reference": "",
"relevance": 1,
"created": "2020-01-30T23:16:19.674Z",
"updated": "2020-01-30T23:16:19.722Z"
},
{
"document_id": "5bfcea6a-c925-4db5-a490-89a9d1de8d4c",
"cross_reference": "",
"relevance": 1,
"created": "2020-01-30T23:16:19.674Z",
"updated": "2020-01-30T23:16:19.729Z"
},
{
"document_id": "bf07e701-6893-428c-ab16-c5446e821291",
"cross_reference": "",
"relevance": 1,
"created": "2020-01-30T23:16:19.674Z",
"updated": "2020-01-30T23:16:19.735Z"
},
{
"document_id": "75082812-5c96-4d2e-b388-821a0434ad4c",
"cross_reference": "",
"relevance": 1,
"created": "2020-01-30T23:16:19.674Z",
"updated": "2020-01-30T23:16:19.742Z"
}
],
"query_id": "cc1d3677eeafe70929aeccfb462860439f61b051",
"created": "2020-01-30T23:16:19.677Z",
"updated": "2020-01-30T23:16:19.677Z"
}
其中文档ID对应于集合中的文档,其中包含单词'cloud'
。例如
创建了训练数据后,现在我想使用查询文本'hadoop'
再次运行较早的查询,并假设发现将自动训练自身以获取相关结果(因为我找不到[ C0],我期待的是。但是,即使提供了训练示例后,发现查询仍然没有返回任何内容。
我不知道怎么了。一些帮助将不胜感激。
[Sandipan,
如此处所述:'train()'
我相信相关性培训不会按您需要的方式工作。它只重新排序。[当您向Discovery实例提供训练数据时,该服务使用机器学习的Watson技术在您的设备中查找信号内容和问题。然后该服务reorders查询结果以在顶部显示最相关的结果。当您添加更多培训时数据,服务实例变得更加准确和复杂返回的结果的[[ordering。
此外,“集合的训练数据集必须包含至少49个唯一的训练查询(即,查询和示例集)。”您需要添加更多查询才能开始培训。