本发明属于文本聚类技术领域,具体涉及一种实时流处理模式下未知文本的在线增量式聚类方法。
背景技术:
在互联网信息时代,文本聚类技术已经被广泛地应用在文本关联、情感分析、趋势预测等自然语言处理任务。在现有文本增量聚类技术中,主要流程是先针对语料库生成分布式语义表示特征的词向量模型,再基于词向量模型生成句向量,最后再利用簇特征、single-pass等聚类算法,实现文本的增量聚类。由于词向量模型训练过程中,词向量权重是随机生成,在遇到未知文本需要生成词向量的时候,往往需要将语料库全部重新训练。因此现有的文本增量聚类方法大多有以下三种使用场景:第一种是基于固定的数据集而设计,第二种是具有规模很庞大的语料库以满足新增文本的语义表示,第三种是在一般规模语料库基础上,等新文本到达后再重新学习全部数据。第一种扩展性弱、实用性差,无法应用在动态变化地环境,第二种是前期就需要很庞大的语料库支撑,投入成本过大;最后一种场景需要部署高性能计算存储服务器、并行计算框架等,消耗大量计算资源与时间。可以看到,无论哪种方式均无法很好地适应面向在线环境下的未知文本增量聚类。
经过以上分析可以得出,未知文本的在线增量式聚类的核心在于如何高效增量式生成新增文本的词向量,进而生成句向量用于在线增量式聚类。中国发明专利cn201610995636.3公开了一种词向量模型的增量式学习方法,通过对新增文本中出现的新词进行初始化更新以及基于历史词表的反例采样,来对词向量模型进行动态地更新。该方法是通过反例采样来生成词向量,词语被抽样选中作为反例样本概率与词频成正比,在小样本数据量下效果并不出众。haopeng提出了基于增量hierarchicalsoftmax模型的word2vec方法[peng,h.;li,j.;song,y.;liu,y..incrementallylearningthehierarchicalsoftmaxfunctionforneurallanguagemodels.aaaiconferenceonartificialintelligence,northamerica,2017.],通过重新构建huffman树,并使用节点初始化和继承方式来实现词向量模型的更新,但是新旧语料库的huffman树要重新构造,在旧语料库大而新增语料少的场景下,原有模型资源没有最大化利用。在增量式词向量模型的基础上,特别是实时流处理模式下未知文本的在线增量式聚类方法还未见及。
技术实现要素:
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种实时流处理模式下未知文本的在线增量式聚类方法,在语料库不充分或计算资源不足的条件下,仍能够实现对实时流处理模式下的未知文本的在线增量式聚类,能够为互联网环境下某领域话题发现、热点聚焦、情感分析等应用领域提供支撑。
为实现上述技术目的,本发明采取的技术方案为:
一种实时流处理模式下未知文本的在线增量式聚类方法,包括以下步骤:
s1:基于现有的非全集语料库,进行语料库词向量的预训练,生成非全集词向量模型;
s2:利用内存数据库加载所述非全集词向量模型,读取词向量模型参数;
s3:持续接收实时流处理平台实时传输的文本数据,进行文本预处理;
s4:判断接收的实时流数据是否有新的未知文本,若包含新的未知文本,先基于huffman树融合方法实现未知有效文本的增量词向量训练,生成新的词向量模型,再基于新的词向量模型,进行接收文本的句向量训练;若不包含新的未知文本,则基于步骤s1生成的词向量模型,进行接收文本的句向量训练;
s5:基于步骤s4训练生成的句向量,利用single-pass在线聚类方法,实现实时流处理下的文本在线增量式聚类。
为优化上述技术方案,采取的具体措施还包括:
上述的步骤s1具体包括:
基于现有的非全集语料库,进行语料库中词的huffman树构建;将现有的非全集语料库中每个词作为叶子节点,词频作为叶子节点的权重,向上构造huffman树;
利用hierarchicalsoftmax模型实现语料库词向量的预训练,从而生成非全集词向量模型。
上述的语料库词向量的预训练,其训练方式为cbow或skip-gram。
上述的步骤s2所述内存数据库为memcached高性能的分布式内存对象缓存系统;词向量模型参数包括语料库中词向量及已构建好的huffman树参数。
上述的步骤s3具体为:基于kafka实时流处理平台,获取订阅主题的数据,并进行文本预处理。
上述的数据包括新闻文本和评论文本,所述文本预处理包括去掉停用词和分词。
上述的步骤s4所述先基于huffman树融合方法实现未知有效文本的增量词向量训练,生成新的词向量模型,再基于新的词向量模型,进行接收文本的句向量训练,具体包括:
对新增的未知文本进行增量词向量训练,保持原语料库中词语的huffman树不变,对实时流获取的文本进行huffman新树构建,同时寻找原语料库中huffman树距root根节点最短路径的节点,将该最短路径的节点作为新huffman树的root节点,以实现新旧huffman树融合;
基于融合的huffman树,利用hierarchicalsoftmax模型进行cbow或skipgram方式训练,生成未知文本的词向量;
利用doc2vec模型中的pv-dm或者pv-dbow方法,得到新未知文本的句向量。
上述的步骤s4所述基于步骤s1生成的词向量模型,进行接收文本的句向量训练,具体为:
利用doc2vec模型中的pv-dm(distributedmemorymodelofparagraphvectors)或者pv-dbow(distributedbagofwordsofparagraphvector)方法,得到新未知文本的句向量。
上述的步骤s5具体为:基于生成的句向量,利用single-pass聚类算法,对于依次到达的文本数据流,依据当前文本特征与已有类的匹配度大小,将该文本数据判为已有类或者创建一个新的数据类,从而实现实时流处理下的文本在线增量式聚类。
本发明具有以下有益效果:
1、本发明在语料库不充分或计算资源不足的条件下,仍能够实现对实时流处理模式下的未知文本的在线增量式聚类,不拘泥于固定数据集的离线处理,也不需要前期构建庞大语料库的投入成本,更不需要购买高性能计算存储服务设备、部署并行计算框架等软件。
2、本发明综合采用多种技术手段,满足面向实时流处理的未知文本在线处理:
模型加载方面,以往系统计算时先加载庞大的预训练词向量模型耗时长,使用内存缓存数据库,提高模型加载效率,实现模型参数的实时读取,而且预训练模型是以缓存对象的方式提供服务,多个系统均可访问实时共享资源,避免了参数读取环节的耗时等待;
数据接收方面,从kafka接收实时流文本数据,能够按需订阅相关主题,增加数据来源灵活性与实时性;模型计算方面,采用增量词向量构建方法,避免了传统方法下新来文本需要与原语料库整合,重新进行词向量训练的弊端,使得计算效率大大增加,后续才能实现实时在线聚类。
3、本发明提出的新旧huffman树融合的机制,完整保留了前期较为庞大的语料库训练模型,最大化利用已有的信息资源,既减少了全部语料库huffman树重新构建时间,也保证了每个单词唯一编码,从而为后续hierarchicalsoftmax模型训练提供可用的编码信息支撑。
4、本发明方法在新旧huffman树融合的机制中,新huffman树的root节点是原语料库中huffman树距root根节点最短路径的节点,因此保证了新的未知文本中词语的相对最短路径,节省了训练时间。
5、本发明尤其适合于特定时间段内的新增小样本条件下的文本聚类,摆脱了构建全集语料库的约束,使用灵活方便,节约基础设施资源,减少了计算时间。
附图说明
图1是本发明的流程图;
图2是本发明实施例基于huffman树融合方法实现未知有效文本的增量词向量训练流程图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
本发明的一种实时流处理模式下未知文本的在线增量式聚类方法,先生成非全集语料库词向量模型,并保持该旧语料库中词的huffman树不变,对实时流处理的未知文本进行huffman树构建,在旧语料库词的huffman树基础上进行huffman树融合,基于融合的huffman树增量生成未知文本的词向量模型,并通过已有的词向量模型生成句向量,最后再利用single-pass聚类算法,实现文本的在线增量式聚类。
如图1所示,本发明的一种实时流处理模式下未知文本的在线增量式聚类方法,包括以下步骤:
s1:基于现有的非全集语料库,进行语料库词向量的预训练,生成非全集词向量模型;
实施例中,步骤s1具体包括:
基于现有的非全集语料库,进行语料库中词的huffman树构建;将现有的非全集语料库中每个词作为叶子节点,词频作为叶子节点的权重,向上构造huffman树;
利用hierarchicalsoftmax模型实现语料库词向量的预训练,从而生成非全集词向量模型。
所述语料库词向量的预训练,其训练方式为cbow或skip-gram。
s2:利用内存数据库加载所述非全集词向量模型,读取词向量模型参数;
实施例中,所述内存数据库为memcached高性能的分布式内存对象缓存系统;词向量模型参数包括语料库中词向量及已构建好的huffman树等相关参数。
s3:持续接收实时流处理平台实时传输的文本数据,进行文本预处理;
实施例中,步骤s3具体为:基于kafka实时流处理平台,获取订阅主题的数据(新闻文本和评论文本等),并进行去掉停用词、分词等常规文本预处理。
s4:通过遍历查询方式分析文本内容,判断接收的实时流数据是否有新的未知文本(是否有新词):
若包含新的未知文本,先基于huffman树融合方法实现未知有效文本的增量词向量训练,生成新的词向量模型,再基于新的词向量模型,进行接收文本的句向量训练。
基于huffman树融合方法实现未知有效文本的增量词向量训练流程如图2所示,具体包括:
对新增的未知文本进行增量词向量训练,保持原语料库中词语的huffman树不变;
对实时流获取的文本进行huffman新树构建;
寻找原语料库中huffman树距root根节点最短路径的节点;
将该最短路径的节点作为新huffman树的root节点,以实现新旧huffman树融合;
基于融合的huffman树,利用hierarchicalsoftmax模型进行cbow或skipgram方式训练;
增量生成未知文本的词向量。
若不包含新的未知文本,则基于步骤s1生成的词向量模型,进行接收文本的句向量训练,具体为:
利用doc2vec模型中的pv-dm或者pv-dbow方法,得到新未知文本的句向量。
s5:基于步骤s4训练生成的句向量,利用single-pass在线聚类方法,实现实时流处理下的文本在线增量式聚类,具体为:
基于步骤s4训练生成的句向量,利用single-pass聚类算法,对于依次到达的文本数据流,依据当前文本特征与已有类的匹配度大小,将该文本数据判为已有类或者创建一个新的数据类,从而实现实时流处理下的文本在线增量式聚类。
综上所述,本发明综合采用内存缓存数据库、流处理框架等技术手段,重点提出新旧语料库huffman树融合机制,基于非全集语料库词向量模型,并保持该旧语料库中词的huffman树不变,对实时流处理的未知文本进行huffman树构建,在旧语料库词的huffman树基础上进行huffman树融合,基于融合的huffman树增量生成未知文本的词向量模型,并通过已有的词向量模型生成句向量,最后再利用single-pass聚类算法,实现文本的在线增量式聚类。使用本发明方法可以在语料库不充分或计算资源不足的条件下,仍能够实现对实时流处理模式下的未知文本的在线增量式聚类,能够为互联网环境下某领域话题发现、热点聚焦、情感分析等应用领域提供支撑。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
PHP网站源码福田网站seo优化广州百搜词包横岗百度网站优化同乐企业网站建设大浪SEO按效果付费龙岗网站优化按天计费大鹏百姓网标王西乡品牌网站设计松岗百度标王大浪如何制作网站大芬百度标王永湖网络广告推广坂田seo坪地百度seo大浪模板网站建设南山SEO按天计费民治如何制作网站大运外贸网站建设沙井品牌网站设计同乐外贸网站建设福永企业网站制作石岩百姓网标王平湖网站优化排名西乡外贸网站制作松岗阿里店铺运营荷坳外贸网站建设坪山企业网站改版坪山百搜标王罗湖外贸网站建设平湖网页设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运