首页 / 专利库 / 人工智能 / 对话代理 / 聊天机器人 / 一种聊天机器人

一种聊天机器人

阅读:1021发布:2020-10-05

专利汇可以提供一种聊天机器人专利检索,专利查询,专利分析的服务。并且本实用新型公开了一种 聊天 机器人 ,包括摄像头及其驱动模 块 、语音拾取模块、 语音识别 模块、知识查询模块、语音生成模块;摄像头捕获人脸图像,语音 信号 经由语音拾取模块和语音识别模块后识别出语义,所述 聊天机器人 根据人的语音来了解人的需求,然后通过知识查询模块来形成会话语句,再通过语音生成模块生成语音与人进行交流。该会话机器人系统具有语音识别和理解能 力 ,能够听懂用户的指令,可以应用于学校、家庭、宾馆、公司、机场、车站、码头、会议等地进行教育、聊天、会话、咨询等;此外,它还可以为用户提供宣传介绍、来访接待、办事查询、文秘服务、外语翻译等。,下面是一种聊天机器人专利的具体信息内容。

1.一种聊天机器人,其特征在于包括摄像头、摄像头驱动模、语音拾取模块和用于实现语音识别、知识查询、语音生成的计算机;所述语音拾取模块为麦克,用于拾取语音信号;所述摄像头用于捕获人脸图像;所述摄像头的个数为2个。
2.根据权利要求1所述的聊天机器人,其特征在于所述摄像头共有5个自由度

说明书全文

一种聊天机器人

技术领域

[0001] 本实用新型涉及智能机器人领域,特别涉及一种聊天机器人

背景技术

[0002] 在很多公众场合,设置了一些用于信息查询的终端。其一般是由触摸屏和电脑一起构成。由用户通过触摸来进行查询或者用鼠标键盘来进行查询,不能直接通过会话来进行信息查询。具有语音功能的设备也通常是机器设有用于播放语音的电路,如申请号为200910248546.8的中国专利申请,公开了一种自助收费机,由主控单元(工控机)与外围功能模组成,其包括有运营状态显示器、维护显示器、维护键盘、操作显示器、红外触摸屏,连接方式包括串口、USB、LVDS、VGA和以太网接口。该设备缺少通过对话来进行信息交互的功能。因此,需要提供一种可直接通过对话来进行信息交互设备,满足不同使用者的交互需求。
实用新型内容
[0003] 本实用新型的目的是克服现有技术存在的上述不足,提供一种聊天机器人,可以实现人与聊天机器人的直接对话,可应用于公众场合用于咨询,具体技术方案如下。 [0004] 一种聊天机器人,其包括摄像头、摄像头驱动模块、语音拾取模块和用于实现语音识别、知识查询、语音生成的计算机;所述语音拾取模块为麦克,用于拾取语音信号;所述摄像头用于捕获人脸图像;所述摄像头的个数为2个。
[0005] 所述摄像头共有5个自由度
[0006] 与现有技术相比,本实用新型具有以下有益效果:所述的聊天机器人具有视、听、说、记忆功能。只要用户和它对过一次话,它就能记住用户的声音,见过一次面便能认识用户。它可以24小时昼夜地进行简单的对话和服务。聊天机器人具有语音识别和理解能,它能够听懂用户的指令,具有较强的聊天功能。聊天机器人可以掌握了多种不同国家的语言,既可以是导游,又是翻译,并且能够办理各种业务,例如接待报案,查询资料等。 附图说明
[0007] 图1是实施方式中会话机器人的组成框图
[0008] 图2是实施方式中语义知识的三元组表示法的示意图。
[0009] 图3是实施方式中基于模式匹配的语音识别的原理方框图。
[0010] 图4是实施方式中语音合成模块框架图。

具体实施方式

[0011] 以下结合附图对本实用新型的实施作进一步说明,但本实用新型的实施不限于此。
[0012] 如图1所示,一种聊天机器人,包括摄像头及其驱动模块、语音拾取模块、语音识别模块、知识查询模块、语音生成模块;摄像头捕获人脸图像,语音信号经由语音拾取模块和语音识别模块后识别出语义,所述聊天机器人根据人的语音来了解人的需求,然后通过知识查询模块来形成会话语句,再通过语音生成模块生成语音与人进行交流。
[0013] 本实施例中,聊天机器人包括1台高性能PC机、2个CCD摄像头、5个直流伺服电机、1块双通道图像输入板和1块数据采集卡、1个麦克风和2个扬声器,2个CCD摄像头共有5个自由度(由5个直流伺服电机控制),可以模仿人的两个眼睛上、下、左、右运动,也可以像人脖子一样作旋转运动,追踪人脸。当用户走入2个摄像头的摄像区域时,通过摄像头驱动模块始终把用户分别定位在2个摄像头的取像中心,就像人的一双眼睛。通过麦克风(语音拾取模块)拾取语音信号并转换成数字信号后进行语音识别。语音拾取模块、语音识别模块、知识查询模块、语音生成模块可通过计算机来实现。
[0014] 音识别模块:语音识别模块通过识别把语音信号转变为相应文本。目前,大多数语音识别系统都采用了模式匹配的原理。根据这个原理,未知语音的模式要与已知语音的参考模式逐一进行比较,最佳匹配的参考模式被作为识别结果。
[0015] 如图3,待识别语音经过话筒变换成图中语音信号后加在识别系统输入端,先经过预处理。预处理包括语音信号采样、反混叠带通滤波器、去除个体发音差异的设备、环境引起的噪声影响等,涉及到语音识别基元的选取和端点检测问题,有时还包括模数转换器。特征提取部分用于提取语音中反映本质特征的声学参数,常用的特征有短时平均能量或幅度、短时平均过零率、短时自相关函数、线性预测系数、清音/浊音标志、基音频率、短时傅立叶变换倒谱、共振峰等。训练在识别之前进行,是通过让讲话者多次重复语音,从原始语音样本中去除冗余信息,保留关键数据,再按规则对数据加以聚类,形成模式库。模式匹配是整个语音识别系统的核心,是根据一定的准则以及专家知识,计算机输入特征与库存模式之间的相似度,判断出输入语音的语意信息。
[0016] 模型训练是指按照一定准则,从大量已知模式中提取表示该模式特征的模型参数。模式匹配是指根据一定准则,使未知模式与模型库中某一模型获得最佳匹配。语音技术所应用中主流的模型训练和模式匹配技术有以下几种:
[0017] (1)动态时间规整匹配(Dynamic Time Warping,DTW)算法:时间规整即时间校正,是把一个单词内的时变特征变为一致的过程。在规整过程中,未知单词的时间轴要不均匀地扭曲或变折,以便使其特征与模型特征对比,是一个最为小巧的语音识别算法,其系统开销小,识别速度快,在对付小词汇量的语音命令控制系统中效率较高,但是,如果系统稍微复杂一些,这种算法就显得力不从心。
[0018] (2)隐尔克夫模型(Hidden Markov Model,HMM):采用语言信号时变特征的参数表示法,由相互关联的两个随机过程共同描述信号的统计特性。采用HMM这种技术,要以一个具有有限不同状态的系统作为语音生成模型,每个状态皆可产生有限个输出,直到整个单词输出完毕,状态之间的转移是随机的,每个状态下的输出也是随机的,由于允许随机转移和随机输出,所以HMM能适应发音的各种微妙变化。HMM方法很好地解决了分类以及训练上的困难,维特比(Viterbi) 搜索语音识别算法解决了时间轴的规一化问题。HMM是把未知量均匀地伸长或缩短,直到它与参考模式的长度一致时为止,这是一种非常有力的措施,对提高系统的识别精度极为有效。
[0019] (3)人工神经网络(Artificial Neural Net ANN):神经网络的概念也已经被应用于语音识别中,其中最有效的一种方法是使用多层神经网络,多层神经网络不仅输入节点输出节点,而且有一层或多层隐节点。利用神经网络的记忆功能和快速响应特性,将语音信号提取出来的特征值输入到神经网络中进行长时间训练,得到节点间连接权值。自组织神经网络能完成对输入样本的分类和聚类功能,但在其输出层并不能直观表现出来,需要对其进行模式标识。对于只对某类样本产生响应的神经元,直接将其标识为与该类输入样本所对应的模式类;对于边界神经元则采用上述边界神经元的处理方法标识;对于未对任何输入类产生响应的神经元,直接屏蔽。这样,当新的样本输入时,就能够直观的从输出层读出输入样本属于哪个模式类。
[0020] 自然语言是人类日常所用的语言,是人类在其社会生活中发展出来的用来互相交际的声音符号系统,如:汉语、英语、日语等。自然语言是个十分复杂的符号系统,符号的形式和其所表达的意义由社会所约定,而且随着社会的发展而不断变化发展。自然语言理解作为语言信息处理技术的一个高层次的重要方向,一直是人工智能界所关注的核心课题之一。从微观上看,自然语言理解是自然语言系统到计算机的系统内部表示之间的映射;从宏观上看,它是指计算机能够依照某些的规则来执行人类所期望的某些语言功能。
[0021] 在汉语的书写表达中,字词之间是连着的,各个词语在句子中没有显式的标记。理解汉语的首要任务就是把连续的汉字串分割成词的序列,即中文分词。中文分词可分为以下 三种形式:
[0022] (1)机械分词。机械分词是基于字符串匹配原理,需要分词词典作为分词的依据,词典的结构以及词典中词的个数直接影响分词的准确度和效率。按照扫描方向可分为正向扫描,反向扫描和双向扫描;按匹配原则可分为最大匹配法和最小匹配法。机械分词算法简单,对词典建立索引,能有效地提高分词速度,但这种分词方法并不能很好地消除歧义,还需和其它方法结合一起,进一步提高分词精度。
[0023] (2)统计分词。统计分词是以概率论为理论基础的,将汉语文本中汉字串的出现抽象为一随机过程,其中,随机过程中的参数可以通过大规模的汉语语料库来训练得出。待分词的字串C=c1c2...cn,输出的词串W=w1w2...wn,其中m≤n。对于一个特定的C会有多个W对应,统计分词的任务就是在这些W中找出概率最大的一个,即求W,使P(W|C)的值最大。根据贝叶斯公式可以得到P(W|C)=P(C|W)*P(W)/P(C),其中P(C)是固定值,从词串恢复到汉字串的概率P(C|W)=1。由此求解问题可以变换为:在全切分所得的所有结果中求出某个W,使得P(W)为最大。N-gram模型是最基本的统计语言模型,用常用的二元模表示P(W),即P(W)=P(w1)*P(w2|w1)*...*P(wm|wm-1)。
[0024] (3)知识分词。知识分词也称为规则分词,它不仅仅是使用词典的匹配,还运用语法、句法和语义方面的知识进一步分词处理。知识分词需要设计一个语法语义知识库,通过库中所定义的规则来分词处理。汉语的词法句法规则复杂,建立一个适用的知识库难度大,花时间长,因此知识分词至今难以适用于大规模真实文本处理,有待进一步研究。
[0025] 知识是人们在改造客观世界的过程中积累起来的经验及其总结升华的产物。知识是一切智能行为的基础,是人工智能的重要研究内容。要使计算机具有智能,就必须使它具有知识。适当选择和正确使用知识表示方法可以极大地提高人工智能问题求解的效率。从计算机度看,自然语言中的词和句子只是保存在内存中孤立的符号串常量,没特殊的意义。如果按照某种规则或结构组织这些字符串,转换成便于计算机程序处理的结构,那么计算机程序经过搜索、关联、判断、推理、替代等处理后,再以自然语言表达方式输出,可以认为计算机具备一定的智能性。目前语义知识的表示可以采用以下几种方法。
[0026] (1)逻辑表示法。使用逻辑法表示知识,需将以自然语言描述的知识,通过引入谓词、函数来加以形式描述,获得有关逻辑公式,进而以机器内部代码表示。其中项是描述世界中的物体的常量,包括抽象事物;谓词是描述关系和属性的常量;关系逻辑运算有合取(∧)、 析取(∨)、否定(~)、条件(→)、双条件();量词有全称量词( )和存在量词( )。采用归结或其它方法进行推理。
[0027] (2)产生式表示法。产生式表示法容易描述事实、规则以及它们的不确定性度量。产生式系统由知识库和推理机两部分组成,其中知识库由规则库和数据库组成。
[0028] 规则库是产生式规则的集合,数据库是事实的集合。规则库是以某个领域知识的存储器,规则是用产生式表示,包含着从初始态到最终解决状态的转换规则。数据库存放输入的事实、外部数据库输入的事实以及中间结果。推理机是控制程序,包含推理方式和控制策略。其推理方式包含三种:正向推理,反向推理和双向推理。
[0029] 产生式表示形式固定,形式简单,规则键相互较为独立,而且知识库和推理规则相分离,能够独立地的修改知识库,由此产生式表示常用于专家系统建造时所采用。
[0030] (3)语义网络表示法。一个语义网络是以有向图的三元组(结点A,弧,标注R,结点B)连结而成,如图2所示。结点表示概念、事物、事件、情况等;弧是有方向的有标注的,方向表示主次,结点A为主,结点B为次,而标注R表示结点A的属性或结点A和结点B之间的关系。
[0031] 语义网络能够表示事物之间的继承、补充、变异、细化等关系,而且直观易懂,很容易用于推理,得到广泛应用。
[0032] (4)框架表示法。框架理论的基本观点是人脑以存储大量的典型情景,当人面临新的情景时,就从记忆中选择一个称作框架的基本知识结构,这个框架是以前记忆的一个知识空框,而具体的内容以新的情景而改变,对这空框的细节加工修改和补充,形成对新情景的认识又记忆于人脑中。框架是由若干个结点和关系(统称为槽)构成的网络,表示某一类情景的结构化的一种数据结构。框架由框架名和一些槽组成,每个槽有一些值,槽的值可以是逻辑的、数字的,可以是程序、条件、默认值或是子框架。 框架表示法适应性强、概括性高、结构化良好、推理方式灵活、又能把陈述性知识与过程性知识相结合,但是框架方法不易表达过程性知识,所以在具体的系统中,它往往要和其它方法配合使用。
[0033] 知识查询模块:人工智能问题的求解是以知识为基础的,该模块中知识库规模大小一定程度上反映计算机的智能平,但是人类的知识浩如烟海,表达形式各异,在现在的计算机技术限制下,不能够把这些知识用规则形式全部表达出来。
[0034] 文字聊天模块的知识库可以分为:词典库、规则库、语义知识库和常识库。 [0035] 词典库主要用于分词,包含有词,词义,词性,以及词频等信息,同时也可以根据词典库里面的词义来动态生成一些基本的语义知识。
[0036] 规则库保存中文句子的语法规则,用规则判断句子是否符合语法,也可以根据规则来构造简单的句子,规则可以动态增加。
[0037] 语义知识库中记录的语义知识主要就是语义关系知识,本质上就是词语之间的巨大的关系网,通过这些关系网可以对词语进行替换,推导出深层次的语义。
[0038] 常识库可以是人们日常所用的知识,也可以是特殊领域的专业知识,内容最为广泛,其形式可以是文字,图片,声音,视频等。需要花费大量的人力物力去获取、建立常识库以及保证每一条常识的正确性,由此常识库的建立是一个长期的过程。常识库的建立应该独立于程序设计,只要建立相关领域的常识库,就能将聊天、教育和咨询机器人应用于该领域。由于常识库数据量巨大,如何快速保存,建立索引,提高数据检索的速度需要进一步研究。
[0039] 知识库的建立主要有手工建立,计算机程序自动建立和人机结合建立方式。一些基础库,如词典库,规则库通过手工来建立,也可以到互联网上获取、改进已有的知识库资源。而那些常识库,可以先通过计算机从互联网直接获取,再经过人工检查、修改,按照一定格式保存到数据库中。
[0040] 基于自然语言的知识查询是指用户用自然语言在检索系统中对查询目标进行描述,系统从查询文本中自动提取查询条件、查询目标的关键特征等,按一定的规则和算法在数据库中查找满足条件的记录作为查询结果反馈给用户。知识查询需要预先设定一个或者多个特定知识库,如:特定专业课程,产品使用说明,企业的规章制度等。和聊天功能模块不同的是,知识查询擅长于知识问答,而且答案要尽可能准确,对于不能回答的问题,就回答“不知道”,而不是故意转移话题。
[0041] 知识查询对输入的句子预处理与聊天功能模块是相同的,也需要先进行分词、语法语义分析。为了能对用户的提问做出正确地回答,首先需要知道用户是针对什么进行提问,也就是问题的类型是什么,同时还要明确最终给出的答案应该满足哪些要求。
[0042] 查询过程中的问题类型:疑问词是确定问题类型及答案要求的主要依据,因此在确定问题类型时,首先要找出问句中的疑问词,根据疑问词分析可能的答案类型。但是各疑问词的辨别能力并不相同:由疑问词“哪里”可知是对“地点”进行提问,它是“专用疑问词”,但如果句中出现“什么”,就不能仅靠疑问词来判断类型,因为很多类型的问题都有这种“通用疑问词”,必须借助于问句中的另一个词(称为“问题焦点”或“疑问修饰词”)才能进行正确的判断。所谓“问题焦点”,就是问题中说明问题主要内容的一个名词或名词性短语,而问题的主要内容就是本实施例想要找到的答案需要满足的条件。那么如何来确定“问题焦点” 呢?一般情况下,问题中的第一个名词或名词短语是问题焦点的可能性很大。问答系统的问句一般是由一句话构成,首先取出该句中所有的名词,然后根据疑问词与句中名词的位置信息进行判定,通过对大量问题的观察和统计,可以归纳出含有通用疑问词时问题类型的判断规则如下:
[0043] (1)如果疑问词后紧跟着名词或名词短语,则可以将该名词或名词短语看作是问题焦点;
[0044] (2)如果疑问词处于句子的末尾,则与该疑问词距离最近的名词或名词短语可以看作是问题焦点;
[0045] (3)如果疑问词后为动词(如“是、为”等),则句子中最后出现的名词或名词短语可以看作是问题焦点。
[0046] 表1为问题类型及答案要求的对应关系。
[0047] 表1
[0048]问题类型 相关的疑问词举例 答案要求
询问时间 什么时候,何年,何时 回答事件信息
询问地点 哪里,哪个国家 回答地点信息
询问人物 哪位,谁 回答人物描述信息
询问原因 为什么,为何 必须含原因信息
询问数量 多少,几 必须含数量信息
询问一般名词 什么+一般名词 对该名词的描述
询问状态 多+形容词 对状态的描述
询问动作 如何/怎样+动词 对动作的描述
询问定义、事件 怎么回事 必须为摘要形式
询问是否 是不是,是否 回答是或者不是
[0049] 语音合成模块:语音合成模块的框架图如图4所示。语音合成是将以文本形式或者其它形式存在的信息转换成语音信号,让人通过听觉来获得信息。文语转换系统(Text-To-Speech System,TTS System),它是一种以文字串为输入的语音合成系统。其输入的是通常的文本字串,系统中的文本分析器首先根据发音字典,将输入的文字串分解为带有属性标记的词及其读音符号,再根据语义规则和语音规则,为每一个词、每一个音节确定重音等级和语句结构及语调,以及各种停顿等。这样文字串就转变为符号代码串。根据前面分析的结果,生成目标语音的韵律特征,采用合成技术合成出输出语音。
[0050] 基于对合成单元的处理方式的不同,合成算法可以分为三类:①发音参数合成 (Articulatory Parameter Synthesis);②参数分析合成(Parametric Analysis Synthesis);③波形编码合成(Waveform Coding Synthesis)。其中,前两种方法基本上都是建立在Fant所建立的语音产生的声源-滤波器模型的基础上,分别用不同的物理或数学模型代表语音产生的声源、声道滤波、辐射三个部分。后一种方法本质上属于基于语言学规则的统计模型。
[0051] (1)发音参数合成。语音合成的研究始于发音参数合成。该方法是对发音生理机制进行分析,用仪器记录发音器官在发不同语音单元时的各种生理参数,从中归纳出控制合成模型所需的参数系列。本质上讲,这是一种最能反映语音合成本质的系统,但由于对人类发音器官的生理和物理机制以及控制发音器官运动的神经系统并没有完全透彻了解,所以基于发音参数的合成系统仍然处于摸索阶段。
[0052] (2)参数分析合成。参数分析合成是对合成单元(多以音节、半音节或音素)的自然语音按一定的方法进行分析,得到该单元的特征参数并存储起来,成为音库;合成时,调用相应合成单元的特征参数并根据一定的规则进行变换后送入合成器,得到合成语音的输出。该类方法由于其灵活有效在无限词汇的合成系统中得到了广泛的应用。
[0053] (3)波形编码合成。基于大语料库的波形编码合成方法正得到越来越多的关注。合成语句的语音单元从一个预先录制的、经过编码压缩的语音数据库中挑选出来。只要语音数据库足够大,包括了各种可能语境下的所有语音单元,理论上就有可能通过高效的搜索算法拼接出任何高自然度的语句。由于合成的语音基元都是来自自然的原始发音,合成语句的清晰度和自然度都将会非常高。但该方法的缺点就是语料库过于庞大,因此语音库的构建耗时费力不灵活,且所占存储空间过大,韵律调整的程度极其有限。最优合成单元的选择需要高效率算法才能使系统很流利。
[0054] 微软Speech SDK 5.1全面支持中文语音应用程序的开发,SDK里提供了语音识别和合成引擎相关组件、应用程序层接口、详细的技术资料和帮助文档。它采用COM标准开发,底层协议都以COM组件的形式完全独立于应用程序层,为应用程序设计人员屏蔽掉复杂的语音技术,充分体现了COM的优点,即语音相关的一系列工作由COM组件完成:语音识别由识别引擎(Recognition Engine)管理,语音合成由语音合成引擎(Synthesis Engine)负责;程序员只需专注于自己的应用,调用相关的语音应用程序接口(SAPI) 来实现语音功能。
[0055] 语音识别的功能由一系列的COM接口协调完成,语音识别的主要接口:
[0056] (1)IspRecognizer 接口:用于创建语音识别引擎的实例,在创建时通过参数选择引擎的种类。识别引擎有两种:独占(InProc Recognizer)的引擎和共享(Shared Recognizer) 的引擎。独占的引擎对象只能由创建的应用程序使用,而共享的引擎可以供多个应用程序共同使用。
[0057] (2)IspRecoContext 接口:主要用于接受和发送与语音识别消息相关的事件消息,装载和卸载识别语法资源。
[0058] (3)IspRecoGrammar 接口:通过这个接口,应用程序可以载入、激活语法规则,而语法规则里则定义着期望识别的单词、短语和句子。通常有两种语法规则:听写语法(Dictation Grammar) 和命令控制语法(Command and Control Grammar)。
[0059] (4)IspPhrase 接口: 用于获取识别的结果,包括识别的文字、识别了哪一条语法规则等。
[0060] 语音识别的功能由上面的COM接口共同完成,而且遵守特定的工作程序。概括地说,语音识别的工作原理遵循COM组件的工作原理和一般Windows 应用程序的工作原理(消息驱动机制),具体如下:首先初始化COM;接着要实例化各个语音接口(以特定的顺序),设置识别语法、识别消息,使识别引擎处于工作状态;当有语法规则被识别后,语音接口向应用程序发出语音识别消息;在识别消息响应函数里,通过IspPhrase 接口获取识别的结果;应用程序退出时,卸载COM。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈