,
(長江大學電子信息學院,湖北 荊州 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