CN108319584A - 一种基于改进FP-Growth算法的微博类短文本的新词发现方法 - Google Patents
一种基于改进FP-Growth算法的微博类短文本的新词发现方法 Download PDFInfo
- Publication number
- CN108319584A CN108319584A CN201810058993.6A CN201810058993A CN108319584A CN 108319584 A CN108319584 A CN 108319584A CN 201810058993 A CN201810058993 A CN 201810058993A CN 108319584 A CN108319584 A CN 108319584A
- Authority
- CN
- China
- Prior art keywords
- word
- speech
- neologisms
- filtering rule
- microblogging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种基于改进的FP‑Growth算法的微博类短文本的新词发现方法,包括:获取文本语料,利用jieba进行分词、词性标注等预处理;通过优化的FP‑Growth算法获得频繁项集词集,并对每个频繁项有序化;利用N‑grams模型获取重复串,并与频繁项集取交集;通过词性过滤,过滤掉一些在构词结构上不常用的词性;利用改进的互信息,滑动迭代计算互信息来过滤新词;利用词性组合规则库再进行一次过滤;验证该方法获取新词的有效性。
Description
技术领域
本发明属于文本信息处理领域,具体是涉及一种基于改进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={c1,c2,c3,......cm},对于里面的每一个ci,ci=(w1,w2,w3,......wn),这里了列举了部分频繁项集,如下表1所示:
表1部分频繁项集Cfp
步骤(3)利用N-grams获取新词候选集Cgrams
利用N-grams算法获取新词候选集Cgrams,Cgrams={c1,c2,c3,......cm}里面的每一个候选新词ci。其中N取值为2,ci=(w1,w2)。对于任意的ci都通过阈值α2、β2过滤得到,其中α2=10,β2=2000过滤掉出现的一些噪音数据,例如:“的/uj人/n”。这里列举了部分新词候选集Cgrams,如下表2所示:
表2部分新词候选集Cgrams
步骤(4)取频繁项集Cfp和新词候选集Cgrams的交集,得到新词候选集C1
通过取交集可以得到的部分新词候选项集如下表3所示:
表3部分新词候选项集C1
步骤(5)在新词候选项集C1中,利用词性标记对其中含有过滤词性的词进行筛选,得到新词候选集C2
过滤词性集合包括:区别词(/b)、连词(/c)、副语素(/dg)、叹词(/e)、数词(/m)、拟声词(/o)、介词(/p)、量词(/q)、代词(/r)、处所词(/s)、时语素(/tg)、助词(/u)、标点符号(/w)、非语素字(/x)、语气词(/y)、状态词(/z)。部分词性信息表如表4所示:
表4部分词性信息表
部分新词候选集C2图下表5所示:
表5部分新词候选项集C2
步骤(6)利用改进的互信息对新词候选集C2进行过滤,得到新词候选集合C3
ci=(w1,w2),ci∈C2,对每个ci利用改进的互信息进行计算,根据公式(2)计算得到新词候选集C2中每歌新词的互信息,通过阈值α3来过滤候选集,得到新词集合C3,下面给出了部分新词集合C3,如表6所示:
表6部分新词集C3
步骤(7)通过词性组合规则库R过滤候选新词集合C3,然后得到最终的新词集合C4
通过如下的规则进行过滤:
过滤规则一:形如“甘肃/ns发布/v”这样的噪声词过滤掉,结构如下:/ns/v(ns处可以是nr、nz);
过滤规则二:形如“江西/ns赣州/ns”这样的噪声词过滤掉,结构如下:/ns/ns(ns处可以是nr、nz);
过滤规则三:形如“原因/n是/v”这样的噪声词过滤掉,结构如下:/n/v或者/vn/v;
过滤规则四:形如“明日/t除夕/t”这样的噪声词过滤掉,结构如下:/t/t;
过滤规则五:形如“明日/t立春/nr”这样的噪声词过滤掉,结构如下:/t/nr;
过滤规则六:形如“清明节/t期间/f”这样的噪声词过滤掉,结构如下:/t/f(t出还可以是vn、n、l、f);
过滤规则七:形如“截至/v今日/t”这样的噪声词过滤掉,结构如下:/v/t;
过滤规则八:形如“现在/t看来/v”这样的噪声词过滤掉,结构如下:/t/v;
过滤规则九:形如“天津/ns交警/j”这样的噪声词过滤掉,结构如下:/ns/j;
通过规则过滤得到的部分新词如下表7所示:
表7部分新词候选项集C4
步骤(8)新词识别效果分析
计算算法识别的新词的准确率,计算准确率见公式(4):
其中,p表示模型的准确率,tp表示识别出的正确的新词数量,fp错误识别的新词的数量。
通过计算得到改进的FP-growth算法在微博类短文本新词上识别上的准确为:69%。本算法比一般的FP-growth算法和N-grams模型的效果要好,一般的新词发现算的准确率都在57%左右。而且和角色标注模型相比,本发明不需要前期的大量人工标注。
Claims (3)
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中任意规则,则去除新词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。
2.如权利要求1所述的基于改进FP-Growth算法的微博类短文本的新词发现方法,其特征在于,步骤(2)具体包括:
步骤(2.1)处理微博语料G,综合词频和词性两个因素,构建改进的FP-Growth模型,词性相对概率值的计算公式如下:
其中,f(w|pos(w)=a)表示词w在词性为a时的词性相对概率值,na表示词性为a的语料G中词的词频数,N表示语料G中总的词频数,n(w|pos(w)=a)表示词w在词性为a时的词频数;
在构建频繁项集时,选取满足条件f(w|pos(w)=a)>α1的重复串作为候选频繁项集Rfp,α1为设定的最小支持度;
步骤(2.2)对得到的频繁项集Rfp进行顺序纠正,通过和原来的语料进行顺序对比,得到有顺序的频繁项集Cfp。
3.如权利要求2所述的基于改进FP-Growth算法的微博类短文本的新词发现方法,其特征在于,步骤(2)中过滤词性集合包括:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810058993.6A CN108319584A (zh) | 2018-01-22 | 2018-01-22 | 一种基于改进FP-Growth算法的微博类短文本的新词发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810058993.6A CN108319584A (zh) | 2018-01-22 | 2018-01-22 | 一种基于改进FP-Growth算法的微博类短文本的新词发现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108319584A true CN108319584A (zh) | 2018-07-24 |
Family
ID=62887532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810058993.6A Withdrawn CN108319584A (zh) | 2018-01-22 | 2018-01-22 | 一种基于改进FP-Growth算法的微博类短文本的新词发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108319584A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109543021A (zh) * | 2018-11-29 | 2019-03-29 | 北京光年无限科技有限公司 | 一种面向智能机器人的故事数据处理方法及*** |
CN110532548A (zh) * | 2019-08-12 | 2019-12-03 | 上海大学 | 一种基于FP-Growth算法的上下位关系抽取方法 |
CN110874408A (zh) * | 2018-08-29 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 模型训练方法、文本识别方法、装置及计算设备 |
CN111339403A (zh) * | 2020-02-11 | 2020-06-26 | 安徽理工大学 | 一种基于商品评论新词提取方法 |
-
2018
- 2018-01-22 CN CN201810058993.6A patent/CN108319584A/zh not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874408A (zh) * | 2018-08-29 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 模型训练方法、文本识别方法、装置及计算设备 |
CN110874408B (zh) * | 2018-08-29 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 模型训练方法、文本识别方法、装置及计算设备 |
CN109543021A (zh) * | 2018-11-29 | 2019-03-29 | 北京光年无限科技有限公司 | 一种面向智能机器人的故事数据处理方法及*** |
CN109543021B (zh) * | 2018-11-29 | 2022-03-18 | 北京光年无限科技有限公司 | 一种面向智能机器人的故事数据处理方法及*** |
CN110532548A (zh) * | 2019-08-12 | 2019-12-03 | 上海大学 | 一种基于FP-Growth算法的上下位关系抽取方法 |
CN111339403A (zh) * | 2020-02-11 | 2020-06-26 | 安徽理工大学 | 一种基于商品评论新词提取方法 |
CN111339403B (zh) * | 2020-02-11 | 2022-08-02 | 安徽理工大学 | 一种基于商品评论新词提取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268160B (zh) | 一种基于领域词典和语义角色的评价对象抽取方法 | |
CN107180025B (zh) | 一种新词的识别方法及装置 | |
CN106897559B (zh) | 一种面向多数据源的症状体征类实体识别方法及装置 | |
CN108509425A (zh) | 一种基于新颖度的中文新词发现方法 | |
CN108319584A (zh) | 一种基于改进FP-Growth算法的微博类短文本的新词发现方法 | |
CN109829159A (zh) | 一种古汉语文本的一体化自动词法分析方法及*** | |
CN109543178A (zh) | 一种司法文本标签体系构建方法及*** | |
CN105988990A (zh) | 用于汉语中的零指代消解的装置和方法以及模型训练方法 | |
CN105630884B (zh) | 一种微博热点事件的地理位置发现方法 | |
CN107688630B (zh) | 一种基于语义的弱监督微博多情感词典扩充方法 | |
CN106294744A (zh) | 兴趣识别方法及*** | |
CN110457711B (zh) | 一种基于主题词的社交媒体事件主题识别方法 | |
CN104778256A (zh) | 一种领域问答***咨询的快速可增量聚类方法 | |
CN108776653A (zh) | 一种基于PageRank和信息熵的裁判文书的文本分词方法 | |
CN107357785A (zh) | 主题特征词抽取方法及***、情感极性判断方法及*** | |
CN110674296B (zh) | 一种基于关键词的资讯摘要提取方法及*** | |
CN106168954A (zh) | 一种基于编辑距离的负面信息模式模糊匹配方法 | |
CN107577668A (zh) | 基于语义的社交媒体非规范词纠正方法 | |
CN107943786A (zh) | 一种中文命名实体识别方法及*** | |
CN113033185B (zh) | 标准文本纠错方法、装置、电子设备和存储介质 | |
CN110941720A (zh) | 一种基于知识库的特定人员信息纠错方法 | |
CN106980620A (zh) | 一种对中文字串进行匹配的方法及装置 | |
CN110119443A (zh) | 一种面向推荐服务的情感分析方法 | |
CN105488098A (zh) | 一种基于领域差异性的新词提取方法 | |
CN109614493A (zh) | 一种基于监督词向量的文本缩写识别方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180724 |