一种建立机器人智能交互的方法技术

技术编号:16080054 阅读:43 留言:0更新日期:2017-08-25 15:31
本发明专利技术公开了一种建立机器人智能交互的方法,包括训练和匹配两部分内容,本发明专利技术采用双向最大匹配法对中文句子进行分词,对汉语文本中90%左右的句子都能进行正确的分词处理,用户通过语音交互系统提出的问题,基本能找到匹配的应答。

【技术实现步骤摘要】
一种建立机器人智能交互的方法
本专利技术涉及智能机器人
,具体为一种建立机器人智能交互的方法。
技术介绍
机器人智能交互能够深度挖掘网站群内容知识库,可替代人工客服值守完成大量实时交互工作,包括信息查询、业务办理、网站导航以及相关咨询问题引导等,机器人智能交互系统内置可扩展的主题词库、同义词库以及百姓体词库等,可以和人进行自然语言的对话,并能够通过自学习来动态地丰富知识库,提升机器人交互能力。
技术实现思路
本专利技术的目的是提供一种基于词典的双向最大匹配法建立机器人智能交互的方法,本专利技术通过以下技术方案实现:一种建立机器人智能交互的方法,包括以下步骤:步骤一,训练;训练方法包括:(1)用户通过教学界面向系统提出一个话题与相应应答;(2)系统对该话题进行分词,判断该话题在系统知识库中应存放的位置;其中分词的方法基于字符串匹配,应用双向最大匹配算法分词;(3)在系统知识库中添加该话题及相应应答;系统知识库中设计的词典采用Hash表数据结构;步骤二,匹配;匹配方法包括:(1)用户通过语音交互系统提出一个问题;(2)机器人系统对该问题进行分词处理;分词处理过程包括词典加载、预处理、最大匹配和歧义消解阶段,具体为:第一步:预处理阶段,按照特殊字符将待分析文本进行断句,将待切分的文本切分为只有中文的短句子,这些句子是下一步分词处理的基本单位;第二步:对断句出来的句子进行双向最大匹配分词,分词后的结果作为第三步的输入;第三步:对上一步分词得到的结果进行比较,判断是否存在歧义,如果存在歧义,就进行歧义消解;歧义消解的方法是跳转至第二步继续分词,直到判断出分词不存在歧义;第四步:重复第二步、第三步,直到处理完步骤一中断句所切分出的所有句子单元,再输出所有的分词串;(3)在系统知识库中寻找与该问题匹配的话语回复用户。本专利技术的技术效果:本专利技术所述的一种建立机器人智能交互的方法,采用双向最大匹配法对中文句子进行分词,对汉语文本中90%左右的句子都能进行正确的分词处理,用户通过语音交互系统提出的问题,基本能找到匹配的应答。附图说明图1是Hash表数据结构示意图;图2是知识库匹配算法流程图。具体实施方式一种建立机器人智能交互的方法,包括训练和匹配两部分。、训练训练的目的在于构建或是丰富词库。训练的具体步骤如下:第一步:用户通过教学界面向系统提出一个话题与相应应答;第二步:系统对该话题进行分词,判断该话题在系统知识库中应存放的位置;第三步:在系统知识库中添加该话题及相应应答。可以看到,这里涉及到两个方面:给出一个问题,系统需要进行分词,词库需要设计才能快速、准确的定位到答案。分词方法由于以句子为单位处理机器人智能交互的时间复杂度与空间复杂度较高,机器人智能交互的存储是以词为单位。于是分词方法是机器人智能交互的核心技术之一。英文分词直接根据句子的空格确定,而中文分词与英文分词的原理不一样。对于一句话,人们可以用自己的认识区分词语,而机器人智能交互就需要恰当的中文分词算法。中文分词技术隶属于自然语言处理。现有的分词算法可以分为三大类:基于字符串匹配的分词方法、基于统计的分词方法和基于理解的分词方法。用户在聊天时的一个显著特点是所提出的话题一般都是比较短小的,而不是长篇大论,不具有段落篇章结构,绝大多数就是少数几句话。基于统计的分词方法适用于有段落、篇章结构以及上下文关系的文段。基于理解的分词方法目前并不成熟,且时间复杂度高,速度慢。因此基本的机器人智能交互可以采用基于字符串匹配的分词方法。词库设计由于中文词的特点:1.中文词是一个开放集,词数在增长;2.以不同字开头的词的数目变化很大,多的达到数百个,少的也有可能只有一个或者没有;3.词的长度变化也很大,有单字词,也有由六、七个字成词的。这就要求在设计词典时,除了考虑访问效率外,还得充分考虑存储利用率。采用Hash表这种数据结构,就能很好地平衡时间与空间。如图1所示,首字Hash表通过一次哈希运算就可以直接定位汉字在表中的位置。一个单元包括三项内容:C:存储首字;F标志位:存储以C为首字的最长词条的长度;P:指向词表索引表。哈希的意思是散列表Hashtable,也叫哈希表,顾名思义就是把数据都打散了,再按一定规律存起来,加快访问速度。是根据关键码值Key而直接进行访问的数据结构。举个例子:将[0,100]做成一个哈希表,选取“模10”作为散列函数,以数组作为存储单元,则得到A[10][10]的数组,A[0]里依次存着0,10,20…90;A[1]里存着1,11,21…91。依次类推。现在举一个训练机器人智能交互的例子:问题:“大白天的做什么美梦啊”回答是“不管你的事哦”。第一步:应用双向最大匹配算法分词:双向分词结果,正向《大白天,的,做什么,美梦,啊》;反向《大白天,的,做什么,美梦,啊》。正向反向都是一样的,所以不需要处理歧义问题。长词优先选择,“大白天”和“做什么”。第二步:以“大白天”举例,假设hash函数为f(),并设f(大白天)指向首字hash表项[大,11,P]。于是由该表项指向“3字索引”,再指向对应“词表”。第三步:将结构体<大白天,…>插入队尾。体中有一个Ans域,域中某一指针指向“不管你的事哦”。第四步:完成训练。、匹配如图2所示,匹配的具体步骤如下:第一步:用户通过语音交互系统提出一个问题;第二步:机器人系统对该问题进行分词处理;第三步:在系统知识库中寻找与该问题匹配的话语回复用户。基于词典的分词算法分为词典加载、预处理、最大匹配、歧义消解几个阶段。基于词典的分词算法具体流程如下:第一步:预处理阶段,按照特殊字符(如英文字母、数字等)将待分析文本进行断句,将待切分的文本切分为只有中文的短句子,这些句子是下一步分词处理的基本单位。第二步:对断句出来的句子进行双向最大匹配(双向匹配,长词优先)分词,分词后的结果作为第三步的输入;第三步:对上一步分词得到的结果进行比较,判断是否存在歧义,如果存在歧义,就进行一定的歧义消解;第四步:重复第二步、第三步,直到处理完步骤一中断句所切分出的所有句子单元。与机器人智能交互的例子:用户问机器人:“埃菲尔铁塔上45度角仰望星空”。第一步:双向最大匹配分词:正向反向均为《埃菲尔铁塔上,45度角,仰望星空》,没有歧义。长词优先,系统选择了“埃菲尔铁塔上”作为关键词;第二步:系统在知识库中用刚才说的哈希函数f(埃菲尔铁塔上),找到比如[埃,11,P]的表项,顺着指针找到6字词的索引,顺着索引找到6字词表,遍历词表,找到<埃菲尔铁塔上,…>结构体;第三步:系统随机选择该结构体Ans域中的一个回答(也有可能是根据频率高低来选择)。比如“两年之后等着你”。第四步:输出回答,匹配结束。功时重新切取的策略,机械分词法可以分为增字法和减字法。基于词典的“双向最大匹配”法是目前中文信息处理中最简单有效的方法,有这样的统计:汉语文本中90%左右的句子,其与双向最大匹配的结果相吻合,而且是正确的分词结果。当正、反向最大匹配算法得出来的切分结果不一样时,就必须对其进行歧义处理。尽管本专利技术的内容已经通过上述实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本专利技术的限制。在本领域技术人员阅读了上述内容后,对于本专利技术的多种修本文档来自技高网...
一种建立机器人智能交互的方法

【技术保护点】
一种建立机器人智能交互的方法,其特征在于,包括以下步骤:步骤一,训练;训练方法包括:(1)用户通过教学界面向系统提出一个话题与相应应答;(2)系统对该话题进行分词,判断该话题在系统知识库中应存放的位置; 其中分词的方法基于字符串匹配,应用双向最大匹配算法分词;(3)在系统知识库中添加该话题及相应应答;系统知识库中设计的词典采用Hash表数据结构;步骤二,匹配;匹配方法包括:(1)用户通过语音交互系统提出一个问题;(2)机器人系统对该问题进行分词处理;分词处理过程包括词典加载、预处理、最大匹配和歧义消解阶段,具体为:第一步:预处理阶段,按照特殊字符将待分析文本进行断句,将待切分的文本切分为只有中文的短句子,这些句子是下一步分词处理的基本单位;第二步:对断句出来的句子进行双向最大匹配分词,分词后的结果作为第三步的输入;第三步:对上一步分词得到的结果进行比较,判断是否存在歧义,如果存在歧义,就进行歧义消解;歧义消解的方法是跳转至第二步继续分词,直到判断出分词不存在歧义;第四步:重复第二步、第三步,直到处理完步骤一中断句所切分出的所有句子单元,再输出所有的分词串;(3)在系统知识库中寻找与该问题匹配的话语回复用户。...

【技术特征摘要】
1.一种建立机器人智能交互的方法,其特征在于,包括以下步骤:步骤一,训练;训练方法包括:(1)用户通过教学界面向系统提出一个话题与相应应答;(2)系统对该话题进行分词,判断该话题在系统知识库中应存放的位置;其中分词的方法基于字符串匹配,应用双向最大匹配算法分词;(3)在系统知识库中添加该话题及相应应答;系统知识库中设计的词典采用Hash表数据结构;步骤二,匹配;匹配方法包括:(1)用户通过语音交互系统提出一个问题;(2)机器人系统对该问题进行分词处理;分词处理过程包括词典加载、预处理、最大匹配和歧义消解阶段...

【专利技术属性】
技术研发人员:武星曹金龙马叶柳泽宇
申请(专利权)人:江苏东方金钰智能机器人有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1