本发明涉及自然语言人机交互领域。
背景技术:
目前人机交互领域当中,在对比两句话的相似性时,并不处理句式,不关注句子里词和词之间的关系,甚至不关注虚词。例如在机器人中输入“你和小明比谁更厉害”和“小明和你比更厉害”,机器人是无法分清楚这两句话的差别的。对于一些虚词,机器人也无法进行区分,例如“你干什么”和“你干什么的”之间的差别。
但是在客服领域,在机器人问答方面,只要机器人不能准确区分两句话的意思,机器人就不能准确理解用户意图,不能给用户满意的答案。以目前的技术,现在语义理解的平均正确率只有64%,还远远无法达到人机正常交互的目的。
技术实现要素:
本发明所要解决的技术问题是提供一种人机自然语言交互中的语义相似处理方法及系统,目的在于解决现有人机交互技术在语义理解上存在准确率低,导致人机交互无法正常实现的问题。
本发明解决上述技术问题的技术方案如下:一种人机自然语言交互中的语义相似处理方法,它是通过以下方式实现的:
S1、建立初步查询数据库并接收用户输入语句;
S2、根据用户输入语句的格式对初步查询数据库中的语句进行筛选;
S3、将初步查询数据库中筛选出的语句与用户输入语句进行语义对比,并输出最终结果。
进一步,S2具体实现过程包括:
S21、提取用户输入语言中的主语、谓语和宾语;
S22、将用户输入语言中的主语、谓语和宾语与初步查询数据库中所有句子的主语、谓语和宾语进行对比;
S23、在初步查询数据库中筛选出具有与用户输入语言相同主语、谓语和宾语的语句。
进一步,所述S3具体实现过程包括:
S31、将用户输入语句进行词组拆分;
S32、将用户输入语句中所有词组分别与初步查询数据库中筛选出的语句中所包含的词组进行对比;
S33、根据用户输入语句以及初步查询数据库的词组对比获得每两个句子之间的语义相似值,并根据语义相似值的结果输出最终结果。
所述语义相似值的获取过程为:将用户输入语句与初步查询数据库中每个语句对比之后相同的词组个数除以用户输入语句中所有的词组个数即为语义相似值。
本发明的有益效果是:本发明首先通过用户输入语句的格式对数据库中的语句进行初步筛选,然后通过语义相似性的比较对比用户输入语句和数据库中问题语句之间的相似性,将最佳结果输出给用户,使机器人对语义理解的正确率提高10%至25%,使人机对话的过程变得更加自然、流畅。
一种人机自然语言交互中的语义相似处理系统,该系统包括:
数据库建立模块,用于建立初步查询数据库并接收用户输入语句;
语句筛选模块,用于根据用户输入语句的格式对初步查询数据库中的语句进行筛选;
语义对比模块,用于将初步查询数据库中筛选出的语句与用户输入语句进行语义对比,并输出最终结果。
进一步,所述语句筛选模块包括:
语句提取模块,用于提取用户输入语言中的主语、谓语和宾语;
格式对比模块,用于将用户输入语言中的主语、谓语和宾语与初步查询数据库中所有句子的主语、谓语和宾语进行对比;
筛选结果获取模块,用于在初步查询数据库中筛选出具有与用户输入语言相同主语、谓语和宾语的语句。
进一步,所述语义对比模块包括:
词组拆分模块,用于将用户输入语句进行词组拆分;
词组对比模块,用于将用户输入语句中所有词组分别与初步查询数据库中筛选出的语句中所包含的词组进行对比;
结果输出模块,用于根据用户输入语句以及初步查询数据库的词组对比获得每两个句子之间的语义相似值,并根据语义相似值的结果输出最终结果。
进一步,所述语义相似值的获取过程为:将用户输入语句与初步查询数据库中每个语句对比之后相同的词组个数除以用户输入语句中所有的词组个数即为语义相似值。
附图说明
图1为本发明实施例所述的人机自然语言交互中的语义相似处理方法的流程图;
图2为本发明实施例所述的根据用户输入语句的格式对初步查询数据库中的语句进行筛选的流程图;
图3为本发明实施例所述的将初步查询数据库中筛选出的语句与用户输入语句进行语义对比的流程图;
图4为本发明实施例所述的人机自然语言交互中的语义相似处理系统的原理示意图;
图5为本发明实施例所述的语句筛选模块2的原理示意图;
图6为本发明实施例所述的语义对比模块3的原理示意图。
附图中,各标号所代表的部件列表如下:
1、数据库建立模块,2、语句筛选模块,3、语义对比模块,4、语句提取模块,5、格式对比模块,6、筛选结果获取模块,7、词组拆分模块,8、词组对比模块,9、结果输出模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例1
如图1所示,本实施例提出了一种人机自然语言交互中的语义相似处理方法,它是通过以下方式实现的:
S1、建立初步查询数据库并接收用户输入语句;
S2、根据用户输入语句的格式对初步查询数据库中的语句进行筛选;
S3、将初步查询数据库中筛选出的语句与用户输入语句进行语义对比,并输出最终结果。
本实施例中,在对用户输入语句进行处理的开始,首先对用于输入语句的格式进行提取,通过提取问题的主干部分进行对比从而进行第一步删选;具体过程如图2所示:
S21、提取用户输入语言中的主语、谓语和宾语;
S22、将用户输入语言中的主语、谓语和宾语与初步查询数据库中所有句子的主语、谓语和宾语进行对比;
S23、在初步查询数据库中筛选出具有与用户输入语言相同主语、谓语和宾语的语句。
在进行初步筛选后,数据库中可能还会存在很多问题的主谓宾和用户输入语句的主谓宾是相同的,但是相比而言,初步查询数据库中与用户输入语句相对应的语句已经很少了,然后通过将筛选出的每个语句的词组与用户输入语句的词组进行对比的工作量则非常小了,对比速度也非常快,具体过程如图3所示:
S31、将用户输入语句进行词组拆分;
S32、将用户输入语句中所有词组分别与初步查询数据库中筛选出的语句中所包含的词组进行对比;
S33、根据用户输入语句以及初步查询数据库的词组对比获得每两个句子之间的语义相似值,并根据语义相似值的结果输出最终结果。
其中,语义相似值的获取过程为:将用户输入语句与初步查询数据库中每个语句对比之后相同的词组个数除以用户输入语句中所有的词组个数即为语义相似值。
举个例子,比如用户输入的语句当中有十个词:A1+A2+A3+A4+A5+A6+A7+A8+A9+A0,而初步查询数据库中与其主谓宾与完全相同的一个语句中有五个词与用户输入语句完全相同:A2+A3+A4+A5+A6,由于这两个句子的句式相同,则认为这两个句子的相似性为50%,如果有四个词相同,则相似性为40%,依次类推。根据用户输入语句与初步查询数据库中语句进行语义对比,筛选出语义相似值最高的语句,则该语句即为最终输出语句。
实施例2
如图4所示,本实施例提出了一种人机自然语言交互中的语义相似处理系统,该系统包括:
数据库建立模块1,用于建立初步查询数据库并接收用户输入语句;
语句筛选模块2,用于根据用户输入语句的格式对初步查询数据库中的语句进行筛选;
语义对比模块3,用于将初步查询数据库中筛选出的语句与用户输入语句进行语义对比,并输出最终结果。
优选的,如图5所示,所述语句筛选模块2包括:
语句提取模块4,用于提取用户输入语言中的主语、谓语和宾语;
格式对比模块5,用于将用户输入语言中的主语、谓语和宾语与初步查询数据库中所有句子的主语、谓语和宾语进行对比;
筛选结果获取模块6,用于在初步查询数据库中筛选出具有与用户输入语言相同主语、谓语和宾语的语句。
优选的,如图6所示,所述语义对比模块3包括:
词组拆分模块7,用于将用户输入语句进行词组拆分;
词组对比模块8,用于将用户输入语句中所有词组分别与初步查询数据库中筛选出的语句中所包含的词组进行对比;
结果输出模块9,用于根据用户输入语句以及初步查询数据库的词组对比获得每两个句子之间的语义相似值,并根据语义相似值的结果输出最终结果。
优选的,所述语义相似值的获取过程为:将用户输入语句与初步查询数据库中每个语句对比之后相同的词组个数除以用户输入语句中所有的词组个数即为语义相似值。
本实施例首先通过用户输入语句的格式对数据库中的语句进行初步筛选,然后通过语义相似性的比较对比用户输入语句和数据库中问题语句之间的相似性,将最佳结果输出给用户,使机器人对语义理解的正确率提高10%至25%,使人机对话的过程变得更加自然、流畅。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。