CN111339753B - 一种自适应中文新词识别方法与系统 - Google Patents
一种自适应中文新词识别方法与系统 Download PDFInfo
- Publication number
- CN111339753B CN111339753B CN202010117792.6A CN202010117792A CN111339753B CN 111339753 B CN111339753 B CN 111339753B CN 202010117792 A CN202010117792 A CN 202010117792A CN 111339753 B CN111339753 B CN 111339753B
- Authority
- CN
- China
- Prior art keywords
- adjacent
- chinese
- semantic
- text
- chinese character
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012216 screening Methods 0.000 claims abstract description 21
- 238000001914 filtration Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000001186 cumulative effect Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000551 statistical hypothesis test Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明提出一种自适应中文新词识别方法及系统,所述方法包括如下步骤:文本初始化步骤:用于对输入文本text做结构化处理,获得一个包含原有中文汉字并保持原文本中中文汉字相邻关系、间隔关系的宽字符序列;非偶然共现判定步骤:使用二项分布或使用泊松分布近似表征一对汉字前后相邻出现的概率分布,并基于给定的非偶然共现显著性水平αp确定文本text中的所有非偶然共现的相邻汉字对;统计关联性判定步骤:给定关联性显著性水平αk,判定文本text中相邻中文字符的关联程度,筛选出具有内部强关联的中文字符串;现有词库过滤步骤:基于现有词典,在满足非偶然共现和内部关联性强的字符串中筛选出尚未在词典中出现的中文字符串。
Description
技术领域
本发明属于汉语言文字信息处理领域,涉及中文新词识别、语义分析、自动翻译、信息检索、中文分词等相关技术领域,特别涉及一种基于偶然判定和关联判定的中文新词识别方法及系统。
背景技术
随着互联网和人工智能技术的发展,人们对于语义分析、自动翻译、信息提取和检索等应用的需求不断增加,这些需求都需要以中文词语作为处理的基本单元。但与拉丁语系、罗马语系中的语言不同,中文不以空格作为词汇的分隔标识,因此在对中文文本处理时,需要根据词典等现有词库对文本做分词处理。
然而,中文表达十分灵活,基于现有词语及汉字,可以通过派生、复合、缩写等方法产生具有独立含义的新词。特别在互联网迅速发展的今天,世界各国交流增加,新的人名、地名,机构组织的名称、缩写,以及各种网络用语大量出现,这些实体名称或词汇在现有词库中并不存在,词库词量不足(Out-of-Vocabulary)的情况经常出现。要准确处理中文信息,就需要有效识别新词,对现有词库及时更新。
然而,中文并不像英语,在没有先验知识的情况下,不能通过特殊标识来识别词语。同时,中文编码也并非按照词语进行编码。这使得采用基于语法结构或句法分析的新词识别并不可行。当前研究,特别是针对无先验知识的新词筛选,大都以统计为基础筛选识别。这些方法大都通过字符串重复度、互信息量、左右信息熵等指标筛选备选新词。这些方法有效,但是参数的选择大都基于经验或大规模语料库训练,在方法上缺乏理论基础。本文期望从统计假设检验的角度出发,较为系统的研究中文新词的识别,并针对小样本的中文文本,提出一种无需先验知识的中文新词检测方法。
现有中文新词识别大致可以分为三类:基于规则的新词筛选、基于统计特征的新词识别、基于模型的统计学习识别。
基于规则的新词筛选主要根据中文构词法等语言学知识,通过人工或半自动的学习构建新词筛选规则。一些研究者通过人工定义正则表达式构建过滤规则,实现对候选词的高效过滤;还有研究者则基于统计,分析一般中文词语的构词模式,通过构建前缀词表(Suffix lexicon)和垃圾词表(Garbage Lexicon)等查询字典筛选新词。这类方法规则的制定多依赖于使用者的经验,操作简单高效,但却容易造成遗漏和筛选过粗,且阈值设定多为人工决定,带有很大的主观性。
基于统计特征的方法意在通过频率、信息量等统计特征刻画词语内部的关联程度。目前常用的方法包括:基于语料库计算位置成词概率、双字耦合度用于刻画构成词语的汉字之间的关联度;采用互信息量、左右信息熵等信息论概念刻画词语之间以及词语内部的关联性等。这些方法需要一定规模的语料库以计算统计特征;在具体处理时,往往要求文本自身也具有一定长度。此外,尽管说其定义的统计特征能够在一定程度上刻画新词的特点,但阈值的设定同样是基于经验人工设定。这样容易导致的问题是:阈值设定过高会减少新词的识别,阈值过低又会引入大量的无关字符串。
基于模型学习的方法首先选择适当的模型用于表述新词识别的模型,常用的模型包括CRF、机器学习等方法。这类方法需要大量的语料来完成对模型参数的训练。然后使用训练获得的模型判别在给定文本中的字符串是否属于新词。这类方法往往需要大量的语料库支持,且其结果好坏和语料库具有较强的依赖关系:一旦主题范围不一致,新词识别的准确率还会出现明显下降的情况。
现有的中文新词检测方法大都需要通过语料库训练,获得备选词、确定过滤备选的阈值或参数,这都需要具有一定规模的样例文本或先验知识来完成。由于新词检测与训练的语料库存在相关性,当训练语料库的类型与目标文本类型不一致时,新词检测的效果会受到影响。
发明内容
本发明技术解决问题:为了避免语料库的影响,本文将文本信息视为具有先后次序的字符串,从字符出现的视角研究新词筛选方法。针对现有中文新词识别技术上的不足,提供一种自适应中文新词识别系统,该系统以新闻、小说等各类中文文本为输入,通过文本初始化、非偶然共现判定、统计关联性判定、基于现有词库过滤等几个步骤,快速实现目标文本中文新词的识别工作。该系统能够快速有效自动识别潜在中文新词,为进一步的人工筛选提供更为精准的备选新词,降低人工处理的劳动强度和时间开销。该发明在中文新词自动识别、中文分词、专有名词的自动识别等中文自然语言处理方面具有重要的应用价值。
本发明提出一种自适应中文新词识别方法,包括如下步骤:
文本初始化步骤:用于对输入文本text做结构化处理,获得一个包含原有中文汉字并保持原文本中中文汉字相邻关系、间隔关系的宽字符序列;
非偶然共现判定步骤:使用二项分布或使用泊松分布近似表征一对汉字前后相邻出现的概率分布,并基于给定的非偶然共现显著性水平αp确定文本text中的所有非偶然共现的相邻汉字对;
统计关联性判定步骤:给定关联性显著性水平αk,判定文本text中相邻中文字符的关联程度,筛选出具有内部强关联的中文字符串;所述强关联是指在给定显著性水平下,中文字符串内部相邻字符出现与否不满足统计意义上的相互独立;
现有词库过滤步骤:基于现有词典,在满足非偶然共现和内部强关联的字符串中筛选出尚未在词典中出现的中文字符串。
进一步的,所述的文本初始化具体步骤如下:
步骤1.1构建一个元素为string类型的序列charList,将其置为空,转步骤1.2;
步骤1.2根据文档text的编码方式,采用宽字符格式从头开始逐个读取text中的信息w:如果w是汉字,将w以元素的形式添加到序列charList尾部;否则,w是中文标点、英文字符、数字、其他符号,这时将占位符“$”添加到序列charList尾部;待text文档全部处理完后,转步骤1.3;
步骤1.3从序列charList第一个位置开始,按当前位置元素和下一相邻元素的构成情况逐步整理序列charList:如果序列charList当前元素和下一个元素都是“$”,则删除下一个元素“$”,继续判定;如果序列charList当前元素是“$”且下一元素是汉字,则将当前位置后移一位;如果当前位置元素是汉字,则将当前位置后移一位;执行该操作直至当前位置是charList尾部最后一个位置;
文本初始化结束后,将获得一个只包含汉字和“$”构成的宽字符序列charList,且在序列charList中的汉字间最多只有一个“$”间隔。
进一步的,所述非偶然性共现判定步骤如下:
步骤2.1统计序列charList中所有相邻汉字对<ci,cj>的出现次数,i,j为汉字序号,并由LocalCount(ci,cj)记录;用N记录序列charList中所有相邻汉字对的出现次数,转步骤2.2;
步骤2.2由charPairSet记录序列charList中所有相邻汉字对构成集合,转步骤2.3;
步骤2.3遍历charPairSet中的所有相邻汉字对,对给定相邻汉字对<ci,cj>,由汉字频率查询系统CharFreq按下公式估算<ci,cj>在相邻位置的出现概率Freq(ci,cj):
Freq(ci,cj)=CharFreq(ci)*CharFreq(cj)
并根据下述公式计算<ci,cj>在文本text中出现n次的累积概率F(ci,cj):
给定非偶然性显著性水平αp,αp取10-12至10-2之间的任意小数,如果F(ci,cj)≥1-αp,则将相邻汉字对<ci,cj>加入备选相邻汉字对集合NCP;
备选相邻汉字对集合NCP={<ci,cj>|F(ci,cj)≥1-αp},它是判定新词基础,最终备选新词中的所有相邻汉字对都应该在NCP中。
进一步的,所述统计关联性判定步骤如下:
步骤3.1初始化语义单元序列semanticUnitList=charList,初始化相邻语义对集semanticPairSet=NCP;转步骤3.2;
步骤3.2根据定义,构建semanticPairSet的前语义单元集PreUnitSet、后语义单元集PostUnitSet;令待计算关联性的相邻语义对集SP为空,将语义对统计函数spNum设为空,全部语义对统计值为0,totalNum=0;转步骤3.3;
步骤3.3遍历semanticUnitList中的每一个相邻语义对<X,Y>,初次执行时X和Y都是汉字,统计与X、Y相关的频次信息:将相邻语义对<X,Y>出现次数增一,即spNum(X,Y)加一;将以X为前语义单元的相邻语义对出现次数增一,即spNum(X,#)加一;将以Y为后语义单元的相邻语义对出现次数增一,即spNum(#,Y)加一;将全部相邻语义对出现的总次数增一,totalNum加一;如果由X的最后一个汉字x和Y的第一个汉字y构成的相邻汉字对<x,y>在NCP中,则将<X,Y>加入集合SP中;待遍历结束,转步骤3.4;
步骤3.5令以A为前语义单元但不以B为后语义单元的相邻语义对个数spA=spNum(A,#)-spNum(A,B)、以B为后语义单元但不以A为前语义单元的相邻语义对个数spB=spNum(#,B)-spNum(A,B)、不以A为前语义单元并且不以B为后语义单元的相邻语义对个数noneNum=totalNum-spNum(A,#)-spNum(#,B)+spNum(A,B),根据下述公式计算<A,B>的统计量Q2(A,B);如果转步骤3.6;否则,转步骤3.8;
步骤3.6如果A不属于PostUnitSet,即A不构成某一个相邻语义对的后语义单元,且B不属于PreUnitSet,即B不构成某一个相邻语义对的前语义单元,则AB独立成词,将<A,B>从semanticPairSet中删除,并将<A,B>装入result,转步骤3.8;否则,转步骤3.7;
步骤3.7令a为A的最后一个汉字和b为B的第一个汉字:如果spNum(A,B)>freq或者spNum(A,B)=freq∧Q2(A,B)>Q,则令freq=spNum(A,B)、Q=Q2(A,B)、U=A、V=B;转步骤3.8;
步骤3.8如果<A,B>不是SP的最后一个相邻语义对,令<A,B>为SP的下一个相邻语义对,转步骤3.5;否则,转步骤3.9;
步骤3.9如果freq>0,则说明在比较中有更新,将<U,V>装入result,转步骤3.10;否则,转步骤3.11;
步骤3.10遍历semanticUnitList中的每一个相邻语义对<X,Y>,如果<X,Y>在result中,则将<X,Y>加入到集合semanticPairSet中,同时从semanticUnitList中删除<X,Y>,并将合并后的字符串XY作为一个语义单元插入到semanticUnitList的相应位置中;待遍历结束,转步骤3.2;
步骤3.11统计semanticUnitList中所有宽字符长度大于1字符串w的频率localFreq(w);在给定非偶然共现显著性水平αp的情况下,如果在w中任意两个相邻汉字ci,cj的累积概率Fw(ci,cj)都大于等于1-αp,则将w加入集合Result中;其中,
进一步的,基于现有词库过滤筛选出尚未在词典中出现的中文字符串,步骤具体如下:
在完成前两步的识别后,基于已有词典筛选出尚未成词的高频强关联中文字符串,以此作为最终筛选新词的备选中文字符串;
将集合Result中的字符串与现有中文词语比较,如果集合Result中的字符串w在由ExistWord(w)为真,则将其从Result中删除;待Result中的所有字符串过滤过一遍,Result中剩余的字符串即为获得的备选新词,该备选新词将交由人工或其他系统完成最终的确认。
本发明还提出一种自适应中文新词识别系统,包括:
文本初始化模块:用于对输入文本text做结构化处理,获得一个包含原有中文汉字并保持原文本中中文汉字相邻关系、间隔关系的宽字符序列;
非偶然共现判定模块:使用二项分布或使用泊松分布近似表征一对汉字前后相邻出现的概率分布,并基于给定的非偶然共现显著性水平αp确定文本text中的所有非偶然共现的相邻汉字对;
统计关联性判定模块:给定关联性显著性水平αk,判定文本text中相邻中文字符的关联程度,筛选出具有内部强关联的中文字符串;所述强关联是指在给定显著性水平下,中文字符串内部相邻字符出现与否不满足统计意义上的相互独立;
现有词库过滤模块:基于现有词典,在满足非偶然共现和内部强关联的字符串中筛选出尚未在词典中出现的中文字符串。
还包括,统计模块CharFreq(c),用于检测某个汉字c在语料库文本中的出现频率。
还包括,检测中文词语模块ExistWord(w),用于检测某个字符串是否是已有中文词语。
有益效果:
本发明方法的优势在于:首先,频次、相关性等阈值并非基于人的主观设定,而是基于统计假设和分析完成的,避免了由人工经验设定阈值带来的偏差;第二,该算法不依赖于分词算法,直接基于文本信息即可完成;第三,算法实现无需复杂的先验语料库,只需要一定数量的汉字字频统计,降低了处理的门槛。该方法具有良好的识别效果,与类似方法相比,本方法具有简单高效、适应性强、理论基础完善等特点。适用于新闻及各专业领域的新词识别和专有词汇筛选,也可以用于文本实体的自动识别,能够极大程度的降低人工筛选的劳力投入。
附图说明
图1为本发明的实现流程图;
图2为本发明的文本初始化流程图;
图3为本发明的非偶然共现判定流程图;
图4为本发明的统计关联判定流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
根据本发明的一个实施例,提出一种自适应中文新词识别方法,包括如下步骤:
文档初始化步骤:对于待处理的中文文本text,其内容包括中文汉字、标点、格式符号、数字、非汉语文字,以及其他可能在文本中出现的符号。文档初始化的作用在于对输入文本text做结构化处理,获得一个包含原有中文汉字并保持原文本中中文汉字相邻关系的序列。参见图2,文档初始化步骤的具体步骤如下:
步骤1.1构建一个元素为string类型的序列charList,将其置为空,转步骤1.2;
步骤1.2根据文档text的编码方式,采用宽字符格式从头开始逐个读取text中的信息w:如果w是汉字,将w以元素的形式添加到宽字符序列charList尾部;否则,w是中文标点、英文字符、其他符号,这时将占位符“$”添加到charList尾部;待text整个文档处理完后,转步骤1.3;
步骤1.3从charList第一个位置开始,按当前位置元素和下一相邻元素的构成情况逐步整理charList:如果charList当前元素和下一个元素都是“$”,则删除下一个元素“$”,继续判定;如果charList当前元素是“$”且下一元素是汉字,则将当前位置后移一个位置;如果当前位置元素是汉字,则将当前位置后移一个位置;执行该操作直至当前位置是charList尾部最后一个位置。
文档初始化结束后,将获得一个只包含由汉字和“$”构成的字符串序列charList,且在charList中的汉字间最多只有一个“$”间隔。
非偶然共现判定步骤,用于判断超出一般情况的共现频率:任意两个中文汉字都可能在前后相邻的两个位置一起出现。如果这两个汉字不构成词,那么它们分别在前后相邻两个位置是否出现的事件应该是相互独立的。这样,两个汉字在前后相邻两个位置出现的概率可以用各自在文本中出现频率的乘积来度量。这样,就可以使用二项分布(用泊松分布近似)来表征一对汉字前后相邻出现的概率分布。
在一篇文本中,构成该新词的汉字应当在文本中前后相邻出现的频率显著高于一般水平,这才能达到引起注意、实现识别的结果。然而,不同汉字在语料库中出现的频率并不相同,这使得采用统一频率限制筛选构成新词的潜在字符串的方法并不合理。因此,非偶然性共现判定模块将基于二项分布或泊松分布,通过对序列charList字符串序列中的相邻汉字对的出现情况做假设检验,实现对偶然出现的相邻汉字对的排除,进而获得本文中显著出现的高频相邻汉字对。
本发明用<ci,cj>表示字符ci、cj在前后相邻的两个位置先后出现。如果ci、cj都是汉字,则<ci,cj>被称为相邻汉字对。对包含N个相邻汉字对(重复相邻语义对重复计数)的文本,在独立性假设条件下,相邻汉字对<ci,cj>在该文本中出现的次数可认为符合参数为Freq(ci,cj)和N的二项分布。这就可以计算<ci,cj>出现次数的累积概率:
当N很大、Freq(ci,cj)很小时,该分布可近似为参数为N*Freq(ci,cj)的泊松分布:
为了排除由于偶然因素在相邻位置产生共现,需在非偶然性显著性水平为αp(αp可取10-12至10-2之间的任意小数)条件下确定相邻汉字对<ci,cj>在该文本中的非偶然共现阈值
NA(ci,cj)=min{n|F(ci,cj,n)>1-αp}。 (3)
NA(ci,cj)将被用于判定由于偶然性而带来的相邻关系。公式(3)中的F(ci,cj,n)可具体化为二项分布的累积概率Fb(ci,cj,n)或泊松分布的累积概率Fp(ci,cj,n)。
具体的,非偶然性共现判定步骤具体如下,参见图3:
步骤2.1统计charList中所有相邻汉字对<ci,cj>的出现次数,并由LocalCount(ci,cj)记录;用N记录charList中所有相邻汉字对(包括重复相邻汉字对)的出现次数,转步骤2.2;
步骤2.2由charPairSet记录charList中所有相邻汉字对构成集合(无重复元素),转步骤2.3;
步骤2.3遍历charPairSet中的所有相邻汉字对,给定相邻汉字对<ci,cj>,由汉字频率查询系统CharFreq估算<ci,cj>在相邻位置的出现概率Freq(ci,cj)=CharFreq(ci)*CharFreq(cj),并根据下述公式计算<ci,cj>在文本text中出现n次的累积概率F(ci,cj):
给定非偶然性显著水平αp,如果F(ci,cj)≥1-αp,则将相邻汉字对<ci,cj>加入备选相邻汉字对集合NCP。
备选相邻汉字对集合NCP={<ci,cj>|F(ci,cj)≥1-αp},它是判定新词基础,最终备选新词中的所有相邻汉字对都应该在NCP中。
统计关联性判定步骤,用于判定文本内部展现出强关联:两个汉字在一篇文本中前后共现频率非常高有两种可能:一种情况是这两个汉字在文本单独出现的频率就高于一般文本;另一种情况是这两汉字以关联共现的形式共同出现频率高,而这是构成词语的条件。关联性判定模块的作用在于判定文本中相邻中文字符的关联程度。具体的,本模块将根据独立性假设检验,逐步合并NCP中具有强关联性汉字,进而获得满足非偶然性且具有强关联性的汉字字符串。这些字符串将会作为新词筛选的备选词。
为了有效地阐述本模块操作,在本发明中定义如下概念:具有强关联性的中文字符串被称为一个语义单元。在没有其他先验信息情况下,所有的单个汉字都是语义单元。在给定文本中,前后相邻的两个语义单元被称为相邻语义对。其中,位于前面的语义单元被称为该相邻语义对的前语义单元,位于后面的语义单元被称为后语义单元。对于给定的相邻语义对集合semanticPairSet,称集合PreUnitSet={pre|<pre,post>∈semanticPairSet}为semanticPairSet的前语义单元集合,称集合PostUnitSet={post|<pre,post>∈semanticPairSet}为semanticPairSet的后语义单元集合。本发明用统计函数spNum(X,Y)记录相邻语义对<X,Y>在给定文本中出现的数量;如果Y为“#”,则spNum(X,#)记录给定文本中所有以X为前语义单元的相邻语义对的数量;类似的,spNum(#,Y)记录给定文本中所有以Y为后语义单元的相邻语义对的数量。此外,令spA表示以A为前语义单元但不以B为后语义单元的相邻语义对个数,spB表示以B为后语义单元但不以A为前语义单元的相邻语义对个数,noneNum表示即不以A为前语义单元并且不以B为后语义单元的相邻语义对个数。
基于上述定义,统计关联判定步骤具体如下,参见图4:
步骤3.1初始化语义单元序列semanticUnitList=charList,初始化相邻语义对集semanticPairSet=NCP;转步骤3.2;
步骤3.2根据定义,构建semanticPairSet的前语义单元集PreUnitSet、后语义单元集PostUnitSet;令待计算关联性的相邻语义对集SP为空,将语义对统计函数spNum设为空(全部统计值为0),totalNum=0;转步骤3.3;
步骤3.3遍历semanticUnitList中的每一个相邻语义对<X,Y>(初次执行时X和Y都是汉字),统计与X、Y相关的频次信息:将相邻语义对<X,Y>出现次数增一,spNum(X,Y)++;将以X为前语义单元的相邻语义对出现次数增一,spNum(X,#)++;将以Y为后语义单元的相邻语义对出现次数增一,spNum(#,Y)++;将全部相邻语义对出现的总次数增一,totalNum++;如果由X的最后一个汉字x和Y的第一个汉字y构成的相邻汉字对<x,y>在NCP中,则将<X,Y>加入集合SP中;待遍历结束,转步骤3.4;
步骤3.5令spA=spNum(A,#)-spNum(A,B)、spB=spNum(#,B)-spNum(A,B)、noneNum=totalNum-spNum(A,#)-spNum(#,B)+spNum(A,B),根据下述公式计算<A,B>的统计量Q2(A,B);如果转步骤3.6;否则,转步骤3.8;
步骤3.6如果A不属于PostUnitSet,即A不构成某一个相邻语义对的后语义单元,且B不属于PreUnitSet,即B不构成某一个相邻语义对的前语义单元,则AB独立成词,将<A,B>从semanticPairSet中删除,并将<A,B>装入result,转步骤3.8;否则,转步骤3.7;
步骤3.7令a为A的最后一个汉字和b为B的第一个汉字:如果spNum(A,B)>freq或者spNum(A,B)=freq∧Q2(A,B)>Q,则令freq=spNum(A,B)、Q=Q2(A,B)、U=A、V=B;转步骤3.8;
步骤3.8如果<A,B>不是SP的最后一个相邻语义对,令<A,B>为SP的下一个相邻语义对,转步骤3.5;否则,转步骤3.9;
步骤3.9如果freq>0,则说明在比较中有更新,将<U,V>装入result,转步骤3.10;否则,转步骤3.11;
步骤3.10遍历semanticUnitList中的每一个相邻语义对<X,Y>,如果<X,Y>在result中,则将<X,Y>加入到集合semanticPairSet中,同时从semanticUnitList中删除<X,Y>,并将合并后的字符串XY作为一个语义单元插入到semanticUnitList的相应位置中;待遍历结束,转步骤3.2;
步骤3.11统计semanticUnitList中所有宽字符长度大于1字符串w的频率localFreq(w);在给定显著性水平αp的情况下,如果在w中的任意两个相邻汉字ci,cj的累积概率Fw(ci,cj)大于等于1-αp,则将w加入集合Result中;其中,
基于现有词库过滤步骤,用于筛选出尚未在词典中出现的中文字符串:基于现有词典,如《现代汉语词典》、在线新华词典等,在满足非偶然共现和内部关联性强的字符串中筛选出尚未在词典中出现的中文字符串。在一篇文本中即展现出高共现又展现出强关联的字符串即可能是新词,也可能是已有词汇的高频使用。因此,在完成前两步的识别后,还需要基于已有词典筛选出尚未成词的高频强关联中文字符串,以此作为最终筛选新词的备选中文字符串。
该步骤将Result中的字符串与现有中文词语比较,如果Result中的字符串w在由ExistWord(w)为真,则将其从Result中删除;待Result中的所有字符串过滤过一遍,Result中剩余的字符串即为本发明获得的备选新词。该备选新词将交由人工或其他系统完成最终的确认。
根据本发明的另一个实施例,提出一种自适应中文新词识别系统,包括如下四个模块(见图1):文本初始化模块、非偶然共现判定模块、统计关联性判定模块、现有词库过滤模块。此外,本系统还包括两套额外的统计模块CharFreq(c)和检测中文词语模块ExistWord(w)。统计模块CharFreq(c)用于检测某个汉字c在语料库大量文本中的出现频率;而ExistWord(w)模块用于检测某个字符串是否是已有中文词语。本发明具体是通过以下技术方案实现的:
文本初始化模块:用于对输入文本text做结构化处理,获得一个包含原有中文汉字并保持原文本中中文汉字相邻关系、间隔关系的宽字符序列;
非偶然共现判定模块:使用二项分布或使用泊松分布近似表征一对汉字前后相邻出现的概率分布,并基于给定的非偶然共现显著性水平αp确定文本text中的所有非偶然共现的相邻汉字对;
统计关联性判定模块:给定关联性显著性水平αk,判定文本text中相邻中文字符的关联程度,筛选出具有内部强关联的中文字符串;所述强关联是指在给定显著性水平下,中文字符串内部相邻字符出现与否不满足统计意义上的相互独立;
现有词库过滤模块:基于现有词典,在满足非偶然共现和内部强关联的字符串中筛选出尚未在词典中出现的中文字符串。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (3)
1.一种自适应中文新词识别方法,其特征在于,包括如下步骤:
文本初始化步骤:用于对输入文本text做结构化处理,获得一个包含原有中文汉字并保持原文本中中文汉字相邻关系、间隔关系的宽字符序列;
非偶然共现判定步骤:使用二项分布或使用泊松分布近似表征一对汉字前后相邻出现的概率分布,并基于给定的非偶然共现显著性水平αp确定文本text中的所有非偶然共现的相邻汉字对;
统计关联性判定步骤:给定关联性显著性水平αk,判定文本text中相邻中文字符的关联程度,筛选出具有内部强关联的中文字符串;所述强关联是指在给定显著性水平下,中文字符串内部相邻字符出现与否不满足统计意义上的相互独立;
现有词库过滤步骤:基于现有词典,在满足非偶然共现和内部强关联的字符串中筛选出尚未在词典中出现的中文字符串;
非偶然共现判定步骤如下:
步骤2.1统计序列charList中所有相邻汉字对<ci,cj>的出现次数,i,j为汉字序号,并由LocalCount(ci,cj)记录;用N记录序列charList中所有相邻汉字对的出现次数,转步骤2.2;
步骤2.2由charPairSet记录序列charList中所有相邻汉字对构成集合,转步骤2.3;
步骤2.3遍历charPairSet中的所有相邻汉字对,对给定相邻汉字对<ci,cj>,由汉字频率查询系统CharFreq按下公式估算<ci,cj>在相邻位置的出现概率Freq(ci,cj):
Freq(ci,cj)=CharFreq(ci)*CharFreq(cj)
并根据下述公式计算<ci,cj>在文本text中出现n次的累积概率F(ci,cj):
给定非偶然性显著性水平αp,αp取10-12至10-2之间的任意小数,如果F(ci,cj)≥1-αp,则将相邻汉字对<ci,cj>加入备选相邻汉字对集合NCP;
备选相邻汉字对集合NCP={<ci,cj>|F(ci,cj)≥1-αp},它是判定新词基础,最终备选新词中的所有相邻汉字对都应该在NCP中;
统计关联性判定步骤如下:
步骤3.1初始化语义单元序列semanticUnitList=charList,初始化相邻语义对集semanticPairSet=NCP;转步骤3.2;
步骤3.2根据定义,构建semanticPairSet的前语义单元集PreUnitSet、后语义单元集PostUnitSet;令待计算关联性的相邻语义对集SP为空,将语义对统计函数spNum设为空,全部语义对统计值为0,totalNum=0;转步骤3.3;
步骤3.3遍历semanticUnitList中的每一个相邻语义对<X,Y>,初次执行时X和Y都是汉字,统计与X、Y相关的频次信息:将相邻语义对<X,Y>出现次数增一,即spNum(X,Y)加一;将以X为前语义单元的相邻语义对出现次数增一,即spNum(X,#)加一;将以Y为后语义单元的相邻语义对出现次数增一,即spNum(#,Y)加一;将全部相邻语义对出现的总次数增一,totalNum加一;如果由X的最后一个汉字x和Y的第一个汉字y构成的相邻汉字对<x,y>在NCP中,则将<X,Y>加入集合SP中;待遍历结束,转步骤3.4;
步骤3.5令以A为前语义单元但不以B为后语义单元的相邻语义对个数spA=spNum(A,#)-spNum(A,B)、以B为后语义单元但不以A为前语义单元的相邻语义对个数spB=spNum(#,B)-spNum(A,B)、不以A为前语义单元并且不以B为后语义单元的相邻语义对个数noneNum=totalNum-spNum(A,#)-spNum(#,B)+spNum(A,B),根据下述公式计算<A,B>的统计量Q2(A,B);如果转步骤3.6;否则,转步骤3.8;
步骤3.6如果A不属于PostUnitSet,即A不构成某一个相邻语义对的后语义单元,且B不属于PreUnitSet,即B不构成某一个相邻语义对的前语义单元,则AB独立成词,将<A,B>从semanticPairSet中删除,并将<A,B>装入result,转步骤3.8;否则,转步骤3.7;
步骤3.7令a为A的最后一个汉字和b为B的第一个汉字:如果spNum(A,B)>freq或者spNum(A,B)=freq∧Q2(A,B)>Q,则令freq=spNum(A,B)、Q=Q2(A,B)、U=A、V=B;转步骤3.8;
步骤3.8如果<A,B>不是SP的最后一个相邻语义对,令<A,B>为SP的下一个相邻语义对,转步骤3.5;否则,转步骤3.9;
步骤3.9如果freq>0,则说明在比较中有更新,将<U,V>装入result,转步骤3.10;否则,转步骤3.11;
步骤3.10遍历semanticUnitList中的每一个相邻语义对<X,Y>,如果<X,Y>在result中,则将<X,Y>加入到集合semanticPairSet中,同时从semanticUnitList中删除<X,Y>,并将合并后的字符串XY作为一个语义单元插入到semanticUnitList的相应位置中;待遍历结束,转步骤3.2;
步骤3.11统计semanticUnitList中所有宽字符长度大于1字符串w的频率localFreq(w);在给定非偶然共现显著性水平αp的情况下,如果在w中任意两个相邻汉字ci,cj的累积概率Fw(ci,cj)都大于等于1-αp,则将w加入集合Result中;其中,
2.根据权利要求1所述的一种自适应中文新词识别方法,其特征在于:所述的文本初始化具体步骤如下:
步骤1.1构建一个元素为string类型的序列charList,将其置为空,转步骤1.2;
步骤1.2根据文档text的编码方式,采用宽字符格式从头开始逐个读取text中的信息w:如果w是汉字,将w以元素的形式添加到序列charList尾部;否则,w是中文标点、英文字符、数字、其他符号,这时将占位符“$”添加到序列charList尾部;待text文档全部处理完后,转步骤1.3;
步骤1.3从序列charList第一个位置开始,按当前位置元素和下一相邻元素的构成情况逐步整理序列charList:如果序列charList当前元素和下一个元素都是“$”,则删除下一个元素“$”,继续判定;如果序列charList当前元素是“$”且下一元素是汉字,则将当前位置后移一位;如果当前位置元素是汉字,则将当前位置后移一位;执行该操作直至当前位置是charList尾部最后一个位置;
文本初始化结束后,将获得一个只包含汉字和“$”构成的宽字符序列charList,且在序列charList中的汉字间最多只有一个“$”间隔。
3.根据权利要求1所述的一种自适应中文新词识别方法,其特征在于:基于现有词库过滤筛选出尚未在词典中出现的中文字符串,步骤具体如下:
在完成前两步的识别后,基于已有词典筛选出尚未成词的高频强关联中文字符串,以此作为最终筛选新词的备选中文字符串;
将集合Result中的字符串与现有中文词语比较,如果集合Result中的字符串w在由ExistWord(w)为真,则将其从Result中删除;待Result中的所有字符串过滤过一遍,Result中剩余的字符串即为获得的备选新词,该备选新词将交由人工或其他系统完成最终的确认。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117792.6A CN111339753B (zh) | 2020-02-25 | 2020-02-25 | 一种自适应中文新词识别方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117792.6A CN111339753B (zh) | 2020-02-25 | 2020-02-25 | 一种自适应中文新词识别方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339753A CN111339753A (zh) | 2020-06-26 |
CN111339753B true CN111339753B (zh) | 2023-06-16 |
Family
ID=71185586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010117792.6A Active CN111339753B (zh) | 2020-02-25 | 2020-02-25 | 一种自适应中文新词识别方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339753B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163421B (zh) * | 2020-10-09 | 2022-05-17 | 厦门大学 | 一种基于N-Gram的关键词提取方法 |
CN113342936B (zh) * | 2021-06-08 | 2024-03-22 | 北京明略软件系统有限公司 | 一种构词紧密度确定方法、装置、电子设备及存储介质 |
CN117910467B (zh) * | 2024-03-15 | 2024-05-10 | 成都启英泰伦科技有限公司 | 一种离线语音识别过程中的分词处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950306A (zh) * | 2010-09-29 | 2011-01-19 | 北京新媒传信科技有限公司 | 新词发现中的字符串过滤方法 |
CN103020022A (zh) * | 2012-11-20 | 2013-04-03 | 北京航空航天大学 | 一种基于改进信息熵特征的中文未登录词识别系统及方法 |
CN106484677A (zh) * | 2016-09-30 | 2017-03-08 | 北京林业大学 | 一种基于最小信息量的汉语快速分词系统及方法 |
CN107943941A (zh) * | 2017-11-23 | 2018-04-20 | 珠海金山网络游戏科技有限公司 | 一种可迭代更新的垃圾文本识别方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7917355B2 (en) * | 2007-08-23 | 2011-03-29 | Google Inc. | Word detection |
CN107092588B (zh) * | 2016-02-18 | 2022-09-09 | 腾讯科技(深圳)有限公司 | 一种文本信息处理方法、装置和系统 |
-
2020
- 2020-02-25 CN CN202010117792.6A patent/CN111339753B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950306A (zh) * | 2010-09-29 | 2011-01-19 | 北京新媒传信科技有限公司 | 新词发现中的字符串过滤方法 |
CN103020022A (zh) * | 2012-11-20 | 2013-04-03 | 北京航空航天大学 | 一种基于改进信息熵特征的中文未登录词识别系统及方法 |
CN106484677A (zh) * | 2016-09-30 | 2017-03-08 | 北京林业大学 | 一种基于最小信息量的汉语快速分词系统及方法 |
CN107943941A (zh) * | 2017-11-23 | 2018-04-20 | 珠海金山网络游戏科技有限公司 | 一种可迭代更新的垃圾文本识别方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于微博的情感新词发现研究;王非;;软件(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111339753A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104794B (zh) | 一种基于主题词的文本相似度匹配方法 | |
CN110717047B (zh) | 一种基于图卷积神经网络的Web服务分类方法 | |
CN109960724B (zh) | 一种基于tf-idf的文本摘要方法 | |
CN111339753B (zh) | 一种自适应中文新词识别方法与系统 | |
CN105824922B (zh) | 一种融合深层特征和浅层特征的情感分类方法 | |
CN106649260B (zh) | 基于评论文本挖掘的产品特征结构树构建方法 | |
CN108984526A (zh) | 一种基于深度学习的文档主题向量抽取方法 | |
CN107102983B (zh) | 一种基于网络知识源的中文概念的词向量表示方法 | |
CN108073571B (zh) | 一种多语言文本质量评估方法及系统、智能文本处理系统 | |
CN108363691B (zh) | 一种用于电力95598工单的领域术语识别系统及方法 | |
CN110210028A (zh) | 针对语音转译文本的领域特征词提取方法、装置、设备及介质 | |
CN108287911A (zh) | 一种基于约束化远程监督的关系抽取方法 | |
CN108509490B (zh) | 一种网络热点话题发现方法及系统 | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
CN113177412A (zh) | 基于bert的命名实体识别方法、系统、电子设备及存储介质 | |
CN114065758A (zh) | 一种基于超图随机游走的文档关键词抽取方法 | |
CN114218389A (zh) | 一种基于图神经网络的化工制备领域长文本分类方法 | |
CN112380866A (zh) | 一种文本话题标签生成方法、终端设备及存储介质 | |
CN110287493B (zh) | 风险短语识别方法、装置、电子设备及存储介质 | |
CN111429184A (zh) | 一种基于文本信息的用户画像抽取方法 | |
CN114036929A (zh) | 一种基于多模型特征融合的全简称匹配的方法 | |
CN112632969B (zh) | 一种增量式行业词典更新方法和系统 | |
CN116628173B (zh) | 一种基于关键字提取的智能客服信息生成系统及生成方法 | |
CN106776590A (zh) | 一种获取词条译文的方法及系统 | |
CN110990540A (zh) | 一种基于正则表达式的同义词抽取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |