一種社交網絡用戶情緒判別方法
【專利摘要】本發明公開了一種社交網絡用戶情緒判別方法,包括如下步驟:用戶數據采集、用戶數據預處理、構建情感詞典、構建中性詞典、計算獨立記錄的情感生成概率、利用貝葉斯生成模型對用戶情感進行建模、利用最大期望算法(EM算法)對用戶情感隱含變量進行求解。發明將視角集中在用戶身上,通過挖掘用戶在一段連續時間內發布的消息內容的情感,來反映用戶在此階段內在的情感及情感變化。
【專利說明】一種社交網絡用戶情緒判別方法 【技術領域】
[0001] 本發明涉及社交網絡用戶情緒判別方法。 【【背景技術】】
[0002] 社交網絡的普及,使得大規模提取用戶發布的公共信息成為可能;隨著時間的推 進和社交網路不斷發展,使得對用戶進行較長時間線上數據的研究成為可能。這些數據有 別于單一時間點上大量不相關用戶發布的瞬時消息的集合,單個用戶在較長時間線上所發 布的消息中所隱含的消息一致性、相關性、發展規律性等都可以作為特定的研究對象。從社 交網絡的情感計算角度來看,目前主要研究思路主要集中在根據用戶所發布的內容,根據 一般性情感詞典和大量互聯網用戶用語的習慣等進行推測,從而判斷用戶發布內容所對應 的情感極性。
[0003] 心理學上一個人的情感是有多種維度的,在一定程度上影響著一個人發表的主觀 評論。目前,判斷一個人發表內容的情感極性,主要將其分為正向的、中性的或者負向的,產 生這些情感極性的原因有很多。概率生成模型是描述因果生成關系的數學模型,對于一些 人們的評論往往是中性或者正負極性不確定的客體,在評論性文本中帶有的情感極性一部 分反映了主體當時的情感,或者說對于中性客體的情感極性可以看作是主體主觀情感影響 下所產生的情感傾向。基于這樣一種假設和思路,采用貝葉斯生成模型對其進行建模,將用 戶文本的情感極性判斷的生成概率作為已知量(后驗概率),將用戶情感看作隱含未知變 量,經過迭代計算,得到用戶情感的最終畫像(先驗概率)。這里的用戶情感畫像指的是用戶 多維度的情感狀態,與情感極性不同,多維度情感狀態通常包括三種以上的類別,可以指包 含高興、傷心、生氣、害怕、激動、厭惡等特定情感的類別,也可以指一定代號為類別的分類 類別,如情感1,情感2,…,情感£,等。
[0004] 目前,對用戶文本的情感極性判斷主要基于構建情感詞典,根據情感詞典判斷用 戶文本情感極性。情感詞典的構建方法可基于少量正負極性詞匯集合,再根據關聯規則、圖 模型等算法得到更大的正負極性詞匯集合,并據此計算用戶文本的對應極性的概率。目前 社交網絡情感分析研究對象主要以分析社交網絡中全網絡即時相關文本的極性為主。 【
【發明內容】
】
[0005] 本發明認為人的潛在的較為穩定的情感會影響其在社交網絡中發表內容的情感, 這在一些中性詞語的情感表示中體現得尤為明顯。這里的用戶情感和通過文本分析得到的 用戶文本情感極性相區別,文本極性包括用戶所發文本中所有情感信息,而用戶潛在的情 感畫像則通過構建用戶個人中性詞典,并根據中性詞中的情感變化來體現。本發明提出用 貝葉斯生成模型對該推理進行建模,將用戶情感作為模型中的隱含變量,并通過迭代計算 求解。
[0006] -種社交網絡用戶情緒判別方法,包括如下步驟:
[0007] S1、構建情感詞典,其中,所述情感詞典包含多個情感詞語,每個情感詞語具有表 示情感極性強度的分數;
[0008] S 2、構建中性詞典,其中,所述中性詞詞典包含多個中性詞,所述中性詞為在用戶 的社交文本中出現的名詞,每個中性詞的總體情感得分在設定區間內;
[0009] S3、在待處理用戶社交文本Ti中提取所述中性詞典中出現的中性詞,并抽取與所 述中性詞最近的形容詞,若所述形容詞在所述情感詞典中屬于正極性詞語,則將所述用戶 社交文本的正極性情感得分Scru的值加1,若所述形容詞在所述情感詞典中屬于負極性詞 語,則將所述用戶社交文本的負極性情感得分Scr l3的值加1,若所述形容詞在所述情感詞典 中屬于中性極性詞語,則將所述用戶社交文本的中性極性情感得分Scr i2的值加1;
[0010] S4、計算待處理用戶社交文本Ti下對應的情感極性條件概率P(Sm|Ti):
[0011 ] P(Sm I Ti) = Scrim/(Scru+Scru+Scris)其中,m取1、2和3,Si,S2和S3分別對應正極性 情感、中性情感、負極性情感;
[0012] S5、對于 P (S J T;) = E P (S J P (M,'| T;),以P (S J M,)和P (Mr! Tf)為待求量進行 迭代運算,最終計算P (Sm I Mp 其中,表示用戶潛在的情感狀態,p (:Sto | Mp表示每一種情 感狀態f下所對應的極性情感m對應的概率值分布,PT;)表示用戶社交文本1^下所對應 的情感狀態廠的概率值分布。
[0013] 優選地,
[0014] 所述構建情感詞典包括如下步驟:
[0015] S11、對于社交網絡全網絡用戶的文本,提取文本中的形容詞和副詞放入潛在情感 詞典集合;
[0016] S12、以已知公開情感詞典作為基礎,對所述潛在情感詞典集合中的所有詞語打上 對應的表示情感極性強度的分數。
[0017] 優選地,
[0018] 所述構建情感詞典還包括如下步驟:
[0019] S13、對于所述潛在情感詞典集合中的不屬于所述已知公開情感詞典中的詞語,采 用詞語學習算法對對應的詞語打上對應的表示情感極性強度的分數。
[0020] 優選地,
[0021] 每個用戶具有自身的中性詞典,所述構建中性詞典包括如下步驟:
[0022] S21、對于用戶的第i條獨立文本1\中的名詞N&進行抽取;
[0023] S22、抽取名詞:^#附近與所述名詞最近且距離不超過閾值L的形容詞或副詞 若'在所述情感詞典中則構成詞對 <NW
[0024] S23、對用戶在整個時間軸上的詞對<N&,中每個的對應的情感詞語的 情感極性強度的分數進行統計,并計算對應的總體情感得分Scrz:
[0026]其中,示~的情感極性強度的分數,中n為極性因子,若&是正極性詞語q =1,若、是中性極性詞語n=〇,若'是負極性詞語n=-i;
[0027] S24、將總體情感得分Scrz在[_e,e]區間的詞語定義為中性詞,其中e為參數。
[0028] 優選地,
[0029] eG(-〇.8,0.8)。
[0030] 優選地,
[0031]若有兩個最近距離的形容詞或副詞則將名詞前面的形容詞或副詞計入 詞對說,A談〉中。
[0032] 優選地,
[0033] f取1、2、3、4、5、6,表示人的六類基本情感狀態。
[0034] 優選地,
[0035]在步驟S1之前還包括用戶數據采集步驟:
[0036]通過社交網絡公共API收集一定量的用戶ID名稱;
[0037]根據用戶ID名稱收集用戶公開資料信息以及社交網絡統計信息;
[0038]根據所述信息對已經收集的用戶進行篩選;
[0039] 從篩選的用戶中采集用戶所有文本記錄及相應標簽信息。
[0040] 優選地,
[0041 ] 在步驟S1之前還包括用戶數據預處理步驟。
[0042] 本發明將視角集中在用戶身上,通過挖掘用戶在一段連續時間內發布的消息內容 的情感,來反映用戶在此階段內在的情感及情感變化。由于用戶情感在生成模型中屬于隱 含變量,通過直接求取最大似然概率的方式得到最佳參數和隱含變量取值的方法很復雜, 故考慮這種模型常用的最大期望算法(EM算法)對其進行迭代求解。 【【附圖說明】】
[0043] 圖1是本發明一種實施例的社交網絡用戶情緒判別方法的系統框圖;
[0044] 圖2是本發明一種實施例的社交網絡用戶情緒判別方法的流程圖。 【【具體實施方式】】
[0045]以下對發明的較佳實施例作進一步詳細說明。
[0046]如圖1和2所示,一種實施例的社交網絡用戶情緒判別方法,包括如下步驟:
[0047] S1、用戶數據采集。
[0048] 先通過社交網絡公共API (公共應用程序編程接口(Application Programming Interface,簡稱API))收集一定量的用戶ID名稱,根據用戶ID名稱收集用戶公開資料信息 以及社交網絡統計信息。也可在尊重用戶隱私的條件下,對用戶在網絡上的公開數據進行 爬取。這些信息包括但不限于用戶ID名稱、用戶注冊時間、用戶好友數、關注數、被關注數、 用戶發布內容數量、用戶發布文本內容、內容對應時間戳、類別標簽、轉發數、評論數、獲得 點贊數等。根據這些信息對已經收集的用戶進行篩選,選出的用戶應具備以下屬性:是真實 個人用戶、注冊時間較長、在注冊期間活躍程度不低于某一閾值、具有一定量的原創文本內 容。根據以上屬性篩選用戶,采集用戶所有文本記錄及相應標簽信息,以備進行接下來的數 據預處理工作。
[0049] S2、用戶數據預處理。
[0050] 對已經篩選出來的用戶所發布的文本進行采集后,須對文本內容進行一定預處理 工作。首先要找到用戶所有原創性文本內容,即根據發布文本內容的相應標簽對其進行分 類,如可分為原創性文本內容、轉發他人文本內容、轉發他人文本內容并進行評論、評論他 人文本內容,以及以上幾種形式下其內容不包含有效文本信息而只包含超鏈接、多媒體信 息的內容等。對于以上形式的獨立記錄,若其內容不包含用戶原創性文本內容,則予以忽 略,如最后只篩選并留下用戶原創性文本內容、轉發并評論他人的記錄的評論文本、評論他 人記錄的評論文本等。篩選出用戶原創性文本內容后,去掉其中對文本分析無意義的相關 內容,其中包括無關的超鏈接信息、用戶"信息等。其中,用戶"的去除可能會影響后面 對文本進行句法分析,故原則上在這步中只刪除在轉發性文本中系統自動加入的用戶" 內容,而對用戶自己手動標注的用戶"信息予以保留并用"OUser"替代。而后對這些文本 內容進行分句、分詞并進行詞性標注,同時過濾停用詞、并對否定詞、轉義詞等進行標注。最 后,對社交網絡的特殊符號,如表情符號等根據其代表的情感極性進行轉化,并將時間戳格 式進行必要的轉變。
[0051 ] S3、構建情感詞典。
[0052]情感詞典的構建需要利用社交網絡全網絡用戶的文本信息。在實際應用中,情感 詞典需要不斷更新,情感詞典是判斷文本情感極性的依據。對所有用戶預處理后的文本進 行處理如下:用戶^的文本^預處理后對其進行形容詞提取,也可將形容詞和副詞都提取 出來,放入潛在詞典集合ii中(11中的詞語不重復)。利用已知公開情感詞典作為基礎,先 對§i中所有詞語進行極性標注,或同時對其進行打分,如分數范圍可在[_5,5]取整,后對 剩余未標注極性的詞語的情感極性進行學習。對剩余詞語的情感學習采取算法有多種,比 如綜合應用相似語義推理、否定詞語與句子結構轉義等信息進行情感詞典的學習。該算法 需要重復運行直到剩余未標注詞語數趨于穩定,當剩余詞語數目小于一定程度時可對這些 詞語進行舍棄,否則可考慮增加原始學習詞典的詞條信息或人工對其中一些典型詞語進行 手工標注等,最終得到情感詞典集合SD。每個情感詞語對應的情感極性有一定的強度,該強 度值可用來計算極性強度分數,這里可以假設采用11級強度來計算,〇則表示中性詞語,負 數則表示負面情感詞語,正數表示正向情感詞語,而數字越大則情感傾向越明顯,最后將所 有分數歸一化至[-5,5 ]這個區間中。
[0053] S4、構建中性詞典。
[0054]構建用戶中性詞語詞典,指構建每個用戶個性化的中性詞語詞典,這里需要對每 個用戶的文本信息進行單獨處理。對于預處理后的用戶的第i條獨立文本^進行名詞的 抽取,抽取附近與其最近且距離不超過一定閾值L的形容詞(或副詞)并構成名詞-形 容詞對,若該形容詞(或副詞)不在所構建的情感詞典集合SD中,則忽略該詞對,并將其余名 詞與其對應的形容詞(或副詞)記為一個詞對,若有兩個最近距離形容詞(或副詞) 則將名詞前面的形容詞(或副詞)計入詞對中。對用戶在整個時間軸上詞對中每個 的對應的情感詞語情感極性分數進行統計,得到對應的N Z的總體情感得分Scrz。情感 打分的分數計算方法為對應詞匯的情感強度分數(其中n為極性因子,正極時n=i, 中性時n = 〇,負極時n = -1 ),加權平均后的得分即Nz的總體情感得分Scrz,即 。最后將所有得分在[_e,e]g間的詞語定義為用戶個性中性詞語,并 將其納入用戶中性詞典中,e取在一個較小的區間如ee (-0.8,0.8)。
[0055] S5、計算獨立記錄Ti的情感生成概率:計算已知Ti文本對應的情感極性條件概率, 即P(Sm|Ti)。其中,S = |'5^;}^:::1中31,52,53分別對應正極性、中性、負極性的情況。1^文本 包含的中性詞典中出現的詞語,抽取與其最近且距離不超過一定閾值L的形容詞并構成 名詞-形容詞對,并將兩者記為一個詞對<NW AM>。若在構建的情感詞典中為正向極性 詞語,則該條記錄正向極性情感得分Scru = Scru+1,若在構建的情感詞典中為負向極 性詞語,貝lj該條記錄負向極性情感得分Scri3 = Scri3+1,若~在構建的情感詞典中為中性極 性詞語,貝lj該條記錄中性極性情感得分Scri2 = Scri2+l,若&不在構建的情感詞典中,則將 其忽略。P(Sm|Ti)計算方法為對應極性情感得分Scrim與該條記錄所有情感極性分數絕對值 和的比值,即Scrim=Scrim/(Scrii+Scri2+Scri3)。如果該條記錄的每個極性對應的分數都為 0,則忽略該條記錄。
[0056] S6、利用貝葉斯生成模型對用戶情感進行建模:對于每條獨立記錄,其中性詞語 計算得到的情感得分可以反映人們潛在的情感狀態,其顯式的情感表達之前已經由情感極 性分數及其所對應的概率計算得到。利用貝葉斯生成模型對其進行建模得到 P (Sm | T,) = E P (Sm | M,) P (M^J Tf),其中Mf表示用戶潛在的情感狀態,也是本專利所關心的 主要變量,其代表著用戶在外在情感表達下與該表達主題、對象和其他外界條件無關,而只 反映用戶當時隱含情感狀態的變量。該變量為隱含變量,設情感分為I:個煒度,則 1={1,2, 3,;若結合心理學中將人的基本情感設為六類的研究結論,則設情感分為 六個維度,即1>6(運[1,6],且運雙勹。
[0057] S7、利用最大期望算法(EM算法)對用戶情感隱含變量進行求解:利用EM迭代算法, 設~為隱含變量,p^lh)為已知量,P(SjMp和P(M f|Tf)為待求量進行迭代運算,最終計 算得到的P (Sj 則表示每一種情感狀態下所對應的正、中性、負極性情感表達對應的概 率值分布及組合。
[0058]以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定 本發明的具體實施只局限于這些說明。對于本發明所屬技術領域的普通技術人員來說,在 不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發明由 所提交的權利要求書確定的專利保護范圍。
【主權項】
1. 一種社交網絡用戶情緒判別方法,其特征是,包括如下步驟: 51、 構建情感詞典,其中,所述情感詞典包含多個情感詞語,每個情感詞語具有表示情 感極性強度的分數; 52、 構建中性詞典,其中,所述中性詞詞典包含多個中性詞,所述中性詞為在用戶的社 交文本中出現的名詞,每個中性詞的總體情感得分在設定區間內; 53、 在待處理用戶社交文本Ti中提取所述中性詞典中出現的中性詞,并抽取與所述中性 詞最近的形容詞,若所述形容詞在所述情感詞典中屬于正極性詞語,則將所述用戶社交文 本的正極性情感得分Scm的值加1,若所述形容詞在所述情感詞典中屬于負極性詞語,則將 所述用戶社交文本的負極性情感得分Scr l3的值加1,若所述形容詞在所述情感詞典中屬于 中性極性詞語,則將所述用戶社交文本的中性極性情感得分Scr i2的值加1; 54、 計算待處理用戶社交文本Ti下對應的情感極性條件概率P(Sm I Ti): P(Sm I Ti) = Scrim/(Scm+Scri2+Scri3)其中,m取 1、2和3,S1,S2和S3分別對應正極性情感、 中性情感、負極性情感; 55、 對=為待求量進行迭代 運算,最終計算P(SmIMi);其中,表示用戶潛在的情感狀態,P(SjMi)表示每一種情感 狀態?下所對應的極性情感m對應的概率值分布,P iMiJ Ti)表示用戶社交文本Tl下所對應的 情感狀態?的概率值分布。2. 如權利要求1所述的社交網絡用戶情緒判別方法,其特征是,所述構建情感詞典包括 如下步驟: 511、 對于社交網絡全網絡用戶的文本,提取文本中的形容詞和副詞放入潛在情感詞典 集合; 512、 以已知公開情感詞典作為基礎,對所述潛在情感詞典集合中的所有詞語打上對應 的表示情感極性強度的分數。3. 如權利要求2所述的社交網絡用戶情緒判別方法,其特征是,所述構建情感詞典還包 括如下步驟: 513、 對于所述潛在情感詞典集合中的不屬于所述已知公開情感詞典中的詞語,采用詞 語學習算法對對應的詞語打上對應的表示情感極性強度的分數。4. 如權利要求1所述的社交網絡用戶情緒判別方法,其特征是,每個用戶具有自身的中 性詞典,所述構建中性詞典包括如下步驟: 521、 對于用戶的第i條獨立文本T沖的名詞Ν?€進行抽取; 522、 抽取名詞附近與所述名詞^^最近且距離不超過閾值L的形容詞或副詞若 Atf在所述情感詞典中則構成詞對<^^, 523、 對用戶在整個時間軸上的詞對中每個~的對應的情感詞語~的情感 極性強度的分數進行統計,并計算對應的總體情感得分SeTz:其中,Scrlk表示~的情感極性強度的分數,中η為極性因子,若.是正極性詞語^= !, 若、是中性極性詞語^1 = 〇,若~是負極性詞語n = -i; S24、將總體情感得分區間的詞語定義為中性詞,其中£為參數。5. 如權利要求4所述的社交網絡用戶情緒判別方法,其特征是, εΕ (-0.8,0.8)〇6. 如權利要求4所述的社交網絡用戶情緒判別方法,其特征是, 若有兩個最近距離的形容詞或副詞則將名詞前面的形容詞或副詞\€計入詞對7. 如權利要求4所述的社交網絡用戶情緒判別方法,其特征是, 取1、2、3、4、5、6,表示人的六類基本情感狀態。8. 如權利要求1所述的社交網絡用戶情緒判別方法,其特征是,在步驟Sl之前還包括用 戶數據采集步驟: 通過社交網絡公共API收集一定量的用戶ID名稱; 根據用戶ID名稱收集用戶公開資料信息以及社交網絡統計信息; 根據所述信息對已經收集的用戶進行篩選; 從篩選的用戶中采集用戶所有文本記錄及相應標簽信息。9. 如權利要求1所述的社交網絡用戶情緒判別方法,其特征是,在步驟Sl之前還包括用 戶數據預處理步驟。
【文檔編號】G06F17/30GK105893582SQ201610204531
【公開日】2016年8月24日
【申請日】2016年4月1日
【發明人】楊余久, 金舟, 邵航, 黃旭
【申請人】深圳市未來媒體技術研究院, 清華大學深圳研究生院