一种智能问答***的口语语意理解方法、装置和电子设备
技术领域
本发明涉及人机交互技术领域,特别是指一种智能问答***的口语语意理解方法、装置和电子设备。
背景技术
人机交互是研究***与用户之间的交互关系的科学。***可以是各种各样的机器,也可以是计算机化的***和软件。例如,通过人机交互可以实现各种人工智能***,例如,智能客服***、语音控制***等等。人工智能语义识别是人机交互的基础,其能够对人类语言进行识别,以转换成机器能够理解的语言。
智能问答***是人机交互的一种典型应用,其中当用户提出问题后,智能问答***给出该问题的答案。为此,智能问答***中有一套知识库,里面有大量的问题和与每个问题相对应的答案。智能问答***首先需要识别用户所提出的问题,即从知识库中找到与该用户问题所对应的问题,然后找出与该问题相匹配的答案。但由于中文存在很多口语化的说法,这使得现有的语义理解技术难以准确的识别用户提出的问题,只能通过人工方式进行识别,造成智能问答***的工作效率低下,运营维护成本高,且实际的用户使用效果不佳。
发明内容
有鉴于此,本发明的目的在于提出一种智能问答***的口语语意理解方法、装置和电子设备,有效提升智能问答***的答复准确度和工作效率,降低运营成本。
基于上述目的本发明提供的一种智能问答***的口语语意理解方法,包括:
采集用户输入的第一用户问题,将所述第一用户问题与标准问题数据库执行语义相似度计算,判断所述第一用户问题是否被定位至所述标准问题数据库中的某一标准问题;
若所述第一用户问题未被定位至所述标准问题数据库中的某一标准问题,判断所述第一用户问题是否包括口语化表述;
若所述第一用户问题包括口语化表述,对所述第一用户问题进行语句调整,生成第二用户问题;
将所述第一用户问题替换为第二用户问题。
在一些实施方式中,所述判断所述第一用户问题是否包括口语化表述包括:
对所述第一用户问题进行分词处理,得到至少一个问题词;
使用所述问题词在存储有口语化表述词的口语数据库中进行查找对照,判断所述问题词是否属于口语化表述词;若任一所述问题词属于口语化表述词,则判定所述第一用户问题包括口语化表述。
在一些实施方式中,所述对所述第一用户问题进行语句调整,生成第二用户问题包括:
确定属于口语化表述词的所述问题词的口语类型;
基于所述口语类型,对于属于口语化表述词的所述问题词进行校正处理。
在一些实施方式中,当属于口语化表述词的所述问题词的口语类型为词序颠倒时,所述校正处理包括:将属于口语化表述词的所述问题词包括的单字进行顺序改变。
在一些实施方式中,当属于口语化表述词的所述问题词的口语类型为口语语气词时,所述校正处理包括:将属于口语化表述词的所述问题词删除。
在一些实施方式中,当属于口语化表述词的所述问题词的口语类型为口语否定词时,所述校正处理包括:将属于口语化表述词的所述问题词替换为正式否定词,并调整所述正式否定词与其他所述问题词间的位置关系。
另一方面,本发明还提供了一种智能问答***的口语语意理解装置,包括:
第一判断模块,用于采集用户输入的第一用户问题,将所述第一用户问题与标准问题数据库的语义执行相似度计算,判断所述第一用户问题是否被定位至所述标准问题数据库中的某一标准问题;
第二判断模块,用于若所述第一用户问题未被定位至所述标准问题数据库中的某一标准问题,判断所述第一用户问题是否包括口语化表述;
生成模块,用于若所述第一用户问题包括口语化表述,对用户问题进行语句调整,生成第二用户问题;
替换模块,用于将所述第一用户问题替换为第二用户问题。
再一方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
从上面所述可以看出,本发明提供的智能问答***的口语语意理解方法、装置和电子设备,将用户问题进行了调整,那些包括口语化表述以致无法识别的用户问题就可以精确定位至对应的标准问题,从而可以极大地提高智能问答***的答复正确率,并且可以提高智能问答***的工作效率,降低智能问答***的运营维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的智能问答***的口语语意理解方法流程图;
图2为本发明实施例的智能问答***的口语语意理解装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在本发明实施例中,应用了标准问题数据库,该标准问题数据库中存储了大量的标准问题与其对应的答案。其中,“标准问题”是用来表示某个知识点的文字,主要目标是表达清晰,便于维护。例如,“彩铃的资费”就是表达清晰的标准问描述。这里的“问题”不应被狭义地理解为“询问”,而应广义地来理解为“输入”,该“输入”具有对应的“输出”。例如,对于用于控制***的语义识别而言,用户的一个指令,例如“打开收音机”也应可以被理解为是一个“问题”,此时对应的“回答”可以是用于执行相应控制的控制程序的调用。
用户在向机器输入时,最理想的情况是使用标准问题,则机器的智能语义识别***马上能够理解用户的意思。但是,往往用户使用的问题与标准问题有一定差异。因此,实践中,会对用户问题与标准问执行语义相似度计算,只要语义相似度达到一定程度,则认为用户所问的问题即对应该标准问题,从而提供与该标准问对应的答案。由于标准问题一般是比较正式规范的问句,因此当用户提出的问题采用比较规范的表述时,比较容易定位到该用户问题所对应的标准问题。然而当用户采用非常口语化的问句时,可能难以定位该用户问题所对应的标准问题。本发明实施例提供了一种智能问答***的口语语意理解方法,能够解决上述技术问题。
参考图1,为本发明实施例的智能问答***的口语语意理解方法流程图。
所述智能问答***的口语语意理解方法,包括以下步骤:
步骤101、采集用户输入的第一用户问题,将所述第一用户问题与标准问题数据库执行语义相似度计算,判断所述第一用户问题是否被定位至所述标准问题数据库中的某一标准问题。若是,则执行步骤102;若否,则执行步骤103。
本步骤中,首先采集用户输入的第一用户问题,一般的为语音输入,根据具体的使用情况,也可以是用户通过其他输入方式进行的输入,如文本输入、扫描对象输入等。然后将采集到的第一用户问题与标准问题数据库存储的多个标准问题执行语义相似度计算,其中,可以使用任意现有的语义相似度计算方法。
步骤102、判定采集到的用户输入的第一用户问题被定位至标准问题数据库中的某一标准问题。则根据被定位的标准问题,获得相应的答案,向用户反馈。
步骤103、判断所述第一用户问题是否包括口语化表述。若是,则执行步骤105;若否,则执行步骤104。
本步骤中,判定采集到的用户输入的第一用户问题未被定位至标准问题数据库中的某一标准问题。则进一步判断第一用户问题是否包括口语化表述,根据判断结果执行相应步骤。
具体的,判断第一用户问题是否包括口语化表述的步骤包括:
对所述第一用户问题进行分词处理,得到至少一个问题词。其中,可以是使用任意现有的分词处理方法对第一用户问题进行分词处理。
使用所述问题词在存储有口语化表述词的口语数据库中进行查找对照,判断所述问题词是否属于口语化表述词。若任一所述问题词属于口语化表述词,则判定所述第一用户问题包括口语化表述。若所述问题词均不属于口语化表述词,则判定所述第一用户问题不包括口语化表述。
步骤104、若所述第一用户问题不包括口语化表述,则第一用户问题可能包含其他的影响语义理解的缺陷,则结束本发明实施例的流程,并相应的选择其他的处理方法对第一用户问题进行调整处理,具体处理过程本发明实施例中不做具体限定。
步骤105、若所述第一用户问题包括口语化表述,对所述第一用户问题进行语句调整,生成第二用户问题。
本步骤中,由于第一用户问题包括口语化表述,则对第一用户问题进行语句调整,生成符合标准问题形式的第二用户问题。
具体的,对第一用户问题进行语句调整,生成第二用户问题的步骤包括:确定属于口语化表述词的所述问题词的口语类型;基于所述口语类型,对于属于口语化表述词的所述问题词进行校正处理。其中,口语类型包括:词序颠倒、口语语气词、口语否定词;相应的,校正处理包括:对问题词的单字进行顺序改变、删除、替换并调整位置。
当属于口语化表述词的所述问题词的口语类型为词序颠倒时,所述校正处理为:将属于口语化表述词的所述问题词包括的单字进行顺序改变。例如,第一用户问题为:“款付了吗”;经过分词成为两个问题词:“款付了”、“吗”;其中,“款付了”属于口语化表述词,故将“款付了”中的“款”和“付”两个单字进行顺序改变,变为“付款了”,最后生成的第二用户问题即为:“付款了吗”。
当属于口语化表述词的所述问题词的口语类型为口语语气词时,所述校正处理为:将属于口语化表述词的所述问题词删除。例如,第一用户问题为:“拍个照要多少钱”;经过分词成为六个问题词:“拍”、“个”、“照”、“要”、“多少”、“钱”;其中,“个”属于口语语气词,故将“个”删除,最后生成的第二用户问题即为:“拍照要多少钱”。此外,常见的口语语气词还包括:“的”、“了”、“一个”、“一下”、“下”等。
当属于口语化表述词的所述问题词的口语类型为口语否定词时,所述校正处理为:将属于口语化表述词的所述问题词替换为正式否定词,并调整所述正式否定词与其他所述问题词间的位置关系。例如,第一用户问题为:“电脑怎么开不了机”;经过分词成为五个问题词:“电脑”、“怎么”、“开”、“不了”、“机”;其中,“不了”属于口语否定词,故将“不了”替换为正式否定词“无法”(或者“不能”),并将“无法”置于“开”、“机”之前,最后生成的第二用户问题即为:“电脑怎么无法开机”。
步骤106、将所述第一用户问题替换为第二用户问题。
本步骤中,将第一用户问题替换为前述步骤生成的第二用户问题。然后使用第二用户问题进行如步骤101的与标准问题数据库执行语义相似度计算,便能够在标准问题数据库定位至某一标准问题,然后根据定位的标准问题获得相应的答案,向用户反馈。
在一些情况下,生成的第二用户问题可能仍无法定位至某一标准问题,则可以重复执行本发明实施例的前述步骤或者是使用其他的语言语义校正方法,进行校正调整处理。
另一方面,参考图2,本发明实施例还提供了一种智能问答***的口语语意理解装置,包括:
第一判断模块201,用于采集用户输入的第一用户问题,将所述第一用户问题与标准问题数据库的语义执行相似度计算,判断所述第一用户问题是否被定位至所述标准问题数据库中的某一标准问题;
第二判断模块202,用于若所述第一用户问题未被定位至所述标准问题数据库中的某一标准问题,判断所述第一用户问题是否包括口语化表述;
生成模块203,用于若所述第一用户问题包括口语化表述,对用户问题进行语句调整,生成第二用户问题;
替换模块204,用于将所述第一用户问题替换为第二用户问题。
进一步的,所述第二判断模块202还用于:对所述第一用户问题进行分词处理,得到至少一个问题词;使用所述问题词在存储有口语化表述词的口语数据库中进行查找对照,判断所述问题词是否属于口语化表述词;若任一所述问题词属于口语化表述词,则判定所述第一用户问题包括口语化表述。
进一步的,所述生成模块203还用于:确定属于口语化表述词的所述问题词的口语类型;基于所述口语类型,对于属于口语化表述词的所述问题词进行校正处理。其中,当属于口语化表述词的所述问题词的口语类型为词序颠倒时,所述校正处理包括:将属于口语化表述词的所述问题词包括的单字进行顺序改变。当属于口语化表述词的所述问题词的口语类型为口语语气词时,所述校正处理包括:将属于口语化表述词的所述问题词删除。当属于口语化表述词的所述问题词的口语类型为口语否定词时,所述校正处理包括:将属于口语化表述词的所述问题词替换为正式否定词,并调整所述正式否定词与其他所述问题词间的位置关系。
再一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述智能问答***的口语语意理解方法实施例所述的方法。
上述实施例的装置和电子设备均用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。