这个问题可能可以分解为多个问题,但这里有......
从本质上讲,我希望允许用户输入他们想做的事情,并提供一个类似向导的界面来询问缺少的信息以完成请求的查询。例如,假设用户输入:“斯普林菲尔德的天气怎么样?”
我们认识到用户对天气感兴趣,但它可能是伊利诺伊州的斯普林菲尔德或另一个州的斯普林菲尔德。一个后续问题是:
你想要什么斯普林菲尔德的天气?1 - 伊利诺伊州斯普林菲尔德 2 - 威斯康星州斯普林菲尔德
您可能会想到一百万个请求缺少关键数据或其模棱两可的示例。假设可以理解用户想要的内容的要点,但缺少完成请求所需的数据片段。
也许您可以将其追溯到询问用户想要做什么并“引导”他们进行查询。
这不是接受任何输入并真正理解它的人工智能。我不是指通过某种方式与用户进行对话。它是关于推断用户想要什么,检查是否提供适用的服务,识别所需的输入并将其覆盖在请求中缺少的内容之上,然后询问用户剩余的信息。而已!:-)
您希望如何存储有关服务的信息?您将如何确定输入数据中缺少什么?
我的想法:使用正则表达式来识别清晰的信息。这些将与服务的参数相匹配。找出哪些参数没有匹配的数据,并查找这些参数的相关问题。提出这些问题并获得答案。重新运行传递新捕获数据的服务。这些将是更自由形式的问题。
对于多项选择,确定歧义并搜索按可能性顺序排列的潜在匹配项(添加用户历史记录/偏好以帮助决定)。提供前 3 个选项。
想法赞赏。
干杯,亨利