在聊天机器人的领域,曾经存在着一个显著的问题。开发者需要从零开始构建聊天机器人,而他们手头的工具有限,只包括自然语言理解(NLU,包括意图和实体)、对话流程以及响应消息。
在传统聊天机器人中,唯一基于机器学习和人工智能模型的部分是NLU,它必须依赖一个模型来预测用户的意图和实体。
而对话流程和响应消息则是建立在一种固定且硬编码的逻辑之上,就像是一个固定状态的机器。用户的输入会根据这个状态机来引导,就好像是穿越对话流程的迷宫一样。
当聊天机器人的开发者开始工作时,他们需要从一个空白画布开始,从头开始开发NLU、对话流程和脚本(文本复制)。这也正是为什么有人认为聊天机器人的开发领域存在严重的不足。
幸运的是,已经有一些尝试来解决这个问题,以加速聊天机器人的开发过程。其中一个途径是利用协作工具和快速原型制作来加速开发。
此外,还有其他工具,例如面向特定行业或垂直领域的预构建聊天机器人框架,比如银行、IT支持、人力资源等。
还有更智能的开发工具,它们可以利用现有的客户对话来检测用户意图和对话分类,从而加速更准确的NLU开发。这些努力正在不断改变聊天机器人的发展方式。
然而,聊天机器人一直面临一个问题:它们的对话方式过于死板,对话流程和预设的回应信息都是固定的。
为了增加机器人回应的生动性,我们需要为每个节点设计了几种不同版本的回应信息,通过一些特殊标记来插入与具体对话相关的信息。
然而,聊天机器人的开发者们渴望有一种更灵活 、更智能的对话管理系统。
另外,我们迫切需要一种灵活的自然语言生成机制,其中回应信息不再单独存放在一个抽象层中,而是与对话直接相关联,动态生成对话。
在聊天机器人中,我们需要在输入时将无序的对话信息结构化,但在输出时以自由、非结构化的方式呈现,这一过程需要手动进行。
语言模型(LLMs)
随着语言模型(LLMs)的引入,所有这些要素,包括:
- 数据处理
- 自然语言的结构化和非结构化处理
- 对话管理
- 自然语言生成(NLG)
- 自然语言理解(NLU)
都被整合到了一个模型中。现在的挑战不再是从一个空白的设计画布上构建聊天机器人,而是如何充分利用和控制LLMs,以创建可靠、可重复和负责任的对话应用程序。
在语言模型(LLM)市场中,我们看到了一些令人兴奋的趋势:
首先,针对不同用途的特定LLM,比如用于对话、翻译、编程等的模型,正逐渐式微,因为单一模型已经在几乎所有领域都展现出了强大的潜力。
LLM提供商也开始提供多个不同的模型供用户选择,这使得用户可以更灵活地根据他们的需求来选择合适的模型。
此外,LLM提供商将LLM用途划分为两类:一类是像ChatGPT、HuggingChat、Coral等个人助手,另一类是供开发者通过API使用的模型,这为不同用户提供了更多选择。
在技术方面,人们正在努力开发新的提示技术,以更精细地控制LLM的输出结果,这有助于提高对话的质量和准确性。
最后,为了更好地管理对话,人们采用了各种方法,包括提示链接、自主代理、提示管道等,还创建了LLM支持的聊天机器人开发框架,以在开发、构建和运行过程中更好地协助对话管理。这些发展都将推动LLM技术迈向更广泛的应用领域。