面向互联网的有意义串的提取方法及装置的制作方法

文档序号:6602861阅读:183来源:国知局
专利名称:面向互联网的有意义串的提取方法及装置的制作方法
技术领域
本发明涉及的是一种利用计算机技术辅助网络信息智能分析或舆情管理的技术, 具体的讲是从海量的互联网网页和论坛信息中快速准确高效的提取有意义串的方法和系 统。
背景技术
文本表示是基于内容的文本处理的首要步骤。文本表示中的特征项是影响文本分 类和聚类结果的重要因素。目前常用的文本特征项主要有字,词,短语,语义等。从理论上 讲,语义概念(语义集)高于短语(句法集),短语高于词(词语集),词高于字(字符集)。 通常语义概念可以借助于语义词典(同义词,近义词词典等)或进行潜在语义索引获取。然 而大规模、覆盖面广的语义资源较难获取,潜在语义索引的算法复杂度很高,从而限制了语 义概念在文本表示中的使用。目前最常用的文本表示模型是向量空间模型,向量空间模型 以词作为特征。以词作为特征的缺点在于它只简单地考虑一个词是否在文档中出现及其 出现频度,把特征看作是独立存在的,而完全忽略了文本上下文间的语义关系,也没有考虑 特征之间的先后次序。有意义串是具有独立语义,紧密耦合,具有广泛流通性的完整的语言 单元。有意义串实际上就是以短语为特征,以短语为特征的文本表示优于以词做特征的文 本表示。目前对有意义串的分析的研究主要有两大方向,串内分析和串外分析。串内分析 是通过分析本串的结构特征以及组成方式,来判断串是否满足有意义串的要求。目前常用 的串内分析方法主要是通过简单互信息,位置成词概率,相邻字对的耦合性来判断。简单互 信息[1]比较了一个模式串及其部分子串的频度,它可以衡量模式串各部分之间的相关度。 当从该模式串所取的子串的长度过短时,由于统计较短子串的频次没有意义,此时简单互 信息的作用也失效了。位置成词概率[2]表示某个汉字在某个位置(词首或词尾)出现的 概率。由于汉字用法比较丰富以及不规则新词的不断出现,不能完全采用某个汉字的位置 乘此概率来筛选模式串。在切分好的训练语料中扫描所有出现过的连续子对,统计出每组 字对出现的总次数以及该字对作为某个词子串的总次数,后者与前者的比称作相邻字对的 耦合度[3]。如果耦合对比较大,表明该字对很可能出现在一个串中。当选取的词对为偶然 组合的无意义词对时,该字对作为某个词子串的总次数出现次数会很少,计算耦合度会过 滤掉一些实义的串。串外分析是分析紧邻串的上下文的信息,以判断串的语义环境是否丰富。目前常 用的串外分析主要是通过邻接类别,熵值,邻接对熵概念来判断。邻接类别[4]是串上文和 下文中出现的不同字符数量的最大值。邻接类别只考虑字符串左边和右边的不同字符的种 类数量,而没有考虑每个种类的字符出现的频次。熵值[1][2][3]可以反映出该串语用环境的 丰富程度,度量一个串的独立性,但是当串出现的频次整体都不多时效果不太明显,而且熵 值计算没有考虑上下文的组合关系。串的上文和下文的组合称为邻接对。邻接对熵[3]是 对邻接对求熵值。如果邻接类别,熵值,邻接对熵都比较大,则一个串很有可能成为一个有意乂串。概括而言,已有的有意义串提取算法存在以下缺点1)串内分析中采用互信息作 为特征不能很好的筛选双字串,对于双字串来说,去掉首字和去尾字的串实际上是单字串, 计算单字出现的频次没有意义;2)串内分析和串外分析都没有考虑串和串之间的差异性, 提取的有意义串中会有很多串表征的内容相似,造成许多有意义串的语义相似和冗余。与本发明相关的公开报道主要包括[1]胡吉祥.基于频繁模式的消息文本聚类研究[D].中科院研究生院硕士学位论 文.2006.44-46 ;[2]贺敏.面向互联网的中文有意义串挖掘[D].中国科学院计算技术研究所硕士 论文 2007 ;[3] 200710120755. 5,一种面向互联网的有意义串的挖掘方法和系统;[4] haodi feng. Accessor Variety Criteria for Chinese Word Extraction[J]. Computational Linguistics,30(1),2004。

发明内容
本发明的目的在于提供一种能够有效的提取新闻网页和论坛上的有意义串,并可 以应用于舆情监管系统中的面向互联网的有意义串的提取方法。本发明的目的还在于提供 一种面向互联网的有意义串的提取装置。本发明的目的是这样实现的本发明的面向互联网的有意义串的提取方法包括下列步骤步骤1 提取重复字符串;步骤2 通过串内分析过滤所述字符串;步骤3 通过串外分析过滤所述字符串;步骤4 通过串间分析过滤所述字符串。本发明的面向互联网的有意义串的提取方法还可以包括1、步骤1中所述提取重复字符串包括将网页语料处理得到规则化的文本,记录 文本中出现的重复串以及其出现的次数,过滤掉频次低于阈值的重复串和串长低于阈值的 重复串;具体步骤为步骤1. 1去除网页标签,将网页预处理得到规则化的文本格式,并把文本编码格 式转化成GB2312格式的编码;步骤1. 2根据GB2312编码格式,将汉字,英文,数字符号分别转化成其ID表示,并 将其他符号用空格的ASCII码代替;步骤1.3提取该文本的重复串,记录文本中出现的重复串和重复串的次数,过滤 出现次数小于一定阈值的重复串;步骤1.4如果提取的重复串中有空格,则以空格为分隔符把重复串拆成子串。步骤二中所述对字符串进行串内分析包括如果该串不是双字串,计算字符串的 互信息,判断互信息是否达到设定的阈值,根据判断结果过滤掉没有达到阈值的文本串;如 果该串是双字串,根据训练得到的双字串统计表和白名单以及双字串分词后的结果对双字 串进行过滤;具体步骤为
步骤2. 1对训练语料进行训练,生成双字串词性统计表,双字串白名单;步骤2. 2如果字符串的长度大于2,转入步骤2. 3,否则转入步骤2. 5 ;步骤2. 3计算每个重复串的互信息,如果互信息达到阈值,则转入步骤3 ;步骤2. 4如果互信息没有达到阈值,则将该串过滤掉;步骤2. 5如果该串在双字串白名单里,则转入步骤3 ;步骤2. 6对该串用分词程序进行分词;步骤2. 7如果分词后的词性组合在双字串词性统计表里,则转入步骤3 ;步骤2. 8如果分词后的词性组合不在双字串词性统计表里,则过滤此串。步骤3中所述对字符串进行串外分析包括计算字符串的熵值,判断熵值是否达 到设定的阈值,根据判断结果过滤掉没有达到阈值的文本串;具体步骤为步骤3. 1计算字符串的熵值,判断熵值是否达到设定的阈值;步骤3. 2如果达到阈值,转入步骤4 ;步骤3. 3如果熵值未达到阈值,则将其过滤掉。步骤4中所述对字符串进行串间分析包括对所有字符串进行排序,计算排序后 的相邻两串之间的重合率,并根据串和串之间的组成关系,把重合率大于阈值的邻串对划 分成若干种类型,并分别对每种类型进行分析,并过滤掉不符合要求的字符串,进而得到有 意义串;具体步骤为步骤4. 1对所有字符串进行排序,计算排序后每一对相邻串的重合率;步骤4. 2如果重合率大于阈值,根据相邻两串之间的组合关系,将每一对相邻串 划分到其所属的类型;如果重合率小于阈值,则不统计该相邻串的类型;步骤4. 3如果该相邻串属于A-AB型数据,计算A串和AB串的频率比值;根据频率 比值的大小来确定如何对A串,AB串处理; 步骤4. 4如果连续两个相邻串属于A-AB-ABC型数据,根据A串,AB串,ABC串的频 次的组合关系来确定如何对A串,AB串,ABC串进行处理;步骤4. 5如果连续两个相邻串属于A-AB-AC型数据,根据A串,AB串,AC串的频次 的组合关系来确定如何对A串,AB串,AC串进行处理;步骤4. 6如果该相邻串属于最长公共子串仅为1的类型,则过滤掉相邻串中长度 较小的字符串,保留长度较长的字符串。本发明的面向互联网的有意义串的提取装置包括依次串接的重复串发现模块、串 内分析模块、串外分析模块和串间分析模块;重复串发现模块,用于将网页语料预处理得到规则化的文本,记录文本中出现的 重复串以及其出现的次数,过滤掉频次低于阈值的重复串和长度低于阈值的重复串;串内分析模块,用于对字符串进行串内分析,判断串的长度,如果该串的长度大于 2,计算字符串的互信息,判断互信息是否达到设定的阈值,根据判断结果过滤掉没有达到 阈值的文本串;如果该串是双字串,利用训练得到的双字串统计表和白名单,根据双字串分 词后的结果对双字串进行过滤;串外分析模块,用于对字符串进行串外分析,计算字符串的熵值,判断熵值是否达 到设定的阈值,根据判断结果过滤掉没有达到阈值的字符串。串间分析模块,用于对字符串进行串间分析,对所有字符串进行排序,计算排序后的相邻两串之间的重合率,并根据串和串之间的组成关系,把重合率大于阈值的邻串对划 分为若干种类型,并分别对每种类型进行分析,过滤掉不满足要求的字符串,进而得到有意义串。所述重合率,是根据两串的最长公共子串和最长公共子序列计算得到,反映两个 串之间重合程度大小的一个特征量。所述重复串发现算法可以使用N元递增分步算法,以及后缀索引算法(包括后缀 树算法,后缀数组算法)等。本系统采用后缀数组算法。本发明的有益效果是本发明的面向互联网的有意义串的提取方法和系统,从互 联网中下载网页数据,然后经过重复串发现,串内分析,串外分析和串间分析等四个阶段达 到提取出互联网的有意义串的目的。本发明在重复串发现阶段采用将标点符号和特殊符号 换成分隔符号(空格),能够很好的限制串的范围,使有意义串不跨标点,句子,段落,提高 了重复串的准确性。串内分析可以使串内部更加稳固和完整,互信息处理双字串时需要计 算单字出现频率,单个汉字的出现频率很随机并且单字不能完整的概括出双字串的语义, 而利用对双字串训练后的双字串词性统计表和白名单处理双字串有很好的效果。串外分析 是为了使串能用于比较丰富的语用环境,更具用独立性。串间分析通过对串和串之间差异 性比较,使串具有更好的语义独立性,减少串之间的相似程度,并能够减少特征串的数量。 本发明可广泛应用于网络舆情管理、互联网智能信息处理等应用领域。


图1是本发明的面向互联网的有意义串的提取方法过程示意图;图2是本发明的面向互联网的的串内分析过程流程图;图3是本发明的面向互联网的的串间分析过程流程图;图4是本发明表面向互联网的有意义串的提取装置示意图。
具体实施例方式为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明的一种面向互联网的有意义串的提取方法和系统进行进一步详细说明。本发明将在互联网存在的海量网页中提取出有意义串。有意义串是具有独立语 义,紧密耦合,具有广泛流通性的完整的语言单元。本发明提取的有意义串可以作为文本表 示模型的特征表示,应用于互联网海量数据的聚类和分类中。本发明将有意义串挖掘方法过程分为重复串发现,串内分析,串外分析,串间分析 等四个阶段,整个过程如图1所示,包括以下步骤步骤S1,在重复串发现阶段,将网页语料预处理得到规则化的文本,记录文本中出 现的重复串以及其出现的次数,过滤掉频次低于阈值的重复串和串长低于阈值的重复串。步骤S2,在串内分析阶段,判断串的长度,如果该串的长度大于2,计算字符串的 互信息,判断互信息是否达到设定的阈值,根据判断结果过滤掉没有达到阈值的字符串。如 果该串是双字串,利用训练得到的双字串词性统计表和白名单,根据双字串分词后的结果 对双字串进行过滤。步骤S3,在串外分析阶段,计算字符串的熵值,判断熵值是否达到设定的阈值,根据判断结果过滤掉没有达到阈值的文本串。步骤S4,在串间分析阶段,对所有字符串进行排序,计算排序后的相邻两串之间的 重合率,并根据串和串之间的组成关系,把重合率大于阈值的邻串对划分为若干种类型,并 分别对每种类型进行分析,过滤掉不满足要求的字符串,进而得到有意义串。本发明主要使用了两个标准来衡量。首先,本发明在串内分析中,对长度大于2的 串计算互信息,如果互信息值小于阈值,则删除该串。对于双字串,首先判断该串是否在双 字串白名单里,如果在的话直接对该串进行串外分析。如果双字串不出现在白名单里,判断 双字串分词后的词性组合是否在双字串词性统计表中,如果不在的话过滤该串,否则对该 串进行串外分析。其次,本发明引入了串间分析,以减少串之间的相异程度。计算排序后的相邻两 串之间的重合率,根据串和串之间的组成关系把重合率大于阈值的邻串对划分成若干种类 型,并分别对每种类型进行分析,过滤掉不满足要求的字符串。下面详细说明步骤S1中,将网页语料处理得到规则化的文本,记录文本中出现的 重复串以及其出现的次数,过滤掉频次低于阈值的重复串和串长低于阈值的重复串的过程。本发明利用网络爬虫以增量方式采集互联网上的数据,并将下载到的网页抽取正 文并格式化成纯文本文件。然后将文本转化成GB2312编码,根据GB2312编码规则将文本 中的汉字,数字,英文转化成其对应的ASCII码值,将其他符号转化成空格的ASCII码,空格 主要起到了分隔符的作用。采用ASCII码代替字符编码可以有效的避免所提取的串中含有 半个汉字的问题,并能有效缩短提取重复串的时间。目前比较成熟的提取重复串的方法有基于产生式文法的Sequitur算法,N元递 增分步算法,以及后缀索引算法(包括后缀树和后缀数组)等等。后缀数组是一种全文索 引结构,利用后缀数组计算语料中所有子串的集合频度和文档频度的算法的时间复杂度为 O(NlogN),空间复杂度为0(N),N为文本的长度。本发明实例采用的后缀数组算法。后缀数 组能在0(n)时间内建立。在提取完重复串之后,要将重复串中的空格去掉,以空格为分隔符号将重复串拆 成两个子重复串,直至所有重复串都不含有空格为止。去掉重复串中的空格的作用是保证 提取的重复串不会跨标点、句子、段落,提高了重复串的语义完整性。互信息是衡量重复串内部各组成部分之间的相关度。如果互信息比较高,则重复 串与其单独左右部分子串相比更可能成为有意义串,否则删除该串。互信息是通过计算而 得到。计算互信息的公式如下给定字符串S = cic2. . . cn,其中Ci(l≤i≤n)为汉字、 英文或数字,MI (S)为S串的互信息。MI(S)={f(s)}/[f(sl) + f(sr)-f(s)}其中f(sl)为去掉首字的S串的频次,f(sr)为去掉尾字的S串的频次,f(s)为S 串的频次。如图2所示,双字串词性统计表和双字串白名单是通过训练语料训练得到的,训 练过程需要在人工的帮助下来训练数据。双字串进行分词的结果只有两种情况。第一种情况是对该双字串用分词程序只分出一个词性出来,即该串为一个双字词。观察满足这种词 性的所有双字串是否有实际的语义,如果实义串的数目与满足该类所有串的数目的比值超 过阈值的话,则将这种词性加入到双字串词性统计表中。第二种情况是该双字串用分词程 序分成两个词性,即两个单字词,观察满足这种词性的所有双字串是否有实际的语义,如果 实义串的数目与满足该类所有串的数目的比值超过阈值的话,则将其词性加入到双字串词 性统计表中。 对于第二种情况,如果实义串的数目与该种词性组合的串的总数目的比值没有超 过阈值的话,我们不将该类词性组合加入到双字串词性统计表中。不过满足这类词性组合 的双字串中也会有部分串具有实际语义,为了避免去掉这些实义双字串造成的有意义串特 征提取不完全,所以可以把这些实义双字串加入到双字串白名单里。双字串白名单可以事 先过滤那些有实在意义但其分词后的词性组合却不满足双字串词性分析表的双字串。对双 字串进行串内分析时候首先要用双字串白名单过滤双字串,如果双字串在白名单中,则直 接对该串进行串外分析。如果不在白名单中,再对其进行串内分析步骤中后续的分析。表1给出了双字串词性统计表的部分内容及其注释
双字串词 注释
性统计表分词结果第一个词性第二个词性双字串举例
内容
ng1个词性ng (名语素)无鞑虏
nr1个词性nr (人名)无布什
ns1个词性ns (地名)无中国
V1个词性v (动词)无监督
vn1个词性vn (名动词)无管理
mng2个词性m (数词)ng(名语素)二舅
ngng2个词性ng(名语素)ng(名语素)木骨(地名)
nrnr2个词性nr (人名)nr (人名)汤唯
vn2个词性v (动词)n (名词)借钱
无论用分词程序将双字串分成一个词性还是两个词性,只要训练I
者词性组合中大部分是完整的实义串,则将该词性或者词性组合加入到双字串词性统计表 中。对双字串进行的串内分析可以摒弃很多无意义的特征,提高特征的准确率。而且 还能极大地减少特征数目。通过实验验证,加入双字串串内分析可以使有意义串的特征减 少了 89. 1%。下面详细描述步骤S3中,计算字符串的熵值,判断熵值是否达到设定的阈值,根 据判断结果过滤掉没有达到阈值的文本串的过程。熵值主要是反映字符串的独立性,熵值越大说明该串越能够在多种语言环境中使 用。串外分析利用熵值来判别是否对字符串进行筛选。计算熵值的公式为EL代表串的熵值。令文本T的子串R共出现F次,其左邻接 集合L = IA,C2……CJ,C,出现频次为fi(l彡i彡n),贝丨J R的左邻接熵如以下公式计算。
10 同理可计算右邻接熵,左邻接熵和右邻接熵的算术平均值为串的熵值。由于当串处在句子首部时,上文为空,无法计算左邻接熵,此&为该串处在句首的 次数。同理当串处在句子尾部时,下文为空,无法计算右邻接熵,此时此时fi为该串处在句 尾的次数。下面详细描述步骤S4中,对所有字符串进行排序,计算排序后的相邻两串之间的 重合率,并根据串和串之间的组成关系,把重合率大于阈值的邻串对划分成若干种类型,并 分别对每种类型进行分析,过滤掉不满足要求的字符串,进而得到有意义串的过程。为了判断两个串的相似程度,本发明定义了重合率的概念。重合率能够度量两个 串的重合程度的大小。当重合率大于阈值时,则两串相似。该阈值取值要大于0.5。重合率 的计算公式如下设字符串a,字符串b的长度分别为lengthl,length2。两串的最长公共子序列的 长度为si,两串的最长重复子串的长度为s2,设两串的重合率记为C (a, b),则重合率公式
如下

图3所示,将所有字符串排序,计算排序后两两相邻串的重合率。根据相邻串的 组合形式,只将那些重合率大于阈值的两两相邻串归入到以下5种类型中,A-AB型相邻串, A-AB-AC型相邻串,A-AB-ABC型相邻串,最长公共子串为1的相邻串及其他类型。如果相邻 串的重合率大于阈值,则说明相邻的两串之间相似程度比较大。下面分别对各种类型的数 据进行分析来筛选修剪字符串,以减少字符串的语义冗余和字符串的相似程度。对于A-AB型数据,本发明引入频率比值来反映两个串语用环境丰富程度上的差 异程度。我们利用频率比值来对A-AB型数据进行筛选和修剪。设A串的频次为f(A),AB 串的频次为f (AB),则频率比值的公式如下
A-ab型有意义_雜值
串的频次f(AB)计算A-AB型相邻串的频率比值,然后判断频率满足以下哪种情况。S11)如果该频率比值大于大阈值,则说明A串出现的频次远远高于AB串出现的频 次,AB串为小概率出现的串。一般来说,小概率出现的串在全文中的作用不太突出,内容可 以忽略,而且A串在语义上能对AB串语义的丢失有一定的弥补,因此这种情况可以把AB串 过滤掉。S12)如果该频率比值小于小阈值,则说明A串后面紧接着B串的频次的概率远远 大于A串后面不紧接着B串的概率,也就是说AB串有很大的概率作为一个整体出现,因此 这种情况把A串过滤掉。S13)如果该频率比值介于小阈值和大阈值之间,则说明A串后面接B串以及A串 后面不接B串的概率差不多,A串和AB串都具有比较完整的语义,因此这种情况两串都保甶。对于A-AB-AC型数据,本发明通过A串,AB串,AC串的频次来对字符串进行筛选和 修剪。设A串的频次为f(A),AB串的频次为f(AB),AC串的频次为f(AC)。对该类型数据 的处理一共有以下四种情况。
f(AB) + f(AC)S21)如果~^的值大于重合阈值,说明AB串加上AC串出现的总次数
和A串出现的总次数差不多,这时用AB串和AC串在语义上可以很好的代替A串。因此这 种情况下我们将A串过滤掉。S22)如果^^^^的值小于重合阈值,并且AB串(或AC串)的频次小于
最小阈值,即AB串(或AC串)出现的次数比较少。出现次数少的串大都是临时组合,AB串 (或AC串)通常并不作为一个整体出现。因此这种情况下把AB或AC修剪成B或C。S23)如果的值小于重合阈值,并且AB和AC的频次小于最小阈值,
这种情况下则把AB和AC修剪成B和C。 f(AB) + /(AC)S24)如果^勺值小于重合阈值,并且的频次都大于最小阈
值,即AB串和AC串都频繁出现,两串有很大的概率作为一个整体存在,这种情况下不修剪 AB串和AC串。对A-AB-AC型数据进行串间分析,既能够减少特征的数目又可以修剪部分冗余串 成为语义更加完整的有意义串。将AB串修剪成B串,也就是说删除有意义串集合中的AB 串,并在有意义串集合中增加B串。当然如果B串事先已经出现在有意义串集合中,此时就 不用增加B串;否则向有意义串集合中添加B串,并将AB串的频次作为B串的频次。对于A-AB-ABC型数据,设A串的频次为f (A),AB串的频次为f (AB),ABC串的频次
为f(ABC)。本来发明通过主要根据^^,二、'f(AB)和f(ABC)四个参数来对该类
所有字符串进行筛选和修剪。对于该类数据,根据以下规则处理A串和AB串,再根据相同 规则处理AB串和ABC串,将两种处理结果结合起来就可得到对A-AB-ABC型数据的处理结^ o对于A-AB-ABC型数据中的A串和AB型的处理规则如下1)如果f(A)远远高于f(AB)串,这种情况将AB串过滤掉。2)如果f (A)接近f (AB),这种情况将A串过滤掉。3)如果f (AB)小于最小阈值,这种情况把AB串修剪成B串。4)如果f(AB)大于最小阈值,这种情况A串和AB串都保留。对A-AB-ABC型数据处理的最终规则如下,规则的优先级顺序是从上到下,如果满 足任一规则后则可退出,即该对相邻串处理完毕。“最终保留的串”是经过对A串,AB串, ABC串的修剪和筛选后最后形成的串。S30) f (AB)远远大于f (A),最终保留的串为A串。 S31) f (AB)接近f(A), f (ABC)小于f (AB),最终保留的串为ABC串。
S32) f (AB)接近f (A),f (ABC)接近f (AB),最终保留的串为AB串。S33)f(AB)接近f(A),f(ABC)小于最小阈值,最终保留的串为AB串和C串。S34)f(AB)接近f(A),f(ABC)大于最小阈值,最终保留的串为AB串。S35)f(AB)小于最小阈值,最终保留的串为A串,B串和C串。S36)f(AB)大于最小阈值,f(ABC)小于f (AB),最终保留的串为A串和ABC串。S37)f(AB)大于最小阈值,f(ABC)接近f(AB),最终保留的串为A串和AB串。S38)f(AB)大于最小阈值,f(ABC)小于最小阈值,最终保留的串为A,AB和C串。S39)f(AB)大于最小阈值,f (ABC)大于最小阈值,最终保留的串为A,AB和ABC串。对A-AB-ABC类型的数据进行串间分析,可以极大的减少特征串的数目,并且使特 征串和特征串之间的相似程度有所减小,而保留的特征串在语义上完全可以概括原有的特 征串。对于相邻串的最长公共子串为1类型的数据来说,只有相邻串的重合率大于阈值 才有可能将相邻串划分到该类。既然相邻串的重合率大于阈值,则两串的最长公共子序列 必定大于2。通过实验数据观察,两串的语义上比较相似,如下表所示。对于这种类型的数 据,可将两串合并成1个串,只保留长度较长的串,而删除掉长度较短的串。最后将两串频 次的总和作为该长度较长的串的频次。表2给出了最长公共子串为1的相邻串类型部分数据的处理结果 通过实验验证,满足该类型的数据通常情况下一个特征串是另一个特征串的缩写 形式,两者在语义上比较相似。对该类型数据进行串间分析,可以增加特征的强度,减少语 义漂移,使特征具有更好的代表性;而且也能够减少特征的数目,起到降维的作用。以上过程提到的阈值都是经过不断调整阈值并观察实验效果训练得到。经过这一系列步骤,还没有被过滤掉的特征串确定为有意义串。将这些有意义串 和有意义串的频次输出,过程结束。为了验证本发明的有效性,我们搭建了典型应用环境。实验采用AMD 0PTER0N 2G 的曙光服务器,操作系统为2. 6. 16. 19内核的Linux企业版。利用舆情系统收集到的来自新浪,中华网,网易,腾讯等六大论坛和各个新闻网页收集到的1万多网页,作为测试数据 的原始网页的一部分。经过格式化文本最终的大小为12. 3MB。本发明的有意义串的挖掘方 法在这些新闻网页上提取有意义串的正确率可以达到85.3%。与所属面向互联网的有意义串的提取方法相对应,本发明还提供了一种面向互联 网的有意义串的提取系统,如图4所示,其包括重复串发现模块,用于将网页语料预处理得到规则化的文本,记录文本中出现的 重复串以及其出现的次数,过滤掉频次低于阈值的重复串和串长低于阈值的重复串。串内分析模块,用于对字符串进行串内分析,判断字符串的长度,如果该串不是双 字串,则计算字符串的互信息,判断互信息是否达到设定的阈值,根据判断结果过滤掉没有 达到阈值的文本串;如果该串是双字串,利用训练得到的双字串词性统计表和白名单,根据 双字串分词后的结果对双字串进行过滤。串外分析模块,用于对字符串进行串外分析,计算字符串的熵值,判断熵值是否达 到设定的阈值,根据判断结果过滤掉没有达到阈值的字符串。串间分析模块,用于对字符串进行串间分析,对所有字符串进行排序,计算排序后 的相邻两串之间的重合率,并根据串和串之间的组成关系,把重合率大于阈值的邻串对划 分为若干类型,并分别对每种类型进行分析,过滤掉不满足要求的字符串,进而得到有意义
串o本发明的面向互联网的有意义串的提取系统,采用与面向互联网的有意义串的提 取方法相同的过程工作,因此,在本发明实施例中,不再对该系统进行重复描述。
1权利要求
一种面向互联网的有意义串的提取方法,其特征是包括下列步骤步骤1提取重复字符串;步骤2通过串内分析过滤所述字符串;步骤3通过串外分析过滤所述字符串;步骤4通过串间分析过滤所述字符串。
2.根据权利要求1所述的面向互联网的有意义串的提取方法,其特征是所述提取重复 字符串包括将网页语料处理得到规则化的文本,记录文本中出现的重复串以及其出现的 次数,过滤掉频次低于阈值的重复串和串长低于阈值的重复串;具体步骤为步骤1. 1去除网页标签,将网页预处理得到规则化的文本格式,并把文本编码格式转 化成GB2312格式的编码;步骤1. 2根据GB2312编码格式,将汉字,英文,数字符号分别转化成其ID表示,并将其 他符号用空格的ASCII码代替;步骤1.3提取该文本的重复串,记录文本中出现的重复串和重复串的次数,过滤出现 次数小于一定阈值的重复串;步骤1.4如果提取的重复串中有空格,则以空格为分隔符把重复串拆成子串。
3.根据权利要求1或2所述的面向互联网的有意义串的提取方法,其特征是所述对字 符串进行串内分析包括如果该串不是双字串,计算字符串的互信息,判断互信息是否达到 设定的阈值,根据判断结果过滤掉没有达到阈值的文本串;如果该串是双字串,根据训练得 到的双字串统计表和白名单以及双字串分词后的结果对双字串进行过滤;具体步骤为步骤2. 1对训练语料进行训练,生成双字串词性统计表,双字串白名单; 步骤2. 2如果字符串的长度大于2,转入步骤2. 3,否则转入步骤2. 5 ; 步骤2. 3计算每个重复串的互信息,如果互信息达到阈值,则转入步骤3 ; 步骤2. 4如果互信息没有达到阈值,则将该串过滤掉; 步骤2. 5如果该串在双字串白名单里,则转入步骤3 ; 步骤2. 6对该串用分词程序进行分词;步骤2. 7如果分词后的词性组合在双字串词性统计表里,则转入步骤3 ; 步骤2. 8如果分词后的词性组合不在双字串词性统计表里,则过滤此串。
4.根据权利要求1或2所述的面向互联网的有意义串的提取方法,其特征是所述对字 符串进行串外分析包括计算字符串的熵值,判断熵值是否达到设定的阈值,根据判断结果 过滤掉没有达到阈值的文本串;具体步骤为步骤3. 1计算字符串的熵值,判断熵值是否达到设定的阈值;步骤3. 2如果达到阈值,转入步骤4 ;步骤3. 3如果熵值未达到阈值,则将其过滤掉。
5.根据权利要求6所述的面向互联网的有意义串的提取方法,其特征是所述对字符串 进行串外分析包括计算字符串的熵值,判断熵值是否达到设定的阈值,根据判断结果过滤 掉没有达到阈值的文本串;具体步骤为步骤3. 1计算字符串的熵值,判断熵值是否达到设定的阈值;步骤3. 2如果达到阈值,转入步骤4 ;步骤3. 3如果熵值未达到阈值,则将其过滤掉。
6.根据权利要求1或2所述的面向互联网的有意义串的提取方法,其特征是所述对字 符串进行串间分析包括对所有字符串进行排序,计算排序后的相邻两串之间的重合率,并 根据串和串之间的组成关系,把重合率大于阈值的邻串对划分成若干种类型,并分别对每 种类型进行分析,并过滤掉不符合要求的字符串,进而得到有意义串;具体步骤为步骤4. 1对所有字符串进行排序,计算排序后每一对相邻串的重合率; 步骤4. 2如果重合率大于阈值,根据相邻两串之间的组合关系,将每一对相邻串划分 到其所属的类型;如果重合率小于阈值,则不统计该相邻串的类型;步骤4. 3如果该相邻串属于A-AB型数据,计算A串和AB串的频率比值;根据频率比值 的大小来确定如何对A串,AB串处理;步骤4. 4如果连续两个相邻串属于A-AB-ABC型数据,根据A串,AB串,ABC串的频次的 组合关系来确定如何对A串,AB串,ABC串进行处理;步骤4. 5如果连续两个相邻串属于A-AB-AC型数据,根据A串,AB串,AC串的频次的组 合关系来确定如何对A串,AB串,AC串进行处理;步骤4. 6如果该相邻串属于最长公共子串仅为1的类型,则过滤掉相邻串中长度较小 的字符串,保留长度较长的字符串。
7.根据权利要求3所述的面向互联网的有意义串的提取方法,其特征是所述对字符串 进行串间分析包括对所有字符串进行排序,计算排序后的相邻两串之间的重合率,并根据 串和串之间的组成关系,把重合率大于阈值的邻串对划分成若干种类型,并分别对每种类 型进行分析,并过滤掉不符合要求的字符串,进而得到有意义串;具体步骤为步骤4. 1对所有字符串进行排序,计算排序后每一对相邻串的重合率; 步骤4. 2如果重合率大于阈值,根据相邻两串之间的组合关系,将每一对相邻串划分 到其所属的类型;如果重合率小于阈值,则不统计该相邻串的类型;步骤4. 3如果该相邻串属于A-AB型数据,计算A串和AB串的频率比值;根据频率比值 的大小来确定如何对A串,AB串处理;步骤4. 4如果连续两个相邻串属于A-AB-ABC型数据,根据A串,AB串,ABC串的频次的 组合关系来确定如何对A串,AB串,ABC串进行处理;步骤4. 5如果连续两个相邻串属于A-AB-AC型数据,根据A串,AB串,AC串的频次的组 合关系来确定如何对A串,AB串,AC串进行处理;步骤4. 6如果该相邻串属于最长公共子串仅为1的类型,则过滤掉相邻串中长度较小 的字符串,保留长度较长的字符串。
8.根据权利要求4所述的面向互联网的有意义串的提取方法,其特征是所述对字符串 进行串间分析包括对所有字符串进行排序,计算排序后的相邻两串之间的重合率,并根据 串和串之间的组成关系,把重合率大于阈值的邻串对划分成若干种类型,并分别对每种类 型进行分析,并过滤掉不符合要求的字符串,进而得到有意义串;具体步骤为步骤4. 1对所有字符串进行排序,计算排序后每一对相邻串的重合率; 步骤4. 2如果重合率大于阈值,根据相邻两串之间的组合关系,将每一对相邻串划分 到其所属的类型;如果重合率小于阈值,则不统计该相邻串的类型;步骤4. 3如果该相邻串属于A-AB型数据,计算A串和AB串的频率比值;根据频率比值 的大小来确定如何对A串,AB串处理;步骤4. 4如果连续两个相邻串属于A-AB-ABC型数据,根据A串,AB串,ABC串的频次的 组合关系来确定如何对A串,AB串,ABC串进行处理;步骤4. 5如果连续两个相邻串属于A-AB-AC型数据,根据A串,AB串,AC串的频次的组 合关系来确定如何对A串,AB串,AC串进行处理;步骤4. 6如果该相邻串属于最长公共子串仅为1的类型,则过滤掉相邻串中长度较小 的字符串,保留长度较长的字符串。
9.根据权利要求5所述的面向互联网的有意义串的提取方法,其特征是所述对字符串 进行串间分析包括对所有字符串进行排序,计算排序后的相邻两串之间的重合率,并根据 串和串之间的组成关系,把重合率大于阈值的邻串对划分成若干种类型,并分别对每种类 型进行分析,并过滤掉不符合要求的字符串,进而得到有意义串;具体步骤为步骤4. 1对所有字符串进行排序,计算排序后每一对相邻串的重合率; 步骤4. 2如果重合率大于阈值,根据相邻两串之间的组合关系,将每一对相邻串划分 到其所属的类型;如果重合率小于阈值,则不统计该相邻串的类型;步骤4. 3如果该相邻串属于A-AB型数据,计算A串和AB串的频率比值;根据频率比值 的大小来确定如何对A串,AB串处理;步骤4. 4如果连续两个相邻串属于A-AB-ABC型数据,根据A串,AB串,ABC串的频次的 组合关系来确定如何对A串,AB串,ABC串进行处理;步骤4. 5如果连续两个相邻串属于A-AB-AC型数据,根据A串,AB串,AC串的频次的组 合关系来确定如何对A串,AB串,AC串进行处理;步骤4. 6如果该相邻串属于最长公共子串仅为1的类型,则过滤掉相邻串中长度较小 的字符串,保留长度较长的字符串。
10.一种面向互联网的有意义串的提取装置,其特征是包括依次串接的重复串发现模 块、串内分析模块、串外分析模块和串间分析模块;重复串发现模块,用于将网页语料预处理得到规则化的文本,记录文本中出现的重复 串以及其出现的次数,过滤掉频次低于阈值的重复串和长度低于阈值的重复串;串内分析模块,用于对字符串进行串内分析,判断串的长度,如果该串的长度大于2,计 算字符串的互信息,判断互信息是否达到设定的阈值,根据判断结果过滤掉没有达到阈值 的文本串;如果该串是双字串,利用训练得到的双字串统计表和白名单,根据双字串分词后 的结果对双字串进行过滤;串外分析模块,用于对字符串进行串外分析,计算字符串的熵值,判断熵值是否达到设 定的阈值,根据判断结果过滤掉没有达到阈值的字符串。串间分析模块,用于对字符串进行串间分析,对所有字符串进行排序,计算排序后的 相邻两串之间的重合率,并根据串和串之间的组成关系,把重合率大于阈值的邻串对划分 为若干种类型,并分别对每种类型进行分析,过滤掉不满足要求的字符串,进而得到有意义 串o
全文摘要
本发明提供的是一种面向互联网的有意义串的提取方法及装置。提取方法包括提取重复字符串,通过串内分析过滤所述字符串,通过串外分析过滤所述字符串,通过串间分析过滤所述字符串步骤;提取装置包括依次串接的重复串发现模块、串内分析模块、串外分析模块和串间分析模块。本发明能够有效的提取新闻网页和论坛上的有意义串。本发明可广泛应用于网络舆情管理、互联网智能信息处理等应用领域。
文档编号G06F17/30GK101853284SQ20101017968
公开日2010年10月6日 申请日期2010年5月24日 优先权日2010年5月24日
发明者杨武, 王巍, 苘大鹏, 董红臣 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1