本發(fā)明涉及數(shù)據(jù)分析技術(shù),具體涉及一種情感數(shù)據(jù)的分析方法及裝置。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,促使著人們的生活、工作、娛樂(lè)等方方面面的行為方式也發(fā)生著改變。例如,對(duì)于各大電商、社交、閱讀等平臺(tái)提供的產(chǎn)品、內(nèi)容或服務(wù),用戶自發(fā)的評(píng)論分享產(chǎn)生的內(nèi)容呈現(xiàn)出爆發(fā)式增長(zhǎng)。
例如,在圖書(shū)閱讀平臺(tái)中,每天產(chǎn)生的書(shū)評(píng)文本就有千萬(wàn)條,而這千萬(wàn)條書(shū)評(píng)文本中包含有讀者對(duì)各圖書(shū)相關(guān)內(nèi)容的評(píng)價(jià)、對(duì)作者的評(píng)價(jià)、對(duì)閱讀產(chǎn)品的性能與服務(wù)質(zhì)量的反饋以及讀者自身的需求或期望等價(jià)值信息,如果所述圖書(shū)閱讀平臺(tái)能夠根據(jù)這些書(shū)評(píng)文本確定出讀者對(duì)該圖書(shū)的情感屬性(好評(píng)或差評(píng)),則將會(huì)對(duì)所述圖書(shū)閱讀平臺(tái)滿足用戶的需求以及產(chǎn)品的改進(jìn)帶來(lái)極大的便利。
現(xiàn)有技術(shù)中確定圖書(shū)情感的方法通常包括以下四種:
(1)人工搜索統(tǒng)計(jì);
(2)基于特征向量表示進(jìn)行情感分類;
(3)貝葉斯方法對(duì)文本特征進(jìn)行分類;
(4)最大熵算法。
而上述四種確定圖書(shū)情感的方法多是適用于短文本評(píng)論的情感分析,而在處理大數(shù)據(jù)量級(jí)的長(zhǎng)文本評(píng)論時(shí),無(wú)論在數(shù)據(jù)特征表示還是處理效率方面都會(huì)嚴(yán)重影響最終分析結(jié)果,具體如下:
針對(duì)人工搜索統(tǒng)計(jì)的方法:在處理大數(shù)據(jù)量級(jí)的長(zhǎng)文本評(píng)論時(shí),不僅會(huì)消耗巨大的精力與時(shí)間,而且也難保證結(jié)果的時(shí)效性與準(zhǔn)確性。
針對(duì)基于特征向量表示進(jìn)行情感分類的方法:在處理大數(shù)據(jù)量級(jí)的長(zhǎng)文本評(píng)論時(shí),由于其特征學(xué)習(xí)與分類識(shí)別均存在局限性。例如,基于向量空間模型(vsm,vectorspacemodel)在處理數(shù)據(jù)量與維度較小的短評(píng)論時(shí)尚可發(fā)揮其優(yōu)勢(shì),但在處理大量級(jí)長(zhǎng)文本評(píng)論數(shù)據(jù)時(shí),依靠大量孤立詞集表示的詞向量特征維度可達(dá)上萬(wàn)級(jí),該模型表示的高維特征向量語(yǔ)義缺失且存在矩陣稀疏問(wèn)題,因此,在特征處理時(shí)會(huì)占用大量存儲(chǔ)與計(jì)算資源,影響文本處理效率。
針對(duì)文本特征分類常用的貝葉斯方法:在處理情感分析問(wèn)題時(shí)容易受到其算法自身的限制。具體地,由于貝葉斯要求文本特征屬性獨(dú)立且不相關(guān),較少考慮各詞間的語(yǔ)義聯(lián)系,而文本情感分析中的各特征詞間受上下文語(yǔ)境影響較大,情感極性與各詞聯(lián)系密切,因此,分詞偏差直接影響特征詞概率分布計(jì)算從而導(dǎo)致極性分類結(jié)果欠佳。
針對(duì)最大熵算法:雖然在文本情感分析中考慮了上下文豐富的語(yǔ)義信息,但對(duì)長(zhǎng)文本各詞間概率統(tǒng)計(jì)的方式無(wú)疑需要花費(fèi)大量的訓(xùn)練時(shí)間與空間,其語(yǔ)義聯(lián)系的計(jì)算是以消耗的巨大的資源成本為代價(jià)。然而,通過(guò)降維或特征選擇方法降低計(jì)算復(fù)雜度,所獲取的特征數(shù)量并沒(méi)有明顯降低向量表示維度。例如,通過(guò)信息檢索與數(shù)據(jù)挖掘的常用加權(quán)技術(shù)(tf-idf,termfrequency-inversedocumentfrequency)所選擇的某一長(zhǎng)評(píng)特征詞同樣多達(dá)幾百甚至上千條,而通過(guò)特征詞聚類的方式降維所得的詞簇主題以實(shí)詞為主,而對(duì)于反映情感的特征詞卻無(wú)法表示整條評(píng)論,個(gè)別出現(xiàn)的情感詞片段存在語(yǔ)義缺失的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
為解決現(xiàn)有存在的技術(shù)問(wèn)題,本發(fā)明實(shí)施例期望提供一種情感數(shù)據(jù)的分析方法及裝置,能夠提高對(duì)圖書(shū)評(píng)論文本進(jìn)行情感屬性分析的準(zhǔn)確性。
本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
根據(jù)本發(fā)明實(shí)施例的一方面,提供一種情感數(shù)據(jù)的分析方法,所述方法包括:
獲取待分析數(shù)據(jù);
對(duì)所述待分析數(shù)據(jù)進(jìn)行分詞處理,得到分詞特征數(shù)據(jù);
將所述分詞特征數(shù)據(jù)生成用于確定所述分詞特征數(shù)據(jù)中各詞之間語(yǔ)義關(guān)系的分布式詞向量;
根據(jù)所述分布式詞向量中各詞的特征數(shù)據(jù),得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量;
根據(jù)學(xué)習(xí)模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算,得到用于確定所述待分析數(shù)據(jù)的情感屬性。
上述方案中,在對(duì)所述待分析數(shù)據(jù)進(jìn)行分詞處理之前,所述方法還包括:
對(duì)所述待分析數(shù)據(jù)進(jìn)行噪聲過(guò)濾與重復(fù)評(píng)論去重,得到第一待分析數(shù)據(jù);
對(duì)所述第一待分析數(shù)據(jù)進(jìn)行分詞處理,得到所述分詞特征數(shù)據(jù)。
上述方案中,在得到所述分詞特征數(shù)據(jù)之后,所述方法還包括:
對(duì)所述分詞特征數(shù)據(jù)進(jìn)行重復(fù)詞或重復(fù)字去重,得到第一分詞特征數(shù)據(jù);
將所述第一分詞特征數(shù)據(jù)生成所述分布式詞向量。
上述方案中,根據(jù)所述分布式詞向量中各詞的特征數(shù)據(jù),得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量,包括:
根據(jù)所述分布式詞向量確定各詞之間的詞窗口大小數(shù)據(jù)和詞向量維度數(shù)據(jù);
根據(jù)所述詞窗口大小數(shù)據(jù)和所述詞向量維度數(shù)據(jù),確定所述待分析數(shù)據(jù)的語(yǔ)義關(guān)系詞向量;
根據(jù)所述語(yǔ)義關(guān)系詞向量中各詞的特征數(shù)據(jù),對(duì)所述語(yǔ)義關(guān)系詞向量進(jìn)行加權(quán)平均計(jì)算,得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量。
上述方案中,所述根據(jù)學(xué)習(xí)模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算,包括:
將所述完整數(shù)據(jù)向量轉(zhuǎn)換成支持向量機(jī)(svm,supportvectormachine)格式文件,并對(duì)所述svm格式文件進(jìn)行標(biāo)準(zhǔn)化處理,得到用于進(jìn)行交叉驗(yàn)證的svm參數(shù);
在所述svm參數(shù)中選擇徑向基核函數(shù)(rbf,radialbasisfunction)和第一參數(shù)、第二參數(shù)進(jìn)行交叉驗(yàn)證,得到用于在訓(xùn)練語(yǔ)料中獲取svm模型的第一最佳參數(shù)和第二最佳參數(shù);
根據(jù)所述第一最佳參數(shù)和所述第二最佳參數(shù)確定出的svm模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算。
上述方案中,所述得到用于確定所述待分析數(shù)據(jù)的情感屬性,包括:
根據(jù)所述學(xué)習(xí)模型確定所述待分析數(shù)據(jù)的情感屬性的分類概率,
根據(jù)所述分類概率得到所述待分析數(shù)據(jù)的情感屬性的分值;
根據(jù)所述分值確定所述待分析數(shù)據(jù)的情感屬性。
根據(jù)本發(fā)明實(shí)施例的另一方面,提供一種情感數(shù)據(jù)的分析裝置,所述裝置包括:數(shù)據(jù)獲取單元、分詞處理單元、數(shù)據(jù)生成單元、第一計(jì)算單元和第二計(jì)算單元;其中,
所述數(shù)據(jù)獲取單元,用于獲取待分析數(shù)據(jù);
所述分詞處理單元,用于對(duì)所述數(shù)據(jù)獲取單元獲取的所述待分析數(shù)據(jù)進(jìn)行分詞處理,得到分詞特征數(shù)據(jù);
所述數(shù)據(jù)生成單元,用于將所述分詞處理單元得到的所述分詞特征數(shù)據(jù)生成用于確定所述分詞特征數(shù)據(jù)中各詞之間語(yǔ)義關(guān)系的分布式詞向量;
所述第一計(jì)算單元,用于根據(jù)所述數(shù)據(jù)生成單元生成的所述分布式詞向量中各詞的特征數(shù)據(jù),得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量;
所述第二計(jì)算單元,用于根據(jù)學(xué)習(xí)模型對(duì)所述第一計(jì)算單元得到的所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算,得到用于確定所述待分析數(shù)據(jù)的情感屬性。
上述方案中,所述裝置還包括:
第一處理單元,用于對(duì)所述數(shù)據(jù)獲取單元獲取的所述待分析數(shù)據(jù)進(jìn)行噪聲過(guò)濾與重復(fù)評(píng)論去重,得到第一待分析數(shù)據(jù);
所述分詞處理單元,具體用于對(duì)所述第一處理單元得到的所述第一待分析數(shù)據(jù)進(jìn)行分詞處理,得到所述分詞特征數(shù)據(jù)。
上述方案中,所述裝置還包括:
第二處理單元,用于對(duì)所述分詞處理單元得到的所述分詞特征數(shù)據(jù)進(jìn)行重復(fù)詞或重復(fù)字去重,得到第一分詞特征數(shù)據(jù);
所述數(shù)據(jù)生成單元,具體用于將所述第二處理單元得到的所述第一分詞特征數(shù)據(jù)生成所述分布式詞向量。
上述方案中,所述第一計(jì)算單元,具體用于根據(jù)所述數(shù)據(jù)生成單元生成的所述分布式詞向量確定各詞之間的詞窗口大小數(shù)據(jù)和詞向量維度數(shù)據(jù);根據(jù)所述詞窗口大小數(shù)據(jù)和所述詞向量維度數(shù)據(jù),確定所述待分析數(shù)據(jù)的語(yǔ)義關(guān)系詞向量;根據(jù)所述語(yǔ)義關(guān)系詞向量中各詞的特征數(shù)據(jù),對(duì)所述語(yǔ)義關(guān)系詞向量進(jìn)行加權(quán)平均計(jì)算,得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量。
上述方案中,所述第二計(jì)算單元,具體用于將所述第一計(jì)算單元得到的所述完整數(shù)據(jù)向量轉(zhuǎn)換成svm格式文件,對(duì)所述svm格式文件進(jìn)行標(biāo)準(zhǔn)化處理,得到用于進(jìn)行交叉驗(yàn)證的svm參數(shù);在所述svm參數(shù)中選擇rbf和第一參數(shù)、第二參數(shù)進(jìn)行交叉驗(yàn)證,得到用于在訓(xùn)練語(yǔ)料中獲取svm模型的第一最佳參數(shù)和第二最佳參數(shù);根據(jù)所述第一最佳參數(shù)和所述第二最佳參數(shù)確定出的svm模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算。
上述方案中,所述第二計(jì)算單元,具體還用于根據(jù)所述學(xué)習(xí)模型確定所述待分析數(shù)據(jù)的情感屬性的分類概率,根據(jù)所述分類概率得到所述待分析數(shù)據(jù)的情感屬性的分值;根據(jù)所述分值確定所述待分析數(shù)據(jù)的情感屬性。
本發(fā)明實(shí)施例提供一種情感數(shù)據(jù)的分析方法及裝置,獲取待分析數(shù)據(jù);對(duì)所述待分析數(shù)據(jù)進(jìn)行分詞處理,得到分詞特征數(shù)據(jù);將所述分詞特征數(shù)據(jù)生成用于確定所述分詞特征數(shù)據(jù)中各詞之間語(yǔ)義關(guān)系的分布式詞向量;根據(jù)所述分布式詞向量中各詞的特征數(shù)據(jù),得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量;根據(jù)學(xué)習(xí)模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算,得到用于確定所述待分析數(shù)據(jù)的情感屬性。通過(guò)結(jié)合語(yǔ)義關(guān)系的分布式詞向量,得到待分析數(shù)據(jù)的完整數(shù)據(jù)向量,并基于svm算法對(duì)完整數(shù)據(jù)向量進(jìn)行計(jì)算,確定出所述待分析數(shù)據(jù)屬于好評(píng)數(shù)據(jù)或差評(píng)數(shù)據(jù)。如此,能夠在所述待分析數(shù)據(jù)的字?jǐn)?shù)長(zhǎng)短不齊的情況下,提高情感數(shù)據(jù)的分析效率和分析結(jié)果的準(zhǔn)確性。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例一種情感數(shù)據(jù)的分析方法流程示意圖;
圖2為本發(fā)明實(shí)施例中不同窗口下分布式詞向量中語(yǔ)義特征表示準(zhǔn)確度的示意圖;
圖3為本發(fā)明實(shí)施例中基于word2vec詞向量表示的詞特征數(shù)據(jù)間相的系數(shù)的示意圖;
圖4為本發(fā)明實(shí)施例中基于svm訓(xùn)練擬合模型的示意圖;
圖5為本發(fā)明實(shí)施例中對(duì)待分析數(shù)據(jù)進(jìn)行預(yù)處理的方法流程示意圖;
圖6為本發(fā)明實(shí)施例一種情感數(shù)據(jù)的分析裝置的結(jié)構(gòu)組成示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說(shuō)明和解釋本發(fā)明,并不用于限制本發(fā)明。
圖1為本發(fā)明實(shí)施例一種情感數(shù)據(jù)的分析方法流程示意圖;如圖1所示,所述方法包括:
步驟101,獲取待分析數(shù)據(jù);
這里,所述方法主要應(yīng)用于情感評(píng)論數(shù)據(jù)的分析裝置,其中,所述裝置獲取到的所述待分析數(shù)據(jù)的表現(xiàn)形式不限,可以是文字、符號(hào)、表情等表現(xiàn)形式。
步驟102,對(duì)所述待分析數(shù)據(jù)進(jìn)行分詞處理,得到分詞特征數(shù)據(jù);
這里,所述裝置在獲取到所述待分析數(shù)據(jù)后,采用分詞工具對(duì)所述待分析數(shù)據(jù)進(jìn)行分詞處理。例如,采用ansj分詞工具中的條件隨機(jī)場(chǎng)算法(crf,conditionalrandomfieldalgorithm)模型對(duì)所述待分析數(shù)據(jù)進(jìn)行自定義詞典加載,對(duì)所述待分析數(shù)據(jù)中部分自定義歧義詞組與停用詞有監(jiān)督地進(jìn)行最大長(zhǎng)度的詞劃分,以得到分詞特征數(shù)據(jù),并通過(guò)隱馬爾可夫模型(hmm,hiddenmarkovmodel)對(duì)得到的所述分詞特征數(shù)據(jù)進(jìn)行詞性標(biāo)注。這里,歧義詞組是指同樣的一句話,有兩種或者更多的切分方法。例如:我喜歡,因?yàn)椤拔蚁病焙汀跋矚g”都是詞,那么這個(gè)短語(yǔ)就可以分成“我喜歡”和“我喜歡”。停用詞(stopwords)是指文本中出現(xiàn)頻率很高,但實(shí)際意義又不大的詞。這一類的詞主要包括了語(yǔ)氣助詞、副詞、介詞、連詞等,通常自身并無(wú)明確意義,只有將其放入一個(gè)完整的句子中才有一定作用的詞語(yǔ)。如常見(jiàn)的“的”、“在”、“和”、“接著”之類,比如“**研究院是原創(chuàng)的**博客”這句話中的“是”、“的”就是兩個(gè)停用詞。停用詞的目的是為了節(jié)省存儲(chǔ)空間和提高搜索效率,所以搜索引擎在索引頁(yè)面或處理搜索請(qǐng)求時(shí)會(huì)自動(dòng)忽略某些字或詞,這些字或詞即被稱為停用詞。
步驟103,將所述分詞特征數(shù)據(jù)生成用于確定所述分詞特征數(shù)據(jù)中各詞之間語(yǔ)義關(guān)系的分布式詞向量;
這里,由于分布式詞向量特征表示具有較強(qiáng)的文本語(yǔ)義表示能力,能避免高維孤立的詞向量二元表示所帶來(lái)的維數(shù)災(zāi)難計(jì)算困難及詞語(yǔ)間相關(guān)性無(wú)法表達(dá)和特征稀疏等問(wèn)題。所以當(dāng)所述裝置對(duì)所述待分析數(shù)據(jù)進(jìn)行分詞處理,得到所述待分析數(shù)據(jù)的分詞特征數(shù)據(jù)后,將所述分詞特征數(shù)據(jù)生成用于確定所述分詞特征數(shù)據(jù)中各詞之間語(yǔ)義關(guān)系的分布式詞向量。具體地,所述裝置使用word2vec詞向量表示所述分詞特征數(shù)據(jù)。由于word2vec是利用深度文本表示模型以深度學(xué)習(xí)為基礎(chǔ),通過(guò)訓(xùn)練把對(duì)文本內(nèi)容的處理簡(jiǎn)化為k維向量空間中的向量運(yùn)算(k一般為模型中的超參數(shù)),而向量空間上的相似度可以用來(lái)表示文本語(yǔ)義上的相似度。所以,word2vec輸出的詞向量可以被用來(lái)做很多神經(jīng)語(yǔ)言程序?qū)W(nlp,neuro-linguisticprogramming)的相關(guān)工作,比如聚類、找同義詞、詞性分析等等。或者,利用神經(jīng)網(wǎng)絡(luò)將詞作為特征,word2vec就可以把特征映射到k維向量空間(k一般為模型中的超參數(shù)),通過(guò)詞之間的距離(比如余弦(cosine)相似度、歐氏距離等)來(lái)判斷它們之間的語(yǔ)義相似度。
word2vec具體采用輸入層-隱層-輸出層的三層神經(jīng)網(wǎng)絡(luò),對(duì)文本詞進(jìn)行哈夫曼編碼(huffmancoding)建模后,使得所有詞頻相似的詞和隱藏層激活的內(nèi)容基本一致,同時(shí)將每個(gè)詞在層次huffman樹(shù)結(jié)構(gòu)上進(jìn)行多種編碼求和,深度表示該詞內(nèi)包含的不同語(yǔ)義。如此能夠使得出現(xiàn)頻率越高的詞語(yǔ),激活的隱藏層數(shù)目越少,有效的降低了計(jì)算復(fù)雜度。具體整個(gè)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型函數(shù)與條件概率公式如下:
f(wt,wt-1,…,wt-n+1)=p(wt|wt-1)
f(i,wt-1,wt-2,…,wt-n+1)=g(i,c(wt-1),c(wt-2),…,c(wt-n+1))
y=b+u(c(wt-1),c(wt-2),…,c(wt-n+1))+vtanh(d+h(c(wt-1),c(wt-2),…,c(wt-n+1)))
其中,wt為輸入層詞語(yǔ),c為詞語(yǔ)的映射矩陣,行為對(duì)應(yīng)的各個(gè)詞語(yǔ)|v|,列為詞語(yǔ)的特征向量,維數(shù)為k,i為|v|中某個(gè)詞語(yǔ),通過(guò)條件概率似然最大化估計(jì)p,并對(duì)p作歸一化處理。yi為輸入層wt的特征向量映射輸出的各自未規(guī)范的概率,u為輸入到輸出的權(quán)重參數(shù),b為輸出層的偏置向量,v為隱層到輸出層參數(shù),h為隱層參數(shù),d為隱層偏置向量。
步驟104,根據(jù)所述分布式詞向量中各詞的特征數(shù)據(jù),得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量;
這里,所述裝置具體使用word2vec中的cbow和skip-gram兩種模型對(duì)得到的分詞特征數(shù)據(jù)進(jìn)行詞向量表示。其中,cbow和skip-gram均利用huffman樹(shù)動(dòng)態(tài)構(gòu)建由隱藏層至輸出層的二叉樹(shù),并且,在語(yǔ)料中的詞由每個(gè)相應(yīng)的葉節(jié)點(diǎn)唯一表示,詞向量由相應(yīng)節(jié)點(diǎn)邊權(quán)值表示。具體地,cbow使用huffman樹(shù)將所述分詞特征數(shù)據(jù)中的每個(gè)詞w從根節(jié)點(diǎn)到詞節(jié)點(diǎn)n(w,i)沿唯一訪問(wèn)路徑編碼(i為節(jié)點(diǎn)位置),并采用層次log-linear(softmax)模型對(duì)當(dāng)前詞w進(jìn)行詞性標(biāo)注,然后,讀取特定大小的窗口詞作為當(dāng)前詞w的上下文語(yǔ)義詞。
在本發(fā)明實(shí)施例中,所述根據(jù)所述分布式詞向量中各詞的特征數(shù)據(jù),得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量,包括:
根據(jù)所述分布式詞向量確定各詞之間的詞窗口大小數(shù)據(jù)和詞向量維度數(shù)據(jù);
根據(jù)所述詞窗口大小數(shù)據(jù)和所述詞向量維度數(shù)據(jù),確定所述待分析數(shù)據(jù)的語(yǔ)義關(guān)系詞向量;
根據(jù)所述語(yǔ)義關(guān)系詞向量中各詞的特征數(shù)據(jù),對(duì)所述語(yǔ)義關(guān)系詞向量進(jìn)行加權(quán)平均計(jì)算,得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量。
這里,具體不同窗口下分布式詞向量中語(yǔ)義特征表示準(zhǔn)確度如圖2所示。
圖2為本發(fā)明實(shí)施例中不同窗口下分布式詞向量中語(yǔ)義特征表示準(zhǔn)確度的示意圖。如圖2所示:
當(dāng)前詞的窗口過(guò)小會(huì)影響當(dāng)前詞語(yǔ)義表示的豐富度,當(dāng)前詞的窗口過(guò)大會(huì)因引入過(guò)多的語(yǔ)義關(guān)系不強(qiáng)的噪聲而影響詞特征的表示。而當(dāng)前詞的窗口大小為上下200字時(shí),分布式詞向量的語(yǔ)義特征表示的準(zhǔn)確度為最高。因此,本發(fā)明實(shí)施例中,將當(dāng)前詞的語(yǔ)義關(guān)系的窗口設(shè)為上下200字,分布式詞向量的向量維度設(shè)為30向量,如此,能夠提高分布式詞向量的語(yǔ)義特征表示的準(zhǔn)確度。
當(dāng)所述裝置根據(jù)當(dāng)前詞的語(yǔ)義窗口確定當(dāng)前詞的向量表示為準(zhǔn)確時(shí),再根據(jù)分布式詞向量中各詞的特征數(shù)據(jù),對(duì)分布式詞向量進(jìn)行加權(quán)平均計(jì)算,得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量,并將完整數(shù)據(jù)向量映射至隱藏層。具體由上下文預(yù)測(cè)下一個(gè)詞為w_t的公式如下:
p(w_t|context)=p(w_t|w_(t-i),w_(t-i+1),…,w_(t-1),w_(t+1),…,w_(t+i-1),w_(t+i))
其中,cbow的計(jì)算可以用層次softmax算法,這種算法結(jié)合了huffman編碼,每個(gè)詞w都可以從樹(shù)的根結(jié)點(diǎn)root沿著唯一一條路徑被訪問(wèn)到,其路徑也就形成了其編碼code。假設(shè)n(w,j)為這條路徑上的第j個(gè)結(jié)點(diǎn),且l(w)為這條路徑的長(zhǎng)度,j從1開(kāi)始編碼,即n(w,1)=root,n(w,l(w))=w。對(duì)于第j個(gè)結(jié)點(diǎn),層次softmax定義的label為1-code[j]。
取一個(gè)適當(dāng)大小的窗口當(dāng)作語(yǔ)境,輸入層讀入窗口內(nèi)的詞,將它們的向量(k維,初始隨機(jī))加和在一起,形成隱藏層k個(gè)節(jié)點(diǎn)。輸出層是一個(gè)巨大的二叉樹(shù),葉節(jié)點(diǎn)代表語(yǔ)料里所有的詞(語(yǔ)料含有v個(gè)獨(dú)立的詞,則二叉樹(shù)有|v|個(gè)葉節(jié)點(diǎn))。而這整顆二叉樹(shù)構(gòu)建的算法就是huffman樹(shù)。這樣,對(duì)于葉節(jié)點(diǎn)的每一個(gè)詞,就會(huì)有一個(gè)全局唯一的編碼,形如"010011",不妨記左子樹(shù)為1,右子樹(shù)為0。接下來(lái),隱層的每一個(gè)節(jié)點(diǎn)都會(huì)跟二叉樹(shù)的內(nèi)節(jié)點(diǎn)有連邊,于是對(duì)于二叉樹(shù)的每一個(gè)內(nèi)節(jié)點(diǎn)都會(huì)有k條連邊,每條邊上也會(huì)有權(quán)值。
對(duì)于語(yǔ)料庫(kù)中的某個(gè)詞w_t,對(duì)應(yīng)著二叉樹(shù)的某個(gè)葉子節(jié)點(diǎn),因此必然有一個(gè)二進(jìn)制編碼,如"010011"。在訓(xùn)練階段,當(dāng)給定上下文,要預(yù)測(cè)后面的詞w_t的時(shí)候,就從二叉樹(shù)的根節(jié)點(diǎn)開(kāi)始遍歷,這里的目標(biāo)就是預(yù)測(cè)這個(gè)詞的二進(jìn)制編號(hào)的每一位。即對(duì)于給定的上下文,目標(biāo)是使得預(yù)測(cè)詞的二進(jìn)制編碼概率最大。在根節(jié)點(diǎn)中,詞向量與根節(jié)點(diǎn)相連經(jīng)過(guò)logistic計(jì)算得到bit=1的概率盡量接近0,在第二層,其bit=1的概率接近1,然后再將計(jì)算得到的所有概率相乘,即得到目標(biāo)詞w_t在當(dāng)前網(wǎng)絡(luò)下的概率p(w_t),對(duì)于當(dāng)前這個(gè)sample的殘差就是1-p(w_t),于是就可以使用梯度下降法訓(xùn)練這個(gè)網(wǎng)絡(luò)得到所有的參數(shù)值了。顯而易見(jiàn),按照目標(biāo)詞的二進(jìn)制編碼計(jì)算到最后的概率值就是歸一化的。
skip-gram模型與cbow模型不同,skip-gram則是通過(guò)當(dāng)前詞特征映射預(yù)測(cè)上下文周?chē)~向量。其思想是獲取語(yǔ)料庫(kù)各詞向量,將獲取到的詞向量輸入至投影層線性分類器,通過(guò)訓(xùn)練詞向量預(yù)測(cè)各詞定長(zhǎng)窗口內(nèi)的周?chē)~分布,使得相似語(yǔ)境下各詞的上下文詞條件概率最大化,將上下文各詞的概率連乘,選取概率高于某閾值的最大語(yǔ)句,確定最大語(yǔ)句中最大化詞與語(yǔ)境間對(duì)應(yīng)的關(guān)系,得出該語(yǔ)境下各詞的向量,表示該詞相關(guān)的語(yǔ)義聯(lián)系。具體基于word2vec詞向量表示的詞特征數(shù)據(jù)間相近系數(shù)如圖3所示。
圖3為本發(fā)明實(shí)施例中基于word2vec詞向量表示的詞特征數(shù)據(jù)間相的系數(shù)的示意圖;如圖3所示:
例如,抽取待分析數(shù)據(jù)中涉及到的人物(小白)和情感詞(不喜歡)分別進(jìn)行聚類表示,發(fā)現(xiàn)基于分布式詞向量表示的詞特征與受語(yǔ)義詞影響較大,而自身特征表示卻不明顯,如情感詞(不喜歡)偏向于貶義詞,而采用常規(guī)的特征表示卻會(huì)將帶有情感特征的相關(guān)詞劃為一類,其中夾雜大量明顯褒義的詞,如“喜歡”。
為了更準(zhǔn)確地表示情感詞的屬性傾向且不脫離上下文語(yǔ)境,本發(fā)明實(shí)施例在對(duì)圖書(shū)評(píng)論、主題內(nèi)容進(jìn)行精簡(jiǎn)表示的同時(shí),結(jié)合分布式詞向量中的各詞的特征數(shù)據(jù),例如,各詞的詞性、句法和情感等特征數(shù)據(jù)對(duì)所述分布式詞向量進(jìn)行加權(quán)計(jì)算。具體地,對(duì)于待分析數(shù)據(jù)中的名詞+形容詞,動(dòng)詞+形容詞,名詞+動(dòng)詞+形容詞等主干組合詞以及相應(yīng)的連詞、副詞分別乘以相應(yīng)的權(quán)值,而其中帶有情感色彩的動(dòng)詞、形容詞等則通過(guò)正負(fù)情感詞庫(kù)識(shí)別其情感傾向,并使用1,0,-1對(duì)各類情感詞進(jìn)行詞性標(biāo)注,作為詞向量的特征列,最后待評(píng)論語(yǔ)句通過(guò)對(duì)分布式詞向量中的各詞進(jìn)行加權(quán)后再進(jìn)行向量表示,具體如下:
①評(píng)論句:c={w1,w2,…wn}由各詞組成的集合,識(shí)別各詞的詞性與依存關(guān)系。如書(shū)評(píng)示例{不錯(cuò)情節(jié)的錯(cuò)落與安排以及人物的刻畫(huà)也比較細(xì)膩比較接地氣使人讀了感覺(jué)蠻感興趣的有看下去的興趣},對(duì)應(yīng)的詞性與依存關(guān)系為{a/att,n/att,u/rad,v/att,c/lad,v/coo,c/lad,n/coo,u/rad,v/sbv,d/adv,d/adv,a/att,d/adv,v/att,n/att,n/sbv,v/hed,u/rad,n/sbv,d/adv,v/sbv,n/vob,u/rad,v/coo,v/att,v/cmp,u/rad,n/vob}。
②主干詞與情感詞的權(quán)值計(jì)算。對(duì)于①評(píng)論句中修飾關(guān)系(att)、主謂關(guān)系(sbv)、并列關(guān)系(coo)、動(dòng)賓關(guān)系(vob)等所涉及到的主干詞乘以權(quán)值2,即符合att、coo、sbv、vob等句法關(guān)系的詞,如“不錯(cuò)”“情節(jié)”“安排”“感興趣”等,對(duì)于連詞及副詞等修飾詞乘以權(quán)值1.5或2,對(duì)于各詞正負(fù)情感傾向判斷標(biāo)注特征值,如“不錯(cuò)”、“細(xì)膩”“感興趣”等褒義詞特征屬性值為1,“垃圾”“難看”等貶義詞特征屬性值為-1,其它未明顯傾向的詞則標(biāo)為0,各詞的傾向值則作為情感維度加入原有的詞向量列。這里,具體的權(quán)值大小可根據(jù)實(shí)際需要進(jìn)行調(diào)整。
③根據(jù)所得的詞向量表示評(píng)論句向量。將每條評(píng)論包含的n個(gè)詞向量加權(quán)平均,即通過(guò)公式(vec(c)=1/nσvec(w)),得到每條評(píng)論的完整數(shù)據(jù)向量。
步驟105,根據(jù)學(xué)習(xí)模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算,得到用于確定所述待分析數(shù)據(jù)的情感屬性。
這里,可以根據(jù)svm對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算。具體地,所述svm是一個(gè)有監(jiān)督的學(xué)習(xí)模型,通常用來(lái)解決向量二分類問(wèn)題基于結(jié)構(gòu)風(fēng)險(xiǎn)最小和vc維(vapnik-chervonenkisdimension)理論提出的分類方法,是針對(duì)線性可分情況進(jìn)行分析,對(duì)于線性不可分的情況,通過(guò)使用非線性映射算法將低維輸入空間線性不可分的樣本轉(zhuǎn)化為高維特征空間使其線性可分,從而使得高維特征空間采用線性算法對(duì)樣本的非線性特征進(jìn)行線性分析成為可能。其中,線性問(wèn)題可通過(guò)拉格朗日及引入松弛變量對(duì)偶求解方法求最優(yōu)分類超平面,當(dāng)距離超平面最近的各類別間隔為最大值時(shí),超平面最優(yōu)。非線性分類可通過(guò)訓(xùn)練非線性樣本引入核函數(shù)將其映射至高維或無(wú)限維向量空間轉(zhuǎn)為線性可分,構(gòu)造分類超平面,將非線性問(wèn)題轉(zhuǎn)為線性最優(yōu)解的問(wèn)題。非線性映射主要采用mercer定理核函數(shù),所述mercer定理是指:任何半正定的函數(shù)都可以作為核函數(shù)。包括:線性核函數(shù)、多項(xiàng)式核函數(shù)、sigmoid核函數(shù)、高斯徑向基核函數(shù)和復(fù)合核函數(shù)。具體mercer定理核函數(shù)見(jiàn)公式:
在本發(fā)明實(shí)施例中,所述根據(jù)學(xué)習(xí)模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算,包括:
將所述完整數(shù)據(jù)向量轉(zhuǎn)換成svm格式文件,并對(duì)所述svm格式文件進(jìn)行標(biāo)準(zhǔn)化處理,得到用于進(jìn)行交叉驗(yàn)證的svm參數(shù);
在所述svm參數(shù)中選擇rbf和第一參數(shù)、第二參數(shù)進(jìn)行交叉驗(yàn)證,得到用于在訓(xùn)練語(yǔ)料中獲取svm模型的第一最佳參數(shù)和第二最佳參數(shù);
根據(jù)所述第一最佳參數(shù)和所述第二最佳參數(shù)確定出的svm模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算。
這里,所述裝置將得到的完整數(shù)據(jù)向量轉(zhuǎn)換成svm格式的數(shù)據(jù)后,根據(jù)svm參數(shù)確定核函數(shù)的類型以及第一參數(shù)c和第二參數(shù)g。本發(fā)明實(shí)施例中默認(rèn)為rbf核函數(shù)。然后,根據(jù)確定的rbf核函數(shù)和第一參數(shù)c和第二參數(shù)g進(jìn)行交叉驗(yàn)證,確定出用于在訓(xùn)練語(yǔ)料中獲取svm模型的第一最佳參數(shù)c和第二最佳參數(shù)g。這里,以小寫(xiě)c和小寫(xiě)g代表最佳參數(shù)c和最佳參數(shù)g。
具體地svmtrain(訓(xùn)練建模)的用法為:svmtrain[options]training_set_file[model_file];
options:可用的選項(xiàng)即表示的涵義如下:
-ssvm類型:svm設(shè)置類型(默認(rèn)0);
0--c-svc;
1--v-svc;
2–一類svm;
3--e–svr;
4--v-svr;
-t核函數(shù)類型:核函數(shù)設(shè)置類型(默認(rèn)2);
0–線性:u'v;
1–多項(xiàng)式:(r*u'v+coef0)^degree;
2–rbf函數(shù):exp(-r|u-v|^2);
3–sigmoid:tanh(r*u'v+coef0);
-ddegree:核函數(shù)中的degree設(shè)置(針對(duì)多項(xiàng)式核函數(shù))(默認(rèn)3);
-gr(gama):核函數(shù)中的gamma函數(shù)設(shè)置(針對(duì)多項(xiàng)式/rbf/sigmoid核函數(shù))(默認(rèn)1/k);
-rcoef0:核函數(shù)中的coef0設(shè)置(針對(duì)多項(xiàng)式/sigmoid核函數(shù))((默認(rèn)0);
-ccost:設(shè)置c-svc,e-svr和v-svr的參數(shù)(損失函數(shù))(默認(rèn)1);
-nnu:設(shè)置v-svc,一類svm和v-svr的參數(shù)(默認(rèn)0.5);
-pp:設(shè)置e-svr中損失函數(shù)p的值(默認(rèn)0.1);
-mcachesize:設(shè)置cache內(nèi)存大小,以mb為單位(默認(rèn)40);
-eeps:設(shè)置允許的終止判據(jù)(默認(rèn)0.001);
-hshrinking:是否使用啟發(fā)式,0或1(默認(rèn)1);
-wiweight:設(shè)置第幾類的參數(shù)c為weight*c(c-svc中的c)(默認(rèn)1);
-vn:n-fold交互檢驗(yàn)?zāi)J剑琻為fold的個(gè)數(shù),必須大于等于2。
其中-g選項(xiàng)中的k是指輸入數(shù)據(jù)中的屬性數(shù)。option-v隨機(jī)地將數(shù)據(jù)剖分為n部分并計(jì)算交互檢驗(yàn)準(zhǔn)確度和均方根誤差。以上這些參數(shù)設(shè)置可以按照svm的類型和核函數(shù)所支持的參數(shù)進(jìn)行任意組合,如果設(shè)置的參數(shù)在函數(shù)或svm類型中沒(méi)有也不會(huì)產(chǎn)生影響,程序不會(huì)接受該參數(shù);如果應(yīng)有的參數(shù)設(shè)置不正確,參數(shù)將采用默認(rèn)值。
training_set_file是要進(jìn)行訓(xùn)練的數(shù)據(jù)集;model_file是訓(xùn)練結(jié)束后產(chǎn)生的模型文件,文件中包括支持向量樣本數(shù)、支持向量樣本以及l(fā)agrange系數(shù)等必須的參數(shù);該參數(shù)如果不設(shè)置將采用默認(rèn)的文件名,也可以設(shè)置成自己慣用的文件名。
在本發(fā)明實(shí)施例中,所述得到用于確定所述待分析數(shù)據(jù)的情感屬性,包括:
根據(jù)所述學(xué)習(xí)模型確定所述待分析數(shù)據(jù)的情感屬性的分類概率,
根據(jù)所述分類概率得到所述待分析數(shù)據(jù)的情感屬性的分值;
根據(jù)所述分值確定所述待分析數(shù)據(jù)的情感屬性。
具體地,所述裝置根據(jù)所述第一最佳參數(shù)c和所述第二最佳參數(shù)g對(duì)svm模型進(jìn)行概率估計(jì)設(shè)定,輸出所述待分析數(shù)據(jù)中各評(píng)論c的分類結(jié)果概率,即所述待分析數(shù)據(jù)屬于好評(píng)評(píng)論的概率p(g|c)與屬于差評(píng)評(píng)論的概率p(b|c),基于兩個(gè)分類概率進(jìn)行加權(quán)計(jì)算后,確定所述待分析數(shù)據(jù)的屬性分值,具體公式如下:
在本發(fā)明實(shí)施例中,針對(duì)每一條圖書(shū)評(píng)論均可以通過(guò)上述公式計(jì)算得到一個(gè)屬性分值,該屬性分值的取值范圍為[1,200],其中,評(píng)論的分值越高,代表該評(píng)論屬于好評(píng)的程度越高。通常,可以將分值在[1,100]范圍內(nèi)的評(píng)論確定為差評(píng),將分值在[100,200]范圍內(nèi)的評(píng)論確定為好評(píng)。
在本發(fā)明實(shí)施例中,基于svm對(duì)待分析數(shù)據(jù)進(jìn)行好評(píng)訓(xùn)練與測(cè)試的具體步驟為:
(1)在訓(xùn)練語(yǔ)料中選取待評(píng)論數(shù),例如選取25132條評(píng)論,其中11505條為正向評(píng)論,13627條為負(fù)向評(píng)論,并基于分布式詞向量對(duì)所述待評(píng)論數(shù)進(jìn)行加權(quán)計(jì)算后得到所述待評(píng)論數(shù)中每條完整評(píng)論向量,再將完整評(píng)論向量轉(zhuǎn)換成svm格式文件并進(jìn)行scale標(biāo)準(zhǔn)化。具體選取的語(yǔ)料情況如下:
正向評(píng)論樣本:
負(fù)向評(píng)論樣本:
將完整評(píng)論向量轉(zhuǎn)換成svm格式文件并進(jìn)行scale標(biāo)準(zhǔn)化后的scale文件為:
(2)svm參數(shù)模型優(yōu)化
通過(guò)參數(shù)選擇及語(yǔ)料不斷地訓(xùn)練,選擇最佳參數(shù)進(jìn)行模型擬合,同時(shí),經(jīng)過(guò)測(cè)試擬合進(jìn)行效果比較。
圖4為本發(fā)明實(shí)施例中基于svm訓(xùn)練擬合模型的示意圖;如圖4所示,包括橫向數(shù)值“l(fā)og2(c)”和縱向數(shù)值“l(fā)og2(gamma)”,其中不同線條分別代表數(shù)值“l(fā)og2(c)”和數(shù)值“l(fā)og2(gamma)”在不同數(shù)值的情況下輸出分類概率值的準(zhǔn)確度。由圖4可知,當(dāng)數(shù)值“l(fā)og2(c)”中設(shè)定c=0.5,數(shù)值“l(fā)og2(gamma)”中設(shè)定gamma=2,并同時(shí)加載模型時(shí),輸出的分類概率值的準(zhǔn)確度最高。
具體通過(guò)svm對(duì)待分析數(shù)據(jù)進(jìn)行訓(xùn)練生成的模型文件如下:
(3)通過(guò)加載svm模型,對(duì)隨機(jī)選擇的3040條評(píng)論進(jìn)行好評(píng)分類,結(jié)果如下:
測(cè)試結(jié)果:
……………………………··
total:3040correct:2812accuracy:92.5%
precion:91.25%
recall:95.3%
f:93.23103%
根據(jù)上述測(cè)試結(jié)果得知,通過(guò)各詞加權(quán)標(biāo)注相對(duì)于人工標(biāo)注的結(jié)果,本申請(qǐng)輸出的分類概率值的準(zhǔn)確度為92.5%(本申請(qǐng)的評(píng)論結(jié)果與人工標(biāo)注結(jié)果的交集與總評(píng)論數(shù)的比值),f值為93.23%,后期由于詞模型有限,及不同處理樣本數(shù)據(jù)特征的差異,語(yǔ)料模型限制等,分類概率值的準(zhǔn)確率會(huì)有稍微波動(dòng)。
本發(fā)明實(shí)施例與現(xiàn)有技術(shù)中采用貝葉斯算法相比,采用結(jié)合語(yǔ)境的語(yǔ)義詞向量特征word2vec表示,通過(guò)詞向量加權(quán)表示整條評(píng)論向量,再基于svm模型對(duì)整條評(píng)論向量進(jìn)行評(píng)論好差的分類訓(xùn)練,可以提高對(duì)圖書(shū)評(píng)論進(jìn)行分析的效率和準(zhǔn)確度。例如,在處理數(shù)據(jù)量為790895的評(píng)論數(shù)據(jù)時(shí),貝葉斯算法需10.5個(gè)小時(shí),而本申請(qǐng)中的算法僅需3分,本申請(qǐng)相比現(xiàn)有技術(shù),處理數(shù)據(jù)的效率提升了200多倍,同時(shí),貝葉斯算法分類的準(zhǔn)確度優(yōu)化后最高達(dá)75.02%,而本申請(qǐng)中的算法可達(dá)92.5%,本申請(qǐng)相比現(xiàn)有技術(shù),數(shù)據(jù)處理的精度明顯提升約17%。
在本發(fā)明實(shí)施例中,在所述對(duì)所述待分析數(shù)據(jù)進(jìn)行分詞處理之前,所述方法還包括:
對(duì)所述待分析數(shù)據(jù)進(jìn)行噪聲過(guò)濾與重復(fù)評(píng)論去重,得到第一待分析數(shù)據(jù);
對(duì)所述第一待分析數(shù)據(jù)進(jìn)行分詞處理,得到所述分詞特征數(shù)據(jù)。
這里,主要是對(duì)所述待分析數(shù)據(jù)中的噪聲如郵箱、超鏈接、無(wú)意義符號(hào)、重復(fù)的標(biāo)點(diǎn)利用正則表達(dá)式進(jìn)行過(guò)濾,保留有意義的漢字、英文及數(shù)字,對(duì)重復(fù)的評(píng)論進(jìn)行標(biāo)記,并只取其中一條進(jìn)行處理,例如,待分析數(shù)據(jù)的評(píng)論為:“我們找不到任何符合"dreamlovenovel@gmail.com"的人物。。。。。。。。我來(lái)打個(gè)小廣告這是寫(xiě)給十四夜和傾泠月的詩(shī)啦!?。?!~~~~~~~這是網(wǎng)址:www.jjwxc.net/onebook.php?novelid=820331~~~~~~~~~~~”,則所述裝置先將該評(píng)論中的郵箱、廣告鏈接、無(wú)意義符號(hào)~~~~去除,并對(duì)標(biāo)點(diǎn)。。。。!??!去重,得到精簡(jiǎn)后第一待分析數(shù)據(jù)。同時(shí)對(duì)所述第一待分析數(shù)據(jù)中的(漢語(yǔ)&英文&數(shù)字)字?jǐn)?shù)<1的評(píng)論去除,如評(píng)論為“+++++”去除,對(duì)評(píng)論如“666”等進(jìn)行保留。這里,“+++++”表示無(wú)感情的符號(hào),“666”表示具備感情含義的符號(hào),例如,某一讀者想對(duì)某一圖書(shū)進(jìn)行評(píng)論,表示該圖書(shū)寫(xiě)的很好,但為了節(jié)省打字時(shí)間和空間,以評(píng)論為“666”代替,此時(shí),該符號(hào)的意思為稱贊該圖書(shū)寫(xiě)的很好,即為“牛牛牛”的諧音。
當(dāng)所述裝置在得到精簡(jiǎn)后的第一待分析數(shù)據(jù)后,再對(duì)所述第一待分析數(shù)據(jù)進(jìn)行分詞處理,得到所述分詞特征數(shù)據(jù)。
在本發(fā)明實(shí)施例中,在所述得到分詞特征數(shù)據(jù)之后,所述方法還包括:
對(duì)所述分詞特征數(shù)據(jù)進(jìn)行重復(fù)詞或重復(fù)字去重,得到第一分詞特征數(shù)據(jù);
將所述第一分詞特征數(shù)據(jù)生成所述分布式詞向量。
這里,所述裝置在得到所述待分析數(shù)據(jù)的分詞特征數(shù)據(jù)后,對(duì)該分詞特征數(shù)據(jù)中的評(píng)論語(yǔ)句詞分布及長(zhǎng)詞字分布進(jìn)行多樣性統(tǒng)計(jì),然后對(duì)于不重復(fù)詞數(shù)/總詞數(shù)<0.2豐富度低的評(píng)論進(jìn)行重復(fù)詞去重,同時(shí)對(duì)長(zhǎng)詞內(nèi)重復(fù)的字或詞去重,如“哈哈哈哈哈哈哈哈哈哈哈哈”或“謝謝謝謝謝謝”等,去除后得到單個(gè)詞的“哈”或單個(gè)詞“謝”。通過(guò)以上過(guò)濾去重去噪得到精簡(jiǎn)后的第一分詞特征數(shù)據(jù),并將所述第一分詞特征數(shù)據(jù)用所述分布式詞向量表示。
圖5為本發(fā)明實(shí)施例中對(duì)待分析數(shù)據(jù)進(jìn)行預(yù)處理的方法流程示意圖;如圖5所示:
步驟501,噪聲過(guò)濾;
這里是指:對(duì)待分析數(shù)據(jù)中的郵箱、超鏈接、無(wú)意義符號(hào)、重復(fù)的標(biāo)點(diǎn)利用正則表達(dá)式進(jìn)行過(guò)濾,保留有意義的漢字、英文及數(shù)字。
步驟502,重復(fù)標(biāo)記;
這里是指:將待分析數(shù)據(jù)中重復(fù)的評(píng)論進(jìn)行標(biāo)記,只取其中一條數(shù)據(jù)進(jìn)行后續(xù)處理。
步驟503,評(píng)論分詞;
這里是指:采用ansj工具中的crf模型對(duì)待分析數(shù)據(jù)進(jìn)行分詞處理。具體地,對(duì)所述待分析數(shù)據(jù)進(jìn)行自定義詞典加載,并對(duì)所述待分析數(shù)據(jù)的部分自定義歧義詞組與停用詞有監(jiān)督地進(jìn)行最大長(zhǎng)度的詞劃分,并通過(guò)hmm模型對(duì)所分詞進(jìn)行詞性標(biāo)注。
步驟504,詞分布及長(zhǎng)詞字分布統(tǒng)計(jì);
這里是指,在得到所述待分析數(shù)據(jù)的分詞特征數(shù)據(jù)后,對(duì)所述分詞特征數(shù)據(jù)中的詞分布及長(zhǎng)詞字分布進(jìn)行統(tǒng)計(jì)。
步驟505.,評(píng)論詞去重;
這里是指,對(duì)進(jìn)行詞分布統(tǒng)計(jì)后的分詞特征數(shù)據(jù)中,不重復(fù)詞數(shù)/總詞數(shù)<0.2豐富度低的評(píng)論進(jìn)行重復(fù)詞去重。
步驟506,長(zhǎng)詞字去重;
這里是指,對(duì)進(jìn)行長(zhǎng)詞字分布統(tǒng)計(jì)后的分詞特征數(shù)據(jù)中,重復(fù)的字或詞進(jìn)行去重。
步驟507,得到精簡(jiǎn)后的待分析數(shù)據(jù)。
圖6為本發(fā)明實(shí)施例一種情感數(shù)據(jù)的分析裝置的結(jié)構(gòu)組成示意圖;如圖6所示,所述裝置包括:數(shù)據(jù)獲取單元601、分詞處理單元602、數(shù)據(jù)生成單元603、第一計(jì)算單元604和第二計(jì)算單元605;其中,
所述數(shù)據(jù)獲取單元601,用于獲取待分析數(shù)據(jù);
所述分詞處理單元602,用于對(duì)所述數(shù)據(jù)獲取單元601獲取的所述待分析數(shù)據(jù)進(jìn)行分詞處理,得到分詞特征數(shù)據(jù);
所述數(shù)據(jù)生成單元603,用于將所述分詞處理單元602得到的所述分詞特征數(shù)據(jù)生成用于確定所述分詞特征數(shù)據(jù)中各詞之間語(yǔ)義關(guān)系的分布式詞向量;
所述第一計(jì)算單元604,用于根據(jù)所述數(shù)據(jù)生成單元603生成的所述分布式詞向量中各詞的特征數(shù)據(jù),得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量;
所述第二計(jì)算單元605,用于根據(jù)學(xué)習(xí)模型對(duì)所述第一計(jì)算單元604得到的所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算,得到用于確定所述待分析數(shù)據(jù)的情感屬性。
這里,所述數(shù)據(jù)獲取單元601獲取到待分析數(shù)據(jù)后,觸發(fā)所述分詞處理單元602,由所述分詞處理單元602采用分詞工具對(duì)所述數(shù)據(jù)獲取單元601獲取到的所述待分析數(shù)據(jù)進(jìn)行分詞處理。具體,所述分詞處理單元602采用ansj分詞工具中的crf模型對(duì)所述待分析數(shù)據(jù)進(jìn)行自定義詞典加載,對(duì)所述待分析數(shù)據(jù)中部分自定義歧義詞組與停用詞有監(jiān)督地進(jìn)行最大長(zhǎng)度的詞劃分,以得到分詞特征數(shù)據(jù),并通過(guò)hmm對(duì)得到的所述分詞特征數(shù)據(jù)進(jìn)行詞性標(biāo)注,得到所述待分析數(shù)據(jù)的分詞特征數(shù)據(jù)。并由所述分詞處理單元602觸發(fā)所述數(shù)據(jù)生成單元603,由所述數(shù)據(jù)生成單元603將所述分詞特征數(shù)據(jù)生成使用word2vec詞向量表示的數(shù)據(jù)。由于word2vec是利用深度文本表示模型以深度學(xué)習(xí)為基礎(chǔ),通過(guò)訓(xùn)練把對(duì)文本內(nèi)容的處理簡(jiǎn)化為k維向量空間中的向量運(yùn)算(k一般為模型中的超參數(shù)),而向量空間上的相似度可以用來(lái)表示文本語(yǔ)義上的相似度。所以,word2vec輸出的詞向量可以被用來(lái)做很多nlp的相關(guān)工作,比如聚類、找同義詞、詞性分析等等?;蛘撸蒙窠?jīng)網(wǎng)絡(luò)將詞作為特征,word2vec就可以把特征映射到k維向量空間(k一般為模型中的超參數(shù)),通過(guò)詞之間的距離(比如cosine相似度、歐氏距離等)來(lái)判斷它們之間的語(yǔ)義相似度。
word2vec具體采用輸入層-隱層-輸出層的三層神經(jīng)網(wǎng)絡(luò),對(duì)文本詞進(jìn)行huffmancoding建模后,使得所有詞頻相似的詞和隱藏層激活的內(nèi)容基本一致,同時(shí)將每個(gè)詞在層次huffman樹(shù)結(jié)構(gòu)上進(jìn)行多種編碼求和,深度表示該詞內(nèi)包含的不同語(yǔ)義。如此能夠使得出現(xiàn)頻率越高的詞語(yǔ),激活的隱藏層數(shù)目越少,有效的降低了計(jì)算復(fù)雜度。
所述數(shù)據(jù)生成單元603將所述分詞特征數(shù)據(jù)生成所述分布式詞向量后,觸發(fā)所述第一計(jì)算單元604,由所述第一計(jì)算單元604根據(jù)所述分布式詞向量中當(dāng)前詞的語(yǔ)義窗口確定當(dāng)前詞的向量表示為準(zhǔn)確時(shí),再根據(jù)分布式詞向量中各詞的特征數(shù)據(jù),對(duì)分布式詞向量進(jìn)行加權(quán)平均計(jì)算,得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量,并將完整數(shù)據(jù)向量映射至隱藏層。具體地,為了更準(zhǔn)確地表示情感詞的屬性傾向且不脫離上下文語(yǔ)境,本發(fā)明實(shí)施例在對(duì)圖書(shū)評(píng)論、主題內(nèi)容進(jìn)行精簡(jiǎn)表示的同時(shí),結(jié)合分布式詞向量中的各詞的特征數(shù)據(jù),例如,各詞的詞性、句法和情感等特征數(shù)據(jù)對(duì)所述分布式詞向量進(jìn)行加權(quán)計(jì)算。具體地,對(duì)于待分析數(shù)據(jù)中的名詞+形容詞,動(dòng)詞+形容詞,名詞+動(dòng)詞+形容詞等主干組合詞以及相應(yīng)的連詞、副詞分別乘以相應(yīng)的權(quán)值,而其中帶有情感色彩的動(dòng)詞、形容詞等則通過(guò)正負(fù)情感詞庫(kù)識(shí)別其情感傾向,并使用1,0,-1對(duì)各類情感詞進(jìn)行詞性標(biāo)注,作為詞向量的特征列,最后待評(píng)論語(yǔ)句通過(guò)對(duì)分布式詞向量中的各詞進(jìn)行加權(quán)后再進(jìn)行向量表示,具體如下:
①評(píng)論句:c={w1,w2,…wn}由各詞組成的集合,識(shí)別各詞的詞性與依存關(guān)系。如書(shū)評(píng)示例{不錯(cuò)情節(jié)的錯(cuò)落與安排以及人物的刻畫(huà)也比較細(xì)膩比較接地氣使人讀了感覺(jué)蠻感興趣的有看下去的興趣},對(duì)應(yīng)的詞性與依存關(guān)系為{a/att,n/att,u/rad,v/att,c/lad,v/coo,c/lad,n/coo,u/rad,v/sbv,d/adv,d/adv,a/att,d/adv,v/att,n/att,n/sbv,v/hed,u/rad,n/sbv,d/adv,v/sbv,n/vob,u/rad,v/coo,v/att,v/cmp,u/rad,n/vob}。
②主干詞與情感詞的權(quán)值計(jì)算。對(duì)于上述評(píng)論句中修飾關(guān)系(att)、主謂關(guān)系(sbv)、并列關(guān)系(coo)、動(dòng)賓關(guān)系(vob)等所涉及到的主干詞乘以權(quán)值2,即符合att、coo、sbv、vob等句法關(guān)系的詞,如“不錯(cuò)”“情節(jié)”“安排”“感興趣”等,對(duì)于連詞及副詞等修飾詞乘以權(quán)值1.5或2,對(duì)于各詞正負(fù)情感傾向判斷并標(biāo)注特征值,如“不錯(cuò)”、“細(xì)膩”“感興趣”等褒義詞特征屬性值為1,“垃圾”“難看”等貶義詞特征屬性值為-1,其它未明顯傾向的詞則標(biāo)為0,各詞的傾向值則作為情感維度加入原有的詞向量列。這里,具體的權(quán)值大小可根據(jù)實(shí)際需要進(jìn)行調(diào)整。
③根據(jù)所得的詞向量表示評(píng)論句向量。將每條評(píng)論包含的n個(gè)詞向量進(jìn)行加權(quán)平均,通過(guò)公式(vec(c)=1/nσvec(w)),得到每條評(píng)論向量。
在本發(fā)明實(shí)施例中,所述第一計(jì)算單元604,具體用于根據(jù)所述數(shù)據(jù)生成單元603生成的所述分布式詞向量確定各詞之間的詞窗口大小數(shù)據(jù)和詞向量維度數(shù)據(jù);根據(jù)所述詞窗口大小數(shù)據(jù)和所述詞向量維度數(shù)據(jù),確定所述待分析數(shù)據(jù)的語(yǔ)義關(guān)系詞向量;根據(jù)所述語(yǔ)義關(guān)系詞向量中各詞的特征數(shù)據(jù),對(duì)所述語(yǔ)義關(guān)系詞向量進(jìn)行加權(quán)平均計(jì)算,得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量。
這里,當(dāng)所述第一計(jì)算單元604根據(jù)所述數(shù)據(jù)生成單元603生成的所述分布式詞向量確定各詞之間的詞窗口大小為200,分布式詞向量的向量維度設(shè)為30向量時(shí),再根據(jù)分布式詞向量中各詞的特征數(shù)據(jù),對(duì)分布式詞向量進(jìn)行加權(quán)平均計(jì)算,得到所述待分析數(shù)據(jù)的完整數(shù)據(jù)向量,并將完整數(shù)據(jù)向量映射至隱藏層。
之后所述第一計(jì)算單元604觸發(fā)所述第二計(jì)算單元605,并由所述第二計(jì)算單元605根據(jù)svm對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算。具體地,所述svm是一個(gè)有監(jiān)督的學(xué)習(xí)模型,通常用來(lái)解決向量二分類問(wèn)題基于結(jié)構(gòu)風(fēng)險(xiǎn)最小和vc維理論提出的分類方法,是針對(duì)線性可分情況進(jìn)行分析,對(duì)于線性不可分的情況,通過(guò)使用非線性映射算法將低維輸入空間線性不可分的樣本轉(zhuǎn)化為高維特征空間使其線性可分,從而使得高維特征空間采用線性算法對(duì)樣本的非線性特征進(jìn)行線性分析成為可能。其中,線性問(wèn)題可通過(guò)拉格朗日及引入松弛變量對(duì)偶求解方法求最優(yōu)分類超平面,當(dāng)距離超平面最近的各類別間隔為最大值時(shí),超平面最優(yōu)。非線性分類可通過(guò)訓(xùn)練非線性樣本引入核函數(shù)將其映射至高維或無(wú)限維向量空間轉(zhuǎn)為線性可分,構(gòu)造分類超平面,將非線性問(wèn)題轉(zhuǎn)為線性最優(yōu)解的問(wèn)題。非線性映射主要采用mercer定理核函數(shù),所述mercer定理是指:任何半正定的函數(shù)都可以作為核函數(shù)。包括:線性核函數(shù)、多項(xiàng)式核函數(shù)、sigmoid核函數(shù)、高斯徑向基核函數(shù)和復(fù)合核函數(shù)。具體mercer定理核函數(shù)見(jiàn)公式:
在本發(fā)明實(shí)施例中,所述第二計(jì)算單元605,具體用于將所述第一計(jì)算單元604得到的所述完整數(shù)據(jù)向量轉(zhuǎn)換成svm格式文件,對(duì)所述svm格式文件進(jìn)行標(biāo)準(zhǔn)化處理,得到用于進(jìn)行交叉驗(yàn)證的svm參數(shù);在所述svm參數(shù)中選擇rbf核函數(shù)和第一參數(shù)、第二參數(shù)進(jìn)行交叉驗(yàn)證,得到用于在訓(xùn)練語(yǔ)料中獲取svm模型的第一最佳參數(shù)和第二最佳參數(shù);根據(jù)所述第一最佳參數(shù)和所述第二最佳參數(shù)確定出的svm模型對(duì)所述完整數(shù)據(jù)向量進(jìn)行分類計(jì)算。
這里,所述第二計(jì)算單元605將得到的完整數(shù)據(jù)向量轉(zhuǎn)換成svm格式的數(shù)據(jù)后,根據(jù)svm參數(shù)確定核函數(shù)的類型以及第一參數(shù)c和第二參數(shù)g。本發(fā)明實(shí)施例中默認(rèn)為rbf核函數(shù)。然后,根據(jù)確定的rbf核函數(shù)和第一參數(shù)c和第二參數(shù)g進(jìn)行交叉驗(yàn)證,確定出用于在訓(xùn)練語(yǔ)料中獲取svm模型的第一最佳參數(shù)c和第二最佳參數(shù)g。這里,以小寫(xiě)c和小寫(xiě)g代表最佳參數(shù)c和最佳參數(shù)g。具體svm參數(shù)設(shè)置參照方法實(shí)施中的描述。
在本發(fā)明實(shí)施例中,所述第二計(jì)算單元,具體還用于根據(jù)所述學(xué)習(xí)模型確定所述待分析數(shù)據(jù)的情感屬性的分類概率,根據(jù)所述分類概率得到所述待分析數(shù)據(jù)的情感屬性的分值;根據(jù)所述分值確定所述待分析數(shù)據(jù)的情感屬性。
具體地,所述第二計(jì)算單元605根據(jù)所述第一最佳參數(shù)c和所述第二最佳參數(shù)g對(duì)svm模型進(jìn)行概率估計(jì)設(shè)定,輸出待分析數(shù)據(jù)中各評(píng)論c的分類結(jié)果概率,即所述待分析數(shù)據(jù)屬于好評(píng)評(píng)論的概率p(g|c)與屬于差評(píng)評(píng)論的概率p(b|c),基于兩個(gè)分類概率進(jìn)行加權(quán)計(jì)算后,確定所述待分析數(shù)據(jù)的屬性分值,具體公式如下:
在本發(fā)明實(shí)施例中,針對(duì)每一條圖書(shū)評(píng)論均可以通過(guò)上述公式計(jì)算得到一個(gè)分值,該分值的取值范圍[1,200],其中,評(píng)論的分值越高,代表該評(píng)論屬于好評(píng)的程度越高。通常,可以將分值在[1,100]范圍內(nèi)的評(píng)論確定為差評(píng),將分值在[100,200]范圍內(nèi)的評(píng)論確定為好評(píng)。
在本發(fā)明實(shí)施例中,所述裝置還包括:第一處理單元606,用于對(duì)所述數(shù)據(jù)獲取單元601獲取的所述待分析數(shù)據(jù)進(jìn)行噪聲過(guò)濾與重復(fù)評(píng)論去重,得到第一待分析數(shù)據(jù);
所述分詞處理單元602,具體用于對(duì)所述第一處理單元606得到的所述第一待分析數(shù)據(jù)進(jìn)行分詞處理,得到所述分詞特征數(shù)據(jù)。
這里,所述第一處理單元606主要用于對(duì)所述待分析數(shù)據(jù)中的噪聲如郵箱、超鏈接、無(wú)意義符號(hào)、重復(fù)的標(biāo)點(diǎn)利用正則表達(dá)式進(jìn)行過(guò)濾,保留有意義的漢字、英文及數(shù)字,重復(fù)的評(píng)論進(jìn)行標(biāo)記只取其中一條進(jìn)行處理,例如,待分析數(shù)據(jù)的評(píng)論為:“我們找不到任何符合"dreamlovenovel@gmail.com"的人物。。。。。。。。我來(lái)打個(gè)小廣告這是寫(xiě)給十四夜和傾泠月的詩(shī)啦?。。?!~~~~~~~這是網(wǎng)址:www.jjwxc.net/onebook.php?novelid=820331~~~~~~~~~~~”,則所述裝置先將該評(píng)論中的郵箱、廣告鏈接、無(wú)意義符號(hào)~~~~去除,并對(duì)標(biāo)點(diǎn)。。。。!??!去重,得到精簡(jiǎn)后第一待分析數(shù)據(jù)。同時(shí)對(duì)所述第一待分析數(shù)據(jù)中的(漢語(yǔ)&英文&數(shù)字)字?jǐn)?shù)<1的評(píng)論去除,如評(píng)論為“+++++”去除,對(duì)評(píng)論如“666”等進(jìn)行保留。這里,“+++++”表示無(wú)感情的符號(hào),“666”表示具備感情含義的符號(hào),例如,某一讀者想對(duì)某一圖書(shū)進(jìn)行評(píng)論,表示該圖書(shū)寫(xiě)的很好,但為了節(jié)省打字時(shí)間和空間,以評(píng)論為“666”代替,此時(shí),該符號(hào)的意思為稱贊該圖書(shū)寫(xiě)的很好,即為“牛牛牛”的諧音。當(dāng)所述第一處理單元606對(duì)所述待分析數(shù)據(jù)進(jìn)行處理過(guò)濾得到精簡(jiǎn)后的第一待分析數(shù)據(jù)后,再由所述分詞處理單元602對(duì)所述第一待分析數(shù)據(jù)進(jìn)行分詞處理。
在本發(fā)明實(shí)施例中,所述裝置還包括:第二處理單元607,用于對(duì)所述分詞處理單元602得到的所述分詞特征數(shù)據(jù)進(jìn)行重復(fù)詞或重復(fù)字去重,得到第一分詞特征數(shù)據(jù);
所述數(shù)據(jù)生成單元603,具體用于將所述第二處理單元607得到的所述第一分詞特征數(shù)據(jù)生成所述分布式詞向量。
這里,在所述分詞處理單元602得到所述待分析數(shù)據(jù)的分詞特征數(shù)據(jù)后,觸發(fā)所述第二處理單元607,由所述第二處理單元607對(duì)所述分詞特征數(shù)據(jù)中的評(píng)論語(yǔ)句詞分布及長(zhǎng)詞字分布進(jìn)行多樣性統(tǒng)計(jì),然后對(duì)于不重復(fù)詞數(shù)/總詞數(shù)<0.2豐富度低的評(píng)論進(jìn)行重復(fù)詞去重,同時(shí)對(duì)長(zhǎng)詞內(nèi)重復(fù)的字或詞去重,如“哈哈哈哈哈哈哈哈哈哈哈哈”或“謝謝謝謝謝謝”等,去除后得到單個(gè)詞的“哈”或單個(gè)詞“謝”。通過(guò)以上過(guò)濾去重去噪得到精簡(jiǎn)后的第一分詞特征數(shù)據(jù),并觸發(fā)所述數(shù)據(jù)生成單元603,由所述數(shù)據(jù)生成單元603對(duì)所述第一分詞特征數(shù)據(jù)用所述分布式詞向量表示。
本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比,充分考慮了圖書(shū)評(píng)論中的內(nèi)容長(zhǎng)短不齊的情況,并采用結(jié)合評(píng)論內(nèi)容的上下文語(yǔ)義關(guān)系的分布式詞向量特征,進(jìn)行加權(quán)計(jì)算得到整條評(píng)論向量后,基于svm算法對(duì)得到的整條評(píng)論向量進(jìn)行分析訓(xùn)練,確定該評(píng)論的情感屬性,如此,大大提高了圖書(shū)評(píng)論中的情感屬性分析效率以及分析結(jié)果的準(zhǔn)確性。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝所設(shè)置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。