首页> 中国专利> 一种用于多轮问答系统中缺失语义补充的方法

一种用于多轮问答系统中缺失语义补充的方法

摘要

本发明公开了一种用于多轮问答系统中缺失语义补充的方法,其特征在于,包括以下步骤:S1、获取用户在问答系统中输入的问题;S2、根据用户输入的在先问题对当前问题进行缺失语义补充,且所述缺失语义补充是从指代消解和/或省略恢复的角度进行语义补充;S3、对缺失语义补充后的当前问题进行检索。本发明通过指代消解和/或省略恢复对当前问题进行缺失语义补充,能够针对用户输入的问题进行准确的回答,本发明方法允许用户使用省略句进行提问,提高了人机交互的流畅性和准确性,获得更好的用户体验。

著录项

  • 公开/公告号CN105589844A

    专利类型发明专利

  • 公开/公告日2016-05-18

    原文格式PDF

  • 申请/专利权人 北京中科汇联科技股份有限公司;

    申请/专利号CN201510958743.4

  • 发明设计人 游世学;杜新凯;

    申请日2015-12-18

  • 分类号G06F17/27(20060101);G06F17/30(20060101);

  • 代理机构北京庆峰财智知识产权代理事务所(普通合伙);

  • 代理人李文军

  • 地址 100094 北京市海淀区东北旺西路8号9号楼二区305

  • 入库时间 2023-12-18 15:20:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-08

    授权

    授权

  • 2016-07-13

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20151218

    实质审查的生效

  • 2016-05-18

    公开

    公开

说明书

技术领域

本发明涉及信息处理技术领域,尤其涉及一种用于多轮问答系统中缺失语义补充 的方法。

背景技术

自动问答系统,又称QA(QuestionAnswering)系统,可称为新一代的搜索引擎,用 户不需要把自己的问题分解成关键字,可把整个问题直接交给该系统,既能用自然语言句 子提问,又能为用户直接返回答案,可更好地满足用户的检索需求,因此,自动问答系统成 为企业智能客服的首选,但是该系统目前还存在一些缺点,例如用户每次输入的语句都彼 此独立,不能建立准确的上下文语境,因而对用户而言,每次检索必须输入语义完整的问 句,与人的语言行为相违背。根据上文信息建立语境,从指代和省略两个角度,对当前提问 信息进行语义补充,从而允许用户可以使用省略句进行提问,提高人机交互的流畅性和准 确性,提供更好的用户体验。

在交互式问答中,人们在提问的同时,会建立相应的语境,在这个语境中的接下来 的问题,往往会出现指代和省略现象,由此造成单个提问语义缺失的问题,给问题检索带来 大量的麻烦。语义缺失主要包括以下两种情况:

1.指代型语义缺失。用户输入问题上下文相关,为保障上下文连贯性,后一个问题 与前一个问题之间存在指代关系,即后一个问题中存在某个指代词指代前一个问题中的名 词,由此造成指代型语义缺失,例如,连续两个问题:“朝阳区海关可以办理什么业务?”,“它 的电话是多少?”。在后一个问题中,“它”指代的是“朝阳区海关”,缺失语义“朝阳区海关”信 息。

2.省略型语义缺失。用户输入问题上下文相关,后一个问题中应该具备的成分,有 时出于上下文连贯性的需要,在后一个问句中并不出现,构成省略型语义缺失,例如,连续 两个问题:“银行卡转账如何办理?”,“收费吗?”。第二个问句中省略了主语“银行卡转账”, 缺失“银行卡转账”信息。

目前的检索系统,依然要求用户输入语义完整的句子,对于语义缺失的句子并不 能有效找到正确答案,如百度研发的小度机器人,虽然针对客观问题有极高的准确率,但不 能准确检索出多轮问答中存在语义缺失问题的答案。

发明内容

本发明所要解决的技术问题在于如何克服现有技术中在多轮问答系统中,对于语 义缺失的句子无法找到正确答案的缺陷。

为了解决上述技术问题,本发明提供了一种用于多轮问答系统中缺失语义补充的 方法,其特征在于,包括以下步骤:

S1、获取用户在问答系统中输入的问题;

S2、根据用户输入的在先问题对当前问题进行缺失语义补充,且所述缺失语义补 充是从指代消解和/或省略恢复的角度进行语义补充;

S3、对缺失语义补充后的当前问题进行检索。

进一步地,所述步骤S2中的从指代消解的角度进行语义补充,具体包括以下步骤:

S21、根据用户在问答系统中输入的问题构建表述对;

S22、抽取表述对的特征,所述表述对的特征包括人工特征、词向量特征和交互特 征中的一种或多种;

S23、根据表述对的特征进行代词消解。

进一步地,所述步骤S21中构建表述对具体包括以下步骤:

S211、根据用户在问答系统中输入的问题,将指代词和候选先行语分别做集合;

S212、将指代词集合和候选先行语集合进行笛卡尔积运算,得到表述对集合。

进一步地,所述步骤S22中,人工特征包括14维指代词和10维先行语,且指代词和 先行语的每一维均为布尔类型,其中14维指代词分别为“指人”、“指物”、“单数”、“复数”、 “男”、“女”、“地点”、“时间”、“自己”、“专有名词”、“非人”、“非物”、“非地点”、“指机构”,10 维先行语分别为“人”、“男”、“女”、“单数”、“复数”、“物品”、“机构团体”、“地名”、“新词”、 “时间”。

进一步地,所述步骤S22中的词向量特征包括指代词词向量特征、先行语词向量特 征、指代词上下文特征和先行语上下文特征,所述指代词词向量特征和先行语词向量特征 分别为指代词和先行语的词向量,所述指代词上下文特征和先行语上下文特征由以下公式 得到:

v=12kΣj=i-n,jii+nwj,0jm

其中,w0,w1,…,wi,…,wm为一个句子中每个词的词向量,wi为待计算上下文特征的 词的词向量,n为窗口大小,即包含候选词前后各n个词,k为窗口大小为n中所包含的词的个 数,v为第i个词的上下文特征。

进一步地,所述步骤S22中的交互特征为指代词和先行语之间的交互信息,包括指 代词和先行语所在的句子的偏移,指代词和先行语在句子中的偏移,指代词和先行语之间 的句子距离和词距离,其中句子偏移和句子距离以句子为基本单位来计算,在句子中的偏 移和词距离以词为单位计算。

进一步地,所述步骤S2中的从省略恢复的角度进行语义补充,具体包括以下步骤:

S24、根据用户在问答系统中输入的问题构建共现语言模型,并计算出共现语言模 型中的候选目标词与当前句子中的词的共现概率;

S25、将计算结果分值最高的先行语作为最佳先行语进行省略恢复。

进一步地,所述步骤S24具体包括以下步骤:

S241、根据用户在问答系统中输入的问题进行词性标注;

S242、将词性标注为名词或动词作为候选目标词;

S243、在以所述候选目标词为中心的前后各n个词范围内,设计大小为n的滑动窗 口;

S244、在所述滑动窗口中,以候选目标词为中心,从第一个词滑向最后一个词,依 次统计出窗口中候选目标词与当前句子中的词的共现概率。

进一步地,所述步骤S244中共现概率由以下计算公式得到:

p(wi,wj)=c(wi,wj)max>c(wi,wk),wkW

其中,wi为当前句子中出现的词,wj为候选目标词,W为词表,c(wi,wj)表示wi和wj的 共现计数。

进一步地,所述步骤S25具体为:将共现概率p(wi,wj)与概率阈值d进行比较,将p (wi,wj)>d且未在当前句子中出现的词作为最佳先行语,并将所述最佳先行语补充到当前句 子中。

本发明的用于多轮问答系统中缺失语义补充的方法,具有如下有益效果:

1、本发明通过指代消解和/或省略恢复对当前问题进行缺失语义补充,能够针对 用户输入的问题进行准确的回答。

2、本发明方法允许用户使用省略句进行提问,提高了人机交互的流畅性和准确 性,获得更好的用户体验。

附图说明

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

图1是本发明中用于多轮问答系统中缺失语义补充的方法的流程图;

图2是本发明实施例中的指代消解模块的整体框图;

图3是本发明实施例中的指代消解模块模型训练的数据流图;

图4是本发明实施例中的指代消解模块实现指代消解的数据流图;

图5是本发明实施例中的省略恢复模块训练过程的流程图;

图6是本发明实施例中的语义补充模块的整体框图。

具体实施方式

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

本发明提供了一种用于多轮问答系统中缺失语义补充的方法,其特征在于,包括 以下步骤:

S1、获取用户在问答系统中输入的问题;

S2、根据用户输入的在先问题对当前问题进行缺失语义补充,且所述缺失语义补 充是从指代消解和/或省略恢复的角度进行语义补充,从指代消解的角度进行语义补充具 体包括以下步骤:

S21、根据用户在问答系统中输入的问题构建表述对,构建表述对具体包括以下步 骤:

S211、根据用户在问答系统中输入的问题,将指代词和候选先行语分别做集合;

S212、将指代词集合和候选先行语集合进行笛卡尔积运算,得到表述对集合;

S22、抽取表述对的特征,所述表述对的特征包括人工特征、词向量特征和交互特 征中的一种或多种;

S23、根据表述对的特征进行代词消解。

S3、对缺失语义补充后的当前问题进行检索。

其中,所述步骤S22中,人工特征包括14维指代词和10维先行语,且指代词和先行 语的每一维均为布尔类型,其中14维指代词分别为“指人”、“指物”、“单数”、“复数”、“男”、 “女”、“地点”、“时间”、“自己”、“专有名词”、“非人”、“非物”、“非地点”、“指机构”,10维先行 语分别为“人”、“男”、“女”、“单数”、“复数”、“物品”、“机构团体”、“地名”、“新词”、“时间”。

其中,所述步骤S22中的词向量特征包括指代词词向量特征、先行语词向量特征、 指代词上下文特征和先行语上下文特征,所述指代词词向量特征和先行语词向量特征分别 为指代词和先行语的词向量,所述指代词上下文特征和先行语上下文特征由以下公式得 到:

v=12kΣj=i-n,jii+nwj,0jm

其中,w0,w1,…,wi,…,wm为一个句子中每个词的词向量,wi为待计算上下文特征的 词的词向量,n为窗口大小,即包含候选词前后各n个词,k为窗口大小为n中所包含的词的个 数,v为第i个词的上下文特征。

其中,所述步骤S22中的交互特征为指代词和先行语之间的交互信息,包括指代词 和先行语所在的句子的偏移,指代词和先行语在句子中的偏移,指代词和先行语之间的句 子距离和词距离,其中句子偏移和句子距离以句子为基本单位来计算,在句子中的偏移和 词距离以词为单位计算。

其中,所述步骤S2中的从省略恢复的角度进行语义补充,具体包括以下步骤:

S24、根据用户在问答系统中输入的问题构建共现语言模型,并计算出共现语言模 型中的候选目标词与当前句子中的词的共现概率;

S25、将计算结果分值最高的先行语作为最佳先行语进行省略恢复。

其中,所述步骤S24具体包括以下步骤:

S241、根据用户在问答系统中输入的问题进行词性标注;

S242、将词性标注为名词或动词作为候选目标词;

S243、在以所述候选目标词为中心的前后各n个词范围内,设计大小为n的滑动窗 口;

S244、在所述滑动窗口中,以候选目标词为中心,从第一个词滑向最后一个词,依 次统计出窗口中候选目标词与当前句子中的词的共现概率。

其中,所述步骤S244中共现概率由以下计算公式得到:

p(wi,wj)=c(wi,wj)max>c(wi,wk),wkW

其中,wi为当前句子中出现的词,wj为候选目标词,W为词表,c(wi,wj)表示wi和wj的 共现计数。

进一步地,所述步骤S25具体为:将共现概率p(wi,wj)与概率阈值d进行比较,将p (wi,wj)>d且未在当前句子中出现的词作为最佳先行语,并将所述最佳先行语补充到当前句 子中。

本发明还提供了一种用于多轮问答系统中缺失语义补充的系统,与上述方法相对 应。

具体地,语义补全模块位于问题检索之前,对待检索问题,通过指代消解和省略恢 复从两个方面实现语义补全,两个模块彼此独立,没有彼此交互,可以独立使用。

首先,基于共指消解的表述对模型实现指代消解模块,模块的整体框图如图1所 示,指代消解模块内含数据预处理模块,分类器模块,标注模块和表述对后处理模块。具体 地:

a.数据预处理模块:负责数据预处理工作,包括指代词和候选先行语的识别,表述 对的构建以及表述对特征的生成,其中:

指代词和候选先行语的识别:利用Ansj自然语言处理工具分析当前问题,模块抽 取其中词性标注为“r”的且具有指代信息标注的词,共有44个指代词,包括:他、她、我们、 我、你、它、她们、该案、这里、这样、这、此事、这些等,这44个指代词的确立是使用Ansj对 OntoNotes5.0数据进行分词和词性标注,选取其中具有指代关系标注的词语作为指代词; 利用Ansj分析上文问题,模块抽取其中词性标注为“n”的词,作为先行语,如例1,其中“它” 词性标注为“r”,所以将“它”识别为指代词,“海淀区海关”,“业务”词性标注为“n”,因此,将 其是被为候选先行语,虽然“电话”的词性标注也为“n”,但出现在当前句子中,并不是上文 句子所以不被识别为候选先行语。

例1:“海淀区海关有什么业务?”,“它的电话是多少?”

表述对的构建:根据指代词和候选先行语的识别结果——指代词集合和候选先行 语集合,两个集合做笛卡尔积运算,得到表述对集合,如例1中,其候选先行语集合为{“海淀 区海关”,“业务”},指代词集合为{“它”},计算得出的表述对集合为{“它”-“海淀区海关”, “它”-“业务”}。

表述对特征的生成:表述对的特征由三方面组成,一是人工特征,二是词向量特 征,三是交互特征,其中人工特征为人工提出且具有实际含义,包括先行语特征“人”、“男”、 “女”、“单数”、“复数”、“物品”、“机构团体”、“地名”、“新词”和“时间”,利用规则可实现先行 语特征的自动抽取,指代词特征“指人”、“指物”、“单数”、“复数”、“男”、“女”、“地点”、“时 间”、“自己”、“专有名词”、“非人”、“非物”、“非地点”、“指机构”,由于指代词数目较低(44 个),因此采用人工标注的方法,为这些指代词进行人工精确的标注;词向量特征由两部分 组成,一是本身词向量特征,二是上下文词向量特征,其中,词向量通过词向量训练工具从 大规模自然语言文本中训练得到,本身词向量特征由指代词和先行语的词向量直接表示, 上下文特征由上下文词向量计算而来;交互特征为指代词和现行语之间的交互信息,包含 先行语和指代词所在的句子偏移和在句子中的偏移,指代词和先行语之间的句子距离和词 距离,其中句子偏移和句子距离以句子文基本单位来计算,句子中的偏移和词距离以词为 单位计算,如例1,表述对“它”-“业务”的交互特征为:{0,3,1,0,0},依次表示“业务”在第 “0”个句子中,是第“3”个词,“它”在第“1”个句子中,是第“0”个词,两个词之间的距离是 “0”。

b.自动标注模块:用于训练语料的自动标注工作,处理数据预处理模块的输出结 果,为表述对进行标注,并将标注后的果送到分类器模块,这里使用共指标注语料 OntoNotes5.0数据集,具体地:首先,将OntoNotes的数据输入到数据预处理模块,获得表述 对模型,根据数据集中的标注对表述对进行标注,由此得到标注后的特征向量。

c.分类器模块:用于模型的训练和预测,具体地,因为有很多特征彼此相关,所以 采用非线性分类器GBDT模型,训练时,来用OntoNotes5.0数据集,对其依次进行数据预处理 和自动标注工作,得到具有标注的特征向量,将其输入到分类器的训练模块,由此得到训练 好的GBDT模型,预测时,输入数据预处理模块产生的表述对及其特征,训练好的GBDT模型会 根据表述对特征预测出一个分值,即为预测结果。

d.表述对后处理模块:指代词具有唯一先行语与之对应,该模块目的在于为每个 指代词找到一个最佳先行语,具体地,按照每一个指代词,为其所有先行语根据分类器模块 预测出来的结果进行降序排序,每个指代词选择出第一个先行语作为消解目标输出。

指代消解模块有两个基本方法,一个为训练模型,一个为模型指代消解,具体地:

a.训练模型:该方法用来从标注的文本中学习分类器模型,如图2所示,为训练模 型的数据流图,OntoNotes数据将文本输入到数据预处理模块,将标注信息输入到自动表述 模块,由数据预处理模块产生表述对及其特征,再输入到自动标注模块进行标注得到标注 后的特征向量,分类器模块根据标注后的特征向量学习模型参数,得到训练好的分类器模 型。

b.模型消解:该方法用来寻找连续输入的句子中最后一个句子中的指代消解结 果,如图3所示,为模型消解的数据流图,当用户输入问题进行检索时,自动获取之前他查询 过的问题,形成连续问题,数据预处理模块处理连续问题的到表述对及其特征表示,分类器 根据表述对及其特征表示训练对每一个表述对进行预测,给一个分值,将具有分值的表述 对输入到后处理模块,后处理模块输出最后一个问题的最终消解结果。

其次,通过改进语言模型实现共现语言模型,解决省略恢复的难题,其核心数据结 构为二元语言模型,具有两个基本方法,一个为训练模型,一个为模型省略恢复,具体地:

a.二元语言模型数据结构:首先,构造一个子数据结构B:包含一个整形数和一个 字符串到整形的映射,再构造一个数据结构A:包含一个字符串到子数据结构B的一个映射, 其中,字符串s1通过A映射到一个子数据结构b,b包含的整形数d1表示的含义是与字符串s1 共现的最高频度,b包含的一个字符串映射关系s2:d2中d表示s1出现的条件下,s2也出现的 频度,则d1/d2表示共现概率。

b.训练模型:省略恢复模型训练的流程图如图4所示,训练语料为自然语言文本即 可,首先使用Ansj自然语言处理工具,对文本进行分词和词性标注,保留词性标注为“n”或 “v”的词,这样的词具有实际意义,保证省略恢复出的词具有实际意义,然后初始化一个大 小为n的滑动窗口(中心词前后各n个词),初始位置为处理后文本的第一个词,每次处理滑 动窗口中的词,将窗口中的词与中心词的共现频率增量添加到二元语言模型数据结构中, 直到窗口中心移动到文本末端,如例2,经过Ansj自然语言处理工具处理并保留候选目标词 的结果为:“异地”,“异行”,“银行卡”,“转账”,“办理”,根据模型训练方法,窗口大小设置为 2,需要依次增加“异地”-“异行”:1、“异地”-“银行卡”:1、“异行”-“异地”:1、“异行”-“银行 卡”:1、“异行”-“转账”:1、“银行卡”-“异地”:1、“银行卡”-“异行”:1、“银行卡”-“转账”:1、 “银行卡”-“办理”:1、“转账”-“异行”,:1、“转账”-“银行卡”:1、“转账-“办理”:1、“办理”- “银行卡”:1、“办理”-“转账”:1。

例2:请问异地异行的银行卡转账怎么办理啊?

c.模型省略恢复:省略恢复的方法是将上文出现的名词或动词作为候选词,计算 候选词与当前句子中词的共现概率p,设置阈值d,若对于词w,其共现概率p>阈值d,且词w未 在当前句子中出现,则将词w作为语义补充词进行省略恢复,如例3,根据b训练出的模型,假 设模型仅仅训练了例2的句子,上文经过Ansj处理后候选目标词为“中行”、“提供”、“银行 卡”、“转账”和“服务”,与当前句子“办理”的共现概率依次为p(办理,中行)=0.0,p(办理, 提供)=0.0,p(办理,银行卡)=0.0,p(办理,转账)=0.0,p(办理,服务)=0.0,设置阈值d =0.5,则补充语义为“银行卡”,“转账”,那么对当前句子会有很准确的理解。

例3:“中行提供银行卡转账的服务吗?”,“如何办理呢?”

最后,因指代消解模块和省略恢复模块都要用到Ansj自然语言处理工具,为提升 运行效率设计如图5,所示的整体框图,将共同运行的部分提到模块前,设立独立预处理模 块,将处理结果分别传输给指代消解模块和省略恢复模块,设立一个后处理模块,将指代消 解模块和省略恢复模块的处理结果合并在一起,输出到问题检索系统中。

指代消解模块是基于表述对模型改进而来,引入词向量特征,词向量特征可以有 效捕捉到句子的上下文语义特征,同时,后处理模块能够准确选择出最佳消解词,因此提高 指代消解的准确性。省略恢复模块通过改进二元语言模型形成共现语言模型,通过大规模 语料和设置滑动窗口,能够更加有效的获取词语共现的相关信息,同时,过滤掉不具有实际 意义的词,能够提高省略恢复的准确性。使用本方法,可以有效地对当前问题进行语义补 充,进而提升问题检索系统的准确性。

本发明的用于多轮问答系统中缺失语义补充的方法,具有如下有益效果:

1、本发明通过指代消解和/或省略恢复对当前问题进行缺失语义补充,能够针对 用户输入的问题进行准确的回答。

2、本发明方法允许用户使用省略句进行提问,提高了人机交互的流畅性和准确 性,获得更好的用户体验。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为 本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号