一种高效的新术语识别系统和方法与流程

文档序号:12596082阅读:来源:国知局

技术特征:

1.一种高效的新术语识别系统,其特征在于:包括对输入文本库RCorpus中的每篇文档进行分词,形成文本词序列模块A;对分词后的文本库TCorpus中的每篇文档词语序列进行新术语识别模块B;对识别的新术语进行验证模块C;

上面所述模块中,模块A对输入文本库RCorpus中的每篇文挡进行分词,形成分词后的文本词序列,因此形成分词后的文本库TCorpus,供新术语识别模块B使用;新术语识别模块B对分词后的文本库TCorpus中的每篇文档进行新术语识别,形成一组待验证的新术语结果,供验证模块C使用;验证模块C对新术语识别模块B识别的新术语进行进一步的验证。

2.一种高效的新术语识别方法,其特征在于:包括以下步骤:

第一步:文本词序列模块A对输入文本库RCorpus中的每篇文本进行分词,形成文本词序列;

我们采用一个开源的ICTCLAS系统对RCorpus中的每篇输入文本D进行分词,分词结果为T′=W1/pos1W2/pos2…Wi/posi…Wn/posn,其中每个Wi是一个汉语词、汉字、标点符号、阿拉伯数字、英文单词或字母,posi是其对应的词性;

为了表示区别,RCorpus中的每篇文本文本经过分词后,所产生的文本,我们记为TCorpus;

第二步:新术语识别模块B对分词后的文本库TCorpus中的每篇文本词语序列进行新术语识别;

当前待识别文本为Di,Ti为它的标题,Sij为Di的当前待识别的第j条语句;对Sij进行以下步骤的处理,形成候选的新术语结果,存放在集合tmp_result中:

步骤B1:设置tmp_result为空;

tmp_result用于存放识别出的新术语结果,传递给验证模块C进行验证。因此,tmp_result中的新术语结果也称候选的新术语结果,也称待验证的新术语结果;

步骤B2:将Sij中连续最长的、词性标记为a、b、j、n、m、q的词形成一个候选新术语,记为NewTerm;所述“连续最长”,是指在Sij中NewTerm的两端没有词性为a、b、j、n的词;

步骤B3:如果在Sij中紧接着NewTerm的词语W的词性是k,即W可能是NewTerm的后缀,则设置NewTerm=NewTerm⊕W;

步骤B4:如果在Sij中位于NewTerm之前的词语W的词性是h,即W可能是NewTerm的后缀,则设置NewTerm=W⊕NewTerm;

步骤B5:将(NewTerm,Ti,Sij)放入tmp_result中;

第三步:验证模块C对识别的新术语进行验证;

验证模块C的主要工作是采用多源验证法、特殊验证法,对新术语识别模块B产生的tmp_result中的新术语进行验证,验证过的新术语放入集合result中;验证模块C的方法如下:

步骤C1:设置result为空;

步骤C2:对tmp_result中的每一对(NewTerm,Ti,Sij)循环做以下步骤C3、C4和C5;

步骤C3:如果在tmp_result中存在(NewTerm,Ti′,Sij′),并且Ti与Ti′不同“即NewTerm出现在TCorpus中的两篇不同的文本中”,则将NewTerm放入result中;否则,执行步骤C4;

如上述步骤C3中所述,尽管NewTerm在题名为Ti的语句Sij中被识别为候选新术语,但是NewTerm并不一定就是一个正确的新术语;但是,在题名为Ti′的语句Sij′中也被识别为新术语,则NewTerm是正确的新术语的可能性会大大提升;

步骤C4:如果在种子词典中存在一个种子术语Term,使得NewTerm与Term的加权相似度wsim(NewTerm,Term)>α,其中α∈[0,1]为一个阈值),则将NewTerm放入result中;否则,执行步骤C5;

为给出两个术语的加权相似度wsim(NewTerm,Term)的计算,我们先给出函数2gram的计算方法;对一个非空汉字串Sent=C1C2…Ci-1Ci…CK-1CK,其中Ci为汉字、数字、英文字母,我们引入一个带头尾标记的汉字串Sent=$C1C2…Ci-1Ci…CK-1CK$;2gram(Sent)是一个由Sent中自左向右连续的两个字符构成的集合,即2gram(Sent)={$C1,C1C2,…,Ck-1CK,CK$};

需要指出的是,2gram(Sent)中各个元素的重要性不相同:Ci-1Ci是汉语中的一个词时,Ci-1Ci在2gram(Sent)的作用更大;为了反映出2gram(Sent)中各个元素的重要性,对前面定义的Interset(S1,S2)进行改进,引入一个新的基数,叫作加权交集基数WInterset(S1,S2);其计算方法如下:对给定了两个集合S1和S2

(1)WInterset(S1,S2)=0;

(2)对Interset(S1,S2)每一个元素e,如果e是汉语中的一个词,则WInterset(S1,S2)=WInterset(S1,S2)+1.2,即WInterset(S1,S2)累加1.2,而不是1;否则WInterset(S1,S2)=WInterset(S1,S2)+1,即WInterset(S1,S2)累加1;

wsim(NewTerm,Term)的计算方法如下:

(1)如果NewTerm与Term具有相同的前缀和后缀,wsim(NewTerm,Term)=1;

(2)如果NewTerm与Term不具有相同的前缀和后缀, <mrow> <mi>w</mi> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mrow> <mo>(</mo> <mi>N</mi> <mi>e</mi> <mi>w</mi> <mi>T</mi> <mi>e</mi> <mi>r</mi> <mi>m</mi> <mo>,</mo> <mi>T</mi> <mi>e</mi> <mi>r</mi> <mi>m</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>=</mo> <mfrac> <mrow> <mi>W</mi> <mi>I</mi> <mi>n</mi> <mi>t</mi> <mi>e</mi> <mi>r</mi> <mi>s</mi> <mi>e</mi> <mi>t</mi> <mrow> <mo>(</mo> <mn>2</mn> <mi>g</mi> <mi>r</mi> <mi>a</mi> <mi>m</mi> <mo>(</mo> <mrow> <mi>N</mi> <mi>e</mi> <mi>w</mi> <mi>T</mi> <mi>e</mi> <mi>r</mi> <mi>m</mi> </mrow> <mo>)</mo> <mo>,</mo> <mn>2</mn> <mi>g</mi> <mi>r</mi> <mi>a</mi> <mi>m</mi> <mo>(</mo> <mrow> <mi>T</mi> <mi>e</mi> <mi>r</mi> <mi>m</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mi>n</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> <mrow> <mo>(</mo> <mn>2</mn> <mi>g</mi> <mi>r</mi> <mi>a</mi> <mi>m</mi> <mo>(</mo> <mrow> <mi>N</mi> <mi>e</mi> <mi>w</mi> <mi>T</mi> <mi>e</mi> <mi>r</mi> <mi>m</mi> </mrow> <mo>)</mo> <mn>2</mn> <mi>g</mi> <mi>r</mi> <mi>a</mi> <mi>m</mi> <mo>(</mo> <mrow> <mi>T</mi> <mi>e</mi> <mi>r</mi> <mi>m</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </mfrac> <mo>;</mo> </mrow>

步骤C5:利用NewTerm在Sij的语境进行验证;具体方法是:当NewTerm在Sij前面的分词的词性为c、d、p、r、u、z之一,并NewTerm在Sij后面的分词的词性为c、d、p、r、u、z之一时,NewTerm是一个正确的新术语,加入到result中;否则放弃,即不加入到result中;

步骤C6:输出result做为最后结果。

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