,
(长江大学电子信息学院,湖北 荆州 434023) (武汉理工大学计算机科学与技术学院,湖北 武汉 430070)
基于Word2Vec的自动通知服务研究
朱清祥张桂发,张蕊
(长江大学电子信息学院,湖北荆州434023) (武汉理工大学计算机科学与技术学院,湖北武汉430070)
针对现有消息服务无法及时推送突发性消息的不足,从社交媒体中获取群众对于突发性事件的讨论信息作为语料库,采用深度学习中的Word2Vec算法来推断突发性事件的发生地和详细信息。试验环节将停水和停电通知服务作为研究对象,并从百度贴吧获取相关帖子作为语料,采用Word2Vec算法来推断突发性停水和停电的地点和原因,并以LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)模型作为对比,试验结果证明了基于Word2Vec的消息通知服务的有效性和优越性。
消息通知服务;语义分析;LDA主题模型;Word2Vec
常规的消息推送服务存在不容忽视的一个缺点,那就是无法捕捉到突发性的实时消息并及时向用户推送。如因为市政施工使得某一段水管管道突然爆裂,导致某片区停水,这时人们可能无法从常规的消息推送服务中及时获知该停水事件的时间、地点和原因。针对上述不足,笔者从社交媒体上获取人们对于突发事件的讨论信息,依靠Word2Vec算法分析出突发性事件的事发地点和原因并进行通知。
Word2Vec算法将概率模型与神经网络模型相结合,实现了神经网络概率语言模型。Word2Vec算法模型主要分为连续词背包模型(continues bag-of-word,CBOW )[1, 2]和Skip-gram模型[3],2个模型十分相似,均由输入层、映射层和输出层组成,如图1所示。
图1 Word2Vec算法模型框架
假设给定由n个词语组成的训练句子Sen:
Sen={W1,W2,W3,…,Wn}
Skip-gram模型的目标是求解极大似然估计函数:
的最优解,其中,m是窗口大小。
与Skip-gram模型相反,CBOW模型的目标是求解极大似然估计函数:
的最优解。
Word2Vec算法使用词向量来表示文本,可以避免使用“one-hot”模型表示文本时出现“维灾难”现象[4]。
LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)模型是Blei等提出的一个完整的概率生成模型,在主题模型中得到了广泛的应用,用于对文档集等离散数据集建模的概率主题模型[5]。其计算公式为:
式中,N表示文章中的单词数;wn表示文章中的第n个单词;zn表示第n个词语的主题;θ表示一个1*K的矩阵表示文章中的主题分布,K代表主题数;α是文档的主题分布的先验分布Dirichlet分布的参数,被称为超参数;β是每个主题的词分布的先验分布Dirichlet分布的参数,也被称为超参数。
笔者提出的自动通知服务主要包括2个方面,一是常规的消息通知服务,二是利用Word2Vec算法实现对突发消息的自动通知服务。常规的通知服务设计的功能模块构造如图2左边方框所示,主要包括消息获取模块、兴趣筛选模块、时效性验证和新颖性验证模块、邮件通知模块、周期通知模块等。
图2 消息通知服务结构图
在消息获取模块,服务系统会定期的自动从官方网站爬取可信度高的通知消息;在兴趣筛选模块,服务系统首先会对消息的标题进行词性标注(分词),再筛选标题中包含用户感兴趣的关键字的消息;在时效性验证和新颖性验证模块,服务系统会对用户感兴趣的消息进新颖性验证和时效性验证,即保证该消息不被重复发送给用户并且该消息中所通知的事件尚未发生;在邮件通知模块,以邮件的形式发送给用户;在周期通知模块,服务系统会按照用户设定的周期,定时的重复上述模块为用户推送相应通知消息。
突发消息通知服务功能主要是针对官方网址未提前通知的突发事件和突发消息,因而用户无法从常规的消息通知服务中得知此类事件的发生地点和原因。为解决上述问题,在突发消息通知服务设计阶段,笔者从社交媒体入手,获取人们对于突发事件的评论信息,并利用Word2Vec算法处理评论信息获取突发事件的地点和起因,并将该消息推送给用户。突发性通知服务的功能模块如图2右边方框所示。
4.1研究目标
在试验环节,为了探索基于Word2Vec算法的突发消息推送服务的有效性,以武汉市的停水和停电通知系统为研究对象并以百度贴吧数据作为语料库,从贴吧发布的关于停水停电的帖子来判断突发性停水停电所在的位置和原因。
4.2语料库
为了获取足够庞大的语料库,笔者采用爬虫技术对武汉市百度贴吧的帖子进行爬取,共浏览了10万条帖子数据,获取武汉市关于停水和停电的帖子作为语料库。
4.3方法框架
研究方法框架如下:
输出:(1)Word2Vec算法判定结果W-Result=(event_wd,event_wr)
(2)LDA模型判定结果L-Result=(event_ld,event_lr)
①for each word∈key-word //为关键词数组中的每个关键字爬取帖吧数据
context_txt=obtain_tieba(word,tieba_topic)
context.add(context_txt)
// obtain_tieba函数基于Python语言实现,利用BeautifulSoup
// 和urllib函数库对tieba-topic的贴吧数据进行爬取,获得关于
// word的帖子;
end for
②for each context_txt∈context //为贴吧数据进行预处理
jieba_fenci(context_txt) //利用结巴分词器对贴吧数据分词
eliminate_SW(context_txt) //剔除贴吧数据中的停用词
corpus.add(eliminate_FE(context_txt)) //剔除贴吧数据中的文字
//表情并将预处理后的贴吧数据加入语料库;
end for
③model = Word2Vec_embedding(corpus,min-count) //采用skip-gram模型
//并根据min-count参数将由第(2)步骤的语料库映射为词向量model
④for each word∈ key-word //根据关键字判断突发事件的地点和原因
event_info=Word2Vec(model,word) //利用Word2Vec算法处理词
//向量model,提取与关键字相关的信息event_info
W-Result=analyze(event_info) //选取关联度高的地点和理由
//作为Word2Vec的结果
return (word,W-Result)
end for
⑤for each word∈key-word //根据关键字判断突发事件的地点和原因
event_info=LDA(word_corpus,word)//利用LDA算法分别处理各
//关键词的语料库word_corpus;
L-Result=analyze(event_info) //选取主题概率高的地点和理由
//作为LDA的结果
return (word,L-Result)
end for
4.4试验结果与分析
表1 Word2Vec-停电分析结果
在表1和表2中分别展示了利用Word2Vec算法处理市民在百度贴吧(武汉吧)对于突发性停电和停水事件的讨论,根据Word2Vec算法的运行结果,可以获知突发性停水停电的原因和地点。由表1可知,洪山区发生了突发性停电,原因是地铁施工导致的突发性停电;由表2可知,武昌地区发生了突发性停水事件,原因是施工造成的突发性停水。在这里需要说明的一点,在语料库建立环节,研究人员将停水和停电突发事件作为同一类事物看待(因为市民通常会将停水和停电联系在一起讨论),故停水和停电的存在一定的关联度。
表3展示的是利用LDA模型处理语料库得出的对于突发停水或停电事件的主题概率。由表3可知,LDA模型无法区分停水和停电事件,更无法同时推断出停水和停电的地点和原因。
表2 Word2Vec停水分析结果
表3 LDA模型停水/停电分析结果
笔者针对现有的消息服务无法及时推送突发性消息的不足,从社交媒体中获取群众对于突发性事件的讨论信息,并对该信息采取分词、去停用词和去文字表情等预处理构建语料库。采用Word2Vec算法来分析突发性事件的发生地和详细信息。在试验阶段,笔者以武汉市的停水和停电突发事件为研究对象并以百度贴吧数据作为语料库,从市民在百度贴吧发布的关于停水和停电的帖子来判断突发性停水和停电的位置和原因,同时以LDA模型作为参照,验证了基于Word2Vec的临时通知服务的有效性。由于在中文分词处理上还存在分词不到位、无法精确实现省略停用词等缺点,在将来的研究中,研究团队将试用更多类型的分词方法以进一步提升系统性能。
[1]Le Q, Mikolov T. Distributed representations of sentences and documents [A]. Cheng S O, Tu BH, Proc of 31st International Conference on Machine Learning(ICML) [C]. Beijing: ACM, 2014: 2931~2939.
[2]Mikolov T, Yih W T, Zweig G. Linguistic regularities in continuous space word representations [A]. VanderwendeL,DauméH I,Kirchhoff K, Proc of 2013 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies(NAACL HLT) [C]. Atlanta: IEEE, 2013: 746~751.
[3]Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality [A]. Burges CJC, BottouL, Proc of 27th Annual Conference on Neural Information Processing Systems(NIPS) [C]. Lake Tahoe: MIT Press, 2013: 3111~3119.
[4]Jia G, Lu Y, Lu W, et al. Verification method for chinese aviation radiotelephony readbacks based on lstm-rnn [J]. Electronics Letters, 2017,53(6): 401~3.
[5]Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation [J]. Journal of Machine Learning Research, 2003,3(4-5): 993~1022.
[编辑]易国华
2017-08-18
朱清祥(1965-)男,硕士,副教授,现主要从事自动控制方面的教学与研究工作。
张桂发(1993-),男,硕士生,现主要从事数据挖掘方面的研究工作,18735194495@163.com。
引著格式朱清祥,张桂发,张蕊.基于Word2Vec的自动通知服务研究[J].长江大学学报(自科版),2017,14(21):36~39.
TP311
A
1673-1409(2017)21-0036-04