[发明专利]一种基于短文本扩展和概念漂移检测的短文本数据流分类方法有效
申请号: | 201710994366.9 | 申请日: | 2017-10-23 |
公开(公告)号: | CN107679228B | 公开(公告)日: | 2019-09-10 |
发明(设计)人: | 胡学钢;王海燕;李培培 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | G06F16/35 | 分类号: | G06F16/35;G06F16/31;G06F16/33 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
地址: | 230009 安*** | 国省代码: | 安徽;34 |
权利要求书: | 暂无信息 | 说明书: | 暂无信息 |
摘要: | 本发明公开了一种基于主题模型和概念漂移检测的短文本数据流分类方法,包括:1从知识库中获取外部语料库构建LDA主题模型;2根据滑动窗口机制将短文本数据流划分成数据块,并用LDA主题模型扩展数据块中的短文本得到扩展后的数据流;3在扩展后的短文本数据流中对每个数据块构建online BTM主题模型,并获得每个短文本的主题表示;4选择Q个主题表示的数据块构建一个分类器,用于预测新到来数据块的类标签;5根据类标签分布将Q个主题表示的数据块划分成类别簇,计算类别簇与新到来数据块的语义距离以判断是否发生概念漂移;6根据概念漂移情况,更新分类器。本发明可用于类标签分布不断变化的短文本数据流分类问题。 | ||
搜索关键词: | 短文本 数据块 漂移 主题模型 数据流分类 数据流 标签 分类器 类别簇 构建 知识库 扩展数据块 语料库构建 滑动窗口 语义距离 检测 可用 并用 更新 外部 预测 | ||
【主权项】:
1.一种基于主题模型和概念漂移检测的短文本数据流分类方法,其特征是按照如下步骤进行:步骤1:根据短文本数据流的类标签分布提取关键词,并从知识库中获取外部语料库C',进而根据所述外部语料库C'构建LDA主题模型M:步骤1.1:给定一组短文本数据流D={d1,d2,…,dm,…,d|D|},m=1,2,…,|D|,|D|表示所述短文本数据流D的短文本总数,dm表示第m个短文本,并有dm={Wm,ym},Wm与ym分别表示所述短文本数据流D中第m个短文本dm的单词集合与类标签,且满足ym∈Y,Y表示一组类标签集合,记为Y={y1,y2,…,yx,…,yX},x=1,2,…,X,yx表示所述类标签集合Y的第x个类标签,X表示所述类标签集合Y的类标签个数;步骤1.2:根据所述短文本数据流D的类标签分布,将所述短文本数据流D划分成X个数据块集合DY={W1,W2,…,Wx,…,WX},Wx表示所述数据块集合DY中第x个类标签yx的短文本中所有单词的词集;统计所述数据块集合DY中第x个类标签yx的短文本中所有单词的词集Wx的词频,并进行降序排序,从而选择前κ个单词Tx={wx,1,wx,2,…,wx,κ}作为所述类标签集合Y的第x个类标签yx爬取的关键词,进而获得所述类标签集合Y中所有类标签爬取的关键词,并记为T={T1,T2,…,Tx,…,TX};步骤1.3:根据所述关键词集T={T1,T2,…,Tx,…,TX}从知识库中爬取数据,获得原始语料库C,删除所述原始语料库C中重复的网页,并删除HTML标签和HTML链接、移除停止词,从而得到外部语料库C';步骤1.4:设置主题总数为K且每个主题下的词集大小为M.L,并根据所述外部语料库C'构建LDA主题模型M,令M.w(k)表示所述LDA主题模型M中的第k个主题下的词集,k=1,2,…,K;步骤2:根据滑动窗口机制将所述短文本数据流D重新划分成数据块,并对数据块中每个短文本利用所述LDA主题模型M推断主题分布,再根据所述主题分布扩展每个短文本,从而获得扩展后的短文本数据流:步骤2.1:根据滑动窗口机制将所述短文本数据流D划分成N个数据块,记为DC={D1,D2,…,Di,Di+1…,DN},其中Di与Di+1分别表示所述短文本数据流D中第i个和第i+1个数据块,并有![]()
和
分别表示所述第i个数据块Di中的第j个短文本以及所述第i+1个数据块Di+1中的第h个短文本,并有
h=1,2,…,|Di+1|,
和
分别表示所述第i个数据块Di的第j个短文本的词集以及所述第i+1个数据块Di+1的第h个短文本的词集,
和
分别表示所述第i个数据块Di中第j个短文本的类标签以及所述第i+1个数据块Di+1中第h个短文本的类标签,且满足
步骤2.2:根据所述LDA主题模型M,对所述第i个数据块Di进行推断,得到文档‑主题分布记为![]()
表示所述第i个数据块Di中第j个短文本
主题的分布,并有![]()
表示所述第i个数据块Di中第j个短文本
的第k个主题的概率;步骤2.3:令A={a1,a2,…,av‑1,av,…,a|A|}表示一组浮点数集合,其中av‑1和av分别表示所述浮点数集A中第v‑1个浮点数和第v个浮点数,且均为常数,v=1,2,…,|A|,|A|表示所述浮点数集A的总个数;令F={f1,f2,…,fv‑1,…,f|A|‑1}表示一组整数集合,fv‑1表示所述整数集F中第v‑1个整数,且均为常数;步骤2.4:判断所述第i个数据块Di中第j个短文本
的主题分布
中第个k主题概率
是否属于区间(av‑1,av],若属于,则将所述LDA主题模型M中第k个主题下词集大小为M.L的词集M.w(k)重复fv‑1次添加到所述第i个数据块Di的第j个短文本
中,否则进行下一个主题概率判断;从而对所述第i个数据块Di中第j个短文本
的主题分布
中所有主题进行判断,并获得所述第i个数据块Di的第j个短文本
扩展后的短文本
并有
步骤2.5:将j+1赋值给j,并返回步骤2.4,直到j=|Di|为止,从而获得所述第i个数据块Di扩展后的数据块
步骤2.6:同理获得所述第i+1个数据块Di+1扩展后的数据块
步骤3:在所述扩展后的第i个数据块D'i上构建online BTM主题模型,并获得所述扩展后的第i个数据块D'i中每个短文本的主题表示:步骤3.1:将所述扩展后的第i个数据块D'i中第j个短文本
的词集
中的不同单词两两组对,从而获得所述扩展后的第i个数据块D'i中第j个短文本
的词对集合
其中
与
分别表示所述扩展后的第i个数据块D'i中第j个短文本
的词对集合
中第l个词对、第l个词对的频率和所有词对总数,并有
wl,1,wl,2分别表示所述扩展后的第i个数据块D'i的词对集合
的第l个词对
中的第1个单词和第2个单词,从而获得所述扩展后的第i个数据块D'i中所有短文本的词对集合
以及总的词对总数
合并所述扩展后的第i个数据块D'i中所有短文本的词对集合BW'i的所有词对,得到所述扩展后的第i个数据块D'i的词对集合,记为
其中br表示所述扩展后的第i个数据块D'i的词对集合Bi的第r个词对,并有br={w'r1,w'r2},r=1,2,…,|Bi|,w'r,1,w'r,2分别表示所述扩展后的第i个数据块D'i的词对集合Bi的第r个词对br中的第1个单词和第2个单词,|Bi|表示所述扩展后的第i个数据块D'i的词对集合Bi的词对总数;步骤3.2:定义所述扩展后的第i个数据块D'i的主题分布和主题下的词分布分别为
和
其中
表示所述扩展后的第i个数据块D'i中第k'个主题的概率,
表示所述扩展后的第i个数据块D'i的第k'个主题下的词分布,并有:![]()
表示所述扩展后的第i个数据块D'i的第k'个主题下的词分布
中第p个单词的概率;定义所述扩展后的第i个数据块D'i的Dirichlet先验分布参数为α(i)和β(i),且
和![]()
表示所述扩展后的第i个数据块D'i的主题分布θ(i)中的第k'个主题的先验概率,
表示所述扩展后的第i个数据块D'i的第k'个主题下词分布
的先验分布;并有![]()
表示所述扩展后的第i个数据块D'i的第k'个主题下词分布
的第p个单词的先验概率;当i=1时,令α(1)={α,α,…,α,…,α},
α和β均为常数;步骤3.3:设置主题总数为KB,根据所述扩展后的第i个数据块D'i的Dirichlet先验分布参数α(i)和β(i),利用所述扩展后的第i个数据块D'i的词对集合Bi构建online BTM主题模型记为M(i),令
表示所述扩展后的第i个数据块D'i的第k'个主题下的词对数,
表示所述扩展后的第i个数据块D'i的词集W'i中的第p个单词属于所述online BTM模型M(i)中的第k'个主题的次数,k'=1,2,…,KB,p=1,2,…,|W'i|;根据所述online BTM模型M(i),得到所述扩展后的第i个数据块D'i的主题分布
和主题下的词分布
步骤3.4:利用式(1)和式(2)分别计算所述扩展后第i+1个数据块D'i+1的Dirichlet先验分布参数α(i+1)和β(i+1):![]()
式(1)和式(2)中,λ是一个衰退值,且是常数;步骤3.4:利用式(3)得到所述扩展后的第i个数据块D'i中第j个短文本
的第k'个主题的主题表示![]()
式(3)中,
表示所述扩展后的第i个数据块D'i中第j个短文本
的第k'个主题的概率,
和
分别表示所述扩展后的第i个数据块D'i的第k'个主题下的词分布
中单词wl,1的概率和单词wl,2的概率;步骤3.5:将k'+1赋值给k',并返回步骤3.4,直到k'=KB为止,从而获得所述扩展后的第i个数据块D'i的第j个短文本
的主题表示
步骤3.6:将j+1赋值给j,并返回步骤3.4,直到j=|D'i|为止,从而获得所述扩展后的第i个数据块D'i的主题表示
步骤4:选择Q个主题表示的数据块构建一个分类器,用于预测下一个数据块的类标签:步骤4.1:若i=1,则将所述扩展后的第i个数据块D'i的主题表示Zi加入到集合Winf中,记为
Zq与Qf分别表示所述集合Winf中的第q个数据块和数据块总数,记|Zq|表示所述集合Winf中的第q个数据块的短文本总数,并基于所述集合Winf构建一个分类器λf后,转到步骤6.2;若1<i≤Q,则根据所述分类器λf预测所述扩展后的第i个数据块D'i的主题表示Zi的类标签,并将f+1赋值给f后,将所述扩展后的第i个数据块D'i的主题表示Zi加入到集合Winf中,并基于所述集合Winf重建分类器λf后,转到步骤6.2;若i>Q,则根据所述分类器λf预测所述扩展后的第i个数据块D'i的主题表示Zi的类标签;步骤5:根据所述短文本数据流D的类标签分布,将所述集合Winf中的每个数据块划分成类别簇,计算所划分的每个数据块的类别簇与所述扩展后的第i个数据块D'i的主题表示Zi的语义距离,并根据语义距离判断是否发生概念漂移:步骤5.1:根据所述短文本数据流D的类标签分布,将所述集合Winf中的第q个数据块Zq划分为类别簇![]()
表示所述集合Winf中的第q个数据块Zq中第x个类标签yx的短文本的主题表示集合,并有![]()
表示集合Winf中第q个数据块Zq中类标签为yx的第g个短文本的主题表示,并有:![]()
表示所述集合Winf的第q个数据块Zq中类标签为yx的第g个短文本的第k'个主题的主题表示,
表示所述集合Winf中第q个数据块Zq中类标签为yx的短文本总数;步骤5.2:根据式(4)计算所述扩展后的第i个数据块D'i的第j个短文本
的主题表示
与所述集合Winf中的第q个数据块Zq中类标签是yx的类别簇
的语义距离![]()
并有:
步骤5.3:将x+1赋值给x,并返回步骤5.2,直到x=X为止,从而得到所述扩展后的第i个数据块D'i的第j个短文本
的主题表示
与所述集合Winf中的第q个数据块Zq中所有类别簇Iq的语义距离,记为语义距离集合
步骤5.4:选择所述语义距离集合
中最小的语义距离用于代表所述扩展后的第i个数据块D'i的第j个短文本
的主题表示
与所述集合Winf中的第q个数据块Zq的语义距离
步骤5.5:将j+1赋值给j,并返回步骤5.2,直到j=|Di|为止,从而获得所述扩展后的第i个数据块D'i的所有短文本的主题表示与所述集合Winf中的第q个数据块Zq的语义距离;步骤5.6:根据式(6)计算所述扩展后的第i个数据块D'i的主题表示Zi与所述集合Winf中的第q个数据块Zq的语义距离dist(Zi,Zq):
步骤5.7:根据所述扩展后的第i个数据块D'i的主题表示Zi与所述集合Winf中的第q个数据块Zq的语义距离dist(Zi,Zq)与阈值τ比较,0<τ<1,若dist(Zi,Zq)>τ,则表示所述扩展后的第i个数据块D'i的主题表示Zi相对于所述集合Winf中的第q个数据块Zq发生了概念漂移,并将语义距离dist(Zi,Zq)装入所定义的语义距离集合CDf中,否则,则表示未发生概念漂移,并令dist(Zi,Zq)=0后,再装入语义距离集合CDf中;步骤5.8:将q+1赋值给q,并返回步骤5.1,直到q=Qf为止,从而得到所述扩展后的第i个数据块D'i的主题表示Zi与所述集合Winf中的Qf个数据块的语义距离的语义距离集合CDf={dist(Zi,Zq),q=1,2,…,Qf};步骤6:将发生概念漂移的扩展后的第i个数据块D'i的主题表示Zi替换所述集合Winf中的数据块,并更新所述分类器λf:步骤6.1:若所述语义距离集合CDf中扩展后的第i个数据块D'i的主题表示Zi与所述集合Winf所有数据块的距离都为0,则表示扩展后的第i个数据块D'i的主题表示Zi相对于所述集合Winf所有数据块都没有发生概念漂移,从而不更新所述分类器λf;若所述语义距离集合CDf中距离dist(Zi,Zq)最大,则表示所述扩展后的第i个数据块D'i的主题表示Zi相对于所述集合Winf中的第q个数据块Zi发生概念漂移,从而将f+1赋值给f,并利用所述扩展后的第i个数据块D'i的主题表示Zi替换所述集合Winf中的第q个数据块Zq,再利用所述集合Winf重建分类器λf;步骤6.2:将i+1赋值给i,并返回步骤2.2,直到i=N为止。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710994366.9/,转载请声明来源钻瓜专利网。