一种变异关键词的提取方法

文档序号:6459850阅读:222来源:国知局
专利名称:一种变异关键词的提取方法
一种变异关键词的提取方法技术领域. 本发明涉及中文网络信息处理领域,具体来讲,涉及短信等文本信息中变异 关键词的提取方法。
背景技术
当前的中文网络信息中,非法信息传递者为了逃过信息过滤系统的监管, 对敏感词等关键词进行了变异,对电子邮件、短信息等进行分析,关键词变异 主要集中在以下几方面1) 、在关键词中键入些无意义的与内容无关的非汉字噪音字符,例如 "哈+尔*滨"中的"+ "禾卩"*"号;2) 、对关键词进行谐音字替换,例如"哈尔滨"的"滨"字被写成了 "宾";3) 、对关键词进行拼音替换,例如"哈尔滨"的"滨"字被写成了 "bin";4) 、对关键词进行形近字替换,例如"哈尔滨"的"哈"字被写成了 "洽";5) 、利用上述手段进行组合变换,例如"哈尔滨"被写成了 "洽尔*宾"或者"洽尔&滨"等。对于一般的文本信息,我们可以对其进行分词处理,得到分词后文本,然 后用常规关键词库匹配提取。但是如果对这些关键词进行了变异,则分词之后 的文本用传统的几个连续的单字构成的关键词库来提取是不能够正确提取的。' 发明内容本发明的目的在于克服上述现有技术的不足,提供一种能够提取变异关键词的方法。为实现上述目的,本发明的变异关键词的提取方法包括以下歩骤 (1)、如果分词后文本中有非汉字噪音符号,则将分词后文本巾的01-09区内的特殊字符去掉,从而去除分词后文本中的非汉字噪音符号,然后进行下一歩,否则,直接进行下一歩;(2) 、建立关键词库,将分词后文本送到关键词库中进行匹配,如果匹配 成功,则提取,否则,进行下一步;(3) 、建立一个拼音文件,将分词后文本中拼音相同的汉字和拼音转换成 对应的整数,从而将其从字符串转换为文本整数串;将步骤(1)中的关键词库 中的所有关键词通过拼音文件也转换关键词整数串;比较文本整数串和关键词 整数串,如果相同,则提取,否则,进行下一步;(4) 、对汉字进行形近字分组,建立一个形近字库;将分词后文本的每一 个汉字与关键词库中的关键词的每一个汉字根据该形近词库的汉字分组进行匹 配,如果分词后文本的每一个汉字与关键词库中的关键词的每一个汉字属于同 一组,则提取,否则,不是关键词。本发明通过字符区位将噪音字符去除,提取出噪音字符的变异关键词;通过 拼音文件将分词后文本和关键词转换为文本整数串,然后提取拼音替换、谐音 替换的变异关键词;通过建立形近字库,比较分词后文本的每一个汉字与关键 词库中的关键词的每一个汉字是否为同一组形近字,提取形近字替换的变异关 键词,这样实行了变异关键词的正常提取。


图1是本发明变异关键词的提取方法的流程图;图2是本发明形近字库建立的一种具体实施方式
流程图。
具体实施方式
下面对木发明的具体实施方式
进行描述,需要特别提醒注意的是,在以下的 描述中,当采用已知功能和设计的详细描述也许会淡化本发明的主要内容时, 这些描述在这儿将被忽略。' 图1是本发明变异关键词的提取方法的流程图。图中,本发明的变异关键 策的提取方法包括(1)、对分词后文本,首先对其进行噪音字符去除处理,可以通过在区位 码中汉字与特殊字符,即噪音字符所占位置的不同来处理,01-09区为682个特 殊字符,16 87区为汉字区,包含6763个汉字,通过判断它们的区位码很容易将01-09区内特殊字符去除掉,从而去除分词后文本中的非汉字噪音符号,然后 进行下一步;如果没有噪音字符,则直接进行下一步;(2) 、对于常规关键词,即没有变异处理过的关键词或去除噪音字符的噪 音字符的变异关键词,则建立关键词库,将分词后文本直接或去除噪音字符后 送到关键词库屮进行匹配,如果匹配成功,则提取,否则,进行下一步,看是 否是拼音替换、谐音替换的变异关键词;(3) 、拼音替换、谐音替换的变异关键词,则建立一个拼音文件,将分词 后文本中拼音相同的汉字和拼音转换成对应的整数,从而将其从字符串转换为 文木整数串;将步骤(1)中的关键词库中的所有关键词通过拼音文件也转换关键词整数串;比较文本整数串和关键词整数串,如果相同,则提取,否则,进 行下一步;比如对于关键词"一劳永逸",经过这样的拼音的变换后,字符串被 转换成了一个整数串"81 182 56 81"。在本步骤中,完成了字符串级别的模糊匹 配到类串级别的精确匹配的变换,这样就可以借助经典的WM算法进行多模式 的精确匹配;(4) 、对汉字进行形近字分组,建立一个形近字库;将分词后文本的每一 个汉字与关键词库中的关键词的毎一个汉字根据该形近词库的汉字分组进行匹 配,如果分词后文本的每一个汉字与关键词库中的关键词的每一个汉字属于同 "组,则提取,否则,不是关键词。图2是本发明形近字库建立的一种具体实施方式
流程图。 在本实施例屮,对于两个汉字,即汉字A和汉字B,首先分别计算两个汉 字A和B的笔段总数TotalA、 Tota旧,如果两个汉字的笔段总数相差大于某一 数量,则认为两个汉字不是形近字,在本实施例中,数量为取3,效果最好,即 不会将不太形近的字判断为形近字,也不会将形近字判断为非形近字,造成形 近字替换的变异关键词不能提取出来。如果,如果两个汉字的笔段总数相差小于或等于上述某一数量,例如上述 最佳数量3,则进行如下处理,取笔段总数较少的汉字,在本实施例中设为汉字 A作为基准,其笔段总数为MinTotal,对此汉字的所有笔段进行如下处理如 果使用点阵图像表示每一个汉字,且相邻像素点的距离为单位像素距;对于每 一个笔段,计算它与汉字B中同种类型笔段的最小距离,把计算得到的最小距离累加得到累加距离TotalDistance,如果TotalDistance/MinTotal大于某一值,则 认为不是形近字,否则为形近字。在24X24的字符点阵图像中,累加距离 TotalDistance/MinTotal大于0.5像素距,则认为不是形近字,否则,为形近字。 在本实施例中,对于一级和二级汉字共6768个,依次用上述歩骤进行归类, 如果还没有和当前字形近的组,则重新建立一个新组。共构建了 3900多个组, 但是很多组只有一个汉字,这样的组没有实际的意义,只保留了含有二个汉字 (含二个)以上的组,共600多组。构建形近字库后,在以后判断二个字是否 为形近字,只需简单的査询这二个汉字在形近字库中是否在同一个组即可。为得到汉字的笔段总数以及一个汉字每一个笔段与另一个汉字同种类型笔 段最小距离,我们需要得到汉字每一笔段像素点的集合。在本实施例中,我们 采用以下方法首先读取标准字库文件,得到一个NXN的字符点阵图像,二值图像表示, 设P(i, j)表示图像中第i行第j列上的像素,则P (i, j)可表不为根据上述定义,分别提取汉字横、竖、撇、捺笔段像素点的集合,具体歩骤如下1、横笔段的提取(a) 、设集合S为NXN字符点阵所有P (x, y) =1的像素点组成的字符集 合,如果字符集合S不为空,则在字符集合S中按从左到右,从上到下的顺序 找到-个像素点,然后从该点出发沿(^角方向在NXN字符点阵中扫描,被扫 描的点构成扫描集合T;(b) 、将扫描集合T从字符集合S中去掉;(c) 、计算扫描集合T的点数,如果大于一个最小值,则为横笔段,该扫描 集合为横笔段像素点集合,存储该横笔段像素点集合;(d) 、如果字符集合S不为空转向步骤(a),否则,进行下歩;(e) 、对歩骤(a)、 (b)、 (c)得到的任意两个扫描集合Tl、 T2,如果一个扫描 集合中的像素点与另一个扫描集合中的像素点的最小距离Distance (Tl, T2) 小于等于1个像素点,则合并这两个集合Tl, T2,把合并后的扫描集合T=Combine (Tl, T2)作为新的横笔段像素点的集合,这样,最后得到的像素 点的扫描集合便是汉字所有横笔段像素点的集合。2、 竖笔段的提取竖笔段的提取与横笔段的提取方法是一致的,只是扫描方向变为90°,为了 便于理解,详细步骤描述如下(a)、设集合S为NXN字符点阵所有P (x, y) =1的像素点组成的字符集 合,如果字符集合S不为空,则在字符集合S中按从上到下,从左到右的顺序 找到个像素点,然后从该点出发沿90。角方向在NXN字符点阵中扫描,被扫 描的点构成扫描集合T;(b) 、将扫描集合T从字符集合S中去掉;(c) 、计算集合T的点数,如果大于一个最小值,则为竖笔段,该扫描集合 为竖笔段像素点集合,存储该竖笔段像素点集合;(d) 、如果字符集合S不为空转向步骤(a),否则,进行下一步;(e) 、对步骤(a)、 (b)、 (c)得到的任意两个扫描集合Tl、 T2,如果一个扫描 集合中的像素点与另一个扫描集合中的像素点的最小距离Distance (Tl, T2) 小于等于1个像素点,则合并这两个集合Tl, T2,把合并后的扫描集合 T=C0mbine (Tl, T2)作为新的竖笔段像素点的集合,这样,最后得到的像素 点的扫描集合便是汉字所有竖笔段像素点的集合。3、 撇笔段的提取(a) 、设集合S为NXN字符点阵所有P (x, y) =1的像素点组成的字符集 合,且集合中所有属于横笔段的像素点标记为"横点",所有属于竖笔段的像素 点标记为"竖点"。如果字符集合S不为空,则在字符集合S中按从上到下,从 左到右的顺序找到一个像素点,从该点出发按90。、 180°、 135。度的方向在NX N字符点阵中扫描;如果该点被标记为"横点",则扫描方向为90"、 135°、 180°; 如果该点被标记为"竖点",则扫描方向为180°、 135°、 被扫描的点构成扫 描集合T;(b) 、将扫描集合T从字符集合S中去掉;(c) 、如果扫描集合T中除去"横点"、"竖点"后包含元素的个数大于寸最 小值,则为撇笔段,该扫描集合为撇笔段像素点集合,存储该撇笔段像素点集(d) 、如果字符集合S不为空转向步骤(a),否则,进行下一步;(e) 、对歩骤(a)、 (b)、 (c)得到的任意两个集合Tl、 T2,如果一个集合中的 像素点与另一个集合中的像素点的最小距离Distance (Tl, T2)小于等于1个 像素点或者任意一点属于集合Tl,且属于T2的邻域,或者任意一点属于集合 T2,且属于T1的邻域,则合并T1、 T2,把合并后的扫描集合T:Combine (Tl, T2)作为新撇笔段的集合,这样,最后得到的像素点的扫描集合便是汉字所有 撇笔段像素点的集合。4、捺笔段的提取捺笔段的提取与撇笔段的提取方法是一致的,只是扫描方向有90"变化,为 了便于理解,详细步骤描述如下(a) 、设集合S为NXN字符点阵所有P (x, y) =1的像素点组成的字符集 合,且集合中所有属于横笔段的像素点标记为"横点",所有属于竖笔段的像素 点标记为"竖点"。如果字符集合S不为空,则在字符集合S中按从上到下,从 左到右的顺序找到一个像素点,从该点出发按卯。、0°、 45°度的方向在点阵中扫 描;如果该点被标记为"横点",则扫描方向为卯。、45°、 0°;如果该点被标记为 "竖点",则扫描方向为O。、 45°、卯°;被扫描的点构成扫描集合T;(b) 、将扫描集合T从字符集合S中去掉;(c) 、如果扫描集合T中除去"横点"、"竖点"后包含元素的个数大于一个最小值,则为捺笔段,存储该集合T;(d) 、如果字符集合S不为空转向步骤(a),否则,进行下一歩;(e) 、对歩骤(a)、 (b)、 (c)得到的任意两个扫描集合Tl、 T2,如果一个扫描 集合中的像素点与另个扫描集合中的像素点的最小距离Distance (Tl, T2) 小于等于1个像素点或者任意一点属于扫描集合Tl,且属于扫描机和T2的邻 域,或者任意一点属于扫描集合T2,且属于扫描机和Tl的邻域,则合并扫描 集合T1、 T2,把合并后的扫描集合T二Combine (Tl, T2)作为新捺笔段的集合, 这样,最后得到的像素点的扫描集合便是汉字所有捺笔段像素点的集合。至此,汉字的整个笔段提取结束,得到一个汉字的横、竖、撇、捺笔段的 所有笔段的像素点集合。根据这些笔段像素点集合,可以汉字的笔段总数以及一个汉字每一个笔段与另一个汉字同种类型笔段最小距离,从而判断出两个汉 字是否是形近字,由此建立汉字的形近字库。尽管上面对本发明说明性的具体实施方式
进行了描述,以便于本技术领的 技术人员理解本发明,但应该清楚,本发明不限于具体实施方式
的范围,对本 技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的 本发明的精神和范围内,这些变化时显而易见的, 一切利用本发明构思的发明 创造均在保护之列。
权利要求
1、一种变异关键词的提取方法,其特征在于,包括以下步骤(1)、如果分词后文本中有非汉字噪音符号,则将分词后文本中的01-09区内的特殊字符去掉,从而去除分词后文本中的非汉字噪音符号,然后进行下一步,否则,直接进行下一步;(2)、建立关键词库,将分词后文本送到关键词库中进行匹配,如果匹配成功,则提取,否则,进行下一步;(3)、建立一个拼音文件,将分词后文本中拼音相同的汉字和拼音转换成对应的整数,从而将其从字符串转换为文本整数串;将步骤(1)中的关键词库中的所有关键词通过拼音文件也转换关键词整数串;比较文本整数串和关键词整数串,如果相同,则提取,否则,进行下一步;(4)、对汉字进行形近字分组,建立一个形近字库;将分词后文本的每一个汉字与关键词库中的关键词的每一个汉字根据该形近词库的汉字分组进行匹配,如果分词后文本的每一个汉字与关键词库中的关键词的每一个汉字属于同一组,则提取,否则,不是关键词。
2、 根据权利要求1所述的变异关键词的提取方法,其特征在于,步骤(4) 所述的建立一个形近字库,其步骤为首先分别计算两个汉字和的笔段总数,如果两个汉字的笔段总数相差大于 某一数量,则认为两个汉字不是形近字;如果,如果两个汉字的笔段总数相差小于或等于上述某一数量,则进行如 下处理,取笔段总数较少的汉字的每一个笔段,计算它与另一汉字中同种类型 笔段的最小距离,把计算得到的最小距离累加,如果累加距离除以笔段总数较 少汉字的笔段数大于某一值,则认为不是形近字,否则为形近字;将所有汉字按上述步骤进行比较归类分组,得到形近字库。
3、 根据权利要求2所述的变异关键词的提取方法,其特征在于所述的某 一数量是3。
4、 根据权利要求2所述的变异关键词的提取方法,其特征在于所述的笔 段为横、竖、撇、捺,汉字的笔段总数以及一个汉字每一个笔段与另一个汉字 同种类型笔段最小距离通过它们的像素点集合得到。
5、 根据权利要求4所述的变异关键词的提取方法,其特征在于所述的横笔段像素点集合通过以下步骤获得(a) 、如果汉字的字符集合不为空,则在字符集合中按从左到右,从上到下 的顺序找到一个像素点,然后从该点出发沿0°角方向在字符点阵中扫描,被扫 描的点构成扫描集合;(b) 、将扫描集合从字符集合中去掉;(C)、计算扫描集合的点数,如果大于一个最小值,则为横笔段,该扫描集 合为横笔段像素点集合,存储该横笔段像素点集合;(d) 、如果字符集合不为空转向步骤(a),否则,进行下一步;(e) 、对步骤(a)、 (b)、 (c)得到的任意两个扫描集合,如果一个集合中的像素 点与另一个集合中的像素点的最小距离小于等于1个像素点,则合并该两个扫 描集合,把合并后的扫描集合作为新的横笔段像素点的集合,这样,最后得到 的像素点的集合便是汉字所有横笔段像素点的集合。
6、 根据权利要求4所述的变异关键词的提取方法,其特征在于所述的竖 笔段像素点集合通过以下歩骤获得(a) 、如果汉字的字符集合不为空,则在字符集合中按从上到下,从左到右 的顺序找到一个像素点,然后从该点出发沿90。角方向在字符点阵中扫描,被扫 描的点构成扫描集合;(b) 、将扫描集合从字符集合中去掉;(c) 、计算扫描集合的点数,如果大于一个最小值,则为竖笔段,该扫描集 合为竖笔段像素点集合,存储该竖笔段像素点集合;(d) 、如果字符集合S不为空转向歩骤(a),否则,进行下一歩;(e) 、对步骤(a)、 (b)、 (c)得到的任意两个扫描集合,如果一个集合中的像素 点与另一个集合中的像素点的最小距离小于等于1个像素点,则合并该两个扫 描集合,把合并后的扫描集合作为新的竖笔段像素点的集合,这样,最后得到 的像素点的集合便是汉字所有竖笔段像素点的集合。
7、 根据权利要求4所述的变异关键词的提取方法,其特征在于所述的撇笔段像素点集合通过以下步骤获得(a)、在字符集合中所有属于横笔段的像素点标记为"横点",所有属于竖笔 段的像素点标记为"竖点"。如果字符集合不为空,则在字符集合中按从上到下, 从左到右的顺序找到一个像素点,从该点出发按卯°、 180°、 135。度的方向在字符点阵中扫描;如果该点被标记为"横点",则扫描方向为90°、 135°、 180°;如果该点被标记为"竖点",则扫描方向为180°、 135°、 90°;被扫描的点构成扫描隹厶.朱□;(b)、将扫描集合从字符集合中去掉;(c)、如果扫描集合中除去"横点"、"竖点"后包含元素的个数大于一 个最小值, 则为撇笔段,该扫描集合为撇笔段像素点集合,存储该撇笔段像素点集合;(d) 、如果字符集合不为空转向步骤(a),否则,进行下一步;(e) 、对步骤(a)、 (b)、 (c)得到的任意两个集合,如果一个集合中的像素点与另一个集合中的像素点的最小距离小于等于1个像素点或者任意一点属于一个 集合,且属于另一个集合的邻域,则合并该两个扫描集合,把合并后的扫描集 合作为新撇笔段的集合,这样,最后得到的像素点的集合便是汉字所有撇笔段 像素点的集合。
8、根据权利要求4所述的变异关键词的提取方法,其特征在于所述的捺 笔段像素点集合通过以下步骤获得(a) 、在字符集合中所有属于横笔段的像素点标记为"横点",所有属于竖笔段的像素点标记为"竖点"。如果字符集合不为空,则在字符集合中按从上到下,从左到右的顺序找到一个像素点,从该点出发按90°、 180°、 135°度的方向在字 符点阵中扫描;如果该点被标记为"横点",则扫描方向为90°、 135°、 180°;如果该点被标记为"竖点",则扫描方向为180°、 135°、 90°;被扫描的点构成扫描隹a.(b) 、将扫描集合从字符集合中去掉;(c)、如果扫描集合巾除去"横点"、"竖点"后包含元素的个数大于一个最小值, 则为捺笔段,该扫描集合为捺笔段像素点集合,存储该捺笔段像素点集合;(d) 、如果字符集合不为空转向步骤(a),否则,进行下一步;(e) 、对步骤(a)、 (b)、 (c)得到的任意两个集合,如果一个集合中的像素点与另一个集合中的像素点的最小距离小于等于1个像素点或者任意一点属于一个 集合,且属于另一个集合的邻域,则合并该两个扫描集合,把合并后的扫描集 合作为新捺笔段的集合,这样,最后得到的像素点的集合便是汉字所有捺笔段 像素点的集合。
全文摘要
本发明公开了一种变异关键词的提取方法,通过字符区位将噪音字符去除,提取出噪音字符的变异关键词;通过拼音文件将分词后文本和关键词转换为文本整数串,然后提取拼音替换、谐音替换的变异关键词;通过建立形近字库,比较分词后文本的每个汉字与关键词库中的关键词的每个汉字是否为同一组形近字,提取形近字替换的变异关键词,这样实行了变异关键词的正常提取。
文档编号G06F17/27GK101324883SQ20081004571
公开日2008年12月17日 申请日期2008年7月31日 优先权日2008年7月31日
发明者彦 傅, 娜 关, 伟 史, 周俊临, 尚明生, 王全礼, 陈安龙 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1