如何使用 Watson Discovery 获取准确答案而不是整个文档?

How to get exact answers instead of the whole document using Watson Discovery?

在测试 发现服务 之后,至少对我来说它似乎没用,或者我可能遗漏了一些东西。

当我查询时,它匹配文档和returns 整个文档。如果我的文档很大,那么对于所有查询它 returns 匹配查询文本的整个文档,这是无用的。

现在我必须为每个查询创建一个单独的文档吗?

如果是这样,API.AIWIT.AI是更好的选择。

请澄清我在这里遗漏了什么!

wit 或 api 更类似于我们的 watson 对话服务。 Discovery 是关于从语料库中查找相关内容,而您提到的两个服务和我们的 Conversation 服务更多是关于使用 NLP 通过对话来响应以理解查询。

现在使用 Discovery,您需要将文档分解一次以将它们放入一个集合中,然后针对 Discovery 中的集合的任何查询都将 return 从那组分离的文档中得到结果。因此,如果您的文件没有改变,这种拆分应该是一次性的。
尽管为查询自动识别较大文档的相关部分的解决方案是 Discovery 的一个很好的考虑因素(注意:我在 IBM Watson 工作)。

Watson Discovery 服务允许在数百个文档中进行认知搜索。 您可以使用 Watson 文档转换服务以 JSON 格式为每个文档自动创建 PAU(可能的回答单元)粒度。然后,您可以在 Watson Discovery Service 中加载由 Watson Document Conversion 生成的 PAU。 这样,Watson Discovery 将 return 准确回答您的认知查询。

现在有一个 passages 参数可以传递给查询 API。在撰写本文时,它处于测试阶段。它提供文档中的位置以及 "passage" 文本和分数。

{
  "document_id": "dd2a7574-c266-4587-812b-69a47aa271d6",
  "passage_score": 23.961884787023948,
  "passage_text": " query block name in many hints to specify the query block to which the hint applies. This syntax lets you specify in the outer query a hint that applies to an inline view.\n\nThe syntax of the query block",
  "start_offset": 404,
  "end_offset": 607
},

现在有一个文档分段选项可应用于您的 Discovery 配置。这允许 Discovery 在最初加载和索引文档时对文档进行分段。这是在 2017 年 10 月最后添加的。请注意,有一些限制,特别是在自定义元数据的保存方面。这是文档的 link。

https://console.bluemix.net/docs/services/discovery/building.html#doc-segmentation