基于频繁项的中文分词边界修正方法与流程

文档序号:28749588发布日期:2022-02-08 00:08阅读:83来源:国知局
基于频繁项的中文分词边界修正方法与流程

1.本发明涉及地铁设计数据信息处理技术领域,具体涉及一种基于频繁项的中文分词边界修正方法。


背景技术:

2.中文分词作为自然语言处理的一项重要子任务,近年来被广泛应用于信息抽取、问答系统以及知识图谱等相关领域,其处理结果直接影响中文信息处理的性能。
3.设计规范作为建筑行业的基准,如何对其高效智能化处理是当前的行业热点问题。而中文分词作为信息化处理的基础,可将其应用于设计规范的信息处理。传统的基于词典的中文分词方法严格依赖于词典的质量,无法对未登录词进行识别,且传统基于规则的中文分词方法无法对其修正结果进行正例的筛选校验。


技术实现要素:

4.本发明的目的是提供一种基于频繁项的中文分词边界修正方法,解决了现有技术中基于词典的中文分词无法对地铁设计规范中未登录词进行识别的问题,利用前后缀词规则对中文分词结果进行边界修正,且基于fp-growth算法抽取频繁项作为评价指标,对修正结果进行筛选。
5.本发明所采用的技术方案为:基于频繁项的中文分词边界修正方法,其特征在于:所述方法包括以下步骤:步骤1:从规范标准中抽取术语作为词典;步骤2,将待处理的地铁设计规范文本作为输入文本s1;步骤3,对输入文本s1进行逆向最大匹配处理,生成第一结果集s2;步骤4,对步骤3得到的第一结果集s2结合前后缀词词典做边界修正处理,得到第二结果集s3;步骤5,利用fp-growth算法抽取频繁项规则;步骤6,利用步骤5抽取的频繁项规则,对步骤4得到的第二结果集s3做结果筛选,删除错误分词。
6.所述步骤1中,规范标准为《建筑信息模型分类和编码标准》gb/t51269-2017中的附录a 建筑信息模型分类和编码,以及《城市轨道交通工程基本术语标准》gb/t50833-2012中的附录a中文术语索引。
7.所述步骤3中,逆向最大匹配处理的具体过程如下:3.1)将步骤2的输入文本s1,按照从前到后的顺序逐句处理;3.2)若步骤3.1)中获取的一个句子长度小于预设定的最大词长n,则将该句作为匹配字段a,执行步骤3.3);若大于或者等于最大词长n,则从该句的最右侧开始,取最大词长长度的字符串作
为匹配字段a,执行步骤3.3);3.3)查找步骤1中的词典文件,根据步骤3.2)中所得的匹配字段a,判断其是否在词典中,若匹配成功,则添加分隔符“/”,输出至第一结果集s2中,并将匹配字段a从输入文本s1中剔除;再将输入文本s1的剩余部分重复步骤3.2);若不存在匹配,则执行步骤3.4);3.4)将匹配字段a的最左侧字剔除,用剩下的n-1个字组成的字段作为新的匹配字段b,反复执行步骤3.3);若剔除至单个字还未匹配成功,则添加分隔符“/”并将该字从输入文本s1中剔除,直至句子为空;3.5)对一个句子处理完成后,该句子即从输入文本s1中剔除,在输入文本s1的剩余部分,按照从前往后的顺序,再获取一个新句子;3.6)重复执行步骤3.2)至步骤3.5),直至输入文本s1为空,最终输出第一结果集s2。
8.所述步骤4中,对步骤3得到的第一结果集s2结合前后缀词词典做边界修正处理的的具体过程如下:4.1)对步骤3输出的第一结果集s2,按照从前往后的顺序逐句处理;4.2)获取一个句子,遍历该句子,根据ascii码值判断分隔符,若找到分隔符则执行步骤4.3),若未找到则执行步骤4.4);4.3)判断当前分隔符前的一个汉字是否存在于前缀词词典中,若存在,则去除当前分隔符,并执行步骤4.2);若不存在,则判断当前分隔符后的一个汉字是否存在于后缀词词典中,若存在,则去除当前分隔符,并执行步骤4.2),若不存在,则执行步骤4.4);4.4)从第一结果集s2中去除当前句子,在剩余的第一结果集s2中,按照从前往后的顺序,再获取一个新句子;4.5)重复执行步骤4.2)至步骤4.4),直至第一结果集s2为空,最终输出第二结果集s3。
9.所述步骤5中,利用fp-growth算法抽取频繁项规则的具体过程如下:5.1)随机抽取500条经步骤4处理后的地铁设计规范文本作为训练集,计算其相关参数,具体步骤如下:对地铁设计规范文本经步骤4边界修正后的每一个新词w进行参数值(|w|, f(w), f(s), p(tw), dl, qt)的计算,其中|w|, dl和qt的计算公式如下:其中,w为修正的新词,|w|是w的长度,f(w)是w的词频,s是包含w的嵌套词,f(s)是包含w的嵌套词的词频, tw是包含w的标准集中词,p(tw)是w在标准集中的词频;
在计算所有新词的参数值后,将大于等于1的参数记入该词的数据行,将其作为训练集执行步骤5.2);5.2)在经步骤5.1)计算得到训练集后,利用fp-growth算法对频繁项规则进行抽取训练,具体步骤如下:首先根据训练集构造fp-tree:构造过程表现为按照|w|, f(w), f(s), p(tw), dl, qt的顺序一次读取每个新词的数据;插入fp树时,排序靠前的是祖先节点,靠后的为子孙节点;如果插入过程中存在共用节点,则对该节点计数加1;插入时,如果有新节点出现,则从祖先节点对其链接;直到所有节点都插入后,fp-tree构建完成;再利用fp-tree做频繁项规则抽取:首先根据各参数出现的次数,取最小次数作为最小支持度;然后从fp-tree最下方叶子节点开始,将其作为要挖掘的叶子节点得到其对应子树;得到子树后,将子树中每个节点的计数设置为叶子节点计数,并删除计数低于支持度的节点,则当前子树即为该叶子节点的频繁项;从下往上递归,直至到达祖先节点,最终抽取的频繁项作为修正结果的评价指标,将该频繁项的参数作为频繁项规则。
10.所述步骤6中,利用步骤5抽取的频繁项规则,对步骤4得到的第二结果集s3做结果筛选的具体步骤如下:6.1)首先计算第二结果集s3中每个新词的|w|, f(w), f(s), p(tw), dl, qt,然后执行步骤6.2);6.2)根据步骤5得到的频繁项规则对步骤6.1)中计算得到的参数进行筛选;若符合规则,则不做处理;若不符合规则,则将步骤4中去除的分隔符添加至原有位置。
11.本发明具有以下优点:本发明先从规范标准中抽取术语作为词典,再根据词典,对地铁设计规范进行逆向最大匹配算法处理,得到结果集,再根据人工归纳得到的前后缀词词典对结果集进行边界修正处理,然后利用fp-growth算法抽取频繁项规则,最后利用频繁项规则对边界修正后结果做筛选,整个流程均为全自动实现。
12.本发明方法根据规范中术语构建词典,基于词典对地铁设计规范进行中文分词处理,再利用预定义前后缀词词典对分词结果进行初步修正,在基于fp-growth算法抽取频繁项规则的基础上,对初步修正结果做筛选处理,从而使分词结果更加准确,整个流程均为全自动实现。
附图说明
13.图1为本发明的方法流程图。
具体实施方式
14.下面结合具体实施方式对本发明进行详细的说明。
15.本发明涉及一种基于频繁项的中文分词边界修正方法,可用于地铁设计的数据处理,先从规范标准中抽取术语作为词典,再根据词典,对地铁设计规范进行逆向最大匹配算法处理,得到结果集,再根据前后缀词词典对结果集进行边界修正处理,然后利用fp-growth算法抽取频繁项规则,最后利用频繁项规则对边界修正后结果做筛选。具体包括以下步骤:
步骤1:从规范标准中抽取术语作为词典;所述步骤1中,规范标准为《建筑信息模型分类和编码标准》gb/t51269-2017中的附录a 建筑信息模型分类和编码,以及《城市轨道交通工程基本术语标准》gb/t50833-2012中的附录a中文术语索引。
16.步骤2,将待处理的地铁设计规范文本作为输入文本s1;步骤3,对输入文本s1进行逆向最大匹配处理,生成第一结果集s2;所述步骤3中,逆向最大匹配处理的具体过程如下:3.1)将步骤2的输入文本s1,按照从前到后的顺序逐句处理;3.2)若步骤3.1)中获取的一个句子长度小于预设定的最大词长n,则将该句作为匹配字段a,执行步骤3.3);若大于或者等于最大词长n,则从该句的最右侧开始,取最大词长长度的字符串作为匹配字段a,执行步骤3.3);3.3)查找步骤1中的词典文件,根据步骤3.2)中所得的匹配字段a,判断其是否在词典中,若匹配成功,则添加分隔符“/”,输出至第一结果集s2中,并将匹配字段a从输入文本s1中剔除;再将输入文本s1的剩余部分重复步骤3.2);若不存在匹配,则执行步骤3.4);3.4)将匹配字段a的最左侧字剔除,用剩下的n-1个字组成的字段作为新的匹配字段b,反复执行步骤3.3);若剔除至单个字还未匹配成功,则添加分隔符“/”并将该字从输入文本s1中剔除,直至句子为空;3.5)对一个句子处理完成后,该句子即从输入文本s1中剔除,在输入文本s1的剩余部分,按照从前往后的顺序,再获取一个新句子;3.6)重复执行步骤3.2)至步骤3.5),直至输入文本s1为空,最终输出第一结果集s2。
17.步骤4,对步骤3得到的第一结果集s2结合前后缀词词典做边界修正处理,得到第二结果集s3;所述步骤4中,对步骤3得到的第一结果集s2结合前后缀词词典做边界修正处理的的具体过程如下:4.1)对步骤3输出的第一结果集s2,按照从前往后的顺序逐句处理;4.2)获取一个句子,遍历该句子,根据ascii码值判断分隔符,若找到分隔符则执行步骤4.3),若未找到则执行步骤4.4);4.3)判断当前分隔符前的一个汉字是否存在于前缀词词典中,若存在,则去除当前分隔符,并执行步骤4.2);若不存在,则判断当前分隔符后的一个汉字是否存在于后缀词词典中,若存在,则去除当前分隔符,并执行步骤4.2),若不存在,则执行步骤4.4);4.4)从第一结果集s2中去除当前句子,在剩余的第一结果集s2中,按照从前往后的顺序,再获取一个新句子;4.5)重复执行步骤4.2)至步骤4.4),直至第一结果集s2为空,最终输出第二结果集s3。
18.步骤5,利用fp-growth算法抽取频繁项规则;所述步骤5中,利用fp-growth算法抽取频繁项规则的具体过程如下:
5.1)随机抽取500条经步骤4处理后的地铁设计规范文本作为训练集,计算其相关参数,具体步骤如下:对地铁设计规范文本经步骤4边界修正后的每一个新词w进行参数值(|w|, f(w), f(s), p(tw), dl, qt)的计算,其中|w|, dl和qt的计算公式如下:其中,w为修正的新词,|w|是w的长度,f(w)是w的词频,s是包含w的嵌套词,f(s)是包含w的嵌套词的词频, tw是包含w的标准集中词,p(tw)是w在标准集中的词频,dl和 qt为通过上述对应公式计算的结果参数,没有实际意义;在计算所有新词的参数值后,将大于等于1的参数记入该词的数据行,将其作为训练集执行步骤5.2);以后缀词“门”为例,经边界修正后,识别新词“部门”。该词长度为2,因此|w| = 0;而“部门”在规范中未以独立词的形式出现过,因此f(w)为0;“政府主管部门”,“政府主编部门”等嵌套词共出现7次,因此f(s)为7,且因为出现的嵌套词均为标准集中词,p(tw)也是7。经计算dl为0,qt为1。则当前新词“部门”的数据行为: f(s), p(tw), qt。
19.5.2)在经步骤5.1)计算得到训练集后,利用fp-growth算法对频繁项规则进行抽取训练,具体步骤如下:首先根据训练集构造fp-tree:构造过程表现为按照|w|, f(w), f(s), p(tw), dl, qt的顺序一次读取每个新词的数据;插入fp树时,排序靠前的是祖先节点,靠后的为子孙节点;如果插入过程中存在共用节点,则对该节点计数加1;插入时,如果有新节点出现,则从祖先节点对其链接;直到所有节点都插入后,fp-tree构建完成;再利用fp-tree做频繁项规则抽取:首先根据各参数出现的次数,取最小次数作为最小支持度;然后从fp-tree最下方叶子节点开始,将其作为要挖掘的叶子节点得到其对应子树;得到子树后,将子树中每个节点的计数设置为叶子节点计数,并删除计数低于支持度的节点,则当前子树即为该叶子节点的频繁项;从下往上递归,直至到达祖先节点,最终抽取的频繁项作为修正结果的评价指标,将该频繁项的参数作为频繁项规则。
20.步骤6,利用步骤5抽取的频繁项规则,对步骤4得到的第二结果集s3做结果筛选,删除错误分词。
21.所述步骤6中,利用步骤5抽取的频繁项规则,对步骤4得到的第二结果集s3做结果筛选的具体步骤如下:6.1)首先计算第二结果集s3中每个新词的|w|, f(w), f(s), p(tw), dl, qt,然后执行步骤6.2);6.2)根据步骤5得到的频繁项规则对步骤6.1)中计算得到的参数进行筛选;若符
合规则,则不做处理;若不符合规则,则将步骤4中去除的分隔符添加至原有位置。
22.步骤6举例分析:其中,经实验,步骤5抽取的部分频繁项规则为dl, qt; qt; dl, |w| (不同规则由“;”进行分隔)。
23.本发明的内容不限于实施例所列举,本领域普通技术人员通过阅读本发明说明书而对本发明技术方案采取的任何等效的变换,均为本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1