聊天机器人使用自然语言处理(NLP)来理解用户的意图,并提供尽可能好的对话服务。意图识别是聊天机器人架构中的一个关键特征,它决定了聊天机器人是否能成功地满足用户在销售、营销或客户服务方面的需求。
聊天机器人的训练数据的数量是与用户保持良好对话的关键。然而,数据质量决定了机器人检测正确意图和产生正确反应的能力。
在这篇文章中,我们为企业介绍了改善聊天机器人意图识别的技术,以使其更有效率。
聊天机器人是如何识别意图的?
来源: Journal of Information Science Theory and Practice
NLP允许聊天机器人理解用户的信息,而机器学习分类算法则帮助它根据训练数据对该信息进行分类,以便做出正确的回应。
聊天机器人进行有意义的对话所需的步骤包括:
1. 为NLU进行预处理
自然语言理解(NLU)是NLP的一个子领域,主要是组织用户的非结构化输入,使聊天机器人能够理解和分析它。这个过程包括:
1. 语法分析: 识别基本的语法规则、单词组织、组合和彼此之间的关系。这包括:
- 将文本分割成更小的片段(单词、短句),称为 “标记”,”
- 将标记标记为名词、动词、形容词,等等。这一步骤被称为 “语篇标签(PoS)”。
- 将单词还原成它们的词根,以便更好地分析。
- 过滤掉填充词以节省处理大数据的空间和时间
2. 语义分析:通过以下方式推断出输入句子的含义:
- 区分每个词的上下文
- 了解文本中单词之间的关系。
3. NLU模型利用:
- 监督机器学习用于语法分析步骤(标记化、PoS标记),如支持向量机(SVM)、贝叶斯网络和最大熵算法。
- 用于语义分析的无监督机器学习,如聚类算法。
关于NLU和NLP之间的更多区别,你可以阅读《NLU与NLP:主要区别与用例比较》一文。
2. 聊天机器人的意图分类
客户的潜在意图的分类是由分类器完成的。一位客户想检查订单的状态,而另一位客户可能想检查她拥有的优惠券,这是两种不同类型的查询。
分类器是在相关标记的数据集上训练出来的。因此,这是一个有监督的/人类在循环中的学习应用。分类器利用:
- 基于规则的模式匹配
- 机器学习分类算法,如决策树、naive Bayes和逻辑回归。
- 深度学习,如人工神经网络
意图分类器用于将NLU过程的输出与训练数据集中的相关预定义标签相匹配。例如,当用户告诉聊天机器人 “我想预订从休斯顿到洛杉矶的航班”,意图分类器会将上下文和单词序列分类到 “预订航班” 标签下。
3. 响应生成
为了产生反应,聊天机器人要么依靠预先定义的建议,要么可以在飞行中产生建议。
对于商业应用,回应往往是预先定义的,以确保客户获得一致的服务,机器人不会以非预期的方式回应,导致公共关系的失败。
对话的制定是为了实现一个特定的目标,如获取用户的信息,提供关于产品或服务的建议,或将用户引向一个现场代理。
来源:Conversational AI for Real Estate
聊天机器人的意图识别有哪些挑战,以及如何克服这些挑战?
挑战
聊天机器人的目标是产生类似人类的全面对话,以满足用户的期望。然而,聊天机器人在理解用户的意图方面面临着限制,因为:
- 自然语言是困难的,即使对人类也是如此。
- 作为人类,我们有能力使用不同的语言结构来表达我们的意图。
- 用户有时会打错字,使用关键词而不是完整的句子。
- 大多数聊天机器人的反应都局限于训练过的数据集中的预定义的意图。
局限性导致聊天机器人误解了用户的意图,提供了错误的回应,未能实现其使用目的。欢迎阅读我们关于聊天机器人史诗般的失败的文章,了解更多细节。
最佳实践
然而,一些限制可以通过整合不同的解决方案来解决:
- 人工智能拼写检查算法可以通过NLP模型来实现自动纠正用户的错误拼写和错别字。
例如,Google Docs的自动更正功能可以指出拼写错误、语法错误,并提供关于文本结构的改进。 - 用户可以创建自定义意图。例如,在亚马逊的Alexa中,用户可以通过提供一个名字和用户为调用该意图而说的话语列表,为聊天机器人执行特定任务设置规则。
- 增加训练数据量会降低意图检测的误差率。
我们预计这个问题最终会通过拥有更多的训练数据而得到解决。对话式机器人的使用量已经很大,而且在不断增加。根据我们对聊天机器人的统计:
- 23%的组织在行政部门使用聊天机器人。
- 20%在客户服务部门使用。
- 16%在销售和营销部门使用人工智能聊天机器人和助手。
- 40%的千禧一代每天都会与聊天机器人打交道。