CN103324608A - 一种词形还原方法及装置 - Google Patents
一种词形还原方法及装置 Download PDFInfo
- Publication number
- CN103324608A CN103324608A CN2012100753562A CN201210075356A CN103324608A CN 103324608 A CN103324608 A CN 103324608A CN 2012100753562 A CN2012100753562 A CN 2012100753562A CN 201210075356 A CN201210075356 A CN 201210075356A CN 103324608 A CN103324608 A CN 103324608A
- Authority
- CN
- China
- Prior art keywords
- reduction
- restored
- entry
- lemmatization
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开了一种词形还原方法及装置。一种词形还原方法包括:对待还原词条进行词根还原,获取词根还原算法各步骤的输出结果加入还原候选集合;对于每个还原候选,分别计算该还原候选相对于所述待还原词条的还原概率;根据还原概率的大小,确定所述待还原词条的词形还原结果。本发明实施例所提供的方案,在进行词根还原的过程中,将每一步的输出都作为词形还原结果的候选,由于词根还原是一个逐步进行的过程,因此在还原候选集合中,就会出现待还原词条的多种简化形态。然后,通过计算原候选相对于待还原词条的还原概率,确定最终的词形还原结果,从而减小还原后发生歧义或转义的可能。
Description
技术领域
本发明涉及自然语言处理技术领域,特别是涉及一种词形还原方法及装置。
背景技术
根据词的结构与构成语素之间的关系,一般把世界上的语言分成孤立语、粘着语、屈折语、复综语四种类型。其中,曲折语的特点是以丰富的词形变化来表示词语间的语法关系,常见的屈折语例如英语、法语、俄语等等。
英文作为一种屈折语,存在大量包括单复数、时态、比较级、所有格等在内的一系列复杂的词形变换现象。因此,对于英文进行词形分析,往往是进行各种英文处理(例如常用词组识别、名词短语识别、命名实体分析)的基础。而在很多具体的应用中,同样需要用到词形分析技术,例如,用户在进行网页搜索操作时,提交的query是“smoking detector”,那么对于搜索引擎而言,可能需要返回包含“smoke’s detector”、“smoke detector”、“smokedetect”等等的网页结果,这些都是“smoking detector”的不同词形表现形式。
由于英文存在词形变换现象,同一个词组或命名实体可能有多种表现形式。如常用词组take care,在实际使用中可能表现为takes care、took care、taken care、take cares等等形式。受词典规模所限,不能简单将这些形式穷举(受指数规律影响,单词数为n的词组,如果其中每个单词有m种词形变换,那么整个词组的词形变换形式将有O(mn)之多)。因此一般来说,会先对英文单词进行词根还原操作,即先将英文单词的实际表现形式还原为词根形式,再进行后续处理。
但是,词根还原并不能完全等同于词形还原,词形还原需要把一个任何形式的英语单词还原到一般形式,而词根还原只是抽取一个单词的词根。因此,现有的利用词根还原算法实现词形还原的技术普遍存在过还原(overstemming)现象:即指将词条还原为过于简单的词根,从而导致语义的转义或歧义等问题。举例说明如下:
“probable(可能)→probe(探头)”,从规则上来说没问题,但是语义发生了变化,从而导致转义问题;
“animal(动物)→anim”和“animation(动画)→anim”,词根都是anim,但是和原形的含义并不一样,从而导致歧义问题。
发明内容
为解决上述技术问题,本发明实施例提供一种词形还原方法及装置,以解决现有的词形还原算法所存在的过还原问题。技术方案如下:
本发明实施例提供一种词形还原方法,其特征在于,包括:
对待还原词条进行词根还原,获取词根还原算法各步骤的输出结果加入还原候选集合;
对于每个还原候选,分别计算该还原候选相对于所述待还原词条的还原概率;
根据还原概率的大小,确定所述待还原词条的词形还原结果。
在本发明的一种实施方式中,在对待还原词条进行词根还原之前,还包括:
利用预置的免还原词表对所述待还原词条进行过滤,
若所述待还原词条在所述免还原词表中,则停止后续步骤。
在本发明的一种实施方式中,在对待还原词条进行词根还原之前,还包括:
利用预置的不规则词表对所述待还原词条进行过滤,
若所述待还原词条在所述不规则词表中,则根据所述不规则词表,将所述待还原词条的原型加入还原候选集合。
在本发明的一种实施方式中,在计算原候选相对于待还原词条的还原概率之前,还包括:
对还原候选进行过滤,去除不合理的还原候选。
在本发明的一种实施方式中,所述对还原候选进行过滤,包括:
判断还原候选是否属于预置的词干白名单,如果否,则去除该还原候选。
在本发明的一种实施方式中,所述对还原候选进行过滤,包括:
比较待还原词条与还原候选的差异部分,判断该差异部分是否属于预置的词缀黑名单,如果是,则去除该还原候选。
在本发明的一种实施方式中,在存在多个词形还原结果的情况下,上述方法还包括:
统计每个词形还原结果的还原概率、以及该词形还原结果与待还原词条上下文内容的语言模型共现概率;
对于每个词形还原结果,计算其静态还原概率与共现概率的乘积;
选择乘积最大的词形还原结果作为最终输出的词形还原结果。
本发明实施例还提供一种词形还原装置,包括:
词根还原单元,用于对待还原词条进行词根还原,获取词根还原算法各步骤的输出结果加入还原候选集合;
还原概率计算单元,用于对于每个还原候选,分别计算该还原候选相对于所述待还原词条的还原概率;
结果确定单元,用于根据还原概率的大小,确定所述待还原词条的词形还原结果。
在本发明的一种实施方式中,上述装置还包括:
第一过滤单元,用于在所述词根还原单元对待还原词条进行词根还原之前,利用预置的免还原词表对所述待还原词条进行过滤,若所述待还原词条在所述免还原词表中,则所述词根还原单元停止后续步骤。
在本发明的一种实施方式中,上述装置还包括:
第二过滤单元,用于在所述词根还原单元对待还原词条进行词根还原之前,利用预置的不规则词表对所述待还原词条进行过滤,若所述待还原词条在所述不规则词表中,则根据所述不规则词表,将所述待还原词条的原型加入还原候选集合。
在本发明的一种实施方式中,上述装置还包括:
第三过滤单元,用于在计算原候选相对于待还原词条的还原概率之前,对还原候选进行过滤,去除不合理的还原候选。
在本发明的一种实施方式中,所述第三过滤单元,具体用于:
判断还原候选是否属于预置的词干白名单,如果否,则去除该还原候选。
在本发明的一种实施方式中,所述第三过滤单元,具体用于:
比较待还原词条与还原候选的差异部分,判断该差异部分是否属于预置的词缀黑名单,如果是,则去除该还原候选。
在本发明的一种实施方式中,上述装置还包括动态选择单元,用于在存在多个词形还原结果的情况下,统计每个词形还原结果的还原概率、以及该词形还原结果与待还原词条上下文内容的语言模型共现概率;对于每个词形还原结果,计算其静态还原概率与共现概率的乘积;选择乘积最大的词形还原结果作为最终输出的词形还原结果。
与现有技术相比,本发明实施例所提供的技术方案,并不是仅利用词根还原最终的输出结果作为词形还原的结果,而是在进行词根还原的过程中,将每一步的输出都作为词形还原结果的候选,由于词根还原是一个逐步进行的过程,因此在还原候选集合中,就会出现待还原词条的多种简化形态。然后,通过计算原候选相对于待还原词条的还原概率,确定最终的词形还原结果,从而减小还原后发生歧义或转义的可能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例词形还原方法的第一种流程图;
图2为本发明实施例词形还原方法的第二种流程图;
图3为本发明实施例词形还原方法的第三种流程图;
图4为本发明实施例词形动态还原方法的流程图;
图5为本发明实施例词形还原装置的第一种结构示意图;
图6为本发明实施例词形还原装置的第二种结构示意图;
图7为本发明实施例词形还原装置的第三种结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明保护的范围。
首先对本发明实施例所提供的一种词形还原方法进行说明,参见图1所示,该方法可以包括以下步骤:
对待还原词条进行词根还原,获取词根还原算法各步骤的输出结果加入还原候选集合;
对于每个还原候选,分别计算该还原候选相对于所述待还原词条的还原概率;
根据还原概率的大小,确定所述待还原词条的词形还原结果。
以上所提供的方法,在进行词根还原的过程中,将每一步的输出都作为词形还原结果的候选,由于词根还原是一个逐步进行的过程,因此在还原候选集合中,就会出现待还原词条的多种简化形态。然后,通过计算原候选相对于待还原词条的还原概率,确定最终的词形还原结果,从而减小还原后发生歧义或转义的可能。
图2所示,为本发明词形还原算法的一种优选实施方式的示意图,包括以下步骤:
S201,利用预置的免还原词表对待还原词条进行过滤;
在实际的应用中,有些词是不需要进行词形还原或词根还原的,例如一些固有的名词或者缩略语等,如果对这类词进行还原,必然会导致转义或歧义的问题,例如:
人名“Williams”还原为“William”;
缩写“IME”还原为“IM”,原本是“Input Method Editor”的缩写,还原后变成了“Instant Messenger”的缩写,意义完全不同。
针对以上情况,在本实施例中,预先搜集一些无需进行还原的词构建词表。得到待还原词条后,首先根据该词表进行过滤,如果待还原词条不在词表中,则继续进行后续的还原步骤,如果发现待还原词条在词表中,则停止对该词进行还原
对于免还原词表,一个基本的假设是:在未经处理的英文语料中,无需还原的单词(例如缩略语和固有名词),往往倾向于首字母大写或全部字母大写。因此可以通过对海量英文网页语料进行统计,计算词条首字母大写和全部字母大写的比例,并按照比例和词频综合排序,自动生成免还原词表。当然,可以理解的是,免还原词表也可以采用人工搜集的方式生成,本发明实施例对此并不需要进行限定。
S202,利用预置的不规则词表对待还原词条进行过滤,
在实际的应用中,有很多单词的形态变换并不是基于“词根+词缀”这种方式的规则,例如“saw”的原型是“see”,如果对这类词进行还原,可能会无法还原,或者输出错误的还原结果。
针对以上情况,在本实施例中,可预先通过人工搜集或根据已有的开源词表(如wordNET等)建立不规则词表。得到待还原词条后,首先根据该词表进行过滤,如果待还原词条在词表中,则直接根据词表中的记录,将待还原词条的原型加入还原候选集合。例如:待还原词条为“saw”,那么根据不规则词表,直接将“see”加入还原候选集合。
需要说明的是,本步骤的输出结果本身并不会影响步骤S203,如果待还原词条存在于在词表中,那么在本步骤结束后,可以并不终止后续步骤,这是因为不规则变换的词条也可能存在规则的还原结果,因此需要将待还原词条继续输入后续的词根还原模块以得到其他可能的还原候选,从而保证词形还原的全面性。
S203,对待还原词条进行词根还原,获取词根还原算法各步骤的输出结果加入还原候选集合;
在本步骤中,利用现有的词根还原算法对待还原词条进行还原,与现有技术的区别在于,现有的词根还原处理最终只产出最简的词根还原结果,而这个结果很可能是过还原的,因此,在本发明实施例中,对词根还原的各个步骤结果都予以保留。对于中间步骤而言,步骤越靠前,还原的程度愈小,发生过还原的可能性也就越小,因此,将各个中间步骤的还原结果都作为还原候选,后续再结合其他策略进行选择,可以有效减轻过还原的问题。
下面以Porter Stemming Algorithm算法(以下简称“Porter算法”)为例进行说明,Porter是一套经典并广泛使用的英文词根还原算法,该算法的特点是将英文字母构词法泛化为几种模式,通过5步规则操作,配合通用的词根还原工具Snowball,可以实现快速高效的词根还原功能。
例如,输入待还原词条“directories”,根据Porter算法的5个步骤,每个步骤的具体变换结果如下:
1)根据算法规则,该步骤不产生变换;
2)将“directories”变换为“directory”;
3)根据算法规则,该步骤不产生变换;
4)将“directory”变换为“director”;
5)将“director”变换为“direct”;
Porter+Snowball默认只产出最终的最简还原结果,即最终只输出“direct”,然而在本发明实施例中,通过修改算法,会将中间结果“directory”、director”以及最终结果“direct”全部予以保留,生成“directories”的还原候选集合,后续再结合其他策略进行选择,以确定最佳的词形还原结果。
S204,对还原候选进行过滤,去除不合理的还原候选。
对于S203所得到的还原候选集合,可以直接进行还原概率计算。在本实施例中,可以先对还原候选进行过滤,去除一些不合理的还原候选,从而提高后续步骤的效率。以下例举几种过滤方式:
1)判断还原候选是否属于预置的词干白名单,如果否,则去除该还原候选。
词干白名单筛选是指,根据本语言的语言词典,要求还原结果必须为词典中已收录的单词。语言词典中只保存该语言中合理的词干形式。比如对于还原候选“was→wa”,由于wa不存在于英文词典中,会被过滤掉。
需要注意的是,由于语言词典收录的词条数量有限,因此该策略可能会降低对于不在词典中词条的还原效果,因此在语言词典不完善或者对未登录词处理要求较高的情况下,可以关闭该策略。
2)比较待还原词条与还原候选的差异部分,判断该差异部分是否属于预置的词缀黑名单,如果是,则去除该还原候选。
词缀黑名单过滤是指,对于还原候选和原词条差异的词缀,查询是否存在于词缀黑名单中。如果存在,则对该候选予以过滤。
在本实施例中,词缀指的是原词条和还原候选之间最后一个重叠字母以及所有不重叠的字母,例如原词条为prayer,还原候选为pray时,则词缀为为“yer”,之所以多加一个重叠字母,是为了增加词缀可能,保证策略的细致性。
在实际应用中,可以根据所采用的算法,预先收集一部分不合理的还原候选结果,然后按照原词条和还原候选之间最后一个重叠字母以及所有不重叠的字母统计词缀,并按出现次数排序,在人工审核的帮助下构建出词缀黑名单。例如“employee”在porter规则中会被还原为“employe”,而该词是不合理的,那么“ee”这个词缀就会被加入词缀黑名单。
以上仅提供两种对还原候选过滤方式的示例,这两种方式可以分别使用,也可以结合使用,本领域技术人员还可以根据实际需求和所采用的词根还原算法,选择其他的过滤方式,或者不进行过滤,本发明实施例对此并不进行限定。
S205,对于每个还原候选,分别计算该还原候选相对于待还原词条的还原概率;
经过S204的过滤之后,剩下的还原候选基本上就是符合规则、并且本身也是合理单词的还原结果了。但是为了解决词根还原后发生歧义或转义的问题,还需要进行语义打分和过滤。语义打分和过滤的主要思想是:通过预先建立好的语言模型,计算每个还原候选相对于待还原词条的还原概率,然后进行归一化打分,如果有需要,还可以根据一定的策略,过滤掉还原概率较低的还原候选。
在自然语言处理(NLP)领域,语言模型是用来计算一个词或句子出现概率的模型。常见的语言模型包括Ngram、Npos等等,语言模型的建立方法,在本发明中不再进行详细说明。
根据本发明方案,可以通过计算原词条和还原候选在语言模型中上下文特征相似度,从而得到每个还原候选的还原概率,语言模型相似度的计算方法很多,在本实施例中,以计算两个词的KL散度为例进行说明。KL散度具体定义是:语言模型保存了语料中当窗口长度为L(比如对于bigram语言模型来说就是1)时,词汇w1与w2的共现词频。据此,可以为语料词典中的每个词汇w统计出其上下文分布词典CONTEXT[w],而KLD(w1,w2)可以由以下的计算公式得到:
其中p(w)为w在CONTEXT[w1]中的分布概率,q(w)为w在CONTEXT[w2]中的分布概率。
其中,还原概率可以根据相似度值归一化近似拟合,例如:对于待还原词条x,其还原候选包括x1、x2、x3,这三个词与x的上下文特征相似度分别为0.5、2、1.5,那么经过归一化以后,就可以得到x还原为x1、x2、x3的概率分别为0.125、0.5、0.375。
可以理解的是,本实施例中的KL散度计算方法仅是一种具体实施方式,在实际应用中,还可以采用其他的词条上下文特征相似度计算方法,进一步地,还可以采用其他的方式计算每个还原候选的还原概率,本发明对此并不需要进行限定。
S206,根据还原概率的大小,确定所述待还原词条的词形还原结果。
在本步骤中,根据S205所计算的还原概率,确定词形还原结果。对于大多数应用而言,可以直接选择还原概率最高的还原候选作为最终的还原结果。当然,根据具体的需求,也可以采用阈值过滤的方式,保留还原概率在某个阈值之上的所有结果。进一步地,还可以输出所有可能还原结果集合和相应的还原概率。
需要说明的是,上述方法中的步骤S201、S202及S204,均涉及过滤操作,目的是对图1所示词形还原方案性能的进一步改进,本领域技术人员可以理解的是,在不执行这些步骤的情况下,本发明的技术方案仍然是完整和并且可实施的。
上述词形还原算法,仅考虑仅考虑孤立的词条本身,因此可以对静态词表线下操生成各个词条的还原结果,后续直接查表应用,上述算法也可以称为静态还原算法。在本发明的另一种实施例中,针对存在多个词形还原结果的情况,还进一步提供了一种动态还原算法,参见图3所示,与图2所示的方法相比,进一步增加了动态还原步骤S207:
在实际应用中上,在不同上下文中同一个表现形的词语可能会有多种还原结果。比如“leaves”,在“the leaves”中需要还原为“leaf”,但在“he leaves”中需要还原为“leave”。
要解决这个问题,仍然需要根据上下文决定词形还原的结果,也就是要计算还原候选在上下文中合理性。前面实施例给出的语义打分和过滤算法实际上是将多种上下文下还原结果的统计值归纳为静态概率,而如果再结合语言模型计算当前上下文下各个还原结果的概率,就可以估计最合理的还原结果。
图4所示为本发明实施例所提供的动态还原方法示意图,包括以下步骤:
S207a,统计每个词形还原结果的还原概率、以及该词形还原结果与待还原词条上下文内容的语言模型共现概率;
S207b,对于每个词形还原结果,计算其静态还原概率与共现概率的乘积;
S207c,选择乘积最大的词形还原结果作为最终输出的词形还原结果。
以bigram语言模型为例进行说明举例而言,对于“leaves”来说,之前假设按照步骤S206统计的静态还原概率为:
leaf | 0.3 |
leave | 0.7 |
进一步地,根据bigram语言模型,可以得到每个还原候选与待还原词条上下文内容的语言模型共现概率:
P(leaf|the)=0.5
P(leave|the)=0.1
P(fall|leaf)=0.2
P(fall|leave)=0.1
假设当前上下文是“…the leaves fall…”,根据bigram语言模型分别计算每个词形还原结果的静态还原概率与共现概率的乘积:
P(leaves→leave)=P(leave|the)×P(fall|leave)×P(leave)=0.007
P(leaves→leaf)=P(leaf|the)×P(fall|leaf)×P(leaf)=0.03
可见,上下文是“…the leaves fall…”的环境下,最终的还原结果应该是leaf。
本实施例中仅以bigram语言模型为例进行说明,可以理解的是,其他语言模型,例如trigram、Npos等等,都可以用来表示单词之间的共现概率,因此,本实施例中的具体实施方式并不构成对本发明方案的限制。
相应于上面的方法实施例,本发明还提供一种词形还原装置,参见图5所示,该装置包括:
词根还原单元510,用于对待还原词条进行词根还原,获取词根还原算法各步骤的输出结果加入还原候选集合;
词根还原单元510利用现有的词根还原算法对待还原词条进行还原,与现有技术的区别在于,现有的词根还原处理最终只产出最简的词根还原结果,而这个结果很可能是过还原的,因此,在本发明实施例中,对词根还原的各个步骤结果都予以保留。对于中间步骤而言,步骤越靠前,还原的程度愈小,发生过还原的可能性也就越小,因此,将各个中间步骤的还原结果都作为还原候选,后续再结合其他策略进行选择,可以有效减轻过还原的问题。
下面以Porter Stemming Algorithm算法(以下简称“Porter算法”)为例进行说明,Porter是一套经典并广泛使用的英文词根还原算法,该算法的特点是将英文字母构词法泛化为几种模式,通过5步规则操作,配合通用的词根还原工具Snowball,可以实现快速高效的词根还原功能。
例如,输入待还原词条“directories”,根据Porter算法的5个步骤,每个步骤的具体变换结果如下:
1)根据算法规则,该步骤不产生变换;
2)将“directories”变换为“directory”;
3)根据算法规则,该步骤不产生变换;
4)将“directory”变换为“director”;
5)将“director”变换为“direct”;
Porter+Snowball默认只产出最终的最简还原结果,即最终只输出“direct”,然而在本发明实施例中,通过修改算法,会将中间结果“directory”、director”以及最终结果“direct”全部予以保留,生成“directories”的还原候选集合,后续再结合其他策略进行选择,以确定最佳的词形还原结果。
还原概率计算单元520,用于对于每个还原候选,分别计算该还原候选相对于所述待还原词条的还原概率;
还原概率计算单元520可以通过计算原词条和还原候选在语言模型中上下文特征相似度,从而得到每个还原候选的还原概率,其中,还原概率计算单元520可以采用KL散度计算方法计算相似度,然后根据相似度值归一化近似拟合得到还原概率,例如:对于待还原词条x,其还原候选包括x1、x2、x3,这三个词与x的上下文特征相似度分别为0.5、2、1.5,那么经过归一化以后,就可以得到x还原为x1、x2、x3的概率分别为0.125、0.5、0.375。
可以理解的是,本实施例中的KL散度计算方法仅是一种具体实施方式,在实际应用中,还原概率计算单元520还可以采用其他的词条上下文特征相似度计算方法,进一步地,还可以采用其他的方式计算每个还原候选的还原概率,本发明对此并不需要进行限定。
结果确定单元530,用于根据还原概率的大小,确定所述待还原词条的词形还原结果。
结果确定单元530根据还原概率计算单元520所计算的还原概率,确定词形还原结果。对于大多数应用而言,可以直接选择还原概率最高的还原候选作为最终的还原结果。当然,根据具体的需求,也可以采用阈值过滤的方式,保留还原概率在某个阈值之上的所有结果。进一步地,还可以输出所有可能还原结果集合和相应的还原概率。
参见图6所示,在本发明的一种实施方式中,词形还原装置还可以进一步包括:
第一过滤单元540,用于在所述词根还原单元对待还原词条进行词根还原之前,利用预置的免还原词表对所述待还原词条进行过滤,若所述待还原词条在所述免还原词表中,则所述词根还原单元510停止后续步骤。
针对以上情况,在本实施例中,预先搜集一些无需进行还原的词构建词表。得到待还原词条后,首先根据该词表进行过滤,如果待还原词条不在词表中,则继续进行后续的还原步骤,如果发现待还原词条在词表中,则停止对该词进行还原
对于免还原词表,一个基本的假设是:在未经处理的英文语料中,无需还原的单词(例如缩略语和固有名词),往往倾向于首字母大写或全部字母大写。因此可以通过对海量英文网页语料进行统计,计算词条首字母大写和全部字母大写的比例,并按照比例和词频综合排序,自动生成免还原词表。当然,可以理解的是,免还原词表也可以采用人工搜集的方式生成,本发明实施例对此并不需要进行限定。
第二过滤单元550,用于在所述词根还原单元对待还原词条进行词根还原之前,利用预置的不规则词表对所述待还原词条进行过滤,若所述待还原词条在所述不规则词表中,则根据所述不规则词表,将所述待还原词条的原型加入还原候选集合。
在本实施例中,可预先通过人工搜集或根据已有的开源词表(如wordNET等)建立不规则词表。得到待还原词条后,首先根据该词表进行过滤,如果待还原词条在词表中,则直接根据词表中的记录,将待还原词条的原型加入还原候选集合。例如:待还原词条为“saw”,那么根据不规则词表,直接将“see”加入还原候选集合。
需要说明的是,如果待还原词条存在于在词表中,那么在本步骤结束后,可以并不终止后续步骤,这是因为不规则变换的词条也可能存在规则的还原结果,因此需要将待还原词条继续输入后续的词根还原模块以得到其他可能的还原候选,从而保证词形还原的全面性。
第三过滤单元560,用于在计算原候选相对于待还原词条的还原概率之前,对还原候选进行过滤,去除不合理的还原候选。
对于所得到的还原候选集合,可以直接进行还原概率计算。在本实施例中,可以先对还原候选进行过滤,去除一些不合理的还原候选,从而提高后续步骤的效率。以下例举几种过滤方式:
1)判断还原候选是否属于预置的词干白名单,如果否,则去除该还原候选。
词干白名单筛选是指,根据本语言的语言词典,要求还原结果必须为词典中已收录的单词。语言词典中只保存该语言中合理的词干形式。比如对于还原候选“was→wa”,由于wa不存在于英文词典中,会被过滤掉。
需要注意的是,由于语言词典收录的词条数量有限,因此该策略可能会降低对于不在词典中词条的还原效果,因此在语言词典不完善或者对未登录词处理要求较高的情况下,可以关闭该策略。
2)比较待还原词条与还原候选的差异部分,判断该差异部分是否属于预置的词缀黑名单,如果是,则去除该还原候选。
词缀黑名单过滤是指,对于还原候选和原词条差异的词缀,查询是否存在于词缀黑名单中。如果存在,则对该候选予以过滤。
在本实施例中,词缀指的是原词条和还原候选之间最后一个重叠字母以及所有不重叠的字母,例如原词条为prayer,还原候选为pray时,则词缀为为“yer”,之所以多加一个重叠字母,是为了增加词缀可能,保证策略的细致性。
在实际应用中,可以根据所采用的算法,预先收集一部分不合理的还原候选结果,然后按照原词条和还原候选之间最后一个重叠字母以及所有不重叠的字母统计词缀,并按出现次数排序,在人工审核的帮助下构建出词缀黑名单。例如“employee”在porter规则中会被还原为“employe”,而该词是不合理的,那么“ee”这个词缀就会被加入词缀黑名单。
以上仅提供两种对还原候选过滤方式的示例,这两种方式可以分别使用,也可以结合使用,本领域技术人员还可以根据实际需求和所采用的词根还原算法,选择其他的过滤方式,或者不进行过滤,本发明实施例对此并不进行限定。
在实际应用中上,在不同上下文中同一个表现形的词语可能会有多种还原结果。比如“leaves”,在“the leaves”中需要还原为“leaf”,但在“he leaves”中需要还原为“leave”。
要解决这个问题,仍然需要根据上下文决定词形还原的结果,也就是要计算还原候选在上下文中合理性。前面实施例给出的语义打分和过滤算法实际上是将多种上下文下还原结果的统计值归纳为静态概率,而如果再结合语言模型计算当前上下文下各个还原结果的概率,就可以估计最合理的还原结果。
参见图7所示,在本发明的一种实施方式中,词形还原装置还可以进一步包括动态选择单元570,用于在存在多个词形还原结果的情况下,统计每个词形还原结果的还原概率、以及该词形还原结果与待还原词条上下文内容的语言模型共现概率;对于每个词形还原结果,计算其静态还原概率与共现概率的乘积;选择乘积最大的词形还原结果作为最终输出的词形还原结果。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明实施例所提供的词形还原方案,除运用于搜索,文字处理之外,还可以应用到词典、模型特征等应用场景,无论那种场景,都可以使用静态词形还原词典,或者动态词形还原算法。
在常用词组识别等存在基本词典的应用中,可以将词形还原技术加入词典的构建过程,直接利用词典提高应用效果。以常用词组识别为例,应用词形还原技术的具体过程为:
1)词典归一化:比如在自动或者人工收集的常用词组词典中可能有“takes care of”、“took cares of”等同一词组的多种词形形式,则将词组逐词全部还原为归一形式“take care of”,这样也可以减小原词典规模;
2)动态识别:在进行常用词组识别时,先将待识别串逐词进行词形还原操作,如将“I’m taking care of the high schools”还原为“I’m take care of thehigh school”,并记录还原信息(taking→take、schools→school),采用归一化后的词典进行识别操作;
3)后处理:根据还原信息还原为原始词组,最后得到结果“I’m taking care of the high schools”。
英文单词的表现形式太多,会将该单词的出现次数分布到各个形式上,造成每个形式的特征可能都很稀疏;但还原为统一形式后,所有的词频都集中到一个特征上,对于命名实体识别等模型应用来说,可以将单词的词根还原结果作为特征,以降低模型稀疏性,提高模型效果。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种词形还原方法,其特征在于,包括:
对待还原词条进行词根还原,获取词根还原算法各步骤的输出结果加入还原候选集合;
对于每个还原候选,分别计算该还原候选相对于所述待还原词条的还原概率;
根据还原概率的大小,确定所述待还原词条的词形还原结果。
2.根据权利要求1所述的方法,其特征在于,在对待还原词条进行词根还原之前,还包括:
利用预置的免还原词表对所述待还原词条进行过滤,
若所述待还原词条在所述免还原词表中,则停止后续步骤。
3.根据权利要求1所述的方法,其特征在于,在对待还原词条进行词根还原之前,还包括:
利用预置的不规则词表对所述待还原词条进行过滤,
若所述待还原词条在所述不规则词表中,则根据所述不规则词表,将所述待还原词条的原型加入还原候选集合。
4.根据权利要求1所述的方法,其特征在于,在计算原候选相对于待还原词条的还原概率之前,还包括:
对还原候选进行过滤,去除不合理的还原候选。
5.根据权利要求4所述的方法,其特征在于,所述对还原候选进行过滤,包括:
判断还原候选是否属于预置的词干白名单,如果否,则去除该还原候选。
6.根据权利要求4所述的方法,其特征在于,所述对还原候选进行过滤,包括:
比较待还原词条与还原候选的差异部分,判断该差异部分是否属于预置的词缀黑名单,如果是,则去除该还原候选。
7.根据权利要求1至6任一项所述的方法,其特征在于,在存在多个词形还原结果的情况下,还包括:
统计每个词形还原结果的还原概率、以及该词形还原结果与待还原词条上下文内容的语言模型共现概率;
对于每个词形还原结果,计算其静态还原概率与共现概率的乘积;
选择乘积最大的词形还原结果作为最终输出的词形还原结果。
8.一种词形还原装置,其特征在于,包括:
词根还原单元,用于对待还原词条进行词根还原,获取词根还原算法各步骤的输出结果加入还原候选集合;
还原概率计算单元,用于对于每个还原候选,分别计算该还原候选相对于所述待还原词条的还原概率;
结果确定单元,用于根据还原概率的大小,确定所述待还原词条的词形还原结果。
9.根据权利要求8所述的装置,其特征在于,还包括:
第一过滤单元,用于在所述词根还原单元对待还原词条进行词根还原之前,利用预置的免还原词表对所述待还原词条进行过滤,若所述待还原词条在所述免还原词表中,则所述词根还原单元停止后续步骤。
10.根据权利要求8所述的装置,其特征在于,还包括:
第二过滤单元,用于在所述词根还原单元对待还原词条进行词根还原之前,利用预置的不规则词表对所述待还原词条进行过滤,若所述待还原词条在所述不规则词表中,则根据所述不规则词表,将所述待还原词条的原型加入还原候选集合。
11.根据权利要求8所述的装置,其特征在于,还包括:
第三过滤单元,用于在计算原候选相对于待还原词条的还原概率之前,对还原候选进行过滤,去除不合理的还原候选。
12.根据权利要求11所述的装置,其特征在于,所述第三过滤单元,具体用于:
判断还原候选是否属于预置的词干白名单,如果否,则去除该还原候选。
13.根据权利要求11所述的装置,其特征在于,所述第三过滤单元,具体用于:
比较待还原词条与还原候选的差异部分,判断该差异部分是否属于预置的词缀黑名单,如果是,则去除该还原候选。
14.根据权利要求8至13任一项所述的装置,其特征在于,还包括动态选择单元,用于在存在多个词形还原结果的情况下,统计每个词形还原结果的还原概率、以及该词形还原结果与待还原词条上下文内容的语言模型共现概率;对于每个词形还原结果,计算其静态还原概率与共现概率的乘积;选择乘积最大的词形还原结果作为最终输出的词形还原结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210075356.2A CN103324608B (zh) | 2012-03-21 | 2012-03-21 | 一种词形还原方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210075356.2A CN103324608B (zh) | 2012-03-21 | 2012-03-21 | 一种词形还原方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324608A true CN103324608A (zh) | 2013-09-25 |
CN103324608B CN103324608B (zh) | 2016-03-30 |
Family
ID=49193359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210075356.2A Active CN103324608B (zh) | 2012-03-21 | 2012-03-21 | 一种词形还原方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324608B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391481A (zh) * | 2017-06-29 | 2017-11-24 | 清远墨墨教育科技有限公司 | 一种用于词汇量测试的词汇筛选方法 |
CN114330311A (zh) * | 2021-12-30 | 2022-04-12 | 安徽听见科技有限公司 | 一种翻译方法、装置、电子设备和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0927939A1 (en) * | 1997-12-29 | 1999-07-07 | Xerox Corporation | Method and system to obtain data for information retrieval |
US20080228748A1 (en) * | 2007-03-16 | 2008-09-18 | John Fairweather | Language independent stemming |
CN101315622A (zh) * | 2007-05-30 | 2008-12-03 | 香港中文大学 | 检测文件相似度的系统及方法 |
-
2012
- 2012-03-21 CN CN201210075356.2A patent/CN103324608B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0927939A1 (en) * | 1997-12-29 | 1999-07-07 | Xerox Corporation | Method and system to obtain data for information retrieval |
US20080228748A1 (en) * | 2007-03-16 | 2008-09-18 | John Fairweather | Language independent stemming |
CN101315622A (zh) * | 2007-05-30 | 2008-12-03 | 香港中文大学 | 检测文件相似度的系统及方法 |
Non-Patent Citations (5)
Title |
---|
AKI LOPONEN 等: "A Dictionary-and Corpus-Independent Statistical Lemmatizer for Information Retrieval in Low Resource Languages", 《PROCEEDINGS OF THE INTERNATIONAL CONFERENCE 2010》 * |
JINXI XU 等: "Corpus-Based Stemming Using Cooccurrence of Word Variants", 《ACM TRANSACTIONS ON INFORMATION SYSTEMS》 * |
JOËL PLISSON 等: "A Rule based Approach to Word Lemmatization", 《PROCEEDINGS OF IS-2004》 * |
PRAHARSHANA PERERA 等: "A Self-Learning Context-Aware Lemmatizer for German", 《PROCEEDINGS OF HUMAN LANGUAGE TECHNOLOGY CONFERENCE AND CONFERENCE ON EMPIRICAL METHODS IN NATURAL LANGUAGE PROCESSING》 * |
窦永香 等: "基于Porter算法的英文标签聚类方法研究", 《知识组织与知识管理》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391481A (zh) * | 2017-06-29 | 2017-11-24 | 清远墨墨教育科技有限公司 | 一种用于词汇量测试的词汇筛选方法 |
CN114330311A (zh) * | 2021-12-30 | 2022-04-12 | 安徽听见科技有限公司 | 一种翻译方法、装置、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103324608B (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649260B (zh) | 基于评论文本挖掘的产品特征结构树构建方法 | |
US7461056B2 (en) | Text mining apparatus and associated methods | |
US20200364299A1 (en) | Systems and methods for unsupervised autoregressive text compression | |
CN107122413A (zh) | 一种基于图模型的关键词提取方法及装置 | |
CN106776562A (zh) | 一种关键词提取方法和提取系统 | |
CN105426539A (zh) | 一种基于词典的lucene中文分词方法 | |
CN104408093A (zh) | 一种新闻事件要素抽取方法与装置 | |
CN104778209A (zh) | 一种针对千万级规模新闻评论的观点挖掘方法 | |
CN107832457A (zh) | 基于TextRank算法的输变电设备缺陷词库建立方法及系统 | |
CN106570180A (zh) | 基于人工智能的语音搜索方法及装置 | |
CN103971677A (zh) | 一种声学语言模型训练方法和装置 | |
CN106569993A (zh) | 一种挖掘领域术语间上下位关系的方法及装置 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
CN103577989A (zh) | 一种基于产品识别的信息分类方法及信息分类系统 | |
EP3086240A1 (en) | Complex predicate template gathering device, and computer program therefor | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
CN102053978B (zh) | 单句的主题词提取方法和装置 | |
CN104699797A (zh) | 一种网页数据结构化解析方法和装置 | |
CN102999533A (zh) | 一种火星文识别方法和系统 | |
CN111611393A (zh) | 一种文本分类方法、装置及设备 | |
Yang et al. | Ontology generation for large email collections. | |
CN105956158A (zh) | 基于海量微博文本和用户信息的网络新词自动提取的方法 | |
Sembok et al. | Arabic word stemming algorithms and retrieval effectiveness | |
Indhuja et al. | Text based language identification system for indian languages following devanagiri script | |
CN104572633A (zh) | 一种确定多义词词义的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |