一种基于改进FP-Growth算法的微博类短文本的新词发现方法技术

技术编号:18525863 阅读:26 留言:0更新日期:2018-07-25 12:43
本发明专利技术公开一种基于改进的FP‑Growth算法的微博类短文本的新词发现方法,包括:获取文本语料,利用jieba进行分词、词性标注等预处理;通过优化的FP‑Growth算法获得频繁项集词集,并对每个频繁项有序化;利用N‑grams模型获取重复串,并与频繁项集取交集;通过词性过滤,过滤掉一些在构词结构上不常用的词性;利用改进的互信息,滑动迭代计算互信息来过滤新词;利用词性组合规则库再进行一次过滤;验证该方法获取新词的有效性。

【技术实现步骤摘要】
一种基于改进FP-Growth算法的微博类短文本的新词发现方法
本专利技术属于文本信息处理领域,具体是涉及一种基于改进FP-Growth算法的微博类短文本的新词发现方法。
技术介绍
微博是目前全球范围内使用最广泛的社交平台之一,每天用户在微博上会发布大量的文本信息,这成为网络新词的主要来源之一。微博和一般文本的区别在于,微博是短文本,每个用户发布的信息不会超过140个字符,内容比较随意,形式具有多样性。所以研究微博这类短文本相对比较困难。但是海量微博文本中蕴含的知识对于舆情监测,新词发现等领域的研究具有重要的意义。目前新词发现的研究主要是基于传统文本的人名、地名、机构名等命名实体的识别,而基于微博短文本的新词发现研究相对较少,并且和传统的文本相比较,由于微博具有文本短、不规则等特点,传统的新词发现方法在微博类短文本中的效果不尽人意。FP-Growth算法通过两次扫描数据库得到数据中的频繁项集,是一种高效的获取频繁项集的算法,可以用于新词的获取,但是在微博类短文本中的应用存在缺陷。传统的FP-Growth算法在新词的发现中忽略了词性对成词的影响,为此提出一种改进的FP-Growth算法,并结合N-grams模型、改进的互信息和规则来发现新词。
技术实现思路
针对FP-Growth算法在微博类短文本的新词发现的缺陷,提出一种改进的FP-Growth算法,把词性考虑进去,不仅可以通过频繁项有效的表示成词词语之间的关联性,还可以削减词性不平衡带来的识别困难,通过结合N-grams模型的集成学习方法来提高得到的新词的准确率,同时通过词性、改进的互信息和词性组合规则库进行过滤。为实现上述目的,本专利技术采用如下的技术方案一种基于改进的FP-Growth算法的微博类短文本的新词发现方法,包括以下步骤:步骤(1)微博语料获取和预处理利用微博的API接口或采集爬虫获取微博语料,储存为HTML格式的文件。对文件进行正则匹配获取其中的文本,删除其中的URL,然后按标点符号进行断句。对得到的纯文本进行分词、词性标注,使用的是python的第三方模块jieba,得到预处理后的语料,记为G;步骤(2)利用优化的FP-Growth算法处理G,获取频繁项集Cfp步骤(2.1)处理微博语料G,构建改进FP-Growth模型,综合词频和词性两个因素,词性相对概率值的计算公式如下:其中,f(w|pos(w)=a)表示词w在词性为a时的词性相对概率值,na表示语料G中词性为a的词频数,N表示语料G中总的词频数,n(w|pos(w)=a)表示词w在词性为a时的词频数。在构建频繁项集时,选取满足条件f(w|pos(w)=a)>α1的重复串作为候选频繁项集Rfp,α1为设定的最小支持度。步骤(2.2)对得到的频繁项集Rfp进行顺序纠正。FP-Growth算法得到的频繁项中的词是无序的,因此通过和原来的语料进行顺序对比,得到有顺序的频繁项集Cfp。步骤(3)利用N-grams模型获取新词候选集Cgrams从语料中统计N个词同时出现的次数,由N-grams模型得到词语同时出现的频率P(w1,w2,w3,......wn)。选取满足条件α2<P(w1,w2,w3,......wn)<β2的N元重复串作为新词候选集Cgrams,α2,β2是共现频率阈值。步骤(4)取频繁项集Cfp和新词候选集Cgrams的交集,得到新词候选项集C1={c1,c2,…,cm},ci=(w1,w2,..wn),ci表示候选新词,wn表示构成新词的原词。优化的FP-Growth算法把词性考虑进去,不仅可以通过频繁项有效的表示成词原语之间的关联性,还可以削减词性不平衡带来的识别困难。同时通过N-grams算法获取的新词候选集Cgrams与优化的FP-Growth算法获取的频繁项集Cfp取交集的集成学习方法来提高得到的新词的准确率。步骤(5)在新词候选项集C1中,利用词性标记对其中含有过滤词性的词进行筛选,得到新词候选集C2过滤词性集合包括:按照以上词性过滤,过滤通过步骤(4)得到的新词候选集C1,得到新词候选集C2;步骤(6)利用改进的互信息对新词候选集C2进行过滤,得到新词候选集合C3。若ci=(w1,w2,..wn),ci∈C2,对每个ci利用改进的互信息滑动的进行计算,改进的互信息计算公式如下:其中,p(wi,wi+1)表示词wi和词wi+1共同出现的频数,p(wi)表示词wi的频数,wi,i+1表示词wi和邻近的词wi+1组合成词的权重,表示词wi,wi+1共现的词性组合的频数,表示词wi的词性出现的频数。在所有频繁项集中,选取满足条件I(wi,wi+1)>β3的词作为新词集合C={c1,c2,c3,......cm},每个新词都是c1=(w1,w2,w3,......wn)构成,其中β3为设定的阈值。步骤(7)通过词性组合过滤规则库R过滤候选新词集合C3,然后得到最终的新词集合C4若ci=(w1,w2,..wn),ci∈C3,对于每一个ci,对于任意的(wi,wi+1),其词性组合(pos(wi),pos(wi+1)),如果满足词性组合过滤规则库R中任意规则,则对新词ci进行过滤得到新词集合C4。词性组合规则库R由如下规则构成:过滤规则一:/ns/v(ns处可以是nr、nz);过滤规则二:/ns/ns(ns处可以是nr、nz);过滤规则三:/n/v或者/vn/v;过滤规则四:/t/t;过滤规则五:/t/nr;过滤规则六:/t/f(t处可以是vn、n、l、f);过滤规则七:/v/t;过滤规则八:/t/v;过滤规则九:/ns/j;附图说明图1一种基于改进FP-Growth算法的微博类短文本的新词发现方法的流程图;具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步的详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。根据图1所示,本专利技术提出的方法是依次按以下步骤实现的(以新浪微博为例):步骤(1)微博语料获取和预处理利用微博的API接口或采集爬虫获取微博语料,储存为HTML格式的文件,并通过正则匹配抽取其中用户发布的文本信息,然后对获取的文本信息进行繁简转换,按标点符号断句,标点符号包括:‘。’、‘,’、‘;’、‘?’、‘!’和‘:’,得到一行一句话的文本,使用目前发展较为成熟的jieba分词系统对文本进行分词和词性标注,并对分词后的语料过滤,只保留汉字、词性标记,得到语料库G。G的语料存储方式以行为单位,每一行存储一条微博文本,约50万行。步骤(2)利用改进的FP-Growth算法处理G,获取频繁项集Cfp步骤(2.1)根据公式(1)改进FP-Growth算法,其中通过参数阈值α1来获取频繁项集,参数α2=0.000000000001使得算法不仅仅考虑了频繁项集的频率,而且考虑了词性的影响,因为词性的不平衡性影响了一些新词的出现,例如:“怒/vg怼/v”,“/vg”这个词性只在语料中出现60次,如果仅仅通过频率来获取频繁项集,“怒/vg怼/v”就会被过滤掉。步骤(2.2)对通过改进的FP-Growth算法得到的频繁项集进行顺序纠正,因为FP-Growth算法得到的频繁项集是没有顺序的,所以通过和原来的语料位置对比进行纠正,得到频繁项集Cfp,Cfp本文档来自技高网...

【技术保护点】
1.一种基于改进FP‑Growth算法的微博类短文本的新词发现方法,其特征在于,包括以下步骤:步骤(1)、微博语料获取和预处理利用微博的API接口或采集爬虫获取微博语料,对文件进行正则匹配获取其中的微博正文内容,删除其中的URL,然后按标点符号进行断句,对得到的纯文本进行分词、词性标注,得到预处理后的语料,记为G;步骤(2)、利用改进的FP‑Growth算法处理语料G,获取频繁项集Cfp步骤(3)、利用N‑grams模型获取新词候选集Cgrams从语料中统计N个词同时出现的次数,由N‑grams模型得到词同时出现的频率P(w1,w2,w3,......wn)。选取满足条件α2<P(w1,w2,w3,......wn)<β2的N元重复串作为新词候选集Cgrams,α2,β2是共现频率阈值。步骤(4)、取频繁项集Cfp和新词候选集Cgrams的交集,得到新词候选项集C1={c1,c2,…,cm},ci=(w1,w2,..wn),ci表示候选新词,wj表示构成新词的原词。步骤(5)、在新词候选项集C1中,利用词性标记对其中含有过滤词性的词进行筛选,得到新词候选集C2步骤(6)、利用改进的互信息对新词候选集C2进行过滤,得到新词候选集合C3,若ci=(w1,w2,..wn),ci∈C2,对每个ci利用改进的互信息公式,对相邻的wj进行计算,改进的互信息计算公式如下:...

【技术特征摘要】
1.一种基于改进FP-Growth算法的微博类短文本的新词发现方法,其特征在于,包括以下步骤:步骤(1)、微博语料获取和预处理利用微博的API接口或采集爬虫获取微博语料,对文件进行正则匹配获取其中的微博正文内容,删除其中的URL,然后按标点符号进行断句,对得到的纯文本进行分词、词性标注,得到预处理后的语料,记为G;步骤(2)、利用改进的FP-Growth算法处理语料G,获取频繁项集Cfp步骤(3)、利用N-grams模型获取新词候选集Cgrams从语料中统计N个词同时出现的次数,由N-grams模型得到词同时出现的频率P(w1,w2,w3,......wn)。选取满足条件α2<P(w1,w2,w3,......wn)<β2的N元重复串作为新词候选集Cgrams,α2,β2是共现频率阈值。步骤(4)、取频繁项集Cfp和新词候选集Cgrams的交集,得到新词候选项集C1={c1,c2,…,cm},ci=(w1,w2,..wn),ci表示候选新词,wj表示构成新词的原词。步骤(5)、在新词候选项集C1中,利用词性标记对其中含有过滤词性的词进行筛选,得到新词候选集C2步骤(6)、利用改进的互信息对新词候选集C2进行过滤,得到新词候选集合C3,若ci=(w1,w2,..wn),ci∈C2,对每个ci利用改进的互信息公式,对相邻的wj进行计算,改进的互信息计算公式如下:其中,p(wi,wi+1)表示词wi和词wi+1共同出现的频数,p(wi)表示词wi的频数,wi,i+1表示词wi和邻近的词wi+1组合成词的权重,npos(wi,wi+1)表示词wi,wi+1共现的词性组合的频数,表示词wi的词性出现的频数;在所有频繁项集中,选取满足条件I(wi,wi+1)>β3的词作为新词集合C={c1,c2,c3,......cm},每个新词都是c1=(w1,w2,w3,......wn)构成,其中β3为设定的阈值;步骤(7)、通过词性组合过滤规则库R过滤候选新词集合C3,然后得到最终的新词集合C4,若ci=(w1,w2,..wn),ci∈C3,对于每一个ci,对于任意的(wi,wi+1),其词性组合(pos(wi),pos(wi+1)),如果满足词性组合过滤规则库R中任意规则,则...

【专利技术属性】
技术研发人员:刘磊贾亚璐孙孟涛陈浩李静
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1