赞
踩
聊天机器人的应用非常广泛,无人驾驶、智能音箱、问答系统、客服机器人、对话机器人、个性化推荐、搜索引擎等等产品都有所应用。
说起聊天机器人想必大家都已经很熟悉了,比如亚马逊的Alex,谷歌的谷歌助手,苹果的Siri,百度的度秘以及众多大厂小厂都投身于聊天机器人相关技术的研发。
聊天机器人的火热程度勿用多说,从各大厂商对聊天机器人的投入也可以看出聊天机器人在商业上的价值巨大。作为机器人行业的从业者,从0开始打造一款自己的聊天机器人显得犹为重要。自己开发一款聊天机器人的好处在于可以对相关的技术都有所进行涉猎,明白聊天机器人相关技术的优劣才能在之后的研究工作中扬长避短发挥最大价值。
下面就请跟着笔者的脚步一步一步的打造自己的聊天机器人吧。
上图是一个简单的聊天机器人系统框图,包括语音识别(ASR)、语音合成(TTS)、自然语言理解(NLU)、对话管理(DM)、自然语言生成(NLG)几个模块组成。其中:
理解了聊天机器人的基本模块以及对应模块的功能之后下一步就可以开发自己的聊天机器人了。
想象一下,假设我们要开发一个打招呼的聊天机器人,应该怎么做呢?
首先分析一下如果是人类如何做的,朋友或者同事见面的时候都会有如下类似的对话:
A:B,早上好,吃早饭没!
B:早!刚吃!
A:周末过得如何?
B:还不错,去了深圳湾骑单车。你呢?
A:我比较宅,就在家里宅着。
B:哈哈,宅着也挺好,出门都是看人的。
A:哈哈,我上班去了。
B:恩,好的,再见。
A:再见
上述模拟了一个简单的会话场景,当然我们需要实现的打招呼机器人并没有那么复杂,如果真要实现上述对话,那么涉及的技术将远远不是本文就能介绍完的。
我们可以抽象一下上述对话,上述对话其实就只有3个动作:打招呼、闲聊和再见。
这3个动作在自然语言处理中成为‘意图(intent)’。意图往往表示着将要实行某一系列的行为。在这里我们定义3个意图:greet,chat,goodbye。
虽然有了意图,那我们又该如何判断是那个意图呢?这里我们直接通过关键字是判别,比如当提到‘早’的时候往往就意味着是在打招呼(greet),而提到‘再见’就显然表示是再见(goodbye)了,而除此之外的,我们都归结为闲聊(chat)。
意图识别的代码如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。