gpt4 book ai didi

ibm-watson - 使用 IBM Watson Concept Insights 服务进行自然语言搜索

转载 作者:行者123 更新时间:2023-12-03 22:26:35 25 4
gpt4 key购买 nike

我们正在尝试使用 IBM Watson Cognitive Insights (CI) 服务实现自然语言搜索功能。我们希望用户能够使用自然语言输入问题,然后从 CI 语料库中返回适当的文档。我们使用 CI 而不是 Watson QA 服务来避免培训需求并降低 Watson 基础架构成本(即避免为每个语料库/用例提供专用的 Watson 实例)。

我们能够通过 CI API 构建必要的语料库,但我们不确定以何种顺序使用哪些 API 来完成最精确/准确的查询。

我们最初的想法是:

  1. 接受用户的自然语言问题并将该文本字符串发布到“Identifies concepts in a piece of text”API(在 CI API Reference 文档中从底部列出第 6 个)以获取与以下内容相关的概念列表问题。

  2. 然后使用“在语料库中执行概念搜索”API(在 CI API 引用文档中从底部第 3 个列出)执行 GET,以从语料库中获取相关文档的列表。

第一个问题 - 这是实现本文第一段中描述的目标的正确方法吗?我们应该以不同方式组合 CI API 还是一起使用多个 Watson 服务来实现目标?

如果我们最初的方法是正确的,那么我们发现当我们向“识别一段文本中的概念”API 提交一个简单的问题(例如“如何修复 MySQL 数据库损坏”)时,我们并不是获取相关概念的完整列表。例如:

curl -u userid:password -k -d "How can I repair MySQL database corruption" https://gateway.watsonplatform.net/concept-insights-beta/api/v1/graph/wikipedia/en-20120601?func=annotateText

返回:

[{"concept":"/graph/wikipedia/en-20120601/MySQL","coords":[[17,22]],"weight":0.85504603}]

但显然还有其他概念与示例问题相关(修复、损坏、数据库等)。

在另一个示例中,我们刚刚将文本“repair”提交给“Identifies concepts in a piece of text”API:

curl -u userid:password -k -d "repair" https://gateway.watsonplatform.net/concept-insights-beta/api/v1/graph/wikipedia/en-20120601?func=annotateText

它返回:

[{"concept":"/graph/wikipedia/en-20120601/Repair","coords":[[0,6]],"weight":0.65392953}]

看来我们也应该从第一个例子中找回“修复”的概念。为什么当我们提交“修复”时,API 会返回“修复”概念,而当我们提交包含“修复”一词的文本“如何修复 MySQL 数据库损坏”时,API 不会返回“修复”概念。

请告知基于 Watson Concept Insights 服务实现自然语言搜索功能的最佳方式(如果合适,可能与其他服务结合使用)。

最佳答案

非常感谢您提出问题,很抱歉这么晚才回答。

The first question - is this the right way to go about achieving our objective >described in the first paragraph of this post? Should we be combining the CI >APIs differently or using multiple Watson services together to achieve the objective?

执行上述步骤将是完成您想做的事情的自然方式。但是请注意,“注释文本”API 目前使用与系统将语料库中的文档连接到核心知识图谱中的概念完全相同的技术,因此,它更面向“段落”而不是面向单个问题。更准确地说,在较小的文本中提取概念的问题通常比在较大的文本中更难,因为后者有更多的上下文可以用来做出正确的选择。鉴于这一观察结果,注释文本 API 再次采用更保守的路线,因为它的段落重点。

话虽如此,我们现在拥有的/v2 API 确实提高了概念提取技术的速度和质量,因此您可能会更成功地使用它从自然语言问题中提取主题。这是我会做/注意的事情:

1) 清楚地向用户显示 CI 从输入的自然语言中提取了什么。我们的 API 为您提供了一种检索每个概念的小摘要的方法,这些摘要可用于向用户解释概念的含义 - 请使用它。

2) 让用户能够从提取的概念列表中删除一个概念(将其划掉)

3)由于概念洞察中的概念目前大致对应于“主题”的概念,因此无法推断出更抽象的意图(例如,如果问题含义的关键在于动词或动词形容词而不是名词,概念洞察力是一种糟糕的推导方式)。正如您之前指出的那样,Watson 确实拥有面向问答的技术(自然语言分类器是其中的一个组成部分),所以我会看一看。

Yet clearly there are other concepts associated with the example question >(repair, corruption, database, etc.).

从某种意义上说,这个问题和其他已发布问题的答案是——我们的目的是首先为“大文本”提供一种技术,正如我所解释的那样,这是一项更容易的任务。由于这个问题是今天第一次发布,我们确实介绍了新的注释技术 (/v2),所以我鼓励读者看看它是否表现得更好一些。

从长远来看,我们确实打算为用户提供一种正式的方式来指定一般应用程序的上下文,以便增加提取相关概念的机会。我们还计划让用户能够指定自定义概念,因为过去观察到用户感兴趣的某些主题无法在我们当前的设计中匹配,因为它们不在维基百科中。

关于ibm-watson - 使用 IBM Watson Concept Insights 服务进行自然语言搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31253901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com