语义解析方法及装置、语音交互方法及装置、电子设备与流程

文档序号:21093927发布日期:2020-06-16 20:07阅读:179来源:国知局
语义解析方法及装置、语音交互方法及装置、电子设备与流程

本申请涉及语义解析技术领域,具体而言,涉及一种语义解析方法及装置、语音交互方法及装置、电子设备。



背景技术:

随着人工智能的发展,在诸如车载系统、语音机器人、手机等智能设备大多具有识别并执行语音指令的功能,使得用户可以通过语音与智能设备进行交互。

而由于用户对同一种意图的表述形式多样,或者用户发音不标准等原因,均可能导致智能设备对由用户语音转换形成的文本进行解析时,出现解析错误的情况,语义解析的准确率不高,以致于难以满足用户需求,用户体验较差。



技术实现要素:

有鉴于此,本申请实施例的目的在于提供一种语义解析方法及装置、语音交互方法及装置、电子设备,能够通过预设的统计模型和规则模型二者结合的方式进行语义解析,可有效提升语义解析的准确率。

根据本申请的一个方面,提供一种电子设备,可以包括一个或多个存储介质和一个或多个与存储介质通信的处理器。一个或多个存储介质存储有处理器可执行的机器可读指令。当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行所述机器可读指令,以执行语义解析方法或语音交互方法中一个或多个方法。

根据本申请的另一个方面,还提供一种语义解析方法,包括:获取待解析文本;对所述待解析文本进行改写处理,生成第一文本;在基础文本库中查找所述第一文本的匹配项;如果未能找到匹配项,采用预设的统计模型和规则模型对所述第一文本进行槽位解析,得到所述待解析文本的解析文本。

在一些实施例中,所述对所述待解析文本进行改写处理,生成第一文本的步骤,包括:对所述待解析文本进行文字改写处理和/或句式的改写处理,生成第一文本。

在一些实施例中,所述对所述待解析文本进行文字改写处理的步骤,包括:检测所述待解析文本中是否包含有错别字,对检测出的所述错别字进行更正;和/或,将所述文字中所包含的指定字词转换为预设的字符形式。

在一些实施例中,所述对所述待解析文本进行句式的改写处理的步骤,包括:将所述待解析文本改写为预设的正则表达句式的文本。

在一些实施例中,所述统计模型包括通用统计模型,所述规则模型包括通用规则模型;所述采用预设的统计模型和规则模型对所述第一文本进行槽位解析,得到所述待解析文本的解析文本的步骤,包括:采用所述通用统计模型和所述通用规则模型对所述第一文本进行通用槽位解析,得到第二文本;判断所述第二文本是否与预设的规则表达式模板匹配;如果是,将所述第二文本确定为所述待解析文本的解析文本;如果否,对所述第二文本进行分类,确定所述第二文本所属的领域类别;根据所述第二文本所属的领域类别和所述第二文本确定所述待解析文本的解析文本。

在一些实施例中,所述对所述第二文本进行分类,确定所述第二文本所属的领域的步骤,包括:采用fasttext分类器和规则分类器对所述第二文本进行领域打分;将分数最高的领域类别确定为所述第二文本所属的领域类别。

在一些实施例中,所述统计模型还包括分支统计模型,所述规则模型还包括分支规则模型;所述根据所述第二文本所属的领域类别和所述第二文本确定所述待解析文本的解析文本的步骤,包括:采用所述第二文本所属的领域类别分别对应的分支统计模型和分支规则模型,对所述第二文本进行分支槽位解析,得到第三文本;根据所述第三文本确定所述待解析文本的解析文本。

在一些实施例中,所述方法还包括:采用与所述第二文本所属的领域类别对应的知识图谱,对所述第三文本进行错别字更正。

在一些实施例中,所述根据所述第三文本确定所述语音的解析文本的步骤,包括:判断所述第三文本是否与所述预设的规则表达式模板匹配;如果是,将所述第三文本确定为所述待解析文本的解析文本。

在一些实施例中,所述采用预设的统计模型和规则模型对所述第一文本进行槽位解析,得到所述语音的解析文本的步骤,包括:采用预设的统计模型对所述第一文本进行槽位解析,得到第一解析结果;采用预设的规则模型对所述第一文本进行槽位解析,得到第二解析结果;基于所述第一解析结果和所述第二解析结果,生成所述待解析文本的解析文本。

在一些实施例中,所述统计模型包括预设词典、正则特征模板和后验名单;所述采用预设的统计模型对所述第一文本进行槽位解析,得到第一解析结果的步骤,包括:通过所述预设词典对所述第一文本进行槽位解析,得到词典解析序列,以及通过所述正则特征模板对所述第一文本进行槽位解析,得到正则解析序列;选取与所述正则解析序列对应的后验名单,并采用选取的所述后验名单对所述正则解析序列进行核验,得到核验结果;基于所述词典解析序列和所述核验结果,得到第一解析结果。

在一些实施例中,所述采用预设的规则模型对所述第一文本进行槽位解析,得到第二解析结果的步骤,包括:采用预设的规则槽位模板对所述第一文本进行槽位解析,得到一个或多个槽位表达式;基于所有的所述槽位表达式,得到第二解析结果。

在一些实施例中,所述统计模型为命名实体识别模型;所述规则模型为基于pcre库建立的正则表达式模型。

在一些实施例中,所述命名实体识别模型包括crf子模型。

根据本申请的另一个方面,还提供一种语音交互方法,包括:如果接收到用户的语音,对所述语音进行识别,得到待解析文本;采用上述任一项所述的语义解析方法对所述待解析文本进行解析,得到所述待解析文本的解析文本;基于所述解析文本确定所述语音的响应信息;执行与所述响应信息对应的操作。

在一些实施例中,所述基于所述解析文本确定所述语音的响应信息的步骤,包括:从预设的知识库中查询所述解析文本对应的应答信息;将所述应答信息作为所述语音的响应信息。

在一些实施例中,所述执行与所述响应信息对应的操作的步骤,包括;如果所述响应信息为音乐或答句,以音频方式播放所述响应信息;如果所述响应信息为图文,在指定界面上展示所述响应信息;如果所述响应信息为动作指令,执行与所述动作指令对应的动作。

在一些实施例中,所述语音交互方法应用于车载设备或机器人。

根据本申请的另一个方面,还提供一种语义解析装置,包括:文本获取模块,用于获取待解析文本;文本处理模块,用于对所述待解析文本进行改写处理,生成所述语音对应的第一文本;匹配模块,用于在基础文本库中查找所述第一文本的匹配项;槽位解析模块,用于如果未能找到匹配项,采用预设的统计模型和规则模型对所述第一文本进行槽位解析,得到所述待解析文本的解析文本。

在一些实施例中,所述文本处理模块用于:对所述待解析文本进行文字改写处理和/或句式的改写处理,生成第一文本。

在一些实施例中,所述文本处理模块用于:检测所述待解析文本中是否包含有错别字,对检测出的所述错别字进行更正;和/或,将所述待解析文本中所包含的指定字词转换为预设的字符形式。

在一些实施例中,所述文本处理模块用于:将所述待解析文本改写为预设的正则表达句式的文本。

在一些实施例中,所述统计模型包括通用统计模型,所述规则模型包括通用规则模型;所述槽位解析模块用于:采用所述通用统计模型和所述通用规则模型对所述第一文本进行通用槽位解析,得到第二文本;判断所述第二文本是否与预设的规则表达式模板匹配;如果是,将所述第二文本确定为所述待解析文本的解析文本;如果否,对所述第二文本进行分类,确定所述第二文本所属的领域类别;根据所述第二文本所属的领域类别和所述第二文本确定所述待解析文本的解析文本。

在一些实施例中,所述槽位解析模块用于:采用fasttext分类器和规则分类器对所述第二文本进行领域打分;将分数最高的领域类别确定为所述第二文本所属的领域类别。

在一些实施例中,所述统计模型还包括分支统计模型,所述规则模型还包括分支规则模型;所述槽位解析模块用于:采用所述第二文本所属的领域类别分别对应的分支统计模型和分支规则模型,对所述第二文本进行分支槽位解析,得到第三文本;根据所述第三文本确定所述待解析文本的解析文本。

在一些实施例中,所述装置还包括:更正模块,用于采用与所述第二文本所属的领域类别对应的知识图谱,对所述第三文本进行错别字更正。

在一些实施例中,所述槽位解析模块用于:判断所述第三文本是否与所述预设的规则表达式模板匹配;如果是,将所述第三文本确定为所述待解析文本的解析文本。

在一些实施例中,所述槽位解析模块用于:采用预设的统计模型对所述第一文本进行槽位解析,得到第一解析结果;采用预设的规则模型对所述第一文本进行槽位解析,得到第二解析结果;基于所述第一解析结果和所述第二解析结果,生成所述待解析文本的解析文本。

在一些实施例中,所述统计模型包括预设词典、正则特征模板和后验名单;所述槽位解析模块用于:通过所述预设词典对所述第一文本进行槽位解析,得到词典解析序列,以及通过所述正则特征模板对所述第一文本进行槽位解析,得到正则解析序列;选取与所述正则解析序列对应的后验名单,并采用选取的所述后验名单对所述正则解析序列进行核验,得到核验结果;基于所述词典解析序列和所述核验结果,得到第一解析结果。

在一些实施例中,所述槽位解析模块用于:采用预设的规则槽位模板对所述第一文本进行槽位解析,得到一个或多个槽位表达式;基于所有的所述槽位表达式,得到第二解析结果。

在一些实施例中,所述统计模型为命名实体识别模型;所述规则模型为基于pcre库建立的正则表达式模型。

在一些实施例中,所述命名实体识别模型包括crf子模型。

根据本申请的另一个方面,还提供一种语音交互装置,包括:语音识别模块,用于如果接收到语音,对所述语音进行识别,得到待解析文本;文本解析模块,用于采用上述任一项所述的语义解析装置对所述待解析文本进行解析,得到所述待解析文本的解析文本;响应确定模块,用于基于所述解析文本确定所述语音的响应信息;执行模块,用于执行与所述响应信息对应的操作。

在一些实施例中,所述响应确定模块用于:从预设的知识库中查询所述解析文本对应的应答信息;将所述应答信息作为所述语音的响应信息。

在一些实施例中,所述执行模块用于:如果所述响应信息为音乐或答句,以音频方式播放所述响应信息;如果所述响应信息为图文,在指定界面上展示所述响应信息;如果所述响应信息为动作指令,执行与所述动作指令对应的动作。

根据本申请的另一个方面,还提供一种电子设备,包括:处理器、存储介质和通信总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过通信总线通信,处理器执行机器可读指令,以执行时执行如上述语义解析方法的步骤或语音交互方法的步骤。

根据本申请的另一个方面,还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述语义解析方法的步骤或语音交互方法的步骤。

本申请实施例提供的语义解析方法及装置,能够对获取的待解析文本进行改写处理,生成第一文本,并在未查找到该第一文本的匹配项时可以采用统计模型和规则模型相结合的方式对第一文本进行槽位解析,由于统计模型的泛化能力较强,而规则模型的精准性较强,二者相结合可较为可靠地保障语义解析的泛化性和准确性,综合提升语义解析的准确率,从而较好地满足用户需求,提升用户体验。

本申请实施例提供的语音交互方法及装置,能够首先对接收到的语音进行识别,得到待解析文本,并采用上述语义解析方法对待解析文本进行解析,生成待解析文本的解析文本,并根据解析文本确定该语音的响应信息,进而执行与响应信息对应的操作。这种方式可以通过上述语义解析方法生成准确的解析文本,从而可保障响应信息的准确性,使得执行与响应信息对应的操作能够符合用户意图,较好地满足用户需求,提升用户体验。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种语义解析方法流程图;

图2示出了本申请实施例所提供的另一种语义解析方法的流程图;

图3示出了本申请实施例所提供的一种文本的解析示意图;

图4示出了本申请实施例所提供的一种语音交互方法流程图;

图5示出了本申请实施例所提供的另一种语音交互流程图;

图6示出了本申请实施例所提供的一种语音交互系统的结构示意图;

图7示出了本申请实施例所提供的一种语义解析装置的结构框图;

图8示出了本申请实施例所提供的另一种语义解析装置的结构框图;

图9示出了本申请实施例所提供的一种语音交互装置的结构框图;

图10示出了本申请实施例所提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“对语义进行解析”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕语义解析进行描述,但是应该理解,这仅是一个示例性实施例。本申请可以包括用于语义解析的任何服务系统,例如,用于语义解析和交互的车载系统。本申请的系统或方法的应用可以包括网页、浏览器的插件、客户端终端、车载系统、定制系统、内部分析系统、或人工智能机器人等,或其任意组合。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

本申请的一个方面涉及一种语义解析系统,该系统能够对获取的待解析文本进行改写处理,生成第一文本,并在未查找到该第一文本的匹配项时可以采用统计模型和规则模型相结合的方式对第一文本进行槽位解析,由于统计模型的泛化能力较强,而规则模型的精准性较强,二者相结合可较为可靠地保障语义解析的泛化性和准确性,综合提升语义解析的准确率,从而较好地满足用户需求,提升用户体验。

本申请的另一个方面涉及一种语音交互系统,该系统首先对接收到的语音进行识别,得到待解析文本,并能够采用上述语义解析系统对待解析文本进行解析,生成待解析文本的解析文本,并根据解析文本确定该语音的响应信息,进而执行与响应信息对应的操作。这种方式可以通过上述语义解析方法生成准确的解析文本,从而可保障响应信息的准确性,使得执行与响应信息对应的操作能够符合用户意图,较好地满足用户需求,提升用户体验。

值得注意的是,在本申请提出申请之前,现有的语义解析系统仅是单一采用规则模型或者单一采用统计模型,规则模型的精准度高,但需要人工规则和算法规则的方式来构造匹配模板,泛化能力较差,很多边界表达并不能得到覆盖,随着场景的丰富,规则模型会更加庞大,导致系统性能下降,规则需要人工编写,耗费大量时间和人力成本;而统计模型的泛化能力较强,但准确性较低。

为改善上述问题,本实施例提供了一种语义解析方法及装置、语音交互方法及装置、电子设备;以下对本实施例进行详细说明。

参见图1所示的一种语义解析方法流程图,该方法可应用于车载系统、计算机、机器人、手机以及其它智能终端等,该方法包括以下步骤:

步骤s102,获取待解析文本。其中,该待解析文本也即需要对其进行语义解析的文本,具体实施时,可以是直接获取已有的待解析的文本,也可以是在语音识别后获取语音转换后的文本。

步骤s104,对待解析文本进行改写处理,生成第一文本。在具体实施时,可以按照预设的改写规范对待解析文本进行改写,以便后续能够基于改写后的文本更为方便高效地进行解析。

步骤s106,在基础文本库中查找第一文本的匹配项。诸如,在基础文本库中可以存储有一些常用文本(又可称为匹配模板,也即上述匹配项),该常用文本可以与语义解析的应用场景相关,诸如,在车载系统中,基础文本库中可以预先存储有“打开导航”“播放广播”“拨打电话”“去往xxx地”等常规指令,或者“现在几点了”“现在的地理位置”等常规问询。

步骤s108,如果未能找到匹配项,采用预设的统计模型和规则模型对第一文本进行槽位解析,得到待解析文本的解析文本。如果基础文本库中未找到第一文本的匹配项,则说明第一文本可能是较为复杂的文本,因此会结合统计模型和规则模型综合对第一文本进行槽位解析,以得到待解析文本的解析文本。

其中,槽位解析是指语句中具有普遍意义的词语(包括例如人名、地名、机构名、歌曲名、语种名等),也可称为命名实体(简称ne),例如:导航去[西直门]location_ne,西直门就是地名槽位,我要听[周杰伦]singer_ne的[告白气球]song_ne,周杰伦就是歌手槽位,告白气球就是歌曲槽位。统计模型和规则模型进行槽位解析的主要原理是预测每一个词的最大概率标签,然后得到最终语句的槽位解析序列。

统计模型是一种基于机器学习的算法模型,其主要是通过真实标注数据来训练得到的,可用于对文本进行槽位解析,是一种自然语言理解的算法模型,可以学习到文本的结构信息,具有较强的泛化能力,但准确率难以达到100%,规则模型主要是通过预设规则和算法规则的方式来构造匹配模板,无需依赖真实标注数据,只需简单的构造方法即可生成足够的数据,通过匹配方式可确保文本解析的精确性,可100%命中匹配数据,但是泛化能力较差。将统计模型与规则模型相结合进行槽位解析的方式,可以联立二者优势,提升槽位解析的泛化能力和精准性,使得槽位解析结果更加可靠。

本申请实施例提供的上述语义解析方法,能够对获取的待解析文本进行改写处理,生成第一文本,并在未查找到该第一文本的匹配项时可以采用统计模型和规则模型相结合的方式对第一文本进行槽位解析,由于统计模型的泛化能力较强,而规则模型的精准性较强,二者相结合可较为可靠地保障语义解析的泛化性和准确性,综合提升语义解析的准确率,从而较好地满足用户需求,提升用户体验。

在具体实施时,诸如,本实施例提供的上述统计模型可以采用命名实体识别模型(namedentityrecognition,ner)。ner模型可用于识别文本中具有特定意义的实体,诸如文本中所包含的人名、地名、机构名、专有名词等。通常而言,ner模型可用于识别出文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体中的一种或多种,此外还可以设置其它类别,可根据实际需求而灵活设置。在具体实现时,ner模型可以包括crf(conditionalrandomfield:条件随机场)子模型。此外,还可以采用诸如bilstm(bi-longshorttermmemory,双向长短期记忆)子模型+crf子模型联合实现,或者采用hmm(hiddenmarkovmodel,隐马尔可夫模型)子模型实现,在此不进行限制。

规则模型可以采用基于pcre库(perlcompatibleregularexpressions,perl语言兼容正则表达式)建立的正则表达式模型。pcre是一个用c语言编写的正则表达式函数库,可用于执行正则表达式模式匹配。本申请提供的规则模型可以是基于pcre库可支持的正则表达式而设置的匹配模板。

为了能够高效便捷地对待解析文本进行解析,可以按照预设形式对待解析文本进行规范化处理,诸如,可对待解析文本进行文字改写处理和/或句式的改写处理,生成第一文本。

具体实施时,在对待解析文本进行文字改写处理时,可以采用如下方式:检测待解析文本中是否包含有错别字,对检测出的错别字进行更正;和/或,将待解析文本中所包含的指定字词转换为预设的字符形式。

可以理解的是,部分用户可能发音不标准,发音不准确的字词可能会转换为错误字词,诸如,用户表述的“数字”如果不准确,可能会转换为“梳子”,从而成为语义解析的干扰项。而且为了有利于后续文本解析,可以将指定字词转换为预设的字符形式,诸如,将汉字描述的数字均统一改写为阿拉伯字符,将“二”转换为“2”;或者将个别无意义字(诸如,“嗯”“啊”“呢”)删除或变更为空格字符等。通过上述方式,可以将语音转换的文字“嗯我,想去梳子上古b区二号楼”改写为“去数字山谷b区2号楼”。又诸如,用户语音为“播放了呢音乐青花瓷”,则通过上述改写可以为“播放音乐青花瓷”。

此外,本实施例还可以对待解析文本进行句式的改写处理,诸如,可以将待解析文本改写为预设的正则表达句式的文本,以便于后续基于正则表达句式进行分析。例如:“啊嗯内个你好我想去xxx”直接正则改写为“去xxx”。正则改写可以是基于pcre库,其改写的两种方式为:(1)直接收集多种样本,对文本进行硬匹配;(2)给文本分别注音,找到注音匹配或相近的词,并按照正则表达式规则进行改写。

如果上述第一文本较为简单,诸如,第一文本为“打开导航”,可以直接与基础文本库中的匹配模板相对应,诸如,基础文本库中的匹配模板可以是:“<pattern>【打开】【导航】</pattern>”则确定语音识别结束。如果基础文本库中的所有匹配模板都无法与第一文本相对应,说明第一文本较为复杂,则需要采用统计模型和规则模型对第一文本进行综合解析。

在一种实施方式中,上述统计模型可以包括通用统计模型,上述规则模型可以包括通用规则模型。其中,通用统计模型和通用规则模型均囊括了多种类别的槽位解析工作,例如:音乐类,导航类,电台类,时间类,天气类等多个领域的文本槽位解析。也即,无论第一文本属于哪个领域,均可先通过通用统计模型和通用规则模型进行槽位解析。

基于此,上述采用预设的统计模型和规则模型对第一文本进行槽位解析,得到待解析文本的解析文本的步骤,可以参照如下步骤实现:

步骤1,采用通用统计模型和通用规则模型对第一文本进行通用槽位解析,得到第二文本。诸如,第一文本为“播放音乐青花瓷”,通过上述通用模型进行槽位解析,得到第二文本“播放音乐%song%”

步骤2,判断第二文本是否与预设的规则表达式模板匹配。如果是,执行步骤3:如果否,执行步骤4。将“播放音乐%song%”与预设的规则表达式模板(也可以理解为一种匹配模板)进行匹配,如果规则表达式模板中包含有“<pattern>【播放】【音乐】【song】</pattern>”,则说明匹配成功。反之,则说明匹配失败,通用模型也难以对第一文本进行通用槽位解析。

步骤3:将第二文本确定为待解析文本的解析文本。

步骤4,对第二文本进行分类,确定第二文本所属的领域类别。

在一种实施方式中,可以采用fasttext分类器和规则分类器对第二文本进行领域打分;然后将分数最高的领域类别确定为第二文本所属的领域类别。分值可以为(0-1)之间的数值,也可以是百分制等其它打分形式,在此不进行限制。

步骤5,根据第二文本所属的领域类别和第二文本确定语音的解析文本。也即,如果通用模型难以对第二文本进行解析,第二文本细分至具体的领域类别,结合具体的领域类别对第二文本进一步进行解析。

基于此,统计模型还可以包括分支统计模型,规则模型还可以包括分支规则模型。具体而言,统计模型可以包括多种分支统计模型,不同的分支统计模型对应的领域类别不同,诸如,音乐类统计模型、导航类统计模型、天气类统计模型等。同样,规则模型可以包括多种分支规则模型,不同的分支规则模型对应的领域类别不同,诸如,音乐类规则模型、导航类规则模型、天气类规则模型等。可以理解的是,分支模型(分支统计模型或分支规则模型)相比于通用模型而言,能够在其所对应的领域类别中对文本进行更为精确的解析,从而得到准确的解析结果。

因此,在根据第二文本所属的领域类别和第二文本确定待解析文本的解析文本时,可采用第二文本所属的领域类别分别对应的分支统计模型和分支规则模型,对第二文本进行分支槽位解析,得到第三文本;然后根据第三文本确定待解析文本的解析文本。诸如,第一文本为“播放音乐周姐轮的青花刺”,通用模型解析得到的第二文本为“播放音乐周姐轮的青花刺”,与预设的规则表达式模板不匹配(匹配模板:null),对第二文本进行分类后确定(进入音乐领域:播放音乐周姐轮的青花刺),然后采用音乐分支模型对第二文本进行音乐领域的槽位解析(纠错:周姐轮:周杰伦,青花刺:青花瓷;播放音乐%singer%的%song%)。

在得到分支槽位解析后的第三文本时,可以进一步判断第三文本是否与预设的规则表达式模板匹配;如果是,将第三文本确定为待解析文本的解析文本。

基于上述语音识别方法,为便于理解,可参见图2所示另一种语义解析方法的流程图,图2中示意出首先对待解析文本进行语义预处理(也即,将待解析文本转换为第一文本),然后对第一文本进行通用槽位解析;具体而言,主要是基于通用统计模型和通用规则模型对第一文本进行通用槽位解析,得到第二文本;然后对第二文本进行模板匹配,如果匹配成功,则输出解析文本;如果匹配失败,则将第二文本输入至分类模型中对第二文本进行领域分类,并基于分类结果对第二文本进行分支领域槽位解析,具体而言,主要是基于分支统计模型和分支规则模型对第二文本进行分支槽位解析,得到第三文本;然后再对第三文本进行模板匹配,如果匹配成功,则输出解析文本。

考虑到在最初生成第一文本时,即使可能会检测文字中是否包含有错别字,并对检测出的错别字进行更正,但仍旧可能无法将所有错别字都检测出来,为了进一步提升语音识别的准确性,上述方法还包括:采用与第二文本所属的领域类别对应的知识图谱,对第三文本进行错别字更正,从而将错别字更正后的第三文本确定为语音的解析文本。其中,知识图谱中包含有该领域类别中的相关信息,诸如音乐领域类别对应的知识图谱中包含有歌曲名、歌手名、专辑信息、歌曲热度等。

在一种实施方式中,采用预设的统计模型和规则模型对第一文本进行槽位解析,得到待解析文本的解析文本时,可以采用预设的统计模型对第一文本进行槽位解析,得到第一解析结果;采用预设的规则模型对第一文本进行槽位解析,得到第二解析结果;基于第一解析结果和第二解析结果,生成待解析文本的解析文本。

为了能够使第一解析结果更为准确,与传统仅包含预设词典的统计模型相比,本实施例所提供的统计模型包括预设词典、正则特征模板和后验名单;也即增加了正则特征模板以及后验名单。

上述采用预设的统计模型对第一文本进行槽位解析,得到第一解析结果的步骤,包括:

(1)通过预设词典对第一文本进行槽位解析,得到词典解析序列,以及通过正则特征模板对第一文本进行槽位解析,得到正则解析序列;其中,预设词典可以为通用词典、poi(pointofinterest)词典等。而正则特征模板可以认为是基于正则表达式特征而建立的更为细致的poi词典。

(2)选取与正则解析序列对应的后验名单,并采用选取的后验名单对正则解析序列进行核验,得到核验结果。其中,后验名单中可以包含有多个与正则解析序列相对应的解析字词,通过后验名单可验证正则解析序列是否正确。

(3)基于词典解析序列和核验结果,得到第一解析结果。

为便于理解,可参见图3所示的一种文本的解析示意图,在图3中示意出了统计模型的解析对比示意图,图3中的a1为采用现有技术中的统计模型所得到的第一解析序列,图3中的a2为采用本申请的统计模型所得到的第一解析序列。在图3的a1序列中示意了“在西二旗带我去国家电网吧”的通用词典解析序列为“uobebeobeobe”,poi词典解析序列为“obieooobiieo”,传统方式是直接基于词典解析序列和poi词典解析序列进行槽位解析,槽位解析结果可能是“在西二旗带我去国家电网吧_poi”,而正确结果应该是“在西二旗带我去国家电网_poi吧”,致使传统的统计模型的解析结果可能并不准确。具体而言,上述词典解析序列均是采用字标注的形式,通过英文字母bioeu对文本中的字进行标注,不同字母代表不同含义,其中,b表示词语起始字(词首);i表示词语中间字(词中);e表示词语尾部字(词尾);o表示词典或正则表达式中的非槽位的字,也可以理解为单字;u表示未在词典或正则表达式中的字。通过字母标注的方式,可以更好地对文本进行分词和解析。

如图3中的a2所示的第一解析序列,本申请实施例增加了一列正则表达特征来表征句式,暨“在西二旗带我去<poi>”来匹配相应的结果,如图3中的a2新增了正则解析序列“ooooooobiiie”,有助于更为准确的对地名进行槽位解析。基于此,统计模型可能获取到备选poi字段为“国家电网吧”;进一步,本申请实施例又为统计模型增加了后验名单(如图3所示的领域白名单验证),该后验名单中包含有专属词典,用以对上述基于通用词典、poi词典和正则特征得到的词典解析序列进行验证,以过滤掉不合理词汇,诸如过滤掉“国家电网吧”,而将“国家电网吧”与后验名单中的“国家电网”进行匹配,使得匹配结果更为准确,最终得到“国家电网”这一poi字段。

综上所述,如图3所示,本申请的统计模型新增了正则特征和后验名单,通过通用词典+poi词典+正则特征,可以更为准确地对第一文本进行解析,此外,结合后验名单能够对解析得到的序列进行核验,可以更为准确可靠地确定第一解析结果。

考虑到传统的规则模型在面对多意图解析时,可能会出现槽位解析冲突。诸如,解析文本为“下一首周杰伦的青花瓷”;而规则模型在对其进行模板匹配时,可能在匹配到“下一首”后就直接播放音乐列表中的下一首歌曲,而非是在下一首歌曲播放“周杰伦的青花瓷”。主要原因在于传统的规则模型大多是在文本中只要出现一个与模板匹配的槽位就认为得到解析结果,而对其它槽位不进行处理,这种方式容易错解用户意图,使得第二解析结果错误,难以满足用户需求。为了能够使第二解析结果更为准确,上述采用预设的规则模型对第一文本进行槽位解析,得到第二解析结果的步骤,可以包括:采用预设的规则槽位模板对第一文本进行槽位解析,得到一个或多个槽位表达式;基于所有的槽位表达式,得到第二解析结果。

以下仍旧以“下一首周杰伦的青花瓷”为例,采用本申请实施例提供的上述方式,相关模型可记录为:

<patterntype=“exact”>【下一首】【byartist】【的】?【name】$</pattern>

<semanticstype=“json”>

<![cdata[{“domain”:“music”,“intent”:“play”,“object”:{“byartist”:“@byartist”,“name”:“@name”}}]]>

其中,patterntype=”exact”:表示使用精确匹配方式;【…】:代表汉字所包含的词语及其同义词,例如:【下一首】=下一首|下一曲|下一个|后一曲;?代表前面的词可以省略;$代表匹配到结尾;cdata代表匹配到的具体规则槽位模板;domain代表领域;intent代表意图;byartist代表歌手name代表歌曲。以上仅为示意性说明,具体可根据实际情况而相应设置不同的规则表达式。

在前述语义解析方法的基础上,本申请实施例还提供了一种语音交互方法,参见图4所示的一种语音交互方法流程图,包括:

步骤s402,如果接收到语音,对该语音进行识别,得到待解析文本。该语音可以是待识别的语音,诸如,该语音为用户的语音指令或语音问询等。

步骤s404,采用上述任一项的语义解析方法对待解析文本进行解析,得到待解析文本的解析文本。

步骤s406,基于解析文本确定语音的响应信息。该响应消息主要取决于语义解析结果,诸如,如果语义解析结果是“播放xxx歌曲”,则响应消息可以是音乐,如果语义解析结果是问询“今天天气”,则响应消息可以是答句等。

步骤s408,执行与响应信息对应的操作。诸如,如果响应信息为音乐或答句,可以以音频方式播放响应信息;如果响应信息为图文,在指定界面上展示响应信息;如果响应信息为动作指令,执行与动作指令对应的动作,比如开启导航、打开车窗等。

本申请实施例提供的上述语音交互方法,能够首先对接收到的语音进行识别,得到待解析文本,并采用上述语义解析方法对待解析文本进行解析,生成待解析文本的解析文本,并根据解析文本确定该语音的响应信息,进而执行与响应信息对应的操作。这种方式可以通过上述语义解析方法生成准确的解析文本,从而可保障响应信息的准确性,使得执行与响应信息对应的操作能够符合用户意图,较好地满足用户需求,提升用户体验。

一种实施方式中,在基于解析文本确定语音的响应信息时,可以从预设的知识库中查询解析文本对应的应答信息,然后将应答信息作为语音的响应信息。其中,预设的知识库中存储有解析文本对应的应答信息。诸如,解析文本为“周杰伦青花瓷”;则知识库里可存储有周杰伦的歌曲青花瓷的具体音乐链接。

基于此,在图2的基础上,还示意出图5所示的另一种语音交互流程图,可以对语音进行识别,转换为待解析文本,而且,在通过通用规则槽位解析得到解析文本后,还可以基于解析文本进行知识库查询,找到该解析文本对应的应答信息,从而将该应答信息作为语音的响应信息。

在此基础上,本实施例还给出了一种语音交互系统的结构示意图,该语音交互系统主要基于上述语音交互方法构建而成,如图6所示,该系统包括语义预处理功能、通用语义解析功能、分类器功能、分支语义解析功能和知识库查询功能。

其中,语义预处理功能主要用于对待解析文本进行字符预处理工作、特征预处理工作和正则改写。其中,字符预处理主要包括如下中的一种或多种:(1)收集错别字并直接改写,例如:梳子上古->数字山谷;(2)中文数字转阿拉伯,例如:二号楼->2号楼。而特征预处理可以是用于给统计模型增加诸如通用词典、分词词典、正则特征等语义解析所需的特征。正则改写也是基于字符预处理后的文本进一步按照正则表达式的形式进行改写。诸如,将“啊嗯内个你好我想去xxx”直接改写为“去xxx”。

通用语义解析功能主要包含通用槽位解析和模板匹配,其中,通用槽位解析主要是基于通用统计模型和通用规则模型实现。诸如,通过通用语义解析功能,可以将“今天北京天气怎么样”进行槽位解析为“%time%%city%天气怎么样”。其中,用特殊标记%xxx%来标记通用ner字段,以便于更好地进行槽位解析;

分类器功能主要用于对通用槽位解析功能难以解析的文本进行垂类划分,得到具体的分支领域。其中,分类器模型主要包括fasttext分类器和规则分类器。

分支语义解析功能主要包含分支槽位解析和模板匹配,其中,分支槽位解析主要是基于分支统计模型和分支规则模型实现。

知识库查询功能主要是基于解析结果进行索引检索和知识库查询,并进行资源库匹配,从而得到解析结果对应的响应信息(或者是资源信息)。

应当理解的是,上述语音交互系统的功能是无需均使用,诸如,如果语音较为简单,可能仅会涉及到上述语音交互系统中的语义预处理功能,随着文本的复杂度增加,可能会用到后续的其它功能。

诸如,如果语音为“播放了呢音乐青花瓷”,则上述语音交互系统的工作流程为:通过语义预处理得到“播放音乐青花瓷”,通过通用槽位解析得到“播放音乐%song%”,通过模板匹配找到匹配模板:“<pattern>【播放】【音乐】【song】</pattern>”,此时无需再采用分类功能和分支槽位解析功能,而是直接采用知识库查询({domain:music,intent:play,song:青花瓷,url:http//:10.93.129.19/xinghuaci.mp3}结束),找到青花瓷的音乐播放链接。

如果语音为“播放了呢音乐周姐轮的青花刺”,则上述语音交互系统的工作流程为:通过语义预处理得到“播放音乐周姐轮的青花刺”,通过通用槽位解析得到“播放音乐周姐轮的青花刺”,通过模板匹配未找到匹配模板:null”,此时还需再采用分类功能和分支槽位解析功能,通过分类功能确定“进入音乐领域:播放音乐周姐轮的青花刺”,通过分支槽位解析功能进行音乐领域的槽位解析,得到“纠错:周姐轮周杰伦,青花刺青花瓷;播放音乐%singer%的%song%”然后再采用知识库查询({domain:music,intent:play,singer:周杰伦,song:青花瓷,url:http//:10.93.129.19/xinghuaci.mp3}),找到青花瓷的音乐播放链接。

通过上述方式,在对语义进行解析时,可以根据需要而涉及通用模型(通用统计模型、通用规则模型)以及分支模型(分支统计模型、分支规则模型),也即可通过线性(统计模型联立规则模型)和层次(通用模型至分支模型)两个维度对语义进行解析,充分保障了语义解析系统或语音交互系统的泛化能力和准确性。

而且,通过统计模型和规则模型相结合的方式,也有助于语义解析系统或语音交互系统继承二者优势,有助于实现系统冷启动过程中的快速迭代,摆脱了传统的统计模型依赖大量标注数据的缺点。具体而言,冷启动是指项目开发过程中没有足够量的标注好的数据资源进行机器学习、深度学习的模型训练的开发过程,在本实施例中,通过统计模型和规则模型相结合,无需专门为统计模型设置常规所需的标注数据即可达到较好的效果,实现快速启动。采用本实施例提供的语义解析系统或语音交互系统,还可以有效提升语义解析的召回率,其中,召回率为带某类标签的测试数据在模型中真正可以被识别正确的数目,诸如,召回率=召回数目/该类别总数;也即,本实施例提供的语义解析系统或语音交互系统能够更为准确的对语义进行解析,有效提升语义解析的准确率。

在一种具体的实施方式中,本实施例提供的语义解析方法和语音交互方法均可应用于车载设备或机器人,车载设备可以安装在任何交通工具上,机器人可以为音乐机器人、移动机器人等,在此不进行限制

本实施例还提供了一种语义解析装置,该语义解析装置实现的功能对应上述语义解析方法执行的步骤。该装置可以理解为用于进行语义解析的处理器,也可以直接理解为车载设备、机器人、智能终端等,本实施例还提供了一种语义解析装置,参见图7所示的一种语义解析装置的结构框图,包括如下模块:

文本获取模块702,用于获取待解析文本;

文本处理模块704,用于对待解析文本进行改写处理,生成第一文本;匹配模块706,用于在基础文本库中查找第一文本的匹配项;

槽位解析模块708,用于如果未能找到匹配项,采用预设的统计模型和规则模型对第一文本进行槽位解析,得到待解析文本的解析文本。

本申请实施例提供的语义解析装置,可以采用统计模型和规则模型相结合的方式对第一文本进行槽位解析,由于统计模型的泛化能力较强,而规则模型的精准性较强,二者相结合可较为可靠地保障语义解析的泛化性和准确性,综合提升语义解析的准确率,从而较好地满足用户需求,提升用户体验。

在一种实施方式中,上述文本处理模块用于:对待解析文本进行文字改写处理和/或句式的改写处理,生成第一文本。

在一种具体实施方式中,上述文本处理模块进一步用于:检测待解析文本中是否包含有错别字,对检测出的错别字进行更正;和/或,将待解析文本中所包含的指定字词转换为预设的字符形式。

在一种具体实施方式中,上述文本处理模块用于:将待解析文本改写为预设的正则表达句式的文本。

在一种实施方式中,上述统计模型包括通用统计模型,规则模型包括通用规则模型;基于此,上述槽位解析模块用于:采用通用统计模型和通用规则模型对第一文本进行通用槽位解析,得到第二文本;判断第二文本是否与预设的规则表达式模板匹配;如果是,将第二文本确定为待解析文本的解析文本;如果否,对第二文本进行分类,确定第二文本所属的领域类别;根据第二文本所属的领域类别和第二文本确定待解析文本的解析文本。

在一种实施方式中,上述槽位解析模块用于:采用fasttext分类器和规则分类器对第二文本进行领域打分;将分数最高的领域类别确定为第二文本所属的领域类别。

在一种实施方式中,上述统计模型还包括分支统计模型,规则模型还包括分支规则模型;上述槽位解析模块用于:采用第二文本所属的领域类别分别对应的分支统计模型和分支规则模型,对第二文本进行分支槽位解析,得到第三文本;根据第三文本确定待解析文本的解析文本。

在一种实施方式中,上述槽位解析模块进一步用于:判断第三文本是否与预设的规则表达式模板匹配;如果是,将第三文本确定为待解析文本的解析文本。

在一种实施方式中,上述槽位解析模块用于:采用预设的统计模型对第一文本进行槽位解析,得到第一解析结果;采用预设的规则模型对第一文本进行槽位解析,得到第二解析结果;基于第一解析结果和第二解析结果,生成待解析文本的解析文本。

在一种实施方式中,上述统计模型包括预设词典、正则特征模板和后验名单;基于此,上述槽位解析模块进一步用于:通过预设词典对第一文本进行槽位解析,得到词典解析序列,以及通过正则特征模板对第一文本进行槽位解析,得到正则解析序列;选取与正则解析序列对应的后验名单,并采用选取的后验名单对正则解析序列进行核验,得到核验结果;基于词典解析序列和核验结果,得到第一解析结果。

在一种实施方式中,上述进一步槽位解析模块用于:采用预设的规则槽位模板对第一文本进行槽位解析,得到一个或多个槽位表达式;基于所有的槽位表达式,得到第二解析结果。

在一种实施方式中,上述统计模型为命名实体识别模型;规则模型为基于pcre库建立的正则表达式模型。在一种具体实施方式中,上述命名实体识别模型包括crf子模型。

在一种实施方式中,上述参见图8所示的另一种语义解析装置的结构框图,该装置还包括:更正模块802,用于采用与第二文本所属的领域类别对应的知识图谱,对第三文本进行错别字更正。

本实施例还提供了一种语音交互装置,该语音交互装置实现的功能对应上述语音交互方法执行的步骤。该装置可以理解为用于进行语音交互的处理器,也可以直接理解为车载设备、机器人、智能终端等,参见图9所示的一种语音交互装置的结构框图,包括如下模块:

语音识别模块902,用于如果接收到语音,对语音进行识别,得到待解析文本;

文本解析模块904,用于采用前述语义解析装置对待解析文本进行解析,得到待解析文本的解析文本;

响应确定模块906,用于基于解析文本确定语音的响应信息;

执行模块908,用于执行与响应信息对应的操作。

本申请实施例提供的上述语音交互装置,能够首先对接收到的语音进行识别,得到待解析文本,并采用上述语义解析装置对待解析文本进行解析,生成待解析文本的解析文本,并根据解析文本确定该语音的响应信息,进而执行与响应信息对应的操作。这种方式可以通过上述语义解析装置生成准确的解析文本,从而可保障响应信息的准确性,使得执行与响应信息对应的操作能够符合用户意图,较好地满足用户需求,提升用户体验。

在一种实施方式中,上述响应确定模块用于:从预设的知识库中查询解析文本对应的应答信息;将应答信息作为语音的响应信息。

在一种实施方式中,上述执行模块用于:如果响应信息为音乐或答句,以音频方式播放响应信息;如果响应信息为图文,在指定界面上展示响应信息;如果响应信息为动作指令,执行与动作指令对应的动作。

在一种实施方式中,上述语音交互装置应用于车载设备或机器人。

进一步,本实施例还提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如上述任一的语义解析方法的步骤,或者执行上述任一的语音交互方法的步骤。

为便于理解,图10示出根据本申请的一些实施例的可以实现本申请思想的电子设备100的示例性硬件和软件组件的示意图。例如,处理器120可以用于电子设备100上,并且用于执行本申请中的功能。

电子设备100可以是通用计算机或特殊用途的计算机,诸如车载电脑、机器人等智能设备,都可以用于实现本申请的语义解析方法或语音交互方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。

例如,电子设备100可以包括连接到网络的网络端口110、用于执行程序指令的一个或多个处理器110、通信总线130、和不同形式的存储介质140,例如,磁盘、rom、或ram,或其任意组合。示例性地,计算机平台还可以包括存储在rom、ram、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备100还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(input/output,i/o)接口150。

为了便于说明,在电子设备100中仅描述了一个处理器。然而,应当注意,本申请中的电子设备100还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备100的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。

进一步,本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述任一的语义解析方法的步骤,或者执行如上述任一的语音交互方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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