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

一種改進的社交詞嵌入算法

2018-09-26 07:08:06
計算機應用與軟件 2018年9期
關鍵詞:單詞用戶語言

葉 天 順

(復旦大學軟件學院 上海 201203)

0 引 言

進入21世紀之后,互聯網的飛速發展,一個極度信息化時代的到來,對人們生活的各個方面都產生了極大的影響。這些年來世界各地的網絡技術飛速發展,伴隨著移動互聯網的出現,各種手持智能設備的普及,微博、論壇已經離開不了我們的生活。大量新興社交媒體不斷涌現,各種創新技術不斷地推動網絡傳播向普遍性、多樣性的方向發展。由于移動互聯網的普及,普通群眾可以方便地在網上發表自己的觀點,對于消費后的餐廳酒店可以方便地進行評論,發表意見變得越來越方便。用戶使用Facebook、Twitter、Yelp、微博和微信等社交媒體平臺接收朋友的生活更新,并從朋友那里學習知識。眾所周知的社會網絡效應是“同質性”的概念,這種概念在心理學[1]中發展并在社交網絡[2]中觀察到。這表明用戶和朋友之間往往會有相似的意見或主題。另一方面,社會語言學家還發現,社會中的自然語言理解需要理解語言所嵌入的社交網絡。一個網絡可能會松散或緊密,這取決于成員之間如何互動[3],并可能影響發表者采用的發言模式[4]。世界上的每個人都有自己的語言模式,并且會受到其他人的影響,所以擴展語言模型以進行社交化是非常有意義的事情。最近,人們已開發出社交化語言模型,但是這些模型主要用于社交媒體文本搜索[5-7]。Zeng等[8]提出一種社交詞嵌入的算法,但是其社交正則化有不足之處。本文提出的社交詞嵌入的算法通過實驗證明,所生成的詞向量的性能要優于其他算法。

本文介紹了一種社交化的詞嵌入語言模型來為社交媒體中的詞生成依賴社交關系的向量。該模型采用了最簡單但最有效的word2vec[8]中使用的詞嵌入模型作為基礎模型。為了結合朋友關系,當訓練詞向量時,本文提出了一個社交正則項將社交關系融入模型。為了演示社交化詞嵌入算法,本文使用Yelp商業評論數據來訓練社交詞嵌入語言模型。隨后進行了Perplexity實驗和SVM情感分類實驗來驗證社交詞嵌入語言模型生成的詞嵌入向量要優于其他的詞嵌入模型。

1 社交詞嵌入語言模型

1.1 用戶向量加入模型中

在將社交關系融入模型之前,我們需要將每個用戶向量加入模型中。為了訓練詞嵌入向量,本文將連續詞袋模型(CBOW)[9]作為基礎模型。與CBOW不同的是,社交詞嵌入模型為每個用戶分配一個詞向量,并且加入模型進行訓練[8]。對于每個詞不僅像CBOW模型一樣,提供每個詞的上下文,而且為每個詞加入這個詞所對應的用戶向量到模型中,在完成每個詞向量訓練的同時,也為每個用戶訓練出了每個用戶的向量。

(1)

這里與之前介紹word2vec模型不同的地方是,對于不同的用戶文檔進行輸入時,模型中加入不同用戶的向量。與CBOW模型不同,這里指定上下文單詞是依賴于用戶的,不同的詞不僅要對應其上下文信息,還要對應不同的用戶。這意味著對于每個用戶ui,他/她將考慮預測的詞,即給出全局詞的含義并將其定制為他/她自己的偏好。更具體地說,假設使用wj∈d,其中d是向量wj的維數,作為單詞w的全局向量表示。本文還將使用用戶向量ui∈d來表示每個用戶。然后,將全局詞向量和用戶向量組合為新的向量如果有一個單詞序列wj-s,…,wj+s,那么用戶ui的組合詞向量表示為與word2vec最大的不同之處是,在輸入向量時,對于不同的單詞,加入其對應的每個用戶向量。由于logP(wj|Cwj,ui))的計算需要對詞匯表中所有單詞進行歸一化,所以當詞匯量很大時,CBOW模型難以優化。因此,最初有兩種技術用于優化問題:分層softmax模型[10-11]和負采樣模型[9]。由于社交詞嵌入語言模型實現的代碼是用負采樣為基本模型來實現的。本文以負采樣作為例子來進行介紹,需要優化的目標函數是:

(2)

為了最大化目標函數,使用隨機梯度上升法對上式進行優化,可以推導出相應的更新函數。

(3)

(4)

(5)

通過迭代學習,最后可以得到每個單詞的詞向量和每個用戶的向量。

1.2 社交正則化

將用戶的好友關系通過本文提出的社交正則項,融入到語言模型中,對于改善詞嵌入向量的學習效果可以起到很大的幫助。

(6)

(7)

(8)

當我們使用由ui發布的文檔時,用戶向量ui應該根據其所有朋友的uj的向量進行更新,而用戶向量uj僅基于ui進行更新。可以將第二個目標函數與第一個目標函數相結合,并對全局詞向量、參數向量和本地用戶向量交替執行隨機梯度上升法。但是,由式(7)、式(8)可知用戶向量將被更新的次數比單詞向量多得多。最初在CBOW優化中,所有全局詞向量不受約束,因為單詞向量的大小可以由學習速率(與單詞的頻率組合)限定。本文使用了一個用戶向量的約束,使數值優化穩定。所有的損失函數是:

(9)

算法1社交詞嵌入算法

輸入:N個用戶(u1,…,uN)的社交媒體數據,其中每個用戶有一個語料庫Wi={di,1,…,di,Mi},Mi為用戶ui寫的文檔數量。

初始化:最大迭代次數T,學習速率η1、η2,社交正則化權重λ,上下文窗口大小c,約束參數r。

If Iterationt

for alluido

for alldiinWido

end for

if ‖ui‖>rthen

end if

if ‖uj‖>rthen

end if

end if

end if

輸出:詞向量wj和用戶向量ui。

2 實 驗

本節使用Yelp數據集來訓練社交詞嵌入語言模型,通過兩個實驗來展示本文所提出來的語言模型生成社交詞嵌入向量的有效性。

2.1 數據集和實驗設置

實驗中使用Yelp Round 10數據集。Yelp網站在國外就是類似于中國的大眾點評網站。在Yelp,用戶可以為一些商家撰寫評論,例如餐廳,酒店等。用戶可以為餐廳或者酒店進行打分,也可以彼此關注以接收來自朋友的信息(一些朋友信息來自Facebook或其他社交網絡)。這個數據集和其他數據集有的優勢是提供了好友關系,這也是為什么本實驗選擇這個數據集的原因。Yelp數據集統計如表1所示。Yelp發布的數據量在數年內增長很多,所以數據量大、用戶撰寫的評論之多適合社交詞嵌入語言模型進行詞向量的訓練。Yelp是美國最大的點評網站,令人興奮的是:Yelp公開了他們內部的數據集。這是可獲取大量文本的最大的社交網絡數據之一。實驗中將數據隨機分為訓練集、開發集和測試集,其比例為8∶1∶1。如表1所示,所有結果均基于此分段的數據集。

表1 Yelp數據庫數據統計結果

對于Yelp提供的數據集,本實驗并沒有使用它所提供的所有數據,而是選取了模型所需要的數據,比如:每個用戶及其評論、好友關系、對不同商品的評分等。本實驗基于分離出的訓練數據訓練了所有的詞嵌入模型。對于下游實驗,本實驗將根據想要測試模型的不同意圖來更改設置。詞嵌入模型代碼是基于用C語言編寫的原始版本word2vec。word2vec源碼是Google所公布的源碼。本實驗以此為基礎在word2vec源碼上面寫入社交詞嵌入模型代碼。本實驗和文獻[8]所進行的實驗進行了對比,為了進行公平比較,本實驗將原始word2vec的超參數設置為對于所有模型都是相同的。例如,窗口大小設置為5,并且單詞的維度被設置為100。實驗對所有的詞嵌入使用了CBOW模型和負采樣訓練語言模型。

2.2 Perplexity實驗

如果要對一個語言模型評判其好壞,最佳的方式是把它應用到實際問題中去,比如機器翻譯、語音識別等。然后觀察這個語言模型在這些實際任務中的具體表現。但是,這種方法首先是不容易進行操作,其次是需要大量的時間。因此,人們就希望找一種比較直接評判方法。希望按照語言模型本身的一些特點,來設計出一個簡單又高效的指標。于是,提出了perplexity。Perplexity是一種使用在自然語言處理領域中用來評價一個語言模型的好壞的非常有效的指標。它可以評價一個語言模型是否為一個很好的預測樣本的標準。如果復雜度越低,即perplexity值越小,表示語言模型的預測性能更好。本文在第一個實驗中選用perplexity(復雜度)來評價社交詞嵌入語言模型。Perplexity的定義如下:

(10)

式中:wi代表第i個詞,PP為Perplexity運算出來的結果。

在第一個實驗中,使用不同的參數來測試詞嵌入模型。首先在開發集尋找最優的超參數,然后在測試集上進行測試。使用perplexity作為實驗的一種指標,由于本質上社交詞嵌入語言模型和word2vec不是直接優化perplexity的語言模型,因此本實驗的perplexity值要高于文獻中的一些perplexity值。本實驗僅用于展示本文所提出的模型的不同超參數設置。根據定義,perplexity是用來評估一個模型在預測當前單詞的基礎上有多少其他單詞的指標。由于本實驗使用大小為s=5的滑動窗口來訓練所有單詞嵌入,所以實驗中提出的是六元perplexity,然后根據整個訓練數據訓練詞嵌入。為了提高測試不同超參數的效率,對于開發集和測試集,實驗中隨機抽取每個用戶的一個句子來評估基于perplexity的句子。

實驗結果如圖1和圖2所示。實驗目的是為了對比與之前相似文獻中的實驗和進行超參數的設置,而不是與文獻中其他類型的perplexity進行對比。本類型perplexity值偏高主要有兩個原因:(1) 本文提出的模型并不像其他語言模型那樣直接優化perplexity。因此,該模型可能沒有很好的擬合數據。(2) 本實驗使用的Yelp數據比正式語言更嘈雜,因此,perplexity更高。這也在文獻[7]中得到驗證。在經驗上,盡管word2vec和本文提出的模型并不直接優化perplexity,但它在訓練的損失和測試有效性之間有良好的折衷,作為其他下游任務(下節中的SVM情感分類實驗)的詞表示,有著優秀的效果。

圖1 Perplexity在開發集上的結果(r固定 λ變化)

圖2 Perplexity在開發集上的結果(λ固定 r變化)

實驗在YelpR10數據集上進行測試,如圖1所示,固定r(用戶向量的L2正則約束)和變化λ(社交正則化參數)的perplexity結果。在固定的r和變化的λ的情況下,本實驗訓練出的社交網絡詞嵌入的向量相比word2vec算法生成的詞向量,可以明顯地改善perplexity結果。本文所提出的社交正則項訓練的詞向量的效果要略優于文獻[8]中提出的社交正則項。可以看出,當增大社交正則項時,perplexity可以得到進一步改善,當λ=1時,實驗效果達到最好,但當λ過大時不會獲得更多的改善。這個原因可能是:在固定用戶向量大小時,增加社交正則項將傾向于首先通過其朋友來優化每個用戶向量,但最終使所有用戶向量變得盡可能相似,這將再次使其欠擬合。

圖2中顯示變化的r(用戶向量的L2正則約束)與固定λ=1(社交正則化參數)的結果。它表明,當增加正則項約束r時,perplexity首先被降低。當r=1時,perplexity值達到最小。可以看出,本文所提出的優化模型略優于文獻[8]所提出的社交正則項。當繼續增加r時,再次會使perplexity值增大。如果用戶向量的參數r變得太大,那么當優化代價函數時,它將支配單詞向量。因此,在本文提出的算法中,參數r和λ是耦合的,沒有任何一種趨勢會使perplexity持續減少,所以需要通過實驗選出最優的超參數。實驗將參數在{2-5,…,25}的范圍內執行網格搜索,根據驗證集合選擇最佳的超參數。

表2為測試集上進行測試的最終結果,可以看到,應用詞嵌入社交化語言模型使最后的結果有顯著的改善,并且本文所提出的社交正則項的改善結果要優于文獻[8]所提出來的相關模型。

表2 Perplexity在測試集上的結果

在本實驗中使用perplexity作為評價社交詞嵌入語言模型的指標,首先在開發集上找出最優的超參數:r(用戶向量的L2正則約束)和λ(社交正則化參數),然后在測試集上進行對比實驗。本文所提出的社交正則項所訓練出來的詞向量在perplexity作為評價指標上要優于word2vec和文獻[8]模型所訓練的詞向量,說明了本文所提出的社交正則項的有效性。

2.3 SVM情感分類實驗

本節要測試社交化詞嵌入的下游任務——Yelp評論的分數預測。在Yelp網站上,用戶可以寫評論給商家。同時,用戶可以為服務提供評分,對每個商家可以打一到五分。實驗目的是使用社交詞嵌入模型訓練出來的詞向量,將用戶發表的每句話相加求和進行平均表示成向量,使用支持向量機作為機器學習方法進行學習,然后進行預測得到結果。本實驗遵循文獻[8]中的任務,這是長文本情感分類。為了測試這個任務,實驗采用簡單的支持向量機(SVM)作為機器學習方法,其中特征是用戶向量和單詞向量的平均值,并選擇不同比例的數據來訓練SVM分類器。為了測試重要的數據選擇或預處理如何影響最終結果,實驗還將用戶分為頭部用戶和尾部用戶。頭部用戶,就是那些發布了大量評論的用戶,而尾部用戶發布較少。然后簡單地對所有用戶進行排序,并選擇那些發布了全部評論的一半用戶為頭部用戶,其他用戶則作為尾部用戶。隨機選擇五分之一的訓練數據進行SVM訓練以提高實驗效率。

表3顯示了頭部和尾部用戶的統計數據。可以看出,頭部用戶傾向于發布更多評論并擁有更多朋友。圖3顯示了基于頭部和尾部子集訓練的結果。可以看到,本文提出的社交正則化模型的預測結果要高于word2vec和文獻[8]模型的結果,進一步說明本文提出的社交網絡正則化的有效性。從圖中還可以推測出,頭部數據的個性化和社交化的改善比尾部數據更大。這意味著,當用戶評論較少,同時與該用戶的關系鏈接較少時,當前的算法無法很好地進行訓練。當用戶評論較多并且有較多的好友關系時,可以用本文提出的模型算法進行較好的訓練。另一方面,預測頭部評論的準確度高于尾部。這意味著,當用戶寫的評論越多和擁有更多的好友時,社交詞嵌入模型可以更好地提取相關信息生成更有效果的詞向量。但是,實際上更有可能在網絡中隨機抽取用戶來標注相應的數據。因此,當遇到需要為社交媒體注釋數據的真正問題時,認真對待不同用戶群體可能會更好。可以選擇用戶好友更多而且發表了較多評論的用戶。

表3 1/5訓練集的頭部和尾部數據統計結果

圖3 SVM分類在頭部和尾部數據上的準確率

本實驗還將支持向量機在全部的五分之一數據上進行訓練,在開發集上進行超參數調整(包括用于SVM的參數),在測試集上進行測試,并將結果在表4中顯示。可以看出,本文提出的社交正則化模型要比文獻[8]模型準確率高0.11%,比word2vec模型要好0.4%,再次通過實驗證明社交詞嵌入模型的有效性。

表4 SVM分類在測試集上的準確率

本節提出了一種社交化的詞嵌入算法,將社交關系加入語言模型的訓練中,以從社交媒體文本中和用戶社交關系中學習一組全局詞向量和一組本地用戶向量。一個簡單但有效的社交正則化被強加給詞嵌入語言模型。通過實驗表明,用戶向量本身的個性化和社交正則化可以改善下游任務。使用兩組實驗來演示本文提出的社交詞嵌入算法的有效性。實驗對比了Goolge提出的word2vec和文獻[8]中的模型,均取得了略好于它們的效果,證明了本文提出的社交詞嵌入語言模型的正確性和有效性。

3 結 語

本文提出了一種社交化的詞嵌入方法來為社交媒體中的詞生成依賴社交的詞嵌入向量。該模型采用了最簡單但最有效的word2vec中使用的詞嵌入模型作為基礎模型。為了結合朋友關系,本文為模型添加一個社交正則項,然后使用Yelp商業評論數據來訓練社交詞嵌入語言模型,進行了Perplexity實驗和SVM情感分類實驗,驗證了本文提出的模型生成的詞嵌入向量要優于其他的詞嵌入模型。

本文工作中也存在不足,那些擁有較多好友和發表較多評論的用戶,在應用社交詞嵌入語言模型時所得到的實驗結果的改進要優于好友數和評論數較少的用戶。未來需要在模型中改善那些發表評論很少的用戶和那些好友比較少用戶。

猜你喜歡
單詞用戶語言
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
單詞連一連
看圖填單詞
讓語言描寫搖曳多姿
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
累積動態分析下的同聲傳譯語言壓縮
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
我有我語言
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 国产麻豆91网在线看| 亚洲精品亚洲人成在线| 亚洲色图欧美在线| 亚洲无码91视频| 日本a级免费| 国产精品免费电影| 久久久精品久久久久三级| 欧美激情伊人| 99久久99这里只有免费的精品| 久久精品丝袜高跟鞋| 国产精品天干天干在线观看| 波多野结衣视频一区二区| 毛片基地视频| 日韩天堂网| 中字无码精油按摩中出视频| 国产成人AV综合久久| 91亚洲免费视频| 在线观看国产精品第一区免费| 92午夜福利影院一区二区三区| 亚洲AⅤ无码国产精品| 日韩麻豆小视频| 色偷偷综合网| 好吊色妇女免费视频免费| 欧美五月婷婷| 在线观看欧美精品二区| 亚洲成人精品久久| 3p叠罗汉国产精品久久| 高清无码不卡视频| 毛片大全免费观看| 婷婷五月在线视频| 精品午夜国产福利观看| 午夜视频在线观看免费网站 | 毛片一区二区在线看| 日韩不卡高清视频| 高潮毛片无遮挡高清视频播放| 国产成人a毛片在线| 国产成人精品在线1区| 国产在线日本| 免费在线看黄网址| 日本爱爱精品一区二区| 天天躁日日躁狠狠躁中文字幕| 麻豆精品在线视频| 五月婷婷综合网| 麻豆精品在线视频| 欧美日韩国产一级| 色网站在线免费观看| 国产一级无码不卡视频| 免费jjzz在在线播放国产| 久久精品视频一| 好紧好深好大乳无码中文字幕| 亚洲精品日产AⅤ| 国产女人喷水视频| 亚洲无码熟妇人妻AV在线| 国产精品嫩草影院视频| 91系列在线观看| 无码又爽又刺激的高潮视频| 99视频只有精品| 伊人久久久久久久久久| 久夜色精品国产噜噜| 香蕉色综合| 国产精品第一区| 亚洲天堂免费| 国产精品主播| 97视频免费看| 久操中文在线| 亚洲欧美日韩成人高清在线一区| 日本欧美午夜| 欧美日本中文| h视频在线观看网站| 97综合久久| 婷五月综合| 亚洲一区二区三区在线视频| 最新日韩AV网址在线观看| 好吊日免费视频| 国产精品19p| 国产高清在线观看91精品| 亚洲av无码片一区二区三区| 亚洲成a∧人片在线观看无码| 亚洲综合色婷婷中文字幕| 亚洲精品久综合蜜| 欧美在线视频不卡| 精品伊人久久久久7777人|