技术领域
[0001] 本
发明属于
自然语言处理技术领域,具体地说,涉及一种新的基于大量伪数据的贝叶斯词义消歧方法。
技术背景
[0002] 词义消歧(Word Sense Disambiguation,WSD)是指确定多义词在自然语言特定的上下文中的意义,它是自然语言处理领域的一个核心问题。在机器理解自然语言的过程中,当一个歧义词出现在特定的上下文中时,就会出现词语的歧义现象,尤其是在当前“信息爆炸”的互联网时代,词汇的歧义问题就显得更加严重。无论是汉语还是西方语言,一词多义的现象普遍存在。
[0003] 目前,基于语料库的词义消歧方法可分为有监督和无监督方法。无监督方法不需要训练语料,但该方法的消歧效果却不尽如人意。有监督方法的消歧效果要明显优于无监
督方法,但是面临较为严重的数据稀疏问题。为了解决此问题,很多学者开始研究自动生成有标注语料的方法。利用字典和大规模无标注的语料库自动生成有标注数据,然后采用有
监督方法训练消歧模型,进行消歧。但是该方法同样存在问题:获取大规模、高
质量的训练语料库费时费
力。该问题严重阻碍了有监督词义消歧方法的大规模应用。
[0004] 面对当前有监督词义消歧方法存在的问题,本发明
专利充分利用互联网上丰富的数据资源,提出一种基于大量伪数据的贝叶斯词义消歧方法,力求能够缓解有监督方法面
临的数据稀疏问题,提升词义消歧效果。
发明内容
[0005] 本发明主要针对当前的词义消歧方法存在消歧效果差、获取消歧知识费时费力等问题,提供一种基于大量伪数据的贝叶斯词义消歧方法。
[0006] 为解决上述技术问题,本发明采取的技术方案为:
[0007] 本发明采用技术方案,如图1所示。首先利用依存句法分析器,对训练语料库中包含歧义词的训练实例进行句法分析,收集与歧义词具有依存关系的元组,然后利用机器翻
译系统,查找在
机器翻译语料库中包含该元组的例句。如此反复进行,将查找出的例句加入伪训练语料库,随后利用训练语料库和伪训练语料库,训练一个贝叶斯消歧模型,最后,利用该消歧模型决策歧义词的词义。具体为:
[0008] 一种基于大量伪数据的贝叶斯词义消歧方法,包括以下步骤:
[0009] 步骤1、采用依存句法分析器对训练语料库中的训练实例进行分析,收集与目标歧义词具有依存关系的元组;已有研究表明,句中歧义词的词义可以根据句子的上下文推断
出。通常,与歧义句中歧义词具有依存关系的元组决定了歧义词的词义。例如,训练语料库中歧义句“工程一号机组一次性点火成功”,歧义词“机组”有2个含义,分别是“机器”和“人员”。对该句进行依存句法分析,如图2所示。可以得出与“机组”具有句法关系(SBV,主谓关系)的元组是“号”和“点火”。由这些词可以判断,歧义词“机组”的含义是“机器”;
[0010] 步骤2、将步骤1收集的依存元组输入机器翻译系统,获取包含该依存元组的双语例句,并将其加入伪训练语料库;将步骤1收集的依存元组输入机器翻译系统,如百度翻译或有道翻译,机器翻译系统不仅可以输出依存元组的译文,同时还可以找到许多包含该依
存元组的双语例句,将这些双语例句与歧义词词义添加至伪训练语料库。机器翻译系统可
以召回包含该元组的例句,这些例句包含了更多的消歧知识,可以扩充伪训练语料库。例
如,将上一步返回的元组(机组,点火)输入机器翻译系统,召回包含该元组的部分例句,如图3、图4、图5所示。通过这些例句,可以找到更多与歧义词“机组”具有依存关系的词语,包括“大型”、“系统”、“等离子”、“同类”和“提供”等。在这些词语的搭配限制条件下,歧义词“机组”在句中的含义仍然是“机器”。将包含这些元组的例句加入伪训练语料库;
[0011] 步骤3、重复步骤1、2,对所有训练语料库中的训练实例进行处理,同时将所有不重复的双语例句加入伪训练语料库,直到没有新的双语例句加入伪训练语料库;根据步骤2的结果,分别将元组(大型,机组)、(机组,系统)、(机组,等离子)、(同类,机组)和(机组,提供)输入机器翻译系统。以(同类、机组)为例,可以返回更多包含该元组的例句,如“为调试同类机组提供了一种新的方法。”和“为我国设计同类机组提供了可靠的参数。”等等。从这些例句中可以找出其他依存元组(调试,机组)和(设计,机组),再将这些元组重新输入机器翻译系统,可以找到更多的包含该元组的例句,例如将元组(调试,机组)输入机器翻译系统,得到例句“调试和检修工作对运行机组造成干扰等。”和“为调试同类机组提供了一种新的方法。”,可以得出元组(运行,机组),(调试,机组)(同类,机组),其中后2个元组已经加入到伪训练语料库中,因此仅仅将包含第1个元组的例句加入语料库中。如此循环往复,直到满足某种条件为止。终止条件既可以是固定的循环次数,也可以是没有新的包含依存元组的例句加入为止。
[0012] 步骤4、同时采用训练语料库和伪训练语料库训练贝叶斯消歧模型,最后利用贝叶斯消歧模型决策测试实例中歧义词的词义。
[0013] 本发明采用贝叶斯模型进行消歧训练,如公式1所示。
[0014]
[0015] 公式(1)中,si表示歧义词词义,w-L...wL表示歧义词w0附近一定窗口大小L下的词语,fj表示与歧义词具有依存句法关系的上下文词语特征,F表示上下文的特征集合,p(fj|si)表示词义与特征的条件概率,计算如公式(2)所示。
[0016]
[0017] 公式2中,c(si)表示词义si在语料库中出现的次数,c(fj,si)表示特征fj与词义si在训练语料中的共现次数。
[0018] 本发明将由机器翻译系统所召回的例句,构建伪训练语料库,综合利用训练语料库和伪训练语料库,进行词义消歧。伪训练语料库与人工语料相比,还有一定的噪声,应当发挥相对小的作用。在采用贝叶斯公式(1)进行词义决策时,通过两种类型的语料共同决策词义,在估计歧义词与特征的条件概率时,采用公式(3)计算:
[0019]
[0020] 公式3中,ct(fj,si)表示词义si与特征fj在训练语料中的共现次数,ct(si)表示词义si在训练语料中的出现次数。cp(fj,si)表示特征与歧义词在伪训练语料中的共现次数,cp(si)表示词义si在伪训练语料中出现次数。λ用于调整伪训练语料对歧义词词义的影响,取值为0.8。
[0021] 本发明采用以上技术方案,可以在少量人工标注语料的
基础上,有效缓解词义消歧所面临的数据稀疏问题,提高词义消歧的准确率,该方法具有广阔的发展前景,会极大的促进诸如
信息检索、机器翻译、语言识别、句法分析、文本处理等自然语言处理领域的发展,与传统的有监督词义消歧方法相比,准确率提高了7.35个百分点。
附图说明
[0022] 图1为本发明所述基于大量伪数据的贝叶斯词义消歧方法的系统图;
[0023] 图2为本发明歧义句的依存句法分析视图;
[0024] 图3为本发明召回例句的依存句法分析视图a;
[0025] 图4为本发明召回例句的依存句法分析视图b;
[0026] 图5为本发明召回例句的依存句法分析视图c。
具体实施方式
[0027] 下面将结合实例给出本发明的具体实现方案。“工程一号
机组一次性点火成功”为训练语料,句子“
风电
机组系统分析关键技术研究”为测试语料,对测试语料的歧义词“机组”进行消歧处理。机组的含义分别是“机器”和“人员”。
[0028] 本发明的一种基于大量伪数据的贝叶斯词义消歧方法,包括以下步骤:
[0029] 步骤1、采用依存句法分析器对训练实例进行分析,收集与目标歧义词具有依存关系的元组,具体操作如下:
[0030] 对该实例进行句法分析,如图2所示。得到依存关系元组(号,机组)和(机组,点火)。以第2个元组(机组,点火)为例说明方法工作原理;
[0031] 步骤2、将步骤1收集的依存元组输入机器翻译系统,获取包含该依存元组的例句,并将其加入伪训练语料库,具体操作如下:
[0032] 获取到包含元组(机组,点火)的例句如图3、图4、图5所示。收集与歧义词“机组”具有依存关系的词语,包括“同类”、“大型”、“系统”、“等离子”和“提供”等;
[0033] 步骤3、重复步骤1、2,对所有的训练实例进行处理,同时将所有包含不重复依存元组的双语例句加入伪训练语料库,直到没有新的双语例句加入伪训练语料库,具体操作如下:
[0034] 以元组(同类,机组)为例,说明获取伪训练实例的过程。机器翻译系统召回包含该元组的例句:
[0035] “为调试同类机组提供了一种新的方法。”
[0036] “为我国设计同类机组提供了可靠的参数。
[0037] 得到其他依存元组(调试,机组)和(设计,机组),再将这些元组重新输入机器翻译系统,可以找到更多的包含该元组的例句,例如将元组(调试,机组)输入机器翻译系统,得到例句:
[0038] “调试和检修工作对运行机组造成干扰等。”
[0039] “为调试同类机组提供了一种新的方法。”,
[0040] 可以得出元组(运行,机组),(调试,机组)和(同类,机组),其中后2个元组已经加入到伪训练语料库中,因此仅仅将包含第1个元组的例句加入语料库。在该例子中,将方法的循环次数设定为3。循环结束后,召回的伪训练实例有:
[0042] 大型机组等离子点火及稳燃技术的应用。
[0043] 这些方法可为同类机组设计和使用等离子
燃烧器点火提供参考。
[0044] 为调试同类机组提供了一种新的方法。
[0045] 为我国设计同类机组提供了可靠的参数。
[0046] 调试和检修工作对运行机组造成干扰等。
[0047] 这些伪训练实例中,歧义词“机组”的含义仍然是训练实例中歧义词的含义“机器”。
[0048] 步骤4、同时采用训练语料库和伪训练语料库训练贝叶斯消歧模型,最后利用贝叶斯消歧模型决策测试实例中歧义词的词义,
[0049] 本发明采用贝叶斯模型进行消歧训练,如公式1所示。
[0050]
[0051] 公式(1)中,si表示歧义词词义,w-L...wL表示歧义词w0附近一定窗口大小L下的词语,fj表示与歧义词具有依存句法关系的上下文词语特征,F表示上下文的特征集合,p(fj|si)表示词义与特征的条件概率,计算如公式(2)所示。
[0052]
[0053] 公式2中,c(si)表示词义si在语料库中出现的次数,c(fj,si)表示特征fj与词义si在训练语料中的共现次数。
[0054] 在采用贝叶斯公式(1)进行词义决策时,通过两种类型的语料共同决策词义,在估计歧义词与特征的条件概率时,采用公式(3)计算:
[0055]
[0056] 公式3中,ct(fj,si)表示词义si与特征fj在训练语料中的共现次数,ct(si)表示词义si在训练语料中的出现次数。cp(fj,si)表示特征与歧义词在伪训练语料中的共现次数,cp(si)表示词义si在伪训练语料中出现次数。λ用于调整伪训练语料对歧义词词义的影响,取值为0.8。
[0057] 具体操作如下:
[0058] 根据公式(2),统计出词义(“人员”和“机器”)与特征的共现次数。特征fj不仅包括训练实例中与歧义词具有依存关系的词语(“号”、“点火”),还包括伪训练实例中的词语(“同类”、“大型”、“系统”、“等离子”和“提供”、“设计”、“运行”)。共现次数ct(fj,si)和cp(fj,si)在训练语料库中的统计结果如表1所示:
[0059] 表1语料库中特征和词义的共现次数
[0060]
[0061] 此外,每个词义si在训练语料库和伪训练语料库中出现的次数ct(s人员)=10、ct(s机器)=10和cp(s人员)=10、cp(s机器)=10。
[0062] 将测试实例输入有监督模型,综合利用训练语料库和伪训练语料库,共同决策歧义词的词义。
[0063] 对测试实例进行句法分析,找到与歧义词“机组”具有依存关系的词语“系统”,并将其作为上下文特征词语。在表1中,分别找出歧义词词义“人员”和“机器”在这些特征下的共现次数。
[0064] 公式(3)中的λ值在语料库中估计,取值为0.8。利用公式(3)计算得出概率和 另外,歧义词词义出现的概率为
和 根据公式(1),计算得出
因此,最大概率的歧义词词义为“机器”,并将该词义标记为测试实例歧义词的最终词义,完成词义消歧。
[0065] 以上所述仅为本发明的优选实施方式而已。上述实施方式并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之
内,所作的任何
修改、等同替换、改进等,均应包含在本发明的
权利要求范围之内。