一种基于用户的智能机器人交互数据处理系统及方法与流程

文档序号:15851316发布日期:2018-11-07 10:00阅读:111来源:国知局
一种基于用户的智能机器人交互数据处理系统及方法与流程

本发明涉及人工智能技术领域,具体是一种基于用户的智能机器人交互数据处理系统及方法。

背景技术

问答系统一直是自然语言处理领域中非常热门的一个研究方向。人们可以向问答系统提交用自然语言表达的问题,系统会返回紧凑相关又准确的答案,而不是像搜索引擎那样仅仅返回一个网页集合。问答系统的目标是为问题找到精确的答案,而不是像信息检索系统那样返回全文文档或者最匹配的文章。虽然计算资源和存储资源在21世纪都得到了极大的进步,但人机交互方式并没有发生多大变化,尤其是用户获取信息的方法还不够有效。通过研究智能机器人相关技术--对话理解问题,对于促进人机交互方式的发展有重要意义。

随着信息技术的发展,目前智能机器人不仅可以回答用户的某一个问题,还可以很人性化地与用户交流,了解用户的需求,就像用户的一个好朋友,但是目前智能机器人所采用的问答交互系统存在着用户问句语义理解相关度较差,以致返回的结果不是用户所需要的。



技术实现要素:

本发明的目的在于提供一种基于用户的智能机器人交互数据处理系统及方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于用户的智能机器人交互数据处理系统,包括问题理解单元、信息检索单元、答案抽取单元和问答知识库单元,所述问题理解单元连接信息检索单元,信息检索单元还连接答案抽取单元,答案抽取单元还连接问答知识库单元。

一种基于用户的智能机器人交互数据处理方法,包含以下步骤:

a、用户输入问句;

b、系统通过中文分词得到词语集合以及对应的词性,从而正确理解用户问句获得其提问意向,同时还需进行关键词提取;

c、根据提问意向对问句进行主题分类,不同的主题类型进行不同的处理;若为笑话主题,随机从笑话数据库中返回一条笑话作为输出;若为闲聊主题,计算用户输入句子与已有的问答知识库中的问句的相似度,通过找到相似度最高的问句,将该问句的答案作为输出;若为天气主题,判断是否为初始状态,若为初始状态,将‘地点’设置为定位地点,‘时间’设置为今天,其他变量均为空,若用户输入的句子中出现了“提醒”、“天气”、“笑话”等关键词时,则对关键词所对应主题加1分值,当某一主题得分最高,本轮对话进入该主题,但若上述关键词均未出现,则进入闲聊主题;若为非初始时态,将所有主题的得分初始化为0,但全局变量不会进行初始化,并为天气主题加0.5分,同时判断本次输入的句子是否包含关键词:若本次输入句中出现了某主题关键词,为其主题加1分,当得分超过了上一轮的主题,本轮对话进入本次关键词所在的主题,并采用该主题代码块完成本次对话;若本次输入的句子不包含关键词,需要进行进一步的判断本次输入句中出现了“时间”、“地点”或“天气”关键字:若出现了,则进入天气主题;若没有,则进入闲聊主题;若为提醒主题,判断是否为初始状态,若为初始状态,将‘地点’设置为定位地点,‘时间’设置为今天,其他变量均为空,若用户输入的句子中出现了“提醒”、“天气”、“笑话”等关键词时,则对关键词所对应主题加1分值,当某一主题得分最高,本轮对话进入该主题,但若上述关键词均未出现,则进入闲聊主题;若为非初始时态,将所有主题的得分初始化为0,但全局变量不会进行初始化,并为提醒主题加0.5分,同时判断本次输入的句子是否包含关键词:若本次输入句中出现了某主题关键词,为其主题加1分,当得分超过了上一轮的主题,本轮对话进入本次关键词所在的主题,并采用该主题代码块完成本次对话;若本次输入的句子不包含关键词,需要进行进一步的判断本次输入句中出现了“时间”、“动词词组”和“提醒”关键字:若出现了,则进入提醒主题;若没有,则进入闲聊主题。

与现有技术相比,本发明的有益效果是:本发明通过实现天气、提醒意图、笑话故事、闲聊等四种问答查询的功能来完成机器人与用户之间问答相互,提高了人机交互性,同时能够快速提取机器所需要的信息,节约了大量的时间。

附图说明

图1为本发明的结构框图

图2为本发明的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-2,本发明实施例中,一种基于用户的智能机器人交互数据处理系统,包括问题理解单元、信息检索单元、答案抽取单元和问答知识库单元,所述问题理解单元连接信息检索单元,信息检索单元还连接答案抽取单元,答案抽取单元还连接问答知识库单元。

问题理解单元:通过正确理解用户问句获得其提问意向;系统对用户输入问句进行中文分词,得到词语集合以及对应的词性,然后进行关键词提取;

信息检索单元:根据获得的提问意向对用户问句进行主题分类,该系统对于用户问句分为四个类型,分别为提醒、天气、笑话故事和闲聊。不同的主题类型将进行不同的处理,比如提醒、天气类型,采用多轮对话处理,系统将本次对话的输入传递给相应的主题模块,进行多轮对话,获得全部必须信息后,获得相应模块的最终输出。多轮对话处理即用户的每一次输入,即为开始了一轮新的对话,获得回应,则本轮对话完成,通过用户多次输入,多次获得回应,来完成多轮对话。

该单元根据主题分类逻辑可分为初始状态模块和非初始状态模块,其中初始状态模块即当用户初次使用问答系统时,问答系统中的全局变量均在初始状态,此前未因使用者的输入而更新任何变量。初始状态时,除了‘地点’设置为定位地点,‘时间’设置为今天,其他变量均为空,若用户输入的句子中出现了“提醒”、“天气”、“笑话”等关键词时,则对关键词所对应主题加1分值,若某主题得分最高,本轮对话进入该主题,但若上述关键词均未出现,则进入闲聊主题。

非初始状态模块即在本轮对话前,用户已经输入过其他句子,已经调用过某主题模块来完成上一轮对话,问答系统全局变量已经被更新过,全局变量主题已不为空。此时,可分为两种情况进行处理:本次输入的句子包含关键词或本次输入的句子不包含关键词。同时每次对话开始,都会将各个主题的得分初始化为0,但全局变量不会进行初始化,并为上一轮对话进入的主题加0.5分,但若上一轮的主题是笑话,不会给笑话的主题得分加0.5,因为笑话不涉及多轮对话。

(1)本次输入的句子包含关键词。

若本次输入句中出现了关键词,为其主题加1分,得分超过了上一轮的主题,本轮对话进入本次关键词所在的主题,并采用该主题代码块完成本次对话。

(2)本次输入的句子不包含关键词。

若本次输入句中没有出现关键词,其他主题将不会被加分,所得分为0,上一轮对话进入的主题得分为最高,本次对话仍进入与上一轮相同的主题。但是在本轮与上一轮对话进入相同主题的情况下,若进入的是提醒或天气主题类型,则还要进行进一步的判断;若进入的是闲聊主题,则不需要判断,直接调用闲聊主题代码块完成本轮对话。

答案抽取单元:根据用户问句的主题分类,答案抽取单元将分为四种模块进行处理,分别为提醒模块、天气模块、笑话模块和闲聊模块。

提醒模块:进入提醒主题后,还需进一步判断:若本次输入句中出现了“时间”、“动词词组”或“提醒”关键字,则仍然留在提醒主题,调用相应提醒主题功能代码块完成本次对话;若本次输入句中既没出现“时间”、“动词词组”和“提醒”关键字,则改为进入闲聊主题,调用闲聊主题代码块完成本次对话。提醒主题需要采用多轮对话方式进行处理,多轮对话中的每一轮均需判断是否可以进入提醒主题,当进入提醒主题后,需要判断是否要改为进入闲聊。

天气模块:进入天气主题后,还需进一步判断:若本次输入句中出现了“时间”、“地点”或“天气”关键词,则仍然留在天气主题,调用相应天气主题功能代码块完成本次对话;若本次输入句中既没出现“时间”、“地点”和“天气”关键词,则改为进入闲聊主题,调用闲聊主题代码块完成本次对话。根据输入句中出现了“时间”、“地点”或“天气”关键词,更新全局状态变量词典status,然后从中提取时间和地点信息,获取中国天气网中的天气信息,经过处理后输出。

笑话模块:当进入笑话主题模块后,随机从笑话数据库中返回一条笑话作为输出。

闲聊模块:当进入闲聊主题模块后,直接调用闲聊主题代码块。在闲聊主题中,需要计算用户输入句子与已有的问答知识库中的问句的相似度,通过找到相似度最高的问句,将该问句的答案作为输出。

问答知识库单元:问答知识库中存储的若干问答对语句,每一条问句对应一条答案。

一种基于用户的智能机器人交互数据处理方法,包含以下步骤:

a、用户输入问句;

b、系统通过中文分词得到词语集合以及对应的词性,从而正确理解用户问句获得其提问意向,同时还需进行关键词提取;

c、根据提问意向对问句进行主题分类,不同的主题类型进行不同的处理;若为笑话主题,随机从笑话数据库中返回一条笑话作为输出;若为闲聊主题,计算用户输入句子与已有的问答知识库中的问句的相似度,通过找到相似度最高的问句,将该问句的答案作为输出;若为天气主题,判断是否为初始状态,若为初始状态,将‘地点’设置为定位地点,‘时间’设置为今天,其他变量均为空,若用户输入的句子中出现了“提醒”、“天气”、“笑话”等关键词时,则对关键词所对应主题加1分值,当某一主题得分最高,本轮对话进入该主题,但若上述关键词均未出现,则进入闲聊主题;若为非初始时态,将所有主题的得分初始化为0,但全局变量不会进行初始化,并为天气主题加0.5分,同时判断本次输入的句子是否包含关键词:若本次输入句中出现了某主题关键词,为其主题加1分,当得分超过了上一轮的主题,本轮对话进入本次关键词所在的主题,并采用该主题代码块完成本次对话;若本次输入的句子不包含关键词,需要进行进一步的判断本次输入句中出现了“时间”、“地点”或“天气”关键字:若出现了,则进入天气主题;若没有,则进入闲聊主题;若为提醒主题,判断是否为初始状态,若为初始状态,将‘地点’设置为定位地点,‘时间’设置为今天,其他变量均为空,若用户输入的句子中出现了“提醒”、“天气”、“笑话”等关键词时,则对关键词所对应主题加1分值,当某一主题得分最高,本轮对话进入该主题,但若上述关键词均未出现,则进入闲聊主题;若为非初始时态,将所有主题的得分初始化为0,但全局变量不会进行初始化,并为提醒主题加0.5分,同时判断本次输入的句子是否包含关键词:若本次输入句中出现了某主题关键词,为其主题加1分,当得分超过了上一轮的主题,本轮对话进入本次关键词所在的主题,并采用该主题代码块完成本次对话;若本次输入的句子不包含关键词,需要进行进一步的判断本次输入句中出现了“时间”、“动词词组”和“提醒”关键字:若出现了,则进入提醒主题;若没有,则进入闲聊主题。

本发明的工作原理是:本发明经过中文分词后得到词语集合以及对应的词性,从而正确理解用户问句获得其提问意向,正确掌握问句提问意向,并根据提问意向对问句进行主题分类,根据不同的主题进行不同的处理,比如提醒、天气采用多轮对话方式来完成。其它的问答采用基于关键词检索知识库提取答案。通过关键词检索可能的知识库问答对,然后从问答对通过句子相似度计算筛选最准确答案。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1