gpt4 book ai didi

java - 构建聊天机器人的最佳方式

转载 作者:搜寻专家 更新时间:2023-11-01 01:28:54 25 4
gpt4 key购买 nike

我可以从什么框架开始创建一个简单的聊天机器人?机器人的焦点非常有限(对于我的项目管理网站 http://ayeboss.com )。

可以将其与 iPhone 上的 SIRI 进行比较。我想创建一个简单的“回答”聊天,它将回答诸如“给我到目前为止所有已完成的任务”或“告诉我最后完成的任务”或“显示|列表|给我我的待处理任务”等问题。用户询问后问题我想把数据呈现给用户

截至目前,我正在创建一个可能问题的正则表达式字典,如果没有匹配项,那么我会进行 lucene 搜索以找到最接近的匹配项。我做得对吗?

最佳答案

通常,像您这样的狭窄领域内的聊天机器人通常依赖于 2 个重要概念:

  • 意图检测:识别用户的请求
  • 实体提取:识别用户请求中的实体。例如,在航类预订机器人中,实体的示例是来源、目的地和旅行日期。在天气机器人中,实体可以是所需的天气日期或需要天气的位置。

对于您的特定类型的聊天机器人,它具有检索已完成任务列表和检索最后完成的任务的明确目标。要开发它,您需要定义感兴趣的意图。从您的示例中,我们可以轻松定义 2 个意图:

  • COMPLETED_TASKS_REQUEST
  • LAST_COMPLETED_TASK

基于这 2 个意图,确实没有检测到实体。您只需查询您的服务 API 即可检索每个场景中请求的信息。

下一阶段将训练分类器来识别意图。这可以通过为每种请求类型获取一些示例句子并对其进行训练来完成。

然后流程缩减为:

  1. 机器人收到消息
  2. 机器人识别意图
  3. Bot 提取相关实体(如果需要)
  4. 如果识别出意图,机器人会查询数据源以检索答案,否则机器人会提示它不理解请求。或者,如果机器人需要实体来完成请求,则机器人会要求用户提供信息并完成其任务。这通常称为基于槽的方法。您可以阅读更多有关 Dialog Manager 的信息。有效。

请注意,如果您不喜欢机器学习或 NLP,您可以轻松地在 wit.ai 或 api.ai 等平台上训练意图检测器,并且此任务的实体分类部分将简化为简单的 http API 请求。尽管在构建真正复杂或复杂的机器人时,构建自己的模型几乎总是更好,因为您可以完全控制并更好地处理边缘情况。 wit.ai 或 api.ai 等平台通常需要在多个领域表现良好,而您可以专注于让自己成为任务管理方面的专家。

希望这对您有所帮助。

PS:为了让您的机器人更有趣,我们可以再添加一个意图,例如在给定 ID 的情况下检索特定任务的状态。例如,用户可以询问任务 54 的状态。此意图可以称为:TASK_STATUS_REQUEST。在此示例中,意图有一个实体,它是所请求任务的 ID,因此您需要提取该实体 :)

关于java - 构建聊天机器人的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7843109/

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