基于LDA的大V与草根用户微博主题模型构建

2019-03-02 02:35张钰莎罗莉霞
现代计算机 2019年2期
关键词:特征词用词分词

张钰莎,罗莉霞

(湖南信息学院,长沙 410151)

0 引言

2016年中国网民微博用户规模为4亿多,网民使用率达到38.4%;手机微博用户规模则为1.7083亿,网民使用率达到30.7%[1]。微博,作为Web2.0时代大众化的信息获取、分享、传播的网络平台,由于其门槛低、内容简单、交互性强等特点,如今已经成为人们日常生活、表达诉求、传递信息的重要社交载体。

微博这种新的舆论媒介,随着用户规模不断壮大的,微博的社会影响力也在近两年达到巅峰。这其中,官方认证的大V用户与草根用户充当了大量事件的发起及传播。对上述微博用户所关注主题的分析和监控,既可以及时响应、预警一些社会热点事件,又能够聚焦用户自身的热点,从而提供更加个性化的服务(消息推送、产品推广、广告精准投放等)。因此,主题模型在用户微博中的应用对微博社交平台的持续发展、潜在价值利用有着重要意义。

1 微博主题挖掘方法

LDA主题模型是一种使用概率的产生式模型来挖掘文本主题的方法。主题模型中的主题可以根据一定的规则产生单词,而反过来,在已经知道文本单词的情况下,根据概率公式,可以反向推导出文本集合的主题分布情况,其中最具代表性的主题模型为PLSA概率潜在语义分析(Probabilistic Latent Semantic Analysis)和LDA 潜在狄利克雷分布(Latent Dirichlet Allocation)[2]。张晨逸、孙建伶等人通过对LDA模型的改进,提出了基于MB-LDA模型的微博主题挖掘。王力、李培峰等人提出了基于LDA模型的主题句抽取方法,取得了较好的效果[3-4]。BLei等人提出的LDA模型认为文档是由服从多项式分布的主题组成,每个主题由服从于主题的多项式分布组成,是文档、主题和单词组成的一种三层贝叶斯文档生成模型。LDA可以作为一种降维工具,将每一个包含用户微博内容的文档作为训练语料库中的一个词袋进行训练,得出所有用户文档的主题分布,从而加以利用[5-6]。

TF-IDF(词频-逆向文档词频)是一种用于资讯检索与资讯探勘的常用加权技术。词频TF(Term Frequency),定义为:一个词语在一个文档中出现的频率,词频越大表示这个词对当前文档的贡献越大,是当前词和当前文档之间的关系。逆文档词频IDF(Inverse Document Frequency),是先由总文档数目除以出现了某个词的文档数目得到的商,将商取对数得到,表示了某个词对于某一类文档区分能力,是某个词和所有文档之间的关系。所以本文需要利用TF-IDF算法对每一个文档进行特征提取,以达到通过文档压缩来提高LDA模型训练效率的目的。

2 微博主题建模流程

LDA微博主题建模的一般流程如图1所示。

LDA模型可以进行潜在主题发现,而要利用LDA算法对语料库进行训练,首先要获得适合算法计算的文本输入,这里根据研究对象:草根用户与大V用户微博分别进行主题建模。

2.1 数据爬取流程

本文主要采用的爬虫策略是借助微博开放平台的接口获取所有需要爬取对象的微博基本信息,如ID、用户名、用户网址、性别等信息。利用爬取的用户信息中的ID作为爬虫程序的初始URL种子,对微博用户发布过的微博文本内容进行爬取。

2.2 文本预处理

数据从微博上爬取下来之后,会有大量无用信息,例如标点符号、表情、感叹词,等等,因此需要进行预处理,主要包括:数据整理、分词、去除停用词。

(1)微博内容整理

微博文本的特点是内容精简、文本形式自由,虽然爬虫程序可以根据网页的结构化信息爬取指定结构和位置下的信息,但是每个用户的消息都有自己的用语特点,有些含有大量的表情、有些含有大量链接、有些习惯以空格来代替停顿和标点、甚至有一些仅仅是转发而不发表任何转发理由造成了爬取内容解析字段的缺省,若想通过连贯的程序完成对这些多样化内容的源数据存储备份和下一步研究的分词等继续处理,则需要将爬取的微博内容进行统一标准化处理。

(2)分词

本文采用了开源的分词系统HanLP进行分词处理,该系统支持中文分词、命名实体识别、关键词提取、自动摘要、短语提取、拼音转换、简繁转换、文本推荐、依存句法分析(MaxEnt依存句法分析、CRF依存句法分析)。提供Lucene插件,兼容Lucene 4.x。

(3)去除停用词

得到经过分词处理的语料后,考虑到微博用户多样化的语言特点,对于大量的语料是无用和重复的,所以在得到分词结果之后,设置一份停用词表,将文档中的停用词进行过滤清理。

3 基于TF-IDF特征提取的微博主题模型的建立

从数据库中以用户为单位提取微博内容字段数据,提取结果生成一个文档。接着将每一个文档输入文本处理程序进行分词和去除停用词处理。

3.1 分词

分词算法采用了HanLP开源分词系统对获取的文本进行分词处理,在使用前对源代码进行改写,在分词过程中可以根据得到的词性标注结果,进一步进行筛选。例如在主题检测、主题建模中,对于最重要的名词类词性全部保留,而一些助词、感叹词等则在分词结果中过滤掉,以更好地去除分词结果中的无用信息。本文选择保留所有词性标注结果中含有“n”的词语以及词性为“vn”和“vi”的词语。

3.2 去除停用词

考虑到微博中的表情字符通常是以中括号加文本的形式表示的(如“[al开心]”、“[lt红包]”等),所以也要剔除。在三个停用词表合并的基础上,将微博中的表情字符(567个)也添加进停用词表,最终获得的停用词个数为3146个。此外部分微博信息中通常会包含一些符号和网址,也全部剔除。

3.3 TF--IIDF特征词提取

由于语料库经过分词和去除停用词等预处理后,仍然有接近1G的文本,如果直接以预处理结果的文档集合作为算法的输入进行LDA主题建模,预计时间成本将会很高,为了提高效率,采用TF-IDF算法对用户文档进行特征提取,将特征提取的结果,按照概率值降序,取前面的前N个作为当前用户文档的特征词,将语料库大规模压缩。

4 实验结果

4.1 数据采集结果

爬取对象:微博关注的1864名用户

爬取内容:①1864名用户的基本信息;②1864名用户3000条左右的微博信息。

爬取结果:成功获取的原始数据3.42G,包含两张表:用户基本信息表及用户微博内容表。

4.2 数据整理、预处理结果

程序输入:每个用户为一个txt文档,一共1864个文档一起输入程序。程序输出:1864个用户txt文档,625.6M结果展示如图2所示。

图2文本预处理结果

结果分析:在预处理之后的文档中,会发现一些用户长期关注某些话题而导致语料中大量出现某一些相同的词语,如“带着”、“爸妈”、“去旅行”等字样,不仅使得语料规模庞大臃肿而且可能造成LDA算法效率降低,因此需要下一步的TF-IDF算法进行文档特征词提取。

4.3 草根用户与大V V用户主题关注比较分析

TF-IDF文档特征提取结果及流程:

首先根据数据库信息将所有用户文档按照大V用户和草根用户进行分组,将两类用户分别生成两个文档集合。

分别将两个文档集合作为程序输入计算TF-IDF,并按照预先定义的特征词个数参数,得到每个文档一定数目的特征词。

按照权重降序的方式将每个文档的特征词记录输出。

参数设置:特征词个数按照用户文档中词语个数占所有文档比重动态调整。

程序输入:一组为大V用户文档集(991个用户),一组为草根用户文档集(993个用户)输出结果:两组文档集,共1864个用户txt文档,7.6M。

结果分析:根据抽取结果文档可见,部分文档从特征词中可看出用户关注的主题方向,为“体育”“法律”“金融”三个大类,可见词语特征非常明显,从输出结果对预处理语料的压缩规模看,基本完成了LDA建模前将爬取的信息进行并整理、清理、压缩成建模所需的语料库的目标。

4.4 草根用户与大V V用户用词差异比较分析

比较方式:将所有的大V用户的特征词整合到一个集合,记录每个词出现的次数,并进行降序排序;同样的方式处理草根用户的特征词。提取排序的前N个特征词比较二者的异同情况,这里N分别取值如下:100、200、300、500、800、1000、2000、3000、5000、7000、10000。异同情况如图3所示。

图3 两类用户前N个特征词异同比较

结果分析:

(1)由图3可知,两类用户日常微博的用词中,有60-70%的特征词是比较接近的。提取前200个特征词比较结果中相同的特征词进行详细分析,相同比例:74%。

虽然结果中含有少量无关的词语,但是从总体上可以看出,相同的特征词中,主要特点是以个人为中心的词语为多,可见一方面是由于草根用户往往会关注很多大V用户的日常微博,并进行转发或者发表类似微博;另一方面也体现了微博自由、随意、贴近生活的使用特点,因此特征词中不乏大量相同之处。

(2)两类用户日常微博的用词中,有30%左右的特征词是有差异的,而这30%的词可以从中挖掘出两类用户用语上的一些特点,于是进行进一步详细分析。如图4所示,差异比例:26.0-27.7%。

图4 两类用户前200、300热词中的差异

结合后期的LDA建模用词差异进行分析可知,大V用户的独有用特征词与主题建模中各主题下的主题词都有一定关联,具有很明显的领域特点,并且用词也是比较书面规范化。而草根用户的独有特征词则比较随意,往往是生活中的吐槽和心情分享,所以含有很多口语化词汇、心情词汇以及大量网络流行的用语,如“真爱”、“妹子”、“get”、“分手”、“尼玛”、“牛逼”、“减肥”等。

5 结语

基于微博用户语料特征提取的LDA主题建模前的语料数据采集及存储、文本整理及预处理和通过文档特征词提取进行语料规模压缩等几个问题。预期得到的微博用户信息基本全部采集完成,并存储在数据库中可支持后续研究的进一步使用。

预期进行的文本预处理工作基本完成,停用词表根据实际需要进行大规模的扩充(包含了哈工大停用词表、百度停用词表、四川大学机器智能实验室停用词库、新浪微博表情标识符和实验中总结的大量停用词)。预期通过特征词提取的语料库压缩规模基本完成,压缩规模接近100倍。特征词提取之后,结合LDA主题建模结果,对草根用户与大V用户特征词使用异同及频率情况进行分析,发现大V用户的独有特征词与LDA建模后的各主题下主题词直观上有很大相似度,是响应吻合的,并且用词也更加规范书面化;而草根用户的独有特征词则更贴近个人生活随想、情感流露和口语化,并且包含大量近年来流行的各种网络用语,如“烦恼”、“学霸”、“真爱”、“屌丝”等。

6 未来发展方向

(1)系统能够随时爬取指定用户的一定规模语料。

(2)文本预处理模块能够识别新词,并自适应进行更新。

(3)将对象分为草根用户和大V用户两个分组的前提下,进一步将用户按照行业、年龄或是兴趣等,进行组内细分,然后再进行特征词、主题建模研究

(4)完善TF-IDF特征词提取时的缺陷。

猜你喜欢
特征词用词分词
基于Simhash改进的文本去重算法
基于类信息的TF-IDF权重分析与改进①
分词在英语教学中的妙用
一种面向财务文本分类的TF-IDF改进算法
结巴分词在词云中的应用
结巴分词在词云中的应用
相似的内容,灵动的表达
追问文本,捕捉文字背后的声音
I Want to Be a Teacher
聚焦现在完成进行时