999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LSTM深度學習模型的中國電信官方微博用戶情緒分析

2018-01-08 05:36:12蔡鑫婁京生
電信科學 2017年12期
關鍵詞:深度文本用戶

蔡鑫,婁京生

?

基于LSTM深度學習模型的中國電信官方微博用戶情緒分析

蔡鑫,婁京生

(中國電信股份有限公司上海研究院,上海 200122)

中國電信官方微博(簡稱電信官微)作為一種互聯網媒體,是中國電信對外發布信息并獲取用戶反饋的重要渠道。用戶對電信官微消息內容的評論,反映了用戶對中國電信品牌、產品和服務的不同態度。爬取了電信官微的消息內容和評論數據,對經過清洗的數據采用Word2vec進行文本信息表示,并使用深度學習平臺基于LSTM深度神經網絡模型進行用戶交互文本的正負面情感分類,實現電信官微訪問用戶情緒分析。

深度學習;LSTM;情緒分析;微博

1 引言

官方微博是企業或機構通過身份認證的具有法律效應的微博平臺賬號。對于用戶眾多的電信運營商而言,官方微博是進行產品/套餐展示、營銷、客服以及客戶溝通的平臺,成本低、輻射廣、傳播快是這一互聯網媒體渠道的重要特征。利用官方微博及時發現用戶的訴求,快速處理好用戶關注的問題,就能夠贏得用戶稱贊,促成輿論轉向,樹立品牌形象。

微博具有互動的特性,粉絲或其他微博用戶都可以對中國電信官方微博(簡稱電信官微)發布的消息進行評論,而這些反饋內容反映了用戶對電信品牌、產品和服務的主觀態度。如果對用戶交互數據進行深入的分析,可以準確獲取對中國電信而言非常有價值的用戶意見和建議,對于改善企業的產品和服務大有裨益。

傳統方式下,需要設立官方微博運營專員,對用戶互動內容進行人工分析和處理,耗費大量人力成本。本文嘗試采用基于LSTM深度學習模型的自然語言處理技術,對電信官微的訪問用戶交互信息進行用戶情緒分析,輔助開展微博運營工作。

2 基于深度學習的自然語言處理關鍵技術

對于文本形式的微博評論數據,計算機處理過程中需要用到自然語言處理(natural language processing,NLP)的相關技術。自然語言處理是計算機科學領域與人工智能領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法[1]。簡而言之,NLP是讓計算機能夠理解人類語言的一種技術。

2.1 Word2vec文本信息表示技術

自然語言領域最細粒度的是詞語,詞語組成句子,句子再組成段落、篇章、文檔。所以要想實現讓計算機處理自然語言,首先要解決的是詞語的二進制信息表示問題。

詞向量的意思就是通過一個數字組成的向量來表示一個詞,Word2vec是其中一種向量表示技術,Google 于2013年將其開源。Word2vec 使用分布式表示(distributed representation)的詞向量表示方式。其基本思想是通過訓練將每個詞映射成維實數向量(為模型中的超參數),通過詞與詞之間的距離來判斷它們之間的語義相似度。詞向量來源于上下文的詞預測模型,Mikolov等人[2]提出CBOW(continuous bag-of-word)和Skip-gram(continuous skip-gram)兩個模型,分別使用三層神經網絡對語言建模預測上下文單詞出現的概率。CBOW是依據詞所在的上下文中的詞作為輸入預測詞本身;而Skip-gram則是依據詞本身作為輸入預測上下文中的詞。

Word2vec模型在實現上下文預測的同時,獲得了一項副產品,即單詞在向量空間上的表示,這是Word2vec真正的最重要的貢獻。Word2vec算法使得具有相似語義的詞可以表示為相互靠近的向量,Mikolov等人[2]給出了一個著名等式“king-man+woman=queen”,形象地說明了詞向量處理文本的魔力。

2.2 RNN/LSTM深度神經網絡技術

深度學習的概念來源于人工神經網絡模型。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發現數據的分布式特征表示。傳統的神經網絡一般由輸入層、隱藏層、輸出層組成,其中隱藏層的數目按需確定。深度神經網絡是目前最常見的深度學習模型,而且包括多種不同類型的網絡,例如:CNN(convolutional neural network,卷積神經網絡)、DBN(deep belief network,深度置信網絡)等。

在NLP領域,RNN(recurrent neural network,循環神經網絡)因其對上下文的兼顧而顯得更為適用。在自然語言處理中,上下文關系非常重要,句子里相鄰詞并不獨立,不同的排列組合會有不同的意義,例如“微信比短信方便”“短信比微信方便”,只是變換一下次序,意義就會完全相反。RNN中當前時刻的輸出,除與上一層的輸出有關之外,還考慮了上一時刻隱藏層的輸出的影響。RNN是非常強大的動態系統,但由于梯度消失/梯度爆炸的問題,傳統RNN在實際中很難處理長期依賴。

為了解決這個問題,采用了特殊隱式單元的LSTM(long short-term memory,長短期記憶)網絡被首先提出,其自然行為便是長期的保存輸入。LSTM包含一種稱作記憶細胞的特殊單元類似累加器和門控神經元:它在下一個時間步長將擁有一個權值并聯接到自身,復制自身狀態的真實值和累積的外部信號,但這種自聯接是由另一個單元學習并決定何時清除記憶內容的乘法門控制的[3]。LSTM網絡隨后被證明比傳統的RNN更加有效,特別是在語音識別以及機器翻譯應用中表現良好。簡而言之,LSTM也是一種RNN,并且有效解決了傳統RNN未解決的長期依賴問題,能夠存儲遠距離上下文對當前時刻輸出的影響。

3 基于LSTM的用戶情緒分析實現過程

3.1 官方微博內容爬取

首先需要獲取語料數據,電信官微數據屬于公開數據集,可以通過官微網址進行獲取。實際中一般采用網絡爬蟲軟件執行內容爬取任務。

網絡爬蟲是獲取網站公開數據的一種有效工具。網絡采集器屬于網絡爬蟲的一種,利用采集工具批量采集網頁中的內容,其中包括論壇、貼吧、媒體網站等,從中摘取某些數據形成統一的本地數據庫。網絡采集器不需要技術成本,可被用作初級的數據采集工具,常見的有Gooseeker、八爪魚等。此外,針對特定網站的特定數據采集,例如本文中的官方微博用戶評論數據,可基于Scrapy等開源框架自行開發爬蟲程序,這樣可以滿足更加自主和靈活的采集需求。

爬取下來的微博用戶交互數據,還需要進行必要的清洗和轉換。主要包括:去重,即去掉同一消息內容下同一用戶的重復評論;去噪,一些低質量的內容,如文本過短只包含一個漢字的評論可視為噪聲數據并簡單剔除;拼接,將同一消息內容下同一用戶的多條評論按時序進行拼接,以形成更為完整的上下文語義。經過上述預處理過程的文本數據,便可以進入后續的NLP環節。

3.2 文本分詞與詞向量表示

中文以字為基本書寫單位,而詞是一個或多個字的組合。與西方語言不通,詞和詞之間沒有明顯的區分標記。因此中文自然語言處理,首先要進行中文分詞。通俗地說,中文分詞就是要由機器在中文文本中詞與詞之間加上標記。具體地,輸入“中國電信致力于做領先的綜合智能信息服務運營商”;輸出“中國電信/致力于/做/領先/的/綜合/智能/信息/服務/運營商”。

分詞技術被歸為以下3個主要類別:基于詞典的分詞技術;基于統計的分詞技術;基于規則的分詞技術。3類分詞技術有各自的優缺點,具體工作中,可采用較為成熟的結巴(Jieba)分詞或CRF++分詞。這兩個分詞算法都不能簡單地歸屬于某一大類的分詞技術中,而是采用了交叉的技術策略。算法支持用戶自定義詞庫,可以將具有行業特征的專有詞添加到自定義詞庫,以便分詞引擎能夠識別和處理,如“運營商”“天翼”等。

經過分詞處理的文本語料,便可送入Word2vec進行訓練,以獲得詞向量表示,這一過程也成為詞嵌入(word embedding)。在互聯網上有一些基于海量語料(例如中文維基百科等)的預訓練詞向量,這些語料內的詞基本可以覆蓋本文所需的電信官微使用詞匯。但是一方面由于詞庫過于龐大,勢必要用更多維數去表示,詞向量就會更加冗長和稀疏;另一方面,某些詞在電信行業具有特指的含義,區別于普通文檔,例如“終端”一詞,在電信行業中與“手機”的含義就比一般意義上更為接近。因此,并不適合將通用的預訓練詞向量直接拿來使用,而應基于場景問題域本身的語料重新進行詞向量訓練。

除了Google自己的Word2vec工具,開源社區中還存有對詞向量感興趣的第三方開發者所編寫的不同版本,其中Python gensim主題模型包中的Word2vec對算法的封裝比較完善。訓練Word2vec模型主要需要設置詞向量的維數,即上文所述的模型超參數值。的取值與語料內包含的不同詞匯個數相關,可依據經驗或由封裝函數進行優化設置。

本文對高維數的詞向量做了主成分分析(principal component analysis,PCA),選取部分詞以及與它們距離最接近的Top10的詞,在權重最高的兩個主成分構成的二維平面中進行了可視化展示,效果如圖1所示。圖1中結果印證了詞向量距離以及詞之間語義相似度二者的一致性關系。

圖1 Word2vec詞向量距離圖示

3.3 深度學習模型構建

本場景的分析目標,是根據用戶評論文本數據判別微博用戶對電信的情緒偏好(包含:“正面”“負面”和“無關”),這在NLP基本問題歸類中屬于文本分類問題。即根據給定文本的內容,將其判定為事先確定的若干個文本類別中的某一類或者某幾類的過程。

從機器學習的技術層面看,分類問題是比較典型的監督學習(supervised learning)。百度百科將監督學習定義為利用一組已知類別的樣本調整分類器的參數,使其達到所要求性能的過程,也稱為監督訓練或有教師學習。監督學習是從標記的訓練數據來推斷一個功能的機器學習任務[4]。對于監督學習而言,有高質量標注的學習樣本是模型訓練成功的重要前提。為此,本文從全部語料中隨機地抽取20%的樣本,分3組獨立進行人工標注,再通過投票機制確定每個樣本的分類標注,從而保證學習樣本的標注質量。

本文采用Word2vec即維詞向量表示一個詞,而句子可以看成多個詞所組成的序列。句子的長短即包含的詞語個數可能不同,如果將詞向量序列簡單拼接作為句子的信息表示,那么句子的維數就會長短不一,無法作為后續深度神經網絡的直接輸入。考慮到微博評論的一般表述方式都以短句為主,因此設定一個固定長度(本文取值34)作為文本的限定長度。當評論文本長度(包含詞數) >時,對之后的文本進行截斷;當文本長度 <時,通過類似缺失值處理的方式補齊,本文采用空字符填充以做到不失原文語義。經過上述處理,文本就可以表示成個維向量序列形式,輸入深度學習網絡。

網絡的具體結構如下:文本經過詞嵌入進行向量化之后,進入標準LSTM層進行上下文學習,之后LSTM的輸出結果經過全連接(dense)層將維度降至目標變量類別個數3,再迭加softmax層就可以得到輸入文本在各個類別的概率,從而實現最終的分類目的。整個深度學習模型構建流程如圖2所示。

4 Tensorflow深度學習平臺建模實證

4.1 驗證平臺環境搭建

伴隨著人工智能的熱潮,很多互聯網公司和研究機構都積極參與研發深度學習框架,并將其開源以擴大影響力,因此目前市面上深度學習框架數目眾多。其中,TensorFlow由Google于2015年推出,基于架構靈活的計算圖進行設計,依托Google強大的研發實力和業界影響力,Tensorflow在社區活躍度、文檔豐富性、生態完備性方面都體現了優勢。

基于此,在本文實際驗證中采用TensorFlow作為深度學習平臺。同時為了簡化編程開銷,更專注于深度學習模型本身,還使用了Keras作為高層框架。Keras是一個極簡主義、高度模塊化的神經網絡庫,可充分利用TensorFlow通用計算能力。另外,為了更好地實現Python環境包和多版本管理,引入了Anaconda作為管理工具。

圖2 深度學習模型建模示意

驗證平臺環境主要安裝過程如下。

步驟1 Anaconda安裝配置

下載Python版本為2.7對應的Anaconda:

https://repo.continuum.io/archive/Anaconda2-5.0.0.1-Linux-x86_64.sh

安裝Anaconda:

$ bash Anaconda2-5.0.0.1-Linux-x86_64.sh

步驟2 Tensorflow安裝配置

執行下面命令,準備環境:

$ conda create -n tensorflow python=2.7

激活上述名字為『tensorflow』的環境:

$ source activate tensorflow

安裝最新版本Tensorflow:

(tensorflow)$ pip install tensorflow

步驟3 Keras安裝配置

(tensorflow)$ pip install keras

4.2 深度學習網絡訓練

本文使用Python腳本完成深度學習網絡構建。在數據預處理階段,對于經過分類標注的訓練文本,使用結巴分詞進行中文分詞。再通過字符截斷和填充,形成長度限定為的等長分詞序列。之后,Python調用Keras的API構建本文第3.3節所述的深度學習模型。

深度神經網絡建模主要語句如下:

model = Sequential()

model.add(Embedding(len(dict)+1, 256, input_ length=34))

model.add(LSTM(128, dropout_W=0.2, dropout_U=0.2))

model.add(Dense(3,activation='relu'))

model.add(Activation('softmax'))

model.compile(loss="categorical_crossentropy",optimizer="rmsprop",metrics=['accuracy'])

model.fit(x, y, batch_size = 128, nb_epoch=20)

注:x存儲訓練樣本分詞典下標序列,y存儲訓練樣本分類標簽,dict為語料庫詞典。

訓練過程可以輸出經過每次迭代(epoch)之后的損失函數值(loss)以及模型準確率(accuracy,簡稱acc),通過觀察loss和acc的不斷變化,可以判斷模型是否收斂。本文的訓練中經過20次迭代,在訓練集上loss下降到0.062 2,acc達到0.977 1;在驗證集上也分別達到0.288 4、0.921 9,是較為理想的結果。loss和acc的變化趨勢如圖3所示。

圖3 深度學習網絡訓練迭代過程loss與acc變化趨勢

由實際驗證結果可知,結合詞向量詞嵌入與LSTM深度學習模型的文本分類方法,對于電信官微用戶情緒分析效果十分有效。在有高質量訓練樣本標注的前提下,這一方法可以很容易地延伸到其他NLP文本分類應用場景中,如客服投訴文本分類、客服服務質量評價等。

5 結束語

傳統的文本處理方法(例如TF-IDF)基于詞袋(bag-of-word)特征,基本原理還是詞頻統計。主要有兩個缺陷,一是丟失了詞的上下文順序,二是忽略了詞的語義差異。對于類似微博評論的短文本,語義信息本就不夠豐富,信息丟失就會對結果產生更為明顯的影響。

本文采用基于深度學習的NLP技術進行文本分類,工作基礎是詞向量(Word2vec)或稱詞嵌入技術,將有上下文語義信息的詞向量的序列作為文本特征表示,從源頭上基本消除了語義信息丟失的問題。詞向量不僅可以用作文本分類,還可以被作為很多 NLP 相關工作的數據輸入,如文本聚類、文本相似度分析、seq2seq文本生成等。

另外筆者注意到,參考文獻[5]中提到一種使用固定長度向量表征段落文本的方法,該方法是在Word2vec基礎上的進一步延伸,也被稱為Sentence2vec,可以規避本文提到的文本截斷和補齊過程,值得進一步研究和嘗試。

近年來,基于深度學習的NLP技術進展迅速,在語音識別、自動問答和寫作、機器翻譯等場景都有了突破性的成果。隨著算法的進一步研究和改進,筆者相信基于深度學習技術一定能催生出更多相關的人工智能創新產品。

[1] BIRD S, KLEIN E, LOPER E. Python自然語言處理[M]. 陳濤, 張旭, 崔楊, 等譯. 北京: 人民郵電出版社, 2014.

BIRD S, KLEIN E, LOPER E. Natural language processing with Python[M]. Translated by CHEN T, ZHANG X, CUI Y, et al. Beijing: Posts & Telecom Press, 2014.

[2] MIKOLOV T, CHEN K,CORRADO G, et al. Efficient estimation of word representations in vector space[C]// 1st International Conference on Learning Representations(ICLR 2013), Sep 3, 2013, Scottsdale, Arizona, USA. [S.l.:s.n.], 2013.

[3] LECUN Y, BENGIO Y, HINTONG. Deep learning[J]. Nature, 2015, 521(5): 436-444.

[4] 李航. 統計學習方法[M]. 北京: 清華大學出版社, 2012.

LI H. Statistical learning method[M]. Beijing: Tsinghua University Press, 2012.

[5] LE Q, MIKOLOV T. Distributed representations of sentences and documents[C]//The 31st International Conference on International Conference on Machine Learning, June 21-26, 2014, Beijing, China. New York: ACM Press, 2014.

Sentiment analysis of telecom official micro-blog users based on LSTM deep learning model

CAI Xin, LOU Jingsheng

Shanghai Research Institute of China Telecom Co., Ltd., Shanghai 200122, China

As an internet media, China Telecom official micro-blog is an important channel for the company to publish information and get feedback from users. Users’ comments on telecom official micro-blog messages reflect different attitudes towards telecom brand, products and services. The message content and comment data of the micro-blog was crawled, and the Word2vec was used to express the text information after data cleaning, and the deep learning platform was chosen to carry out the positive and negative emotional classification of the user interaction text based on the LSTM deep neural network model, and sentiment analysis of telecom official micro-blog users was realized.

deep learning, LSTM, sentiment analysis, micro-blog

TP391

A

10.11959/j.issn.1000?0801.2017340

2017?10?31;

2017?11?29

蔡鑫(1975?),男,中國電信股份有限公司上海研究院高級工程師,主要研究方向為數據分析挖掘、人工智能、數據規劃和信息管理。

婁京生(1975?),男,中國電信股份有限公司上海研究院助理工程師,主要研究方向為數據分析挖掘、人工智能。

猜你喜歡
深度文本用戶
深度理解一元一次方程
在808DA上文本顯示的改善
深度觀察
深度觀察
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
深度觀察
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
主站蜘蛛池模板: 九九精品在线观看| 无码人妻免费| 欧美日韩精品一区二区在线线 | 中文字幕在线观| 无码在线激情片| 国产69囗曝护士吞精在线视频| av色爱 天堂网| 国产精品永久不卡免费视频| 亚洲精选高清无码| 国产精品女同一区三区五区| 欧美精品在线免费| a毛片免费看| 91小视频在线播放| 国产精品99一区不卡| 2021国产乱人伦在线播放| 国产精品亚欧美一区二区三区| 国产成人一区免费观看| 精品欧美日韩国产日漫一区不卡| 欧美黄网站免费观看| 国产精品黄色片| 精品91在线| 免费国产高清视频| 亚洲精品动漫在线观看| 国产尤物视频在线| 国产一区二区精品福利 | 国产乱子伦精品视频| a级毛片免费看| 欧美成人A视频| 精品视频福利| 国产农村妇女精品一二区| 中文字幕天无码久久精品视频免费| 国产精品成| 青草视频久久| 国产一级二级在线观看| 国产成人艳妇AA视频在线| 国产精品免费p区| 视频一区亚洲| 热99re99首页精品亚洲五月天| 亚洲首页国产精品丝袜| 福利片91| 久久久亚洲色| 国产一二三区视频| 亚洲无线视频| 小说 亚洲 无码 精品| 国产一国产一有一级毛片视频| 99在线国产| 亚洲中文字幕在线精品一区| 国产亚洲欧美日本一二三本道| 97视频精品全国在线观看| 国产簧片免费在线播放| 日韩视频免费| 国产精品亚洲欧美日韩久久| 国产成人亚洲日韩欧美电影| 亚洲成人福利网站| 国产高潮流白浆视频| 免费观看国产小粉嫩喷水| 国产成人精品18| 国产在线小视频| 日本欧美精品| 久久精品免费国产大片| 99久久性生片| 国产精品无码久久久久AV| 999精品免费视频| 亚洲三级色| 日韩二区三区| 国产美女在线免费观看| 日韩欧美高清视频| 亚洲中字无码AV电影在线观看| 国产成人精品一区二区免费看京| 国产精品lululu在线观看| 亚洲成网站| 国产视频自拍一区| 久久久久无码精品| 国产精品欧美激情| 香蕉久人久人青草青草| 福利视频一区| 小13箩利洗澡无码视频免费网站| 国产成人精品午夜视频'| 久久9966精品国产免费| 国产男女免费完整版视频| 亚洲V日韩V无码一区二区| 亚洲第一精品福利|