【IT168 资讯】过去五年里,Microsoft、IBM、Google和Amazon等公司都推出了令人惊叹的聊天机器人框架,分别都是Microsoft Bot Framework、IBM Watson Conversation、Google API.ai和Amazon Lex,这些工具使开发人员构建真正理解人类语言,以自然的方式与人交谈的软件。
自然语言处理(NLP)是这些框架的主角,它将聊天机器人从笨拙的决策树带到一个以认知流量为特征的新经验层面,并引入了新的应用浪潮。NLP逐渐地民主化、以及在Viber、Messenger和iMessage等聊天渠道上的精细化,使这些应用程序的受欢迎程度又提升了一个高度。
尽管NLP功能很强大,但它并不能解决与构建聊天机器人相关的所有挑战。NLP拥有的所有,只能为企业和消费者提供所需整体体验的一部分。将机器人聊天体验整合到业务流程中以解决问题还需要做更多工作。
聊天机器人的结构可以概念化为以下八个部分:
1. 聊天界面。比如Messenger、iMessage或者是类似于这些聊天工具的自定义用户界面。许多聊天机器人都内置这样的接口,或直接集成到适合客户端的本地通道中。这有多层次的复杂性。
* 仅文本:仅由用户与之交互的文本框和标签组成的界面。
* 仅文本和语音:允许用户能语音输入的界面。这种情况增加了复杂性,使用了能够访问捕获语音和集成语音到文本组件的麦克风。
* 仅声音:类似于Siri、Alexa或Cortana的体验。
* 声音和视觉:类似于Alexa Show。
* 文本、语音和视觉:例如iMessage体验,用户可以在聊天的环境中键入、说话并与可视化UI小部件交互。开发人员面临的挑战是使聊天机器人能够在正确的环境下提供正确的用户界面交互。
2. NLP组件。该组件能理解自由形式的文本或语音表达,并将其解析为意图和参数。但NLP只能帮助您的应用程序将一个句子分解为一组意图,您可以以编程方式对意图采取操作。虽然NLP发现对话意图,但软件开发人员要自己思考如何对这些意图作出响应或采取行动。
3. 机器人的上下文继承。为了通过聊天机器人进行类似于人的交互,开发人员必须始终维护对话的上下文或内存。一些聊天机器人需要维护每个用户的上下文,以便为客户提供个性化的体验。例如,通过聊天机器人预约了医生,那么用户希望谈话能够记住这个背景,并在能提醒即将到来的预约。更高级的聊天机器人可能记住用户的名字、电子邮件以及地址等等。
4. 循环、分割和递归。这往往是大多数开发聊天机器人的复杂性所在。当用户开始与聊天机器人进行更多的开放式对话时,聊天机器人需要能够将谈话分离开来,或是循环回到以前的特定对话中,这些都很难实现,很多聊天机器人都不支持这些功能。
5. 与传统系统集成。根据您正在构建的聊天机器人类型,可能需要使用外部系统或信息源。如果您正在为一个企业构建一个聊天机器人,那么您很有可能使用一个CRM系统、ERP应用程序、甚至是一个需要从中收集信息或将数据推送到其中的人力资源系统。
6. 分析。与当今任何的软件一样,分析是了解聊天机器人工作的关键。分析可以帮助您了解参与、偏差和错误,并提供高质量或更个性化的体验。
7. 切换。这可能不是所有聊天机器人都必备的,但是如果您正在构建聊天机器人与客户服务机构一起工作的项目,那么需要考虑复杂交互情况下机器人和人之间的交接。
8. 性格、语气和角色。这些是是聊天机器人更人性化的一些软特性。
从本质上讲,NLP并没有解决在开发现实业务应用程序时通常会面临的挑战。它只是利用聊天界面提供更广泛和更令人满意的体验。
许多新聊天机器人厂商正尝试通过引入更丰富的声明性语法来解决这些挑战,使开发人员能够定义机器人的目标,并处理与聊天机器人框架内的系统集成、对话流和持久性管理相关的大量繁重工作。