询问应答方法、询问应答装置及计算机可读存储介质与流程

文档序号:12887323阅读:225来源:国知局
询问应答方法、询问应答装置及计算机可读存储介质与流程

本发明涉及基于语义理解的询问应答方法、询问应答装置及计算机可读存储介质。



背景技术:

目前,模糊语义理解是信息检索及语义分析中一个非常普遍的问题,如果不能很好的对其进行语义的识别,返回的结果很大可能不是用户想要的结果。语音输入正成为越来越普遍的交互方式,虽然得益于计算能力的提升和大量数据的累积,深度学习的使用大幅降低了识别错误率,但仍然有4%-5%的错误率,在某些新词频出的领域尤为严重,这就使得模糊语义理解显得很重要。另外一方面,由于信息大爆炸,人的记忆力有限,在很多时候可能无法精确说出全部的信息,这也使得模糊语义理解成为系统的一个必要的部分。

针对上述问题,申请公布号为cn106294875a的中国专利申请提出一种实体模糊检索方法和系统,但该方法较为简单,没有考虑到拼音纠错之类的因素,难以解决目前模糊语义理解的问题。

另有,申请公布号为cn101206673a的中国专利申请提出一种网络搜索过程中关键词的智能纠错系统及方法。该系统是应用在互联网络平台上,建立语言模型、对应的词典和数据索引数据库,计算音字错误和模糊匹配计算词型纠错,对结果进行相关度过滤和排序,得到最接近的几个结果。该方法是用于网络搜索,不能适用于多轮对话中的模糊检索,不能解决模糊音的纠错,不能解决多轮对话里状态迁移的问题,不能解决检索结果不存在最优情况下的纠错,也没有对没有结果时如何作处理进行定义,还有纠错结果对显示的影响,如提示信息等等。



技术实现要素:

鉴于现有技术中的上述问题研发了本发明。本发明旨在提供一种可以进行模糊语义理解的系统和方法,当用户因为语音语调、错误模糊的表达或者记不清等问题发出不准确的指令时,系统仍能作出正确的语义理解并在此基础上顺利完成信息检索。它适用于所有的需要模糊纠错的场景,包括网络搜索的语义纠错,和多轮对话中的模糊语义纠错。

本发明的第一方面提供一种基于语义理解的询问应答方法,所述询问应答方法包括:语义处理步骤(s101),对用户输入的询问信息进行语义处理,以生成反应询问信息的询问目的的用户意图和用于根据询问信息进行检索所用的检索信息;检索步骤(s102),基于所述检索信息,从数据库中进行基于分词的数据检索,获得候选实体数据的列表;排序步骤(s103),基于候选实体数据与用户意图之间的相关度,对候选实体数据进行排序处理;以及第一结果确定步骤(s104),将列表中具有最高相关度的候选实体数据,确定为针对用户询问信息的应答结果。

本发明的第二方面提供一种基于语义理解的询问应答装置,所述询问应答装置包括:语义处理单元(1101),对用户输入的询问信息进行语义处理,以生成反应询问信息的询问目的的用户意图和用于根据询问信息进行检索所用的检索信息;检索单元(1102),基于所述检索信息,从数据库中进行基于分词的数据检索,获得候选实体数据的列表;排序单元(1103),基于候选实体数据与用户意图之间的相关度,对候选实体数据进行排序处理;以及第一结果确定单元(1104),将列表中具有最高相关度的候选实体数据,确定为针对用户询问信息的应答结果。

本发明的第三方面提供一种基于语义理解的询问应答系统(100),所述系统包括用户终端(1001)和与用户终端连接的服务器(1002),所述用户终端包括:输入接受单元(10011),接受用户输入的询问信息;语义处理单元(10012),对询问信息进行语义处理,以生成反应询问信息的询问目的的用户意图和用于根据询问信息进行检索所用的检索信息;发送单元(10013),将询问信息、该询问信息的用户意图和检索信息以相关联的方式发送给服务器,并从服务器接收针对询问信息的应答结果,所述服务器包括:接收单元(10021),从用户终端接收询问信息和与该询问信息相关联的用户意图和检索信息;检索单元(10022),基于所述检索信息,从数据库中进行基于分词的数据检索,获得候选实体数据的列表;排序单元(10023),基于候选实体数据与用户意图之间的相关度,对候选实体数据进行排序;以及结果确定单元(10024),将列表中具有最高相关度的候选实体数据,确定为针对用户询问信息的应答结果,并将应答结果发送给用户终端。

本发明的第四方面提供一种计算机可读存储介质,其存储计算机程序,所述计算机程序在被处理器执行时,实现根据上述询问应答方法中包括的步骤。

根据本发明,即使由于用户记忆模糊等问题而输入错误的询问信息,也能够顺利的完成信息检索,使得用户能够获得与用户的意图更接近的检索结果。另外,即使在不存在最优检索结果的情况下,也能够进行纠错,并向用户提供纠错后的结果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域或普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是示出本发明中的询问应答装置的硬件构造的图。

图2是例示根据本发明第一实施例的询问应答方法的流程图。

图3是例示根据本发明的询问应答方法的语义处理步骤的流程图。

图4是例示根据本发明的询问应答方法的排序步骤的流程图。

图5是例示根据第一实施例的询问应答装置的软件结构的框图。

图6是例示根据本发明第二实施例的询问应答方法的流程图。

图7是例示根据第二实施例的询问应答装置的软件结构的框图。

图8是例示根据本发明优选实施例的询问应答方法的流程图。

图9是例示根据优选实施例的询问应答装置的软件结构的框图。

图10是例示本发明的询问应答系统的示意图。

具体实施方式

在下文中将参照附图详细地描述本发明的实施例。应当理解,下述实施例并不意图限制本发明,并且,关于根据本发明的解决问题的手段,并不一定需要根据下述实施例描述的各方面的全部组合。为简化起见,对相同的结构部分或者步骤,使用了相同的标记或标号,并且省略其说明。

[询问应答装置的硬件结构]

图1是示出本发明中的询问应答装置的硬件构造的图。在本实施例中,以智能电话作为询问应答装置的示例给出描述。但请注意,虽然在本实施例中例举了智能电话作为询问应答装置1000,但是显然不限于此,本发明的询问应答装置可以是移动终端(智能手机、智能手表、智能手环、音乐播放设备)、笔记本电脑、平板电脑、pda(个人数字助理)、传真装置、打印机、或者是具有询问应答功能的互联网设备(例如数字照相机、电冰箱、电视机等)等各种装置。

首先,参照图1的框图描述询问应答装置1000(2000、3000)的硬件结构。此外,在本实施例中作为示例描述了以下构造,但是本发明的询问应答装置不限于图1所示的构造。

询问应答装置1000包括经由系统总线彼此连接的输入接口101、cpu102、rom103、ram105、存储装置106、输出接口104、通信单元107和短距离无线通信单元108和显示单元109。输入接口101是用于接收用户所输入的数据以及功能的执行指令的接口,并且是用于经由诸如麦克风、按键、按钮或触摸屏的操作单元(未示出)接收从用户输入的数据和操作指令的接口。请注意,稍后描述的显示单元109和操作单元可以至少部分地集成,并且,例如,可以是在同一画面中进行画面输出和接收用户操作的构造。

cpu102是系统控制单元,并且总体上全面地控制询问应答装置1000。此外,例如,cpu102进行询问应答装置1000的显示单元109的显示控制。rom103存储cpu102执行的诸如数据表和控制程序以及操作系统(os)程序等的固定数据。在本实施例中,rom103中存储的各个控制程序,例如,在rom103中存储的os的管理下,进行诸如调度、任务切换和中断处理等的软件执行控制。

ram105例如由需要备用电源的sram(静态随机存取存储器)、dram等构造。在这种情况下,ram105可以以非易失性方式存储诸如程序控制变量等的重要数据。此外,ram105用作cpu102的工作存储器和主存储器。

存储装置106存储预先训练的模型(例如,词纠错模式、实体模型、rank模型、语义模型等)、用于进行检索的数据库以及用于执行根据本发明的询问应答方法的应用程序等。请注意,这里的数据库也可以存储在诸如服务器的外部装置中。此外,存储装置106存储诸如用于经由通信单元107与通信装置(未示出)进行发送/接收的信息发送/接收控制程序等的各种程序,以及这些程序使用的各种信息。此外,存储装置106还存储询问应答装置1000的设置信息、询问应答装置1000的管理数据等。

输出接口104是用于对显示单元109进行控制以显示信息以及应用程序的显示画面的接口。显示单元109例如由lcd(液晶显示器)构造。通过在显示单元109上布置具有诸如数值输入键、模式设置键、决定键、取消键和电源键等的键的软键盘,可以接收经由显示单元109的来自用户的输入。

询问应答装置100经由通信单元107通过例如wi-fi(无线保真)或蓝牙等无线通信方法,与外部装置(未示出)执行数据通信。

此外,询问应答装置1000也可以经由短距离无线通信单元108,在短距离范围内与外部装置等进行无线连接并执行数据通信。并且短距离无线通信单元108通过与通信单元107不同的通信方法进行通信。例如,可以使用其通信范围比通信单元107的通信方法短的蓝牙低功耗(ble)作为短距离无线通信单元108的通信方法。此外,作为短距离无线通信单元108的通信方法,例如,还可以使用nfc(近场通信)或wi-fi感知(wi-fiaware)。

[第一实施例]

[根据第一实施例的询问应答方法]

根据本发明的询问应答方法可以通过询问应答装置1000的cpu102读取存储在rom103或存储装置106上的控制程序、或者经由通信单元107从通过网络与询问应答装置1000连接的网络服务器(未示出)而下载的控制程序来实现。

在进行根据本发明的询问应答方法之前,需要先准备模型和数据库。具体流程如下:

(1)相关数据的抓取:实体数据的抓取和与之相关的数据如标签等等的抓取,其中,实体数据是指某领域(例如视频领域)的实体,如电影“老公们的私房钱”、“芈月传”,而标签就是描述该实体的词:如“社会伦理”、“爱情”。

(2)模型的训练:词纠错模型:建立词的拼音表和模糊音的映射,通过对语料的训练,计算出词的概率模型和词间的转移概率模型;实体模型:利用语言模型对包含实体数据的语料进行训练,建立起识别实体的模型;rank模型:通过准备好的数据和特征抽取,训练成gbdt的决策树模型;语义模型:通过语言模型和训练语料,训练成可以抽取语义的模型。以上模型训练过程中所需的样本,可以从公网上爬取。

(3)数据的索引入库:对该领域建模,基于已有的数据和模型,处理成可供检索和语义理解的结构化数据并入库。

接下来,结合图2至图4对根据本发明第一实施例的询问应答方法进行说明。其中,图2是例示根据本发明第一实施例的询问应答方法的流程图;图3是例示根据本发明的询问应答方法的语义处理步骤的流程图;图4是例示根据本发明的询问应答方法的排序步骤的流程图。

如图2所示,首先,在语义处理步骤s101中,对用户输入的询问信息(query)进行语义处理,以生成反应询问信息的询问目的的用户意图和用于根据询问信息进行检索所用的检索信息。优选地,如图3所示,语义处理步骤s101进一步包括:用户意图识别步骤s1011,对询问信息进行用户意图识别,获得对应于询问信息的用户意图;实体识别步骤s1012,通过预先训练的实体模型,从询问信息中识别出实体数据;以及语义理解步骤s1013,通过预先训练的语义模型,对询问信息进行语义理解,以获得检索信息。这里,询问信息为用户例如通过键盘输入的文本信息、通过转换用户例如通过麦克风输入的语音信息而生成的文本信息、以及用户输入的文本信息与将用户语音信息转换成的文本组合而成的文本信息中的一种。例如,用户可以输入询问信息“我要看肖申克的救赎”,此时,通过实体识别步骤,可以从该询问信息中识别出实体“肖申克的救赎”,通过语义理解步骤,对该询问信息进行语义理解,可以获得检索信息,这里的检索信息采用计算机可理解的槽值对的形式,例如“片名=肖申克的救赎”。

接下来,在检索步骤s102中,基于所述检索信息,从数据库中进行基于分词的数据检索,获得候选实体数据的列表。这里,首先将在语义理解步骤s1013中获得的槽值对转换成可以检索的语句(例如,将“片名=肖申克的救赎”转换成“filmtitle:肖申克的救赎”),然后向数据库发送检索请求以返回结果列表。在检索过程中,可以根据预先准备的分词模型对检索信息中的值(例如“肖申克的救赎”)进行分词,而在数据库的准备中,也会对库中各实体数据进行分词并以倒排序进行索引,这样就能够通过分词的结果把匹配的结果找出来。基于分词进行检索的优点在于,即使用户由于记忆模糊而输入错误的询问信息(例如“葫芦娃兄弟”),通过分词模型将询问信息分词为“葫芦娃”和“兄弟”,也能够从数据库中检索出期望的结果(例如“葫芦兄弟”);或者,用户可能输入不完整的询问信息(例如“肖申克救赎”),通过分词模型将询问信息分词为“肖申克”和“救赎”,也能够从数据库中检索出期望的结果(例如“肖申克的救赎”)。

接下来,在排序步骤s103中,基于候选实体数据与用户意图之间的相关度,对候选实体数据进行排序处理。优选地,如图4所示,排序步骤s103进一步包括:相关度计算步骤s1031,根据gbdt模型计算候选实体数据与用户意图之间的相关度;以及相关度排序步骤s1032,基于计算出的相关度,利用rank模型对候选实体数据进行排序。这里,在计算候选实体数据与用户意图之间的相关度时,首先通过上下文状态、实体的静态信息(如标签、名字、类别等等)、实体的动态信息(如热度、打分、和当前时间的远近)来计算特征值,然后将所有的特征值经过预先准备的gbdt模型来计算出最后的相关度。这里,静态信息的特征值是通过信息与用户输入的询问信息的匹配度来计算的,这个匹配度可以通过拼音(包括模糊音)的编辑距离、字的编辑距离、语义的编辑距离等等来确定,而动态信息的特征值可通过一定的公式来计算。

最后,在第一结果确定步骤s104中,将列表中具有最高相关度的候选实体数据,确定为针对用户询问信息的应答结果。这里,可以通过显示单元109,将具有最高相关度的候选实体数据作为最优结果返回给用户。

根据本发明第一实施例的询问应答方法,通过基于检索信息,从数据库中进行基于分词的数据检索,获得候选实体数据的列表,并基于候选实体数据与用户意图之间的相关度,对候选实体数据进行排序处理,可以获得如下技术效果:a.即使由于用户记忆模糊或输入错误而输入不完整的询问信息,也能够检索出理想的结果;b.使得用户能够获得与用户的意图更接近的检索结果。

[根据第一实施例的询问应答装置的软件结构]

图5是例示根据第一实施例的询问应答装置的软件结构的框图。如图5所示,询问应答装置1000包括语义处理单元1101、检索单元1102、排序单元1103、以及第一结果确定单元1104。

具体地说,语义处理单元1101包括:用户意图识别单元11011,对询问信息进行用户意图识别,获得对应于询问信息的用户意图;实体识别单元11012,通过预先训练的实体模型,从询问信息中识别出实体数据;以及语义理解单元11013,通过预先训练的语义模型,对询问信息进行语义理解,以获得检索信息。检索单元1102基于所述检索信息,从数据库中进行基于分词的数据检索,获得候选实体数据的列表。排序单元1103包括:相关度计算单元11031,根据gbdt模型计算候选实体数据与用户意图之间的相关度;以及相关度排序单元11032,基于计算出的相关度,对候选实体数据进行排序。第一结果确定单元1104,将列表中具有最高相关度的候选实体数据,确定为针对用户询问信息的应答结果。

[第二实施例]

[根据第二实施例的询问应答方法]

下面结合图6对根据本发明第二实施例的询问应答方法进行说明。其中,图6是例示根据本发明第二实施例的询问应答方法的流程图。

如图6所示,根据第二实施例的询问应答方法与据第一实施例的询问应答方法的区别在于,增加了第一判断步骤s204、第二判断步骤s205和第二结果确定步骤s206。

具体地说,在第一判断步骤s204中,根据相似距离,计算在步骤s103中获得的列表中具有最高相关度的候选实体数据与询问信息之间的第一相关度,并判断第一相关度是否小于第一阈值。这里,实体数据的不同属性相当于语义理解的不同槽,并且属性与用户的询问信息的相关度通过相似距离来确定,这里的相似距离包括拼音(包括模糊音)的编辑距离、字的编辑距离和语义的编辑距离等,其中,字的编辑距离例如由于字型接近、同音不同字、少字多字等情况而产生。如果第一相关度小于第一阈值(步骤s204中为“是”),则表示从数据库中检索出的最优结果与用户期望的结果之间的差异较大,这时,处理进行到第二结果确定步骤s206,以将在实体识别步骤s1012中识别出的实体数据确定为应答结果返回给用户,使得即使在数据库中没有预期结果的情况下,用户也能够得到理想的结果。例如,用户在步骤s101中输入询问信息“我要看亲爱的翻译官”,而在数据库中没有该影片,这时也会向用户返回在实体识别步骤s1012中识别出的实体“亲爱的翻译官”。

另一方面,如果第一相关度大于或等于第一阈值(步骤s204中为“否”),则处理进行到第二判断步骤s205,以判断第一相关度是否大于第二阈值。如果第一相关度大于第二阈值(步骤s205中为“是”),则表示从数据库中检索出的最优结果与用户期望的结果相符,并且处理进行到步骤s104,将该最优结果,确定为针对用户询问信息的应答结果。从而使得用户能够获得比较满意的应答结果。

另一方面,如果第一相关度不大于第二阈值(步骤s205中为“否”),则表示从数据库中检索出的最优结果与用户期望的结果之间仍存在差异,这时,处理进行到步骤s206,以将在实体识别步骤s1012中识别出的实体数据确定为应答结果返回给用户。

请注意,以上第一阈值和第二阈值是根据模型在训练、验证和测试的表现而预先确定的,以确保在召回和准确率上有好的表现。

另外,在上述第二判断步骤s205中,如果列表中具有最高相关度的候选实体数据与询问信息之间的第一相关度不大于第二阈值,还可以进一步判断列表中具有第二高相关度的候选实体数据与询问信息之间的相关度是否大于第二阈值,并且在判断为“是”的情况下,进行到步骤s104。这样能够避免由于在步骤s103中的排序误差而导致错过最优应答结果。在不明显影响处理速度的情况下,可以在步骤s205中依次计算列表中的前n(例如,n=3)位的候选实体数据与询问信息之间的相关度。

根据本发明第二实施例的询问应答方法,通过计算最优结果与询问信息之间的相关度,来决定向用户返回的应答结果,可以获得如下技术效果:使得即使在数据库中没有预期结果的情况下,用户也能够得到理想的结果。

[根据第二实施例的询问应答装置的软件结构]

图7是例示根据第二实施例的询问应答装置的软件结构的框图。如图7所示,根据第二实施例的询问应答装置2000与根据第一实施例的询问应答装置1000的区别在于,增加了第一判断单元1204、第二结果确定单元1206以及第二判断单元1205。

具体地说,第一判断单元根据相似距离计算列表中具有最高相关度的候选实体数据与询问信息之间的第一相关度,并判断第一相关度是否小于第一阈值。第二结果确定单元在所述第一判断单元判断第一相关度小于第一阈值的情况下,将所述实体识别单元识别出的实体数据,确定为应答结果。第二判断单元,判断第一相关度是否大于第二阈值,其中,在所述第二判断单元判断第一相关度大于第二阈值的情况下,所述第一结果确定单元将具有最高相关度的候选实体数据,确定为应答结果,并且其中,所述相似距离包括拼音的编辑距离、字的编辑距离和语义的编辑距离中的至少一者。

[优选实施例]

[根据优选实施例的询问应答方法]

下面结合图8对根据本发明优选实施例的询问应答方法进行说明。图8是例示根据本发明优选实施例的询问应答方法的流程图。

如图8所示,根据优选实施例的询问应答方法与根据第一实施例的询问应答方法的区别在于,增加了预处理及纠错步骤s301。

具体地说,在预处理及纠错步骤s301中,对询问信息进行预处理,并且通过预先训练的词纠错模型,对经过预处理的询问信息进行纠错处理。这里,所述预处理包括对询问信息中包含的停用词和口语词的删除、以及对询问信息中包含的字母和数字的大小写转换等。例如,当用户输入的询问信息中包含一些口语化的词时,在进行语义处理步骤s101之前,需要去掉这些口语化的词。例如,在用户输入的询问信息为“我要看亲爱的外交官”的情况下,首先通过预处理会删除口语化的词“我要看”。然后,通过预先训练的词纠错模型将预处理后的询问信息“亲爱的外交官”纠正为“亲爱的翻译官”。接下来,对经过预处理及纠错处理后的询问信息进行后续处理。此外,用户还可能由于发音错误而输入错误的询问信息,例如在用户输入的询问信息为“肖生克的救赎”的情况下,通过词纠错处理中的模糊音纠错,还能够纠正为“肖申克的救赎”。

根据优选实施例的询问应答方法通过在进行语义处理之前进行预处理和纠错处理,能够对用户输入的询问信息进行校正,从而提高后续检索的精确度。

[根据优选实施例的询问应答装置的软件结构]

图9是例示根据优选实施例的询问应答装置的软件结构的框图。如图9所示,根据优选实施例的询问应答装置3000与根据第一实施例的询问应答装置1000的区别在于,增加了预处理及纠错单元1301。

具体地说,预处理及纠错单元1301对询问信息进行预处理,并且通过预先训练的词纠错模型,对经过预处理的询问信息进行纠错处理。

此外,本发明还提供了一种基于语义理解的询问应答系统。图10是例示本发明的询问应答系统的示意图。如图10所示,询问应答系统100包括用户终端1001和服务器1002,用户终端1001与服务器1002经由网络1003连接,网络1003可以是有线网络或无线网络。

用户终端1001包括输入接受单元10011、语义处理单元10012和发送单元10013。服务器1002包括接收单元10021、检索单元10022、排序单元10023和结果确定单元10024。

具体地说,在用户终端1001中,输入接受单元10011接受用户输入的询问信息;语义处理单元10012对询问信息进行语义处理,以生成反应询问信息的询问目的的用户意图和用于根据询问信息进行检索所用的检索信息;发送单元10013将询问信息、该询问信息的用户意图和检索信息以相关联的方式发送给服务器,并从服务器接收针对询问信息的应答结果。

另一方面,在服务器1002中,接收单元10021从用户终端接收询问信息和与该询问信息相关联的用户意图和检索信息;检索单元10022基于所述检索信息,从数据库中进行基于分词的数据检索,获得候选实体数据的列表;排序单元10023基于候选实体数据与用户意图之间的相关度,对候选实体数据进行排序;结果确定单元10024将列表中具有最高相关度的候选实体数据,确定为针对用户询问信息的应答结果,并将应答结果发送给用户终端。

以上虽然参照示例性实施例对本发明进行了描述,但是上述实施例只为说明本发明的技术构思及特点,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的任何等效变型或修改,都应涵盖在本发明的保护范围之内。

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