[NLP]如何打造一个Chatbot

本文介绍了聊天机器人的应用背景和基本组成模块,如语音识别、自然语言理解等。通过分析会话场景,定义意图和动作,展示了如何构建一个简单的聊天机器人。文章详细讲解了使用Rasa框架进行聊天机器人开发的过程,包括安装、定义领域、意图和动作,以及实现基本的会话逻辑。
摘要由CSDN通过智能技术生成

聊天机器人概述

聊天机器人的应用非常广泛,无人驾驶、智能音箱、问答系统、客服机器人、对话机器人、个性化推荐、搜索引擎等等产品都有所应用。
说起聊天机器人想必大家都已经很熟悉了,比如亚马逊的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)。
意图识别的代码如下:

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值