智能情感机器人分布式认知技术的制作方法

文档序号:6575188阅读:212来源:国知局
专利名称:智能情感机器人分布式认知技术的制作方法
技术领域
本发明涉及一种人机交互技术,尤其涉及智能情感机器人分布式认知技术。

背景技术
随着信息技术的发展,信息技术被广泛的应用到各行各业,它正改变着人们的工作方式与生活方式。计算机硬件的性能正如摩尔定律所预言,每年都保持稳定的增长,但人机交互方式的发展却并不是这样。过去几十年人机交互方式的发展经历了三个主要的时代。批处理方式、命令行方式、图形方式,每一类人机交互方式都持续了若干年,并成为当时主流的交互方式。人机交互中,用户可以使用自然的交互方式如语音、手势、眼神、表情等与计算机系统进行协同工作。是集计算机技术、机械、传感技术、信息处理技术、图像处理与识别技术、语言识别与处理技术、控制技术和通信技术等于一体的系统。世界各国都在致力于人机交互技术的研究,把其作为关键信息技术之一,中国高校也一直关注和跟踪发达国家相关领域的进展。
近年来,国内外研究机构纷纷把人机交互技术作为其研究方向,比较具有代表性的有美国麻省理工学院设计一种拟人化的智能体;美国加州大学伯克利分校基于笔的人机交互、远程机器人交互;欧洲各大学相关学科的研究团体联起手来,在人机交互领域做了相当多的工作,尤其在自然人机交互的研究上,他们从理论基础到实际应用进行了系统的研究;微软中国研究院也将多通道人机交互技术作为他们研究的重点。但是目前,人机交互技术存在一些问题,其中之一是缺乏从认知心理学的角度来研究用户对信息的感知和处理模式。因此,以智能情感机器人为对象,研究分布式认知技术对于自然和谐人机交互的推动作用是显而易见的。


发明内容
以智能情感机器人为对象,研究人机交互领域相关的分布式认知技术,实现和谐自然的人机交互。本发明的目的在于从认知心理学的角度研究用户对信息的感知和处理模式,推动人机交互的发展。
对于外界环境的变化和刺激,智能情感机器人个体内的分布式认知体现在模拟人类左右脑的协调感知上。本发明中,智能情感机器人分布式认知技术包括四个模块语言理解模块、视觉理解模块、情感认知模块和物理量认知模块。
四个模块的设计与实现都包括硬件平台和软件支撑,下面介绍如下 硬件平台 语言理解模块的硬件平台由于智能情感机器人需要在一定空间内自主移动,因此,选用无线MIC接收器作为用户的语音输入设备。
视觉理解模块的硬件平台采用USB免驱摄像头作为输入设备。
情感认知模块的硬件平台此模块中的触觉情感认知部分,采用触摸按键芯片自主开发的触摸传感器数据控制板。
物理量认知模块的硬件平台超声波传感器、红外传感器、热释电红外传感器和温湿度传感器。
软件部分 语言理解模块的软件部分使用中科院的Pattek Asr 3.4和MicrosoftSpeech SDK这两种语音识别工具相结合,弥补了彼此的不足,在保证机器人语音交互实用稳定的基础上增加了机器人语音识别的灵活性。并采用改进的正向最大匹配算法进行分词,提高了分词效率。同时,采用了两种方式对关键词进行扩展。在此基础上,开发语言理解模块的软件部分。
视觉理解模块的软件部分开发出包括人脸检测、特征提取、特征识别以及人类的行为理解等相关视觉功能的软件包。
情感认知模块的的软件部分此模块中的语言情感认知部分中,提出了一种相对快速且计算机易于实现的针对输入语句的句义褒贬分析方法。并且,在判断文本褒贬度的时候采用了数据库搜索的方式;此模块中的表情情感认知部分中,采用空间灰度共生矩阵来提取眉心区域的纹理特征作为判断表情的一个维度;此模块中的触觉情感认知部分中,基于支持向量机作为判断用户情感的方法。在以上改进算法的基础上,形成情感认知模块功能的软件包。
物理量认知模块的软件部分对采集的物理量分析与保存的软件包。
以上所述四个模块的软、硬件部分,具体互联设计框图如图1所示。图1中,作为连接四个模块的硬件部分是研祥工控板1719。无线MIC接收器通过音频输入线接入到工控板1719上,USB免驱摄像头通过USB接口接入到工控板1719上,触摸传感器数据控制板、超声波传感器、红外传感器、热释电红外传感器和温湿度传感器通过CAN总线连接到工控板1719上。在此硬件互联基础上,通过各个模块的软件部分的相互配合,完成对外界环境和用户信息的分布式认知。
本发明可用于服务机器人、家用机器人等存在多通道人机交互的领域。



图1四个模块的互联设计框图。
图2是智能情感机器人分布式认知框架图。
图3是语音识别工具协调工作流程图。
图4是改进型正向最大匹配法分词流程图。
图5是情绪判断整体流程图 图6是判断是否受否定词影响的流程图。
图7是判断是否受程度词影响的流程图。
图8是触摸传感器数据控制板电路图。
图9超声波模块硬件结构图。

具体实施例方式 下面结合附图对本发明进一步说明。
智能情感机器人分布式认知框架图如图2所示,所包括模块的具体实施方式
如下 一、语言理解模块 语言理解模块的硬件平台选用无线MIC接收器Bock HD2262作为用户的语音输入设备。考虑智能情感机器人语音交互的要求,采用HMM模型和Viterbi算法作为主要理论对语音识别内容进行分词后的词性标注,获取自然语言关键词,以实现机器人对人类语义的判断。并通过数据库和推理库获取机器人回答内容。
本发明的语言理解模块中,语音识别、理解的基础是使用中科院的PattekAsr 3.4,以此来保证语音识别的准确率,准确的给机器人发送命令。其次为了是系统具有可扩展性,添加了Microsoft Speech SDK进行中文的泛识别。
其中的创新之处在于使用这两种语音识别工具相结合的方式,弥补了彼此的不足,在保证机器人语音交互实用稳定的基础上增加了机器人语音识别的灵活性。在进行语音交互时,默认的是使用中科院Pattek Asr 3.4进行基于规则的识别,识别过程相对固定,可保证程序的可执行性。在使用Pattek Asr 3.4不能识别时,自动转换到其他功能模块或通过语音提示发送语音指令打开Microsoft Speech SDK进行语音识别,识别结束后,提取语音识别结果,通过分词、词性标注,然后从口语识别结果中提取正确的关键词语义信息,准确理解用户的意图。在Microsoft Speech SDK语音识别交互结束后,更新Pattek Asr的识别规则库和数据库,下一次使用Pattek Asr就可以识别相同的内容,这就实现了机器人知识库的动态更新,使机器人具有后天学习、扩充知识的能力。基于两种语言识别工具的机器人语言理解模块的工作流程图如图3。首先启动中科院Pattek语言识别,判断是否是“添加问题指令”,如果否则进行其他交互,如果是则关闭Pattek语言识别,随后初始化Microsoft Speech SDK,进行语音输入并将识别结果读出,判断识别是否正确,如果否,则重新行语音输入,如果是,则计时器计时4秒,顺序进行分词、词性标注、关键词获取、答案获取、更新对话数据库、更新Pattek规则库、关闭Microsoft Speech SDK,判断程序是否结束,如果否则初始化Pattek,重新启动中科院Pattek语言识别,如果是则结束。
由于Microsoft Speech SDK进行的是中文泛识别,不能判断用户是否输入完毕,而只能判断一句话是否输入完毕,所以添加了一个定时器。用户输入一句话结束后,机器人将这句话读出给用户判断,如果识别正确,则需要等待5秒,5秒无语音输入,则机器人即认为语音输入的内容已经确定,继而进行识别结果的处理过程。如果用户认为识别结果有误,则再直接输入即可,系统将删除以前识别结果记录新的识别结果。
由于要保证语音识别的正确率,系统默认为Pattek ASR,所以MicrosoftSpeech SDK在进行一次语音识别后自动关闭,同时进行Pattek ASR的初始化,回到默认状态。
在语言理解过程中,用到的数据库主要包括语料库、关键词搜索库、命令式数据库及推理库。语料库存储内容为有10多万个词的词表,包括训练语料中出现词语的出现频率和词性,用于分词及词性标注;关键词搜索库用于根据可以确定用户语义的关键词搜索答案,与用户交流;推理库包括人物信息、时间信息、地点信息,以及在这些信息确定环境下机器人应该做的反应。上述语言理解过程中用到的技术可以按照下面的方法实施 1、分词 汉语的书面表达方式是以汉字为最小单位的,但是在自然语言理解中,词是最小的、能独立活动的、有意义的语言成分。把没有分割标志即没有词的边界的汉字串转换到符合语言实际的词串即在书面汉语中建立词的边界,这就是汉语自动分词的任务。此模块中词典使用北京大学和富士通公司合作开发的《人民日报》语料库抽取的词典,它包括103000多条中文字、词和中文标点。
本发明的语言理解模块中采用改进的正向最大匹配算法进行分词,根据每个首字的拼音首字母建立词库的索引,缩小了词库中检索的区域,提高了分词效率。改进的正向最大匹配算法流程图如图4。首先切分字符串S1,输出字符串S2=“”,计算最大词长MaxLen=4,判断S1是否为空,如果是则输出结果S2,如果否,则从S1左侧开始取出候选字符串,W的长度为MaxLen,获取W首字符拼音的首字母,查询索引表并获取字母在词典中的范围,查词典判断W是否在词典中,如果否则计算S2=S2+W+”/”,S1=S1-W,如果是则去除W最右一个字,再判断W是否是单字,如果是则重新计算S2=S2+W+”/”,S1=S1-W,如果否则重新查词典,判断W是否在词典中。
如果不是用分词索引表,则需要在整个分词词库中搜索,最大搜索数量为103000多条记录。使用分词索引表则大大缩小了搜索范围,使每次搜索范围缩小到最大15000条以内,大大提高了搜索效率。付出的代价只是在搜索之前获取字符串拼音的首字母。
2、词性标注 词性标注是个中间任务,也就是为句子中的词选定一个语法类别的过程。自动分词后的文本是个词串文本=w1w2…wn。对其中的每个词wi,孤立而言,它可能有多种词性,也可能有多种语义(这些都可以从词典中查到)。但是,一般而言,在上述文本的特定语境下,每个词的词性和语义都是唯一确定的,这也正是人们能正确理解给定文本的基础。对给定文本中的词,根据它在上下文本中的语境确定它的词性和语义就是词性标注的任务。
3、关键词获取和语义理解 本发明的语言理解模块中,语义的理解包含两种方式第一种是针对必须含有关键词的语言,第二种是针对一般性关键词的语言。
只要句子中含有时间或专有名词,则采用第一种关键词检索模式,提取时间或专有名词,另外加上句子中的其他的关键词,根据这些关键词理解人类的语义。在这种情况下,可能并不是所有的关键词都在理解范围内,则在保证必须含有关键词存在时,适当添加其他关键词,只要关键词的数目大于总数的60%,即可作为输出答案的判断词。很多时候,当语言中的某些关键词不是理解范围内的关键词时,就需要对这些关键词进行同义扩展。关键词扩展虽然提高了系统的召回率,但是如果扩展不当会极大损害语言理解的正确率,因此必须对扩展的关键词有严格的限制。
本发明的语言理解模块中,采用了两种方式对关键词进行扩展,一种是同义词扩展,另外是根据问题类型并借助领域知识扩展。同义词扩展一般只对意义用法完全相同的词汇进行扩展,这样出现歧义的可能性会很小。对于根据问题类型扩展就需要根据问题的类型制定不同的扩展规则,一般不对领域词汇、专有名词进行扩展。
另外一种是一般性关键词的检索模式。首先提取一句话中的关键词,提取名词、动词、形容词、限定性副词、疑问词作为关键词。所建立的关键词搜索库,包含三个关键词搜索的库,两个关键词搜索的库和一个关键词搜索的库。根据这几种库,系统开始时提取关键词,如果关键词大于三,则在保证名词、疑问词作为关键词时,轮流抽取其他的关键词,组成三个关键词,先在三个关键词库中搜索,如果搜索到结果,则表示已理解了这句话。否则搜索两个关键词对应的答案搜索库,如果还没有,则进入一个关键词搜索的搜索库,如果最终为理解,则要求人自己对话语进行解释,机器人将解释读出,并且更新Pattek识别的规则库和数据库。
在完成上述过程后,语言理解模块可以理解简单的语言,完成智能情感机器人分布式认知中的一步。
二、视觉理解模块 视觉理解模块的硬件部分采用USB免驱摄像头(台电黑金刚增强版)作为输入设备。用软件部分的特征检测、特征提取、特征识别等算法实现用户身份认定、目标跟踪和人类的行为理解等相关视觉功能。在提取出有用信息后,通过此模块能够认知外界和人类的活动,进而从视觉方面使智能情感机器人模拟人类视觉。
三、情感认知模块 此模块的具体实施包括语言、表情、触觉情感的认知三部分。
现代心理学把这些情绪分为快乐、愤怒、悲哀、恐惧四种基本形式。对这4种基本情绪又分了6级如表1所示 表1情绪等级分类 由于还应存在平静状态,所以本发明中,对机器人的情绪分为快乐、愤怒、悲哀、恐惧和普通心情五类。
1、语言情感认知 情感认知模块中的语言情感认知部分,在上述语言理解模块的基础上,需要建立褒义词库、贬义词库、恐惧词库、程度词库。褒义词库和贬义词库分别存放褒义词和贬义词,机器人以此来判断说话人对机器人的情感,确定机器人的语音合成情感;恐惧词库用来存放机器人恐惧的人或物,在用户输入语句中存在这些人或物则机器人表现出恐惧情感。程度词库用来存放以上词汇的程度修饰词,表示情感的强度。
本发明中,由于针对的是简单句输入,词语的褒贬也相对简单,并且一句话中的褒义词和贬义词量不多,基本都是一个褒义词或贬义词,最多两个,针对这种情况,本发明提出了一种相对简单但可用性较强的针对输入语句的句义褒贬分析方法。
在判断文本褒贬度的时候采用了数据库搜索的方式,其中有基准褒义词库、基准贬义词库、程度副词库和否定词库。部分词库分别如表2、表3、表4、表5所示。
表2部分否定词库 表3部分基准褒义词库
表4部分基准贬义词表
表5部分程度副词表

表中的权值是进行大量的统计得到的。通过对每句话各种情感权值的计算,获取权值最大的情感,作为这句话的输出情感。情感的权值根据权值计算大小分级,以找出提出的分级的情感,另外还有一种普通的情感,即语义无褒贬。
例如对于“你真聪明”这句话,获取“聪明”,首先为褒义,权值w1=3,属于快乐范畴,之后获取程度词“真”,权值为w3=4,全句权值w=w1*w3=12,整句权值为12,然后在下边情感权值对应表中进行查找,确定准确属于哪种情感。情感权值对应表如表6、表7所示 表6情感权值对应表a 表7情感权值对应表b 情感权值分两个表的原因是在进行情感分析时,悲伤和愤怒的都是由贬义词引起的,只是贬义的程度不同引起的情感不同而已,轻度的贬义的情感是悲伤,而重度的贬义引起的情感是愤怒。而判断快乐情感是有褒义引起的,判断恐惧情感是有恐惧词引起的,分开后二者不会重叠。
查找后的结果为快乐,即机器人反映出“快乐”的情感。
对于恐惧的情感,本发明中将机器人最怕的六件事物作为判断恐惧的标准,用户可以根据实际情况或是自己爱好进行更改。
输入句子根据分词的结果,将各个词语与褒义词词库,贬义词词库,否定词库,恐惧词库和程度副词词库进行对比,找到其中的褒义词,贬义词,否定词和程度副词。如果没有褒义词、贬义词和恐惧词,则作为普通情感输出,否则进行进一步的分析。
下一步察看恐惧词,如果语句中有恐惧词,获取恐惧词的权值直接退出,如果没有恐惧词,则提取褒义词和贬义词,如果只有褒义词,则输入语句为褒义的,机器人作为快乐的情感输出;如果只有贬义词则作为悲伤的情感输出,如果含有程度副词则要根据程度副词对贬义词的影响决定是输出愤怒还是悲伤。如果有否定词,则需要判断否定词对褒义词或贬义词的影响,看是否改变原来的情感。整体流程如图5所示。首先提取褒义词、贬义词共n个,否定词、程度词和恐惧词,判断是否有恐惧词,如果有则根据权值获取恐惧类型输出,如果没有令i=1,选取第i个词,然后获取第i个词的情感和对应权值,判断是否受否定词影响,如果是则改变情感后获取情感权值,如果否则直接获取情感权值,再判断是否受程度词影响,如果是则在获取程度权值后计算该部分情感值,如果否则直接计算该部分情感值,令i=i+1,判断i是否大于n,如果否则重新选取第i个词,如果是则进行情感权值对比,并输出权值最大情感。
由图5可以看出,否定词起到转换情感的作用,如果受否定词影响,则转换为反向情感。系统对一句话中所有的情感词进行分别处理,对每个情感词,先获取本身的情感权值,然后获取对它影响程度词的权值,这两个权值的乘积即为本情感对文本影响的最终权值。最后比较这句话中的所有情感权值,获取情感权值最大的情感类型作为本输入内容的情感类型。
这个过程首先判断是否为恐惧的情感,本发明中对恐惧情感的判断采用恐惧词库的方式,也就是当用户提到某些特定的事物时,机器人即可表现出恐惧的情感。这和现实生活中的情况是一样的,比如有些小孩子在听到“打针”“鬼”之类的都会害怕,而不管一句完整的话表达的是什么意思。本文直接判断语音输入文本中是否含有让小孩害怕的词,如果有根据词的权值不同获得不同等级的情感。
判断是否受否定词的影响的流程图如图6所示。首先获取褒义词或者贬义词,褒义词wordid=1,贬义词wordid=0,再获取词的位置wordpos,判断是否有否定词,如果否则直接输出wordid,如果是则获取否定词位置privetivepos和词长Plen,计算wordpos-privetivepos是否等于Plen,如果否则直接输出wordid,如果是则在计算wordid的逻辑非后输出wordid。
判断是否受否定词影响时采用了判断否定词是否正在贬义词或褒义词前的方式,如果 Wordpos-Privatepos=PLen (1) 其中Wordpos为褒义词或贬义词的位置; Privatepos为否定词位置; PLen为否定词长。
式(1)成立可判断出否定词正在褒义词或关键词前,则可得出褒义词或关键词受否定词的影响,否则不受否定词影响。
判断是否受程度词影响的流程如图7所示。首先判断是否有贬义词,如果否则获取褒义词位置WordPos、否定词位置PritivePos、否定词长PritiveLen和计算WordPos=WordPos+PritivePos后获取程度词位置DegPos和程度词长度DegLen,如果是则在获取贬义词位置WordPos后再获取程度词位置DegPos和程度词长度DegLen,然后判断WordPos-DegPos是否等于DegLen,如果否则表明不受程度词影响,如果是则相反。
由上图可以看出,判断贬义时是否受程度词影响有两种情况,即含有褒义词,否定后变为贬义,另一种就是开始就是贬义,对这两种情况,需要分开处理。
判断是否受否定词影响如上介绍所示,判断是否受程度词影响采用同样原理,即采用了判断程度词是否正在贬义词前的方式,如果 WordPos-DegPos=DegLen (2) 其中WordPos为贬义词的位置; DegPos为程度词位置; DegLen为程度词长。
式(2)成立可得出贬义词组受程度词影响,否则不受程度词的影响。
判断出是否受程度词的影响后,即可根据程度词的种类判断出情绪的类型。对贬义的环境而言,如果程度词是高量程度词,则情感确定为愤怒,如果为中量或低量程度词,情感确定为悲伤。
对于一句话,分析过程如下例所示。例如“你虽然有点乖,但相当不聪明,很认真,但过于虚伪。”这句话, 首先提取出褒义词和贬义词“乖”“聪明”,这两个都是褒义词,褒义权值分别是w1=2和w1=3。然后分析“乖”,没有否定词影响,受程度词“有点”影响,程度权值为w3=2,所以“有点乖”对整句话的情感权值贡献为w=w1*w3=2*2=4,为褒义,查表得情感应为愉快。
然后分析“聪明”,首先受否定词“不”影响,转换情感为贬义,权值w2=3,受程度词“相当”影响,权值w3=5,整体权值w=w2*w3=3*5=15,查找贬义情感为大怒。
同理“很认真”的权值w=w3*w1=4*2=8,为褒义;“过于虚伪”的权值为w=w3*w2=4*2=8,为贬义。
比较这四种情感占得比重,整句选取大怒为输出情感。
2、表情情感认知 人在某种情绪状态时,表情会发生变化。欢乐时,双眉展开,嘴角后伸,上唇提升;悲哀时,双眉紧锁。因此,对人类面部表情的检测,可以在一定程度上认知人的情感。
人们在微笑时的脸部最明显的特征是嘴角上翘,眼睛变小,脸颊部肌肉上抬。基于对实用性和实现复杂性的综合考虑,本发明采用嘴巴的状态来表示微笑表情。设置了一个量化的参数λ来代表嘴巴的状态。设嘴巴两个角点的坐标为(x1,y1)、(x2,y2),嘴巴区域最高点坐标为(x3,y3)。连接这两点构成的线段为a,a的中点坐标为

,则最高点与a的中点的纵坐标的差值为λ,计算方式如下 λ=y3-

(5) 面部表情为微笑、生气和平静时,λ会取不同得值。微笑是λ的取值会小于平静时的λ值。生气时嘴角下撇,λ取值会更大。
人们悲哀时,时常会皱眉,眉宇间就会出现皱纹。因此用眉间纹理特征表示皱眉。本发明中采用空间灰度共生矩阵来提取眉心区域的纹理特征。
设d=1,根据下式计算共生矩阵中的元素。
p(i,j,d,0°)=#{((k,l),(m,n))∈(Ly×Lx)×(Ly×Lx)|(k-m=0,|l-n|=d), I(k,l)=i,I(m,n)=j} (6) 对比度是灰度共生矩阵主对角线附近的惯性矩,它反映了图像的清晰度和纹理的沟纹深浅。纹理的沟纹深,对比度值大;反之,对比度值小,则沟纹浅。人们皱眉时眉心出就会出现较深的沟纹,因此提取的纹理特征定为纹理的对比度。对比度计算公式如下 特征提取过程为 第一步,灰度级压缩。幅图像的灰度级数一般是256级,这样级数太多会导致计算灰度共生矩阵大,计算量大。因此在求灰度共生矩阵之前,常将灰度级压缩为16级。
第二步,根据式(6)计算共生矩阵,设d=1。
第三步,对共生矩阵作正规化处理
式中的R是正规化常数,当取d=1,θ=0°时,每一行有2*(Nx-1)个水平相邻对点,共有Ny行,因此共有2*Ny*(Nx-1)个相邻点,所以取R=2*Ny*(Nx-1)。
第四步,根据式(7)计算纹理特征,即对比度CONb。
3、触觉情感认知 智能情感机器人对人的触摸所表达的情感的认知,作为情感认知模块实现的第三部分。此部分采用基于触摸按键芯片TS08N的自主开发的触摸传感器数据控制板作为硬件平台。
触摸传感器是开关信号,通过“数模转换”算法,将开关信号转换成数字的“线性”模拟信号的量化值。一共有N个触摸输入点,即N个开关量,相互独立。采样周期为50ms,每秒钟可以得到20个采样值,将各个样本独立累加,最后得到的便是模拟信号的量化值其中xi取0或1。DAC数值大小表示触摸时间的长短或相应的情感信息(对应)。前后2秒的各个累加和的量化值具有相关性,相邻的触摸点的量化值DAC间具有互相关性。这种互相关性的一个明显应用(效果)是,可以将几个触摸传感器的触点安装得很近很紧(但不让用户能感觉出来是内部密排的),从而感觉出用户滑动或抚摸的效果。
机器人上触摸传感器的安装位置如下 头部额头2个,后脑勺2个,耳朵处各2个。共计8个。
肩膀左右各4个。共计8个。
手臂上、下安装,左右边各8个。共计16个。
后背至底盘共分配16个。
前身至底盘共分配16个。
总共64个触点,分布在3*4(cm)的8块触摸板上。
通过一个控制板,CAN将得到的数据传输给上位机,进行情感的认知。
在头部、手臂、肩膀、胸部和后背等地方安装上触摸传感器,感知各种触摸信号,但基本上触摸传感器都是要求裸出导电接触面的。为了安装方便和美观,把机器人的皮肤做成有柔软性的,像机器人穿有“外套”,则可以在机器人表面上安装薄膜开关连接到触摸传感器上。通过查阅资料和调查研究采用TS08N触摸按键芯片制作触摸传感器数据控制板采用一对一与MCU连接来读取传感器数据。TS08N触摸按键芯片通过人体(手指)感应使输入电容发生变化,与内部基准电容比较,将差值进行放大,在输出端产生高低电平变化,从而实现对模拟信号的控制。中间的面板可以是任何材质的非导体,其厚度一般不超过8mm。其原理框图如图8所示。
以头部的触摸传感器为例,利用其进行触觉情感认知的具体实施方法如下 本发明利用支持向量机理论对触觉情感进行认知。对于头部的触摸传感器,因为其有8个触摸点,可产生8个模拟信号的量化值DAC,这8个数值共同代表着一种情感,所以用此信号训练的支持向量机的输入设定为8维[y1,y2,...,y8]。
由于触摸信号中所蕴含的情感较难区分,但一般来说,轻抚表达的是对机器人的爱意,所以本发明中把触摸信号分为两类。基于支持向量机,判断出输入触摸信号的类型轻抚属于第一类,增加机器人自身的愉悦程度;其他则属于第二类。
由于当轻抚时,用户的抚摸较为缓慢、平滑,因此,DAC值比较均匀,且在某个值附近波动,这个值取决于抚摸的速度。而当是非轻抚时,情况则相反。
在实际应用前,首先,采用30个轻抚状态的DAC和30个非轻抚状态的DAC训练支持向量机。其次,利用另外的30组数据(包括15个轻抚状态的DAC和15个非轻抚状态的DAC)对训练后的支持向量机进行验证,如验证通过,则可实际应用。
在实际应用时,通过输入每一个样本就可判断用户对于机器人的触摸状态,进而判断出用户的情感输入。
对于其它部位的触摸传感器,也可用相似地方法判断用户的情感状态,完成触觉情感认知。
四、物理量认知模块 此模块中,包括超声波传感器、红外传感器、热释电红外传感器和温湿度传感器。
1、超声波传感器 在智能情感机器人身上一共安装的12路超声波传感器(URM37),每隔30度安装一个。自制超声波模块中,每个模块带有两个探头(一个发送,一个接收)并由PIC16F676作为MCU采集超声波数据,对主CPU的结构采用I2C总线接口方式,这样主CPU做的就是编写一个和超声波模块的通讯程序,像I2C这类的通讯方式不会占用太多的主CPU资源,也不会打乱CPU的主程序。自制的超声波模块硬件结构图如图9所示。
本发明的创新之处在于机器人在运动时,超声波模块用于避障;在静止时,超声波用于检测运动物体,由于机器人静止,室内环境也相对静止,一旦有运动变化即认为有人在动,由超声波所测得的距离(有较大幅度变化的那个超声波便是方位)和综合出来的方位(多个传感器的数据),就可以大致的定位出人的位置。由于传感器的精度很高(1cm),故只要人稍微有位移(比如跺脚)便可以作出简单的定位。
光有上面的做法的话,会有很大的误识别,比如,其他物体的运动,人的“正常”移动也会造成误动作。由此,上下位机联合处理。机器人能定位出移动物体的方向和距离后,等待“跟踪”命令。交互者可以先对机器人说“请跟我走”(下达跟踪命令),然后交互者开始移动以便机器人能识别方位进而动作(定向)。
此外,超声波传感器由于最小探测距离可以达到很小,故可以当接近开关来使用,供紧急避障用,从而可以配合红外传感器工作。
2、红外传感器 为了弥补超声波的盲区而加的红外传感器,用于机器人的紧急避障,与超声波传感器配合使用。采用的红外传感器型号为Sharp GP2D12。
3、热释电红外传感器 用于检测有人体在移动有人体突然进入室内。采用的热释电红外传感器型号为LhI878。
4、温湿度传感器 感知环境的温湿度。采用的温湿度传感器型号为富安达数字温湿度传感器SHT11。
在智能情感机器人的分布式认知系统中,当不同的认知模块对相应信息处理后,进行信息融合,得到较为准确的信息。从认知心理学的角度来研究对信息的感知和处理模式。并以智能情感机器人为对象,研究分布式认知技术对于自然和谐人机交互的推动作用。本发明可用于服务机器人、家用机器人等存在多通道人机交互的领域。
权利要求
1、一种智能情感机器人分布式认知技术,其特征在于根据神经科学和认知科学的模块理论,从认知心理学的角度研究用户对信息的感知和处理模式,在人机交互过程中,利用四个模块使智能情感机器人感知外界或用户的信息,其分布式认知技术包括语言理解模块、视觉理解模块、情感认知模块和物理量认知模块四部分;
语言理解模块的硬件平台选用无线MIC接收器作为用户的语音输入设备,软件使用Pattek Asr 3.4和Microsoft Speech SDK这两种语音识别工具相结合,采用改进的正向最大匹配算法进行分词,提高了分词效率,同时,通过语义理解,完成分词、词性标注和关键词获取和语义理解的功能;
视觉理解模块的硬件平台采用USB免驱摄像头作为输入设备,利用软件部分的特征检测、特征提取、特征识别算法实现用户身份认定、目标跟踪和人类的行为理解等相关视觉功能;
情感认知模块包括语言、表情、触觉情感的认知三部分,语言情感认知是通过MIC接收器接收到的语言,整理成词语后,通过对基准褒义词库、基准贬义词库、程度副词库和否定词库四个数据库的搜索,确定词语的情感权值,进而确定输入语句所蕴含的情感,实现语言情感的认知;表情情感认知是通过摄像头,采集后的图像信息,采用空间灰度共生矩阵来提取眉心区域的纹理特征作为判断表情的一个维度;触觉情感认知部分,采用基于触摸按键芯片的触摸传感器数据控制板,基于触摸按键芯片的触摸传感器数据控制板通过人体感应使输入电容发生变化,与内部基准电容比较,将差值进行放大,在输出端产生高低电平变化,将开关信号转换成数字的“线性”模拟信号的量化值;前后2秒的各个累加和的量化值具有相关性,相邻的触摸点的量化值间具有互相关性,将几个触摸传感器的触点安装得很近很紧从而感觉出用户滑动或抚摸的效果,感知用户的情感,基于支持向量机作为判断用户情感的方法;
物理量认知模块的硬件平台选用超声波传感器、红外传感器、热释电红外传感器和温湿度传感器;
通过这四个认知模块的协调配合,完成机器人对于外界的认知,实现自然和谐交互。
2、如权利要求1所述的认知技术,Pattek Asr 3.4和Microsoft Speech SDK这两种语音识别工具相结合,其特征在于首先启动Pattek语言识别,判断是否是“添加问题指令”,如果否则进行其他交互,如果是则关闭Pattek语言识别,随后初始化Microsoft Speech SDK,进行语音输入并将识别结果读出,判断识别是否正确,如果否,则重新行语音输入,如果是,则计时器计时4秒,顺序进行分词、词性标注、关键词获取、答案获取、更新对话数据库、更新Pattek规则库、关闭Microsoft Speech SDK,判断程序是否结束,如果否则初始化Pattek,重新启动Pattek语言识别,如果是则结束。
3、如权利要求1所述的认知技术,其特征在于所述的采用改进的正向最大匹配算法,根据每个首字的拼音首字母建立词库的索引,缩小了词库中检索的区域,提高了分词效率;其具体步骤如下首先切分字符串S1,输出字符串S2=“”,计算最大词长MaxLen=4,判断S1是否为空,如果是则输出结果S2,如果否,则从S1左侧开始取出候选字符串,W的长度为MaxLen,获取W首字符拼音的首字母,查询索引表并获取字母在词典中的范围,查词典判断W是否在词典中,如果否则计算S2=S2+W+“/”,S1=S1-W,如果是则去除W最右一个字,再判断W是否是单字,如果是则重新计算S2=S2+W+“/”,S1=S1-W,如果否则重新查词典,判断W是否在词典中。
4、如权利要求1所述的认知技术,其特征在于所述的语义理解包含两种方式第一种是针对必须含有关键词的语言,第二种是针对一般性关键词的语言;句子中含有时间或专有名词,则采用第一种关键词检索模式,提取时间或专有名词,另外加上句子中的其他的关键词,根据这些关键词理解人类的语义;在这种情况下,并不是所有的关键词都在理解范围内,则在保证必须含有关键词存在时,适当添加其他关键词,只要关键词的数目大于总数的60%,作为输出答案的判断词;对于一般性关键词的检索模式,首先提取一句话中的关键词,提取名词、动词、形容词、限定性副词、疑问词作为关键词,所建立的关键词搜索库,包含三个关键词搜索的库,两个关键词搜索的库和一个关键词搜索的库,根据这几种库,系统开始时提取关键词,如果关键词大于三,则在保证名词、疑问词作为关键词时,轮流抽取其他的关键词,组成三个关键词,先在三个关键词库中搜索,如果搜索到结果,则表示已理解了这句话,否则搜索两个关键词对应的答案搜索库,如果还没有,则进入一个关键词搜索的搜索库,如果最终为理解,则要求人自己对话语进行解释,机器人将解释读出,并且更新Pattek识别的规则库和数据库。
5、如权利要求1所述的一种智能情感机器人分布式认知技术,其特征在于所述的情感认知模块从三个通道获取情感信息,这三个通道是语音、表情和触摸传感器输入信号,通过多源数据融合技术,对三个通道的情感信号进行处理,综合判断用户情感,使判断结果较为准确。
6、如权利要求1所述的认知技术,其特征在于所述的超声波传感器的使用上,在机器人在运动时,超声波模块用于避障;在静止时,超声波用于检测运动物体,同时做接近开关来使用,供紧急避障用,配合红外传感器工作。
全文摘要
本发明提出一种应用于智能情感机器人分布式认知技术,本发明可用于服务机器人、家用机器人等存在多通道人机交互的领域。在人机交互过程中,对环境和人的多通道感知是一种分布式的,以便使交互更加和谐、自然。分布式认知技术包括四部分1)语言理解模块,在经过分词、词性标注和获取关键词等步骤后,赋予机器人听懂人类语言的本领;2)视觉理解模块包括人脸检测、特征提取、特征识别以及人类的行为理解等相关视觉功能;3)情感认知模块抽取语言、表情和触觉中相关信息,分析其中所蕴含的用户情感,综合出较为正确的情感状态,使智能情感机器人认知用户当前情感;4)物理量认知模块使机器人了解环境和自身的状态,作为自身调节的基础。
文档编号G06K9/00GK101604204SQ200910089208
公开日2009年12月16日 申请日期2009年7月9日 优先权日2009年7月9日
发明者巍 王, 王志良, 仑 解, 刘遥峰 申请人:北京科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1