1

这个问题可能可以分解为多个问题,但这里有......

从本质上讲,我希望允许用户输入他们想做的事情,并提供一个类似向导的界面来询问缺少的信息以完成请求的查询。例如,假设用户输入:“斯普林菲尔德的天气怎么样?”

我们认识到用户对天气感兴趣,但它可能是伊利诺伊州的斯普林菲尔德或另一个州的斯普林菲尔德。一个后续问题是:

你想要什么斯普林菲尔德的天气?1 - 伊利诺伊州斯普林菲尔德 2 - 威斯康星州斯普林菲尔德

您可能会想到一百万个请求缺少关键数据或其模棱两可的示例。假设可以理解用户想要的内容的要点,但缺少完成请求所需的数据片段。

也许您可以将其追溯到询问用户想要做什么并“引导”他们进行查询。

这不是接受任何输入并真正理解它的人工智能。我不是指通过某种方式与用户进行对话。它是关于推断用户想要什么,检查是否提供适用的服务,识别所需的输入并将其覆盖在请求中缺少的内容之上,然后询问用户剩余的信息。而已!:-)

您希望如何存储有关服务的信息?您将如何确定输入数据中缺少什么?

我的想法:使用正则表达式来识别清晰的信息。这些将与服务的参数相匹配。找出哪些参数没有匹配的数据,并查找这些参数的相关问题。提出这些问题并获得答案。重新运行传递新捕获数据的服务。这些将是更自由形式的问题。

对于多项选择,确定歧义并搜索按可能性顺序排列的潜在匹配项(添加用户历史记录/偏好以帮助决定)。提供前 3 个选项。

想法赞赏。

干杯,亨利

4

1 回答 1

1

这不是接受任何输入并真正理解它的人工智能。

绝对是!您通过准确说明以下内容来跟进这一点:

我不是指通过某种方式与用户进行对话。它是关于推断用户想要什么,检查是否提供适用的服务,识别所需的输入并将其覆盖在请求中缺少的内容之上,然后询问用户剩余的信息。而已!:-)

推理是人工智能中任何主题的核心。用户是什么意思?用户想要什么?我应该获取哪些信息?我如何解析这些信息并确定答案是什么?

您实际上是在尝试设计一个最先进的 AI 系统,该系统使用 NLP 技术的组合来解析自然语言查询,然后使用(可能)学习算法来确定如何执行搜索,可能会遇到知识库,或者可能是谷歌(这也需要一个过程来解析返回的数据以找到答案)。

如果有任何方法可以限制输入的输入方式(即如何询问查询),那将有所帮助。但是,您实际上将构建一个 Web 表单……它已经完成了一百万次。

简而言之,您正在尝试创建一个非常复杂的系统,但您明确不想使用任何相关技术。如果您尝试使用正则表达式来完成所有这些操作,那么祝您好运。因为那是一个我不想掉进去的又深又黑的兔子洞。

但如果你坚持,从找一本关于 NLP 的好书开始,因为无论如何你都必须从那里开始。

于 2009-12-13T20:58:57.480 回答