一种自适应的分词方法
【技术领域】
[0001] 本发明设及一种自适应的分词系统的构建和应用的方法,属于自然语言处理的计 算机技术应用领域。
【背景技术】
[0002] 目前信息的记录和传输的方法主要是通过人类自然语言。人类的语言与人群活动 的环境密切相关,是相互协商,共同完成同一认知范畴中的任务的基础条件。运种自然语言 是人参与社会活动,为更高效的信息交流和留存所产生的工具。人类的语言是W独立的词 为认知结构,字是词的组成元素。语言用来交流时,采用序列的形式,将各能表示独立意义 的词进行衔接,并W带有序关系的连续字串的方式记录下来,形成表达完整意义的句子和 文章。
[0003] 提取出各句子中词运种语义单元是理解信息的基本条件。但在对文本形式记录的 句子进行理解时,由于各独立词之间没有明确的隔断信息,不同的字串结合在一起可W形 成不同的信息表达,不正确的字串的切分成词的方式(即分词)会带来信息的错误认知。人 脑有很强的纠错功能,完全由相关生活环境下的人来阅读理解句子时,运种错误相对可控。
[0004] 在网络和信息时代,由人参与的活动/行为就在网络上形成了不同的记录信息,而 运些信息又绝大多数是W自然语言的句子运种文本形式表达的,形成了文本信息的爆炸。 对运种海量文本的分析已无法完全由人工来处理,运就要求计算机能有效对文本进行切 分。
[000引对文本进行正确分词的技术,当前主要有两种处理思路,即基于词典的模式匹配 和基于统计的分类方法。基于词典的模型依赖于分词所采用的词典,当待切分的句子的正 确词语在词典中都有记录时,分词能达到一定效果,但准确率仍相对有限;同时此方法本质 上无法解决词语的歧义及新词没在词典中记录的问题。而基于统计的分词方法是W已分好 词的语料为基础资源,训练分类器生成判别模型,从而对新的语料进行分词判断。在和训练 语料相关的领域,运种方法的分词性能较好。但是此方法对训练语料依赖性强,应用时需要 针对不同领域训练不同的模型,而标注语料的成本太高,W至于此方法不便于在不同领域 进行扩充。也有技术将基于词典和统计的方法进行结合,但实际上把词典、训练语料当成了 内部资源或者独立资源加入模型,应用时推广的效果有限。
[0006] 本发明将基于词典和基于统计的方法进行结合,把词典信息作为一个可由外部适 配调整、可在统计模型模型内部产生影响及生成特征的资源,并全面考虑模型学习时原始 训练语料对词典的影响,而算法设置了高效的特征的生成和组合方式,可充分降低计算的 复杂度,并最终有效生成高准确率的分词模型;而应用时可方便的在词典中有针对的加入 相关的词,有效提高算法的在不同场景下的适用性。
[0007]
【发明内容】
本发明的目的是为了解决计算机在自然语言处理中难w对句子做准确分词、并在新领 域进行有效推广应用的难题,提供了一种结合词典匹配和统计模型的自动分词方法。
[0008]本发明设计的方法由训练模型和应用模型两个阶段组成,它包括W下步骤: 训练阶段 训练步骤一:获取模型训练阶段的依赖资源:获取已分好词(各句子中的字符有确定的 切分成独立词的标准答案)的NS个句子的集合S={S(i)}为训练语料,各句子记为S(i),其中 1 < i含NS,要求NS含50000;人工给定一个包含50个词W上的词典D,并人为指定词典扩充系 数ει, £2; 训练步骤二:从训练语料中提取语料高相关的词语,对词典进行扩充,提取的步骤细节 为: 训练步骤二一:统计S中所有词的总数目,记为NW;进一步统计S中所含有的不同词的总 数目,记为NWU; 训练步骤二二:统计S中所有不同的词各自出现的频次,并将词按对应词频由大到小的 顺序进行排列,记排序后结果为WD={wd(l) ,wd(2),wd(NWU)},对应的频次记为NWD={nwd (1) ,nwd(2), ··· ,nwd(NWU)}; 训练步骤二Ξ:在WD中找出依序排列的第St个序位(l<st<NmJ),使得NWD中前St个序 位对应的频次满足:
训练步骤二四:在WD中找出依序排列的第ed个序位(KecKNWU),使得NWD中前ed个序位 对应的频次满足:
训练步骤二五:在WD中找出从第St个序位开始,到第ed个序位的为止的依序排列的所 有的词的集合,记为WDA,即WDA={wd(st) ,wd(st+l),... ,wd(ed)}, l<st<ed<NWU 训练步骤二六:将WDA中所有词加入原来的词典中D,构成新的词典化,此字典中长度最 长的词的长度记为NLot; 训练步骤Ξ:对训练语料S的所有字符进行特征化表示,得到每个字符的抽取后的特征 表示结果,记S(i,ji)为句子S(i)的第ji个字,其中1 < ji<句子S(i)的总字符数,则s(i, ji)对应的特征化结果为: 尸'乾屯、^:、屯,?*, f、.、.每 Α?韦。《:1:韦3 . W flS j ; 其中各特征的提取细节步骤为: 训练步骤Ξ-:对各个句子S (i)中的每个序位上的字符,建立各序位的字符对应的5个 一元语法特征,分别表示为fl, f2, f3, f4, fs :
训练步骤Ξ二:对各个句子S (i)中的每个序位上的字符,建立各字符对应的4个二元语 法特征,分别表示为fs, f7, fs:
训练步骤ΞΞ:对各个句子S (i)中的每个序位上的字符,建立各字符对应的3个类型相 关特征,分别表示为f 10,f 11,f 12:
训练步骤Ξ四:对各个句子S (i)中的每个序位上的字符,建立各字符对应的3个字典型 特征,分别表示为f 13,f 14,f 15: fl3 =在词典化中,W此字符为第一个字符进行最大正向匹配所得词的长度值;在化中 找不到符合条件的词时长度即为0; fl4=在词典化中,W此字符为最后一个字符进行逆向最大匹配所得词的长度值;在化 中找不到符合条件的词时长度即为0; f 15 =在本句中,用此字符的前化Dt个序位至此字前1个序位的字在词典化中采用正向 最大匹配后,得到的经过此位置并且不W此字为结尾字符的最长词的长度值;若没有符合 条件的情况,长度即为0; 训练步骤四:对训练语料S的各个字符的类别进行数字化表示,对应得到各句子S( i )的 每个序位上的字符S( i,ji)对应的类别表示结果g(i,ji);
训练步骤五:基于条件随机场模型,将训练语料中所有字符的特征化结果F(S(i,ji)) 和对应的类别表示结果g(i,ji)作为输入数据,进行训练,得到训练后的分词模型Μ。
[0009]分词应用阶段: 对于一个要做分词处理的句子R=kl,C2,…,Cy},其中Cl,C2,···,Cy为此句子中的依序排 列的各个字符,y为句子R的字符总数,基于W下过程进行分词: 应用步骤一:获得与待分词句子相关的词典化(化中的词数含0),并将化中所有词加入 化中,行成新的词典化,此字典中长度最长的词的长度记为NLoa; 应用步骤二:先对句子中的每个字符Cm提取特征F( Cm),其中1含m < y, 而?城》》.=:也,·$2.>為龙名邊成*如《9:尤?為龙s怎,其中各特征的提取细·ρ步骤 为: 应用步骤二一:对句子R中的每个序位上的字符,建立各序位的字符对应的5个一元语 法特征,分别表示为fl, f2, f3, f4, fs :
应用步骤二二:对句子R中的每个序位上的字符,建立各字符对应的4个二元语法特征, 分别表示为fs, f7, fs:
应用步骤二Ξ:对句子R中的每个序位上的字符,建立各字符对应的3个类型相关特征, 分别表不为fio, fll, fl2:
应用步骤二四:对句子R中的每个序位上的字符,建立各字符对应的3个字典型特征,分 另ij表习^为fl3, fl4, f化: fl3 =在词典化中,W此字符为第一个字符进行最大正向匹配所得词的长度值;在化中 找不到符合条件的词时长度即为0; fl4=在词典化中,W此字符为最后一个字符进行逆向最大匹配所得词的长度值;在化 中找不到符合条件的词时长度即为0; f 15 =在本句中,用此字符的前化Da个序位至此字前1个序位的字在词典化中采用正向 最大匹配后,得到的经过此位置并且不w此字为结尾字符的最长词的长度值;若没有符合 条件的情况,长度即为0; 应用步骤Ξ:将句子R中所有字符的特征化结果F(cm)输入已训练好的模型Μ中,并由模 型Μ进行分类评判,输出各字符对应的分类结果g ( Cm); 应用步骤四:输出所有g(Cm)值为1或4的字符Cm的序位,即句子R可在运些位置做句子 的组成词切分,此即是此句子的分词结果。
[0010] 本发明的优点是:本发明基于自然语言的句子的内在特性,提出了结合词典和统 计模型的分词方法,处理中把词典信息作为一个可由外部适配调整、可在统计模型模型内 部产生影响及生成特征的资源,并全面考虑模型学习时原始训练语料对词典的影响,而算 法设置了高效的特征的生成和组合方式,可充分降低计算的复杂度,并最终有效生成高准 确率的分词模型;而应用时可方便的在词典中有针对的加入相关的词,有效提局算法的在 不同场景下的适用性。
[0011] 本发明有效实现了计算机自动对自然语言的语句进行分词处理,并方便在不同领 域下进行扩展应用,而语句分词后的结果可提供给计算机做后续的各种分析。
【附图说明】
[0012] 图1为本发明的模型训练的方法的流程图,图2为应用的方法的流程图。
【具体实施方式】
[0013] 下面结合附图图1和图2说明本实施方式。
[0014] 本发明设计的方法由训练模型和应用模型两个阶段组成,它包括W下具体应用 方式一的训练阶段和具体应用方式二的应用阶段。
[0015] 具体应用方式一:训练阶段 训练步骤一:获取模型训练阶段的依赖资源:获取已分好词(各句子中的字符有确定的 切分成独立词的标准答案)的NS个句子的集合S={S(i)}为训练语料,各句子记为S(i),其中 1 < i含NS,要求NS含50000;人工给定一个包含50个词W上的词典D,并人为指定词典扩充系 数ει, ε2; 训练步骤二:从训练语料中提取语料高相关的词语,对词典进行扩充,提取的步骤细节 为: 训练步骤二一:统计S中所有词的总数目,记为NW;进一步统计S中所含有的不同词的总 数目,记为NWU; 训练步骤二二:统计S中所有不同的词各自出现的频次,并将词按对应词频由大到小的 顺序进行排列,记排序后结果为WD={wd(l),wd(2),…,wd(NWU)},对应的频次记为NWD={nwd (1) ,nwd(2), ··· ,nwd(NWU)}; 训练步骤二Ξ:在WD中找出依序排列的第St个序位(l<st<NmJ),使得NWD中