欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于深度學習的用戶情感分析方法與流程

文檔序號:12906067閱讀:822來源:國知局
一種基于深度學習的用戶情感分析方法與流程

本發(fā)明屬于情感分析技術領域,更具體地,涉及一種基于深度學習的用戶情感分析方法。



背景技術:

隨著互聯(lián)網(wǎng)的快速發(fā)展,用戶規(guī)模呈爆發(fā)式增長,同時促進了人們社交網(wǎng)絡的形成與拓展。社交網(wǎng)絡已經(jīng)在我們的日常生活中成為不可代替的一部分。每個用戶都可以隨時把自己的心情,態(tài)度,觀點發(fā)布于網(wǎng)絡,也可以利用社交網(wǎng)絡發(fā)現(xiàn)具有相同觀念的好友,快速獲取最新的知識。情感分析是數(shù)據(jù)挖掘領域的研究熱點之一,傳統(tǒng)的情感分析方法在進行文本相關特征提取時會產生一定的噪聲或信息缺失,同時在情感預測方面也存在一定缺陷?;谏疃葘W習的情感分析方法可以自動的學習并在模型中利用文本相關特征,然而現(xiàn)有深度學習方法對于文本的用戶等信息利用不全面。

用戶情感分析的關鍵之一在于合理的利用用戶信息。利用用戶信息的分析任務通常是利用用戶信息來提升情感分析的效果?;蚶蒙缃痪W(wǎng)絡中用戶的關注關系等發(fā)現(xiàn)社區(qū)或計算用戶影響力,或利用用戶的相關行為特征進行推薦。但傳統(tǒng)的方法在利用用戶的信息或用戶表現(xiàn)的相關特征行為時均需要特征提取,而提取的特征不僅大多為離散的、多個不相關特征的疊加(如將用戶的入度和出度分別作為一個特征)而且通常需要花費大量的計算代價。且提取的特征具有以下缺點:(1)特征維度大,易造成維度災難和數(shù)據(jù)稀疏性,特征提取過程繁瑣,特征提取的結果不完善或存在噪聲;(2)傳統(tǒng)特征提取往往不具有語義信息,故會造成原有文本語義信息的丟失,對于文本中的情感轉移現(xiàn)象以及深層語義情感分析效果不理想。



技術實現(xiàn)要素:

針對現(xiàn)有技術的以上缺陷或改進需求,本發(fā)明的目的在于提供了一種基于深度學習的用戶情感分析方法,由此解決傳統(tǒng)的用戶情感分析方法在利用用戶的信息或用戶表現(xiàn)的相關特征行為時均需要特征提取,且提取的特征不僅大多為離散的、多個不相關特征的疊加而且通常需要花費大量計算代價,從而導致情感分析的準確度及效率較低的技術問題。

為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種基于深度學習的用戶情感分析方法,包括以下步驟:

對原始數(shù)據(jù)集中的所有用戶及其發(fā)表的文本內容進行預處理得到目標數(shù)據(jù)集,對目標數(shù)據(jù)集中的單詞進行訓練得到各單詞對應的詞向量,對目標數(shù)據(jù)集中的文本進行訓練得到各文本對應的文本向量;

對于每個用戶,基于用戶ux的用戶信息及用戶ux發(fā)表的文本中單詞的詞向量(w1,w2,w3,...,wt),最大化概率得到用戶ux的第一特征向量,其中,wt表示詞向量(w1,w2,w3,...,wt)中的任意詞向量;

最大化概率得到用戶ux的第二特征向量,其中,n為用戶數(shù)目,c為用戶ux發(fā)表的文本內容的個數(shù),tj為用戶ux發(fā)表的第j個文本的文本向量;

將用戶ux的第一特征向量以及用戶ux的第二特征向量進行拼接得到用戶ux的目標特征向量,通過所有用戶的目標特征向量對待分析用戶進行情感分析。

優(yōu)選地,所述對目標數(shù)據(jù)集中的文本進行訓練得到各文本對應的文本向量,包括:

對于目標數(shù)據(jù)集中的每段文本使用卷積神經(jīng)網(wǎng)絡學習將文本表示為與各文本對應的文本向量,其中,卷積神經(jīng)網(wǎng)絡的結構為:

卷積神經(jīng)網(wǎng)絡的第一層輸入文本對應的單詞序列;

卷積神經(jīng)網(wǎng)絡的第二層為對第一層輸入的卷積操作,卷積操作使用多個filter得到多個特征層;

卷積神經(jīng)網(wǎng)絡的第三層為池化層,對每個特征層向量取均值得到輸出結果;

卷積神經(jīng)網(wǎng)絡的第四層為線性層,輸出長度為文本向量的長度;

卷積神經(jīng)網(wǎng)絡的第五層為激活層,使用htanh函數(shù)使得輸出結果介于-1到1之間。

優(yōu)選地,所述對于目標數(shù)據(jù)集中的每段文本使用卷積神經(jīng)網(wǎng)絡學習將文本表示為與各文本對應的文本向量,包括:

設每個詞向量的長度為d,輸入文本序列s的句子長度為|s|,則卷積神經(jīng)網(wǎng)絡的第一層的輸入矩陣記為s且

卷積神經(jīng)網(wǎng)絡的第二層使用多個filter對每m個單詞做卷積操作得到n個輸出向量c,將n個輸出向量c記為矩陣c,其中,

將矩陣c作為卷積神經(jīng)網(wǎng)絡第三層池化層的輸入,第三層對輸入的每個向量c去均值,將矩陣轉換為n維向量作為卷積神經(jīng)網(wǎng)絡第四層的輸入;

設文本向量的輸出長度也為d,則經(jīng)過卷積神經(jīng)網(wǎng)絡第四層線性層后得到d維輸出向量:y=ct·w+b,其中y為第四層的輸出,表示輸入文本序列s的d維向量表示,w為參數(shù),b為偏置;

卷積神經(jīng)網(wǎng)絡第五層的輸出記為r,則:r=htanh(w1·yt+b),其中,y為第四層的輸出,w1為權重,b為偏置,htanh的計算方式為:

替換文本序列s中的單詞為所有單詞中的一個隨機單詞得到新的文本序列,然后分別將原始序列和新的序列作為輸入至卷積神經(jīng)網(wǎng)絡并得到兩個不同的輸出值,則理論上兩個結果差值較大,故該神經(jīng)網(wǎng)絡的損失函數(shù)記為:max(0,1-r1+r2),然后根據(jù)輸出的損失函數(shù)優(yōu)化卷積神經(jīng)網(wǎng)絡的參數(shù),其中r1和r2分別為兩個序列的輸出結果;

使用卷積神經(jīng)網(wǎng)絡第四層線性層的輸出作為文本的向量表示。

優(yōu)選地,所述對每m個單詞做卷積操作的計算方式為:

對于第i至i+m-1個單詞做卷積時的計算方式為:其中,(f×si)l表示f和si矩陣的第l維向量的叉乘結果。

優(yōu)選地,所述由所有用戶的目標特征向量對待分析用戶進行情感分析,包括:

獲得整合待分析用戶信息的文本向量;

根據(jù)整合待分析用戶信息的文本向量,依據(jù)情感分析的不同任務進行調整,得到最終的情感分析結果。

優(yōu)選地,所述獲得整合待分析用戶信息的文本向量包括:

查找待分析用戶發(fā)表的文本中的單詞的詞向量,若單詞不存在則使用預設的向量表示該單詞;

查找待分析用戶的特征向量;

使用卷積神經(jīng)網(wǎng)絡對待分析用戶發(fā)表的文本進行卷積操作后,在采樣層加入待分析用戶信息,以使在采樣層中使得原有文本的語義按待分析用戶的性格有所偏移,在此基礎上得到最終的文本向量表示,其中,在卷積神經(jīng)網(wǎng)絡的第二層增加輸入為待分析用戶的特征向量。

優(yōu)選地,在所述得到最終的情感分析結果之后,所述方法還包括:

根據(jù)情感分析結果與實際結果的偏差信息,使用反向傳播算法和隨機梯度下降對卷積神經(jīng)網(wǎng)絡中的參數(shù)進行更新,對于卷積神經(jīng)網(wǎng)絡中每個神經(jīng)元的權重,按照以下方式進行更新:將輸入的數(shù)據(jù)和輸出的損失相乘,從而獲得權重的梯度;將梯度乘上一個預設比率并取反后加到該神經(jīng)元的各參數(shù)權重上。

總體而言,本發(fā)明方法與現(xiàn)有技術方案相比,能夠取得下列有益效果:

(1)對于已有用戶及其相關的文本資源,首先學習詞向量表示并將文本內容表示為文本向量,然后基于文本向量及詞向量學習用戶的特征向量,即使用特定長度的向量作為用戶的特征向量,采用本發(fā)明的用戶特征向量由于具有豐富的用戶畫像信息,使得基于該用戶特征向量對文本進行情感分析時提升了情感分析的準確度及效率。

(2)本發(fā)明的用戶情感分析方法依賴于用戶發(fā)表的相關文本得到用戶的特征表示,所以相比于傳統(tǒng)的用戶特征表示方法(比如將年齡、性別、好友數(shù)分別作為一個特征)更能在一定程度代表用戶的性格或興趣、同時對于新增的用戶也不需要額外的計算便可以直接得到對應的用戶特征向量。

(3)對于得到的用戶特征向量可以結合不同情感分析任務設計不同的網(wǎng)絡結構,用以進行多種類型的情感分析。針對不同的情感分析任務可以使用不同的參數(shù)學習方法提升情感分析準確度

附圖說明

圖1為本發(fā)明實施例公開的一種基于深度學習的用戶情感分析方法的示意圖;

圖2為本發(fā)明實施例公開的一種用戶特征表示方法;

圖3為本發(fā)明實施例公開的另一種用戶特征表示方法;

圖4為本發(fā)明實施例公開的一種用戶情感分析方法。

具體實施方式

為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。

如圖1所示為根據(jù)本發(fā)明的基于深度學習的用戶情感分析方法示意圖。其中包括了數(shù)據(jù)預處理、詞向量學習、文本向量學習、用戶特征向量表示、用戶情感分析、模型更新六個步驟。該方法依賴于用戶發(fā)表的相關文本得到用戶的特征表示,并依賴于使用本學習方法得到的用戶特征向量具有豐富的用戶畫像信息提升了對用戶相關文本進行情感分析的準確度。

本方法需要事先對模型進行預訓練,其中訓練的語料集為包含用戶信息的文本內容,且該文本內容標注了情感傾向性信息??蛇x的文本語料來源可以是twitter、weibo等社交媒體或yelp等評論網(wǎng)站,其中twitter、weibo中的文本內容依據(jù)句中的表情符號進行句子的情感傾向性的判定,yelp等評論信息則依據(jù)該評論的打分情況決定文本的情感傾向性。同時為了驗證訓練得到模型的效果,每次均將數(shù)據(jù)集的80%作為訓練集,另外20%作為測試集。本方法具體的實施過程如下所述:

s1、對原始數(shù)據(jù)集中的所有用戶及其發(fā)表的文本內容進行預處理得到目標數(shù)據(jù)集,對目標數(shù)據(jù)集中的單詞進行訓練得到各單詞對應的詞向量,對目標數(shù)據(jù)集中的文本進行訓練得到各文本對應的文本向量;

其中,對所有用戶及其發(fā)表的文本內容進行預處理得到目標數(shù)據(jù)集可以采用以下方式實現(xiàn):

對已有的用戶及文本信息進行預處理,每個文本內容均對應相關的用戶。首先過濾所有句子長度小于6個單詞的文本。然后統(tǒng)計文本中所有詞語及標點符號的出現(xiàn)次數(shù),對于次數(shù)少于特定值的詞語使用特殊的標記符號進行替換,如將次數(shù)少于3次的詞語或標點符號均替換為<n_u_l_l>。最后對于每個用戶計算其發(fā)表的文本的數(shù)量,若用戶發(fā)表的有效文本數(shù)少于2,則將該用戶及其相關的文本從數(shù)據(jù)集中刪除。

其中,對目標數(shù)據(jù)集中的單詞進行訓練得到各單詞對應的詞向量可以采用以下方式實現(xiàn):

在得到目標數(shù)據(jù)集之后,可以使用word2vec中的skip-gram模型訓練得到單詞及特殊標記符號(本實施例為<n_u_l_l>)的向量表示。由于已經(jīng)對詞語進行了預處理,所以在使用google的word2vec時只需要設置最小詞頻的計數(shù)與預處理后的詞頻相同即可,詞向量訓練結果存儲在文本中供接下來的步驟使用。然而本發(fā)明實施例的詞向量訓練方式不局限于skip-gram模型,例如還可以采用cbow模型。

其中,對目標數(shù)據(jù)集中的文本進行訓練得到各文本對應的文本向量,可以采用以下方式實現(xiàn):

對于目標數(shù)據(jù)集中的每段文本使用卷積神經(jīng)網(wǎng)絡學習將文本表示為與各文本對應的文本向量,其中,卷積神經(jīng)網(wǎng)絡的結構為:

卷積神經(jīng)網(wǎng)絡的第一層輸入文本對應的單詞序列;

卷積神經(jīng)網(wǎng)絡的第二層為對第一層輸入的卷積操作,卷積操作使用多個filter得到多個特征層;

卷積神經(jīng)網(wǎng)絡的第三層為池化層,對每個特征層向量取均值得到輸出結果;

卷積神經(jīng)網(wǎng)絡的第四層為線性層,輸出長度為文本向量的長度;

卷積神經(jīng)網(wǎng)絡的第五層為激活層,使用htanh函數(shù)使得輸出結果介于-1到1之間。

其中,對于目標數(shù)據(jù)集中的每段文本使用卷積神經(jīng)網(wǎng)絡學習將文本表示為與各文本對應的文本向量,可以采用以下方式實現(xiàn):

設每個詞向量的長度為d,輸入文本序列s的句子長度為|s|,則卷積神經(jīng)網(wǎng)絡的第一層的輸入矩陣記為s且

卷積神經(jīng)網(wǎng)絡的第二層使用多個filter對每m個單詞做卷積操作得到n個輸出向量c,將n個輸出向量c記為矩陣c,其中,

對每m個單詞做卷積操作的計算方式為:

對于第i至i+m-1個單詞做卷積時的計算方式為:其中,其中si表示第i至i+m-1個單詞向量構成的輸入矩陣,f表示每個filter層的初始參數(shù)權重矩陣,矩陣中的數(shù)值可以使用隨機化初始為[-0.5,0.5]區(qū)間內的小數(shù)。(f×si)l表示f和si矩陣的第l維向量的叉乘結果,卷積神經(jīng)網(wǎng)絡的第二層使用多個filter則得到n個f矩陣,即

將矩陣c作為卷積神經(jīng)網(wǎng)絡第三層池化層的輸入,第三層對輸入的每個向量c去均值,將矩陣轉換為n維向量作為卷積神經(jīng)網(wǎng)絡第四層的輸入;

設文本向量的輸出長度也為d,則經(jīng)過卷積神經(jīng)網(wǎng)絡第四層線性層后得到d維輸出向量:y=ct·w+b,其中y為第四層的輸出,表示輸入文本序列s的d維向量表示,w為參數(shù),b為偏置;

卷積神經(jīng)網(wǎng)絡第五層的輸出記為r,則:r=htanh(w1·yt+b),其中,y為第四層的輸出,w1為權重,b為偏置,htanh的計算方式為:

其中,卷積神經(jīng)網(wǎng)絡第五層的輸出的目的在于計算損失函數(shù),以此提升文本向量表示的準確度。

替換文本序列s中的單詞為所有單詞中的一個隨機單詞得到新的文本序列,然后分別將原始序列和新的序列作為輸入至卷積神經(jīng)網(wǎng)絡并得到兩個不同的輸出值,則理論上兩個結果差值較大,故該神經(jīng)網(wǎng)絡的損失函數(shù)記為:max(0,1-r1+r2),然后根據(jù)輸出的損失函數(shù)優(yōu)化卷積神經(jīng)網(wǎng)絡的參數(shù),其中r1和r2分別為兩個序列的輸出結果;

使用卷積神經(jīng)網(wǎng)絡第四層線性層的輸出作為文本的向量表示。

s2、對于每個用戶,基于用戶ux的用戶信息及用戶ux發(fā)表的文本中單詞的詞向量(w1,w2,w3,...,wt),最大化概率得到用戶ux的第一特征向量,其中,wt表示詞向量(w1,w2,w3,...,wt)中的任意詞向量;

s3、最大化概率得到用戶ux的第二特征向量,其中,n為用戶數(shù)目,c為用戶ux發(fā)表的文本內容的個數(shù),tj為用戶ux發(fā)表的第j個文本的文本向量;

例如,對于用戶1發(fā)表了“我在昆明工作”,用戶2發(fā)表了“我在北京工作”,則一個好的用戶特征向量應該盡可能滿足以下兩種情況:

情況1:p(昆明|我,在,工作,用戶1)>p(北京|我,在,工作,用戶2)

情況2:p(我在昆明工作|用戶1)>p(我在昆明工作|用戶2)

因此本發(fā)明在進行用戶特征向量表示時以實現(xiàn)以上兩種情況為出發(fā)點,首先經(jīng)過上述步驟s1得到了詞向量表示,文本向量,然后利用以上信息訓練用戶的特征向量,該過程使用圖2和圖3所示的兩種方法分兩個步驟進行:

步驟s2的目的是學習用戶特征向量使得該特征向量可以滿足情況1,其網(wǎng)絡結構如圖2,詳細過程如下:

給定用戶ux及用戶ux發(fā)表的文本中單詞的詞向量(w1,w2,w3,...,wt),對(w1,w2,w3,...,wt)中的每個詞向量wt,則在給定詞向量wt-k,...,wt+k以及用戶ux的情況下詞向量wt出現(xiàn)的概率和為:

模型應該使得以上概率最大化,且該任務為一個多分類任務,可以通過softmax函數(shù)來計算輸出結果,因此p(wt|wt-k,...,wt+k,ux)的計算方式為:

其中,表示每個可能輸出的詞向量wi的概率,且a,u為softmax函數(shù)的參數(shù),函數(shù)h表示對(wi-k,...,wi+k,ux)中的詞向量進行求和或均值,模型中參數(shù)學習的過程通常采用隨機梯度下降的方法。

步驟s3的目的學習到用戶特征向量使得該特征向量可以滿足情況2,步驟s3的訓練過程與步驟s2的訓練過程類似,其網(wǎng)絡結構如圖3,但對于用戶ux的關聯(lián)文本向量tj應該最大化以下概率:

s4、將用戶ux的第一特征向量以及用戶ux的第二特征向量進行拼接得到用戶ux的目標特征向量,以由所有用戶的目標特征向量對待分析用戶進行情感分析。

其中,由所有用戶的目標特征向量對待分析用戶進行情感分析過程為:

一是獲得具有用戶信息的文本向量表示,二則是依據(jù)一得到的向量及不同的情感分析任務選擇不同的激活函數(shù)實現(xiàn)函數(shù)的輸出。

其中,獲得整合用戶信息的文本向量表示的過程為:

如圖4所示為基于步驟s1、s2、s3以及s4得到詞向量、文本向量以及用戶特征向量表示后進行用戶情感分析的卷積神經(jīng)網(wǎng)絡結構示意圖,該步驟首先將用戶文本中的詞語在詞向量表中查找相應單詞的向量表示,若單詞表中不存在該單詞則使用特定的向量表示該單詞。同時在用戶特征向量表中查找該用戶的特征向量。然后使用卷積神經(jīng)網(wǎng)絡先對文本進行卷積得到文本表示后在采樣層加入所屬用戶的信息,即在此層中使得原有文本的語義按用戶的性格有所偏移,在此基礎上得到最終的文本向量表示。其中卷積神經(jīng)網(wǎng)絡的結構為:

卷積神經(jīng)網(wǎng)絡的第一層輸入文本的對應的單詞序列;

卷積神經(jīng)網(wǎng)絡的第二層為對第一層輸入的卷積操作,同時在第二層添加輸入為用戶特征向量,卷積操作使用多個filter得到多個特征層;

卷積神經(jīng)網(wǎng)絡的第三層為池化層,對每個特征層向量取均值得到輸出結果;

本步驟的神經(jīng)網(wǎng)絡基本結構與步驟s1類似,區(qū)別在于第二層的卷積操作加入了用戶特征向量的卷積,所以對于最終的情感分析結果產生了影響。

上述步驟s1中對文本中每m個單詞做卷積操作得到輸出向量c的計算方法為:則在加入用戶的卷積操作時與原神經(jīng)網(wǎng)絡的區(qū)別在于si矩陣每次都由m個單詞向量及用戶特征向量ux拼接得到。該層得到的池化結果同步驟s1與filter的個數(shù)有關,n個filter的池化層輸出向量為該層的輸出向量同時具備了文本的語義信息及用戶的信息,該層的輸出向量用于不同的用戶情感分析任務。

用戶情感分析:該步驟的具體的輸出或神經(jīng)網(wǎng)絡的結構依據(jù)情感分析任務的不同進行適當?shù)恼{整。例如獲得整合用戶信息的文本向量為一個n維向量,基于該向量可以直接結合logistic函數(shù)實現(xiàn)文本情感的二分類?;蛘呖梢院筒襟Es1類似添加一個線性層將n維向量轉化為其他維度后結合softmax函數(shù)實現(xiàn)文本情感的多分類或結合logistic函數(shù)實現(xiàn)文本情感的二分類。

對于輸入向量x以及與其維度相同的權重向量θ,logistic函數(shù)的計算方法如下:

對于輸入向量x以及與其維度相同的權重向量θ,softmax函數(shù)的輸出y屬于某一類別i的計算方法如下:

作為一種可選的實施方式,在得到最終的情感分析結果之后,還包括參數(shù)更新的操作:

對于上述的所有卷積神經(jīng)網(wǎng)絡,根據(jù)情感分析結果與實際結果的偏差信息,使用反向傳播算法和隨機梯度下降對模型中的參數(shù)進行更新。對于神經(jīng)網(wǎng)絡中每個神經(jīng)元的權重,按照以下步驟進行更新:將輸入的數(shù)據(jù)和輸出的損失相乘,從而獲得權重的梯度;將這個梯度乘上一個預設比率(學習率)并取反后加到該神經(jīng)元各參數(shù)的權重上。梯度的方向指明了誤差擴大的方向,因此在更新權重的時候需要對其取反,從而減小權重引起的誤差,其中預設比率可以由經(jīng)驗或者實際需要進行確定。

在本發(fā)明中用到的多為神經(jīng)網(wǎng)絡結構,其中神經(jīng)網(wǎng)絡的部分中間層以及部分使用卷積層和采樣層的結構在示意圖中均使用一層表示,但是不同的網(wǎng)絡結構可能適用于不同的任務,所以在實際的設計過程中可以是對于不同種中間層或卷積層的多個組合。

本領域的技術人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
正阳县| 简阳市| 安阳县| 莆田市| 独山县| 崇阳县| 朝阳区| 新绛县| 西安市| 三原县| 衡山县| 曲水县| 城口县| 马山县| 西峡县| 鄂伦春自治旗| 新郑市| 曲麻莱县| 囊谦县| 香格里拉县| 兴义市| 东海县| 平舆县| 扬州市| 嘉兴市| 泗阳县| 山东| 冀州市| 福鼎市| 玉龙| 页游| 盱眙县| 山阴县| 焉耆| 锦州市| 乡宁县| 金川县| 丹棱县| 隆德县| 行唐县| 衡水市|