首页> 中国专利> 面向互联网的有意义串的提取方法及装置

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

摘要

本发明提供的是一种面向互联网的有意义串的提取方法及装置。提取方法包括提取重复字符串,通过串内分析过滤所述字符串,通过串外分析过滤所述字符串,通过串间分析过滤所述字符串步骤;提取装置包括依次串接的重复串发现模块、串内分析模块、串外分析模块和串间分析模块。本发明能够有效的提取新闻网页和论坛上的有意义串。本发明可广泛应用于网络舆情管理、互联网智能信息处理等应用领域。

著录项

  • 公开/公告号CN101853284A

    专利类型发明专利

  • 公开/公告日2010-10-06

    原文格式PDF

  • 申请/专利权人 哈尔滨工程大学;

    申请/专利号CN201010179684.8

  • 发明设计人 王巍;杨武;苘大鹏;董红臣;

    申请日2010-05-24

  • 分类号G06F17/30(20060101);

  • 代理机构

  • 代理人

  • 地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室

  • 入库时间 2023-12-18 01:00:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-08

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20120201 终止日期:20170524 申请日:20100524

    专利权的终止

  • 2012-02-01

    授权

    授权

  • 2010-11-24

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20100524

    实质审查的生效

  • 2010-10-06

    公开

    公开

说明书

技术领域

本发明涉及的是一种利用计算机技术辅助网络信息智能分析或舆情管理的技术,具体的讲是从海量的互联网网页和论坛信息中快速准确高效的提取有意义串的方法和系统。

背景技术

文本表示是基于内容的文本处理的首要步骤。文本表示中的特征项是影响文本分类和聚类结果的重要因素。目前常用的文本特征项主要有字,词,短语,语义等。从理论上讲,语义概念(语义集)高于短语(句法集),短语高于词(词语集),词高于字(字符集)。通常语义概念可以借助于语义词典(同义词,近义词词典等)或进行潜在语义索引获取。然而大规模、覆盖面广的语义资源较难获取,潜在语义索引的算法复杂度很高,从而限制了语义概念在文本表示中的使用。目前最常用的文本表示模型是向量空间模型,向量空间模型以词作为特征。以词作为特征的缺点在于:它只简单地考虑一个词是否在文档中出现及其出现频度,把特征看作是独立存在的,而完全忽略了文本上下文间的语义关系,也没有考虑特征之间的先后次序。有意义串是具有独立语义,紧密耦合,具有广泛流通性的完整的语言单元。有意义串实际上就是以短语为特征,以短语为特征的文本表示优于以词做特征的文本表示。

目前对有意义串的分析的研究主要有两大方向,串内分析和串外分析。串内分析是通过分析本串的结构特征以及组成方式,来判断串是否满足有意义串的要求。目前常用的串内分析方法主要是通过简单互信息,位置成词概率,相邻字对的耦合性来判断。简单互信息[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),空间复杂度为O(N),N为文本的长度。本发明实例采用的后缀数组算法。后缀数组能在O(n)时间内建立。

在提取完重复串之后,要将重复串中的空格去掉,以空格为分隔符号将重复串拆成两个子重复串,直至所有重复串都不含有空格为止。去掉重复串中的空格的作用是保证提取的重复串不会跨标点、句子、段落,提高了重复串的语义完整性。

互信息是衡量重复串内部各组成部分之间的相关度。如果互信息比较高,则重复串与其单独左右部分子串相比更可能成为有意义串,否则删除该串。互信息是通过计算而得到。

计算互信息的公式如下:给定字符串S=c1c2...cn,其中ci(1≤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给出了双字串词性统计表的部分内容及其注释

双字串词         注释

性统计表  分词结果  第一个词性  第二个词性  双字串举例

内容

ng        1个词性   ng(名语素)  无          鞑虏

nr        1个词性   nr(人名)    无          布什

ns        1个词性   ns(地名)    无          中国

v         1个词性   v(动词)     无          监督

vn        1个词性   vn(名动词)  无          管理

mng    2个词性    m(数词)    ng(名语素)    二舅

ngng   2个词性    ng(名语素) ng(名语素)    木骨(地名)

nrnr   2个词性    nr(人名)   nr(人名)      汤唯

vn     2个词性    v(动词)    n(名词)       借钱

无论用分词程序将双字串分成一个词性还是两个词性,只要训练数据中该词性或者词性组合中大部分是完整的实义串,则将该词性或者词性组合加入到双字串词性统计表中。

对双字串进行的串内分析可以摒弃很多无意义的特征,提高特征的准确率。而且还能极大地减少特征数目。通过实验验证,加入双字串串内分析可以使有意义串的特征减少了89.1%。

下面详细描述步骤S3中,计算字符串的熵值,判断熵值是否达到设定的阈值,根据判断结果过滤掉没有达到阈值的文本串的过程。

熵值主要是反映字符串的独立性,熵值越大说明该串越能够在多种语言环境中使用。串外分析利用熵值来判别是否对字符串进行筛选。

计算熵值的公式为:EL代表串的熵值。令文本T的子串R共出现F次,其左邻接集合L={C1,C2……Cn},Ci出现频次为fi(1≤i≤n),则R的左邻接熵如以下公式计算。

EL=-Σi=1n(fiFlogfiF)

同理可计算右邻接熵,左邻接熵和右邻接熵的算术平均值为串的熵值。

由于当串处在句子首部时,上文为空,无法计算左邻接熵,此fi为该串处在句首的次数。同理当串处在句子尾部时,下文为空,无法计算右邻接熵,此时此时fi为该串处在句尾的次数。

下面详细描述步骤S4中,对所有字符串进行排序,计算排序后的相邻两串之间的重合率,并根据串和串之间的组成关系,把重合率大于阈值的邻串对划分成若干种类型,并分别对每种类型进行分析,过滤掉不满足要求的字符串,进而得到有意义串的过程。

为了判断两个串的相似程度,本发明定义了重合率的概念。重合率能够度量两个串的重合程度的大小。当重合率大于阈值时,则两串相似。该阈值取值要大于0.5。重合率的计算公式如下:

设字符串a,字符串b的长度分别为length1,length2。两串的最长公共子序列的长度为s1,两串的最长重复子串的长度为s2,设两串的重合率记为C(a,b),则重合率公式如下

C(a,b)=12*(12(s1length1+s1length2)+12(s2length1+s2length2))=s1+s24(1length1+1length2)

图3所示,将所有字符串排序,计算排序后两两相邻串的重合率。根据相邻串的组合形式,只将那些重合率大于阈值的两两相邻串归入到以下5种类型中,A-AB型相邻串,A-AB-AC型相邻串,A-AB-ABC型相邻串,最长公共子串为1的相邻串及其他类型。如果相邻串的重合率大于阈值,则说明相邻的两串之间相似程度比较大。下面分别对各种类型的数据进行分析来筛选修剪字符串,以减少字符串的语义冗余和字符串的相似程度。

对于A-AB型数据,本发明引入频率比值来反映两个串语用环境丰富程度上的差异程度。我们利用频率比值来对A-AB型数据进行筛选和修剪。设A串的频次为f(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)。对该类型数据的处理一共有以下四种情况。

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。

S24)如果的值小于重合阈值,并且AB和AC的频次都大于最小阈值,即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型数据的处理结果。

对于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的相邻串类型部分数据的处理结果

  第一个串  第二个串  重合率  处理结果  登上月球  登月  0.56  登上月球  日本与美国  日美  0.53  日本与美国  航空母舰  航母  0.56  航空母舰  蒙古人民  蒙人  0.56  蒙古人民  两舰  两艘扫雷  舰  0.53  两艘扫雷舰  此次事件  此事  0.56  此次事件

通过实验验证,满足该类型的数据通常情况下一个特征串是另一个特征串的缩写形式,两者在语义上比较相似。对该类型数据进行串间分析,可以增加特征的强度,减少语义漂移,使特征具有更好的代表性;而且也能够减少特征的数目,起到降维的作用。

以上过程提到的阈值都是经过不断调整阈值并观察实验效果训练得到。

经过这一系列步骤,还没有被过滤掉的特征串确定为有意义串。将这些有意义串和有意义串的频次输出,过程结束。

为了验证本发明的有效性,我们搭建了典型应用环境。实验采用AMD OPTERON 2G的曙光服务器,操作系统为2.6.16.19内核的Linux企业版。利用舆情系统收集到的来自新浪,中华网,网易,腾讯等六大论坛和各个新闻网页收集到的1万多网页,作为测试数据的原始网页的一部分。经过格式化文本最终的大小为12.3MB。本发明的有意义串的挖掘方法在这些新闻网页上提取有意义串的正确率可以达到85.3%。

与所属面向互联网的有意义串的提取方法相对应,本发明还提供了一种面向互联网的有意义串的提取系统,如图4所示,其包括:

重复串发现模块,用于将网页语料预处理得到规则化的文本,记录文本中出现的重复串以及其出现的次数,过滤掉频次低于阈值的重复串和串长低于阈值的重复串。

串内分析模块,用于对字符串进行串内分析,判断字符串的长度,如果该串不是双字串,则计算字符串的互信息,判断互信息是否达到设定的阈值,根据判断结果过滤掉没有达到阈值的文本串;如果该串是双字串,利用训练得到的双字串词性统计表和白名单,根据双字串分词后的结果对双字串进行过滤。

串外分析模块,用于对字符串进行串外分析,计算字符串的熵值,判断熵值是否达到设定的阈值,根据判断结果过滤掉没有达到阈值的字符串。

串间分析模块,用于对字符串进行串间分析,对所有字符串进行排序,计算排序后的相邻两串之间的重合率,并根据串和串之间的组成关系,把重合率大于阈值的邻串对划分为若干类型,并分别对每种类型进行分析,过滤掉不满足要求的字符串,进而得到有意义串。

本发明的面向互联网的有意义串的提取系统,采用与面向互联网的有意义串的提取方法相同的过程工作,因此,在本发明实施例中,不再对该系统进行重复描述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号