一種基于詞向量的評(píng)論分析方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及情感分析、自然語言處理等技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著電商的不斷發(fā)展,網(wǎng)絡(luò)上用戶對(duì)某產(chǎn)品的評(píng)論是越來越多。分析用戶的評(píng)論, 能夠了解用戶對(duì)產(chǎn)的看法和建議,這樣有助于產(chǎn)品的完善,以及服務(wù)質(zhì)量的提升。但是隨著 用戶數(shù)的不斷增加,相應(yīng)的評(píng)論量也增長很大,如果還是依靠人工閱讀評(píng)論,了解用戶意見 的話,將極大的降低工作效率,不能及時(shí)了解用戶對(duì)產(chǎn)品或服務(wù)的意見或建議。
【發(fā)明內(nèi)容】
[0003] 針對(duì)上述情況,本發(fā)明提出了一種使用機(jī)器分析評(píng)論的方法及系統(tǒng),借助機(jī)器做 自動(dòng)用戶評(píng)論分析,提供工作效率。
[0004] 本發(fā)明中基于詞向量的評(píng)論分析方法,包括:
[0005] 步驟1 :收集用戶評(píng)論,形成評(píng)論語料庫;
[0006] 步驟2 :將評(píng)論語料庫的每條評(píng)論轉(zhuǎn)化為維度相同的句向量;
[0007] 步驟3 :設(shè)置若干評(píng)論類型,根據(jù)人工輸入的標(biāo)注為每條評(píng)論標(biāo)注其所屬的評(píng)論 類型;
[0008] 步驟4 :以所述句向量為輸入,每條句向量對(duì)應(yīng)的評(píng)論類型為輸出訓(xùn)練分類器;
[0009] 步驟5 :獲取一條新的評(píng)論,并將其轉(zhuǎn)化為句向量;
[0010] 步驟6 :將新評(píng)論對(duì)應(yīng)的句向量輸入到所述分類器中,得到新評(píng)論的評(píng)論類型。
[0011] 所述步驟2進(jìn)一步包括:
[0012] 步驟21 :將每一條評(píng)論分成若干的基本分詞,對(duì)基本分詞去重后得到評(píng)論詞庫;
[0013] 步驟22 :將每個(gè)基本分詞轉(zhuǎn)化為一個(gè)詞向量;各個(gè)基本分詞對(duì)應(yīng)的詞向量維度相 同;
[0014] 步驟23 :將每條評(píng)論中的基本分詞對(duì)應(yīng)的詞向量進(jìn)行疊加,得到該評(píng)論的句向 量。
[0015] 所述步驟5進(jìn)一步包括:
[0016] 步驟51 :將新的評(píng)論分成若干基本分詞;
[0017] 步驟52 :在評(píng)論詞庫中查找步驟51中各個(gè)基本分詞對(duì)應(yīng)的詞向量;
[0018] 步驟53 :將新的評(píng)論的各個(gè)基本分詞對(duì)應(yīng)的詞向量進(jìn)行疊加,得到新的評(píng)論的句 向量。
[0019] 所述步驟22進(jìn)一步包括:將基本分詞作為神經(jīng)網(wǎng)絡(luò)模型的輸入,使所述神經(jīng)網(wǎng)絡(luò) 模型無監(jiān)督學(xué)習(xí)得到該基本分詞對(duì)應(yīng)的詞向量。
[0020] 優(yōu)選地,所述詞向量維度為200。
[0021] 所屬步驟3進(jìn)一步包括對(duì)每個(gè)評(píng)論類型中的評(píng)論做以下處理:
[0022] 步驟31 :計(jì)算評(píng)論類型中每一條評(píng)論中的基本分詞的關(guān)鍵性權(quán)重;
[0023] 步驟32:按照關(guān)鍵性權(quán)重對(duì)該評(píng)論類型中全部評(píng)論的基本分詞進(jìn)行降序排序;
[0024] 步驟33 :選擇前n個(gè)互異的基本分詞作為所述評(píng)論類型的關(guān)鍵詞;所述n取大于 0且小于等于5的自然數(shù)。
[0025] 本發(fā)明還提供了一種基于詞向量的評(píng)論系統(tǒng),包括:
[0026] 評(píng)論收集模塊,用于收集用戶評(píng)論,形成評(píng)論語料庫;
[0027] 樣本句向量轉(zhuǎn)化模塊,用于將評(píng)論語料庫的每條評(píng)論轉(zhuǎn)化為維度相同的句向量;
[0028] 評(píng)論類型標(biāo)注模塊,用于設(shè)置若干評(píng)論類型,根據(jù)人工輸入的標(biāo)注為每條評(píng)論標(biāo) 注其所屬的評(píng)論類型;
[0029] 分類器訓(xùn)練模塊,用于以所述句向量為輸入,每條句向量對(duì)應(yīng)的評(píng)論類型為輸出 訓(xùn)練分類器;
[0030] 評(píng)論句向量轉(zhuǎn)換模塊,用于獲取一條新的評(píng)論,并將其轉(zhuǎn)化為句向量;
[0031] 分類器,根據(jù)新評(píng)論對(duì)應(yīng)的句向量計(jì)算新評(píng)論的評(píng)論類型。
[0032] 所述樣本句向量轉(zhuǎn)化模塊進(jìn)一步包括:
[0033] 樣本分詞模塊,用于將評(píng)論語料庫中的每一條評(píng)論分成若干的基本分詞,對(duì)基本 分詞去重后得到評(píng)論詞庫;
[0034] 樣本詞向量轉(zhuǎn)化模塊,用于將每個(gè)基本分詞轉(zhuǎn)化為一個(gè)詞向量;各個(gè)基本分詞對(duì) 應(yīng)的詞向量維度相同;
[0035] 樣本詞向量疊加模塊,用于將每條評(píng)論中的基本分詞對(duì)應(yīng)的詞向量進(jìn)行疊加,得 到評(píng)論語料庫中各評(píng)論的句向量。
[0036] 所述評(píng)論句向量轉(zhuǎn)換模塊進(jìn)一步包括:
[0037] 評(píng)論分詞模塊,用于將新的評(píng)論分成若干基本分詞;
[0038] 評(píng)論詞向量轉(zhuǎn)化模塊,用于在評(píng)論詞庫中查找新的評(píng)論中各個(gè)基本分詞對(duì)應(yīng)的詞 向量;
[0039] 評(píng)論詞向量疊加模塊,用于將新的評(píng)論的各個(gè)基本分詞對(duì)應(yīng)的詞向量進(jìn)行疊加, 得到新的評(píng)論的句向量。
[0040] 所述樣本詞向量轉(zhuǎn)化模塊進(jìn)一步用于將基本分詞作為神經(jīng)網(wǎng)絡(luò)模型的輸入,使所 述神經(jīng)網(wǎng)絡(luò)模型無監(jiān)督學(xué)習(xí)得到該基本分詞對(duì)應(yīng)的詞向量。
[0041] 優(yōu)選地,所述詞向量維度為200。
[0042] 評(píng)論類型標(biāo)注模塊進(jìn)一步包括:
[0043] 關(guān)鍵性權(quán)重計(jì)算模塊,用于計(jì)算評(píng)論類型中每一條評(píng)論中的基本分詞的關(guān)鍵性權(quán) 重;
[0044] 排序模塊,用于按照關(guān)鍵性權(quán)重對(duì)該評(píng)論類型中全部評(píng)論的基本分詞進(jìn)行降序排 序;
[0045] 關(guān)鍵詞選擇模塊,用于選擇前n個(gè)互異的基本分詞作為所述評(píng)論類型的關(guān)鍵詞; 所述n取大于0且小于等于5的自然數(shù)。
[0046] 綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
[0047] 本發(fā)明實(shí)現(xiàn)了評(píng)論分析的自動(dòng)化、機(jī)器化,大大提高了工作效率。
[0048] 本發(fā)明采用神經(jīng)網(wǎng)絡(luò)模型計(jì)算基本分詞的向量,這樣表示的詞向量不能能夠準(zhǔn)確 表示其對(duì)應(yīng)的基本分詞,還能體現(xiàn)詞與詞之間的關(guān)聯(lián)關(guān)系,智能程度較高。
[0049] 本發(fā)明采用詞向量的疊加方式的到句向量,避免了句向量維度增加,由于訓(xùn)練后 的詞向量其實(shí)是將詞映射到了一個(gè)新的主題維度空間,所以將詞向量進(jìn)行疊加還能很好的 表示句子在這樣的特征空間的映射情況。這樣做,不但避免了句子特征表示的向量過于稀 疏,維度過多的情況,又能很好的在低維度空間表示句子特征,且不影響分類性能。
【具體實(shí)施方式】
[0050] 本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥 的特征和/或步驟以外,均可以以任何方式組合。
[0051] 本說明書中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的 替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子 而已。
[0052] 本發(fā)明一個(gè)具體實(shí)施例包括以下步驟:
[0053] 步驟1 :整理用戶評(píng)論,形成評(píng)論語料庫。具體的可以使用網(wǎng)絡(luò)爬蟲從各大網(wǎng)頁上 搜集用戶的評(píng)論語句形成評(píng)論語料庫。網(wǎng)絡(luò)爬蟲是一種自動(dòng)獲取網(wǎng)頁內(nèi)容的程序,是搜索 引擎的重要組成部分。搜集的評(píng)論語句越多,我們得到的評(píng)論語料庫就越完備。
[0054] 步驟2 :將評(píng)論語料庫的每條評(píng)論轉(zhuǎn)化為維度相同的句向量:進(jìn)一步包括使用分 詞(動(dòng)詞,將句子進(jìn)行分段)軟件將評(píng)論語句分為基本分詞(名詞),將評(píng)論語料庫中的每 個(gè)評(píng)論分詞后,將得到的全部基本分詞去重復(fù)后得到評(píng)論詞庫。在將評(píng)論詞庫中的每個(gè)基 本分詞轉(zhuǎn)化為詞向量。
[0055] 本實(shí)施例使用深度學(xué)習(xí)技術(shù)訓(xùn)練詞向量模型:
[0056] 為了突出本發(fā)明中詞向量的優(yōu)勢,這里先闡述傳統(tǒng)的詞包模型的局限性。
[0057] 傳統(tǒng)的詞包模型是將每個(gè)詞表不成一個(gè)特征向量中的一個(gè)特征。假如有一個(gè)詞 典,詞典中包含10個(gè)詞,其中的詞需要用10維向量表示,如詞典中的"good"能夠用詞包 模型表示:v (' good')= [0,1,0, 0, 0, 0, 0, 0, 0, 0],詞典中的"bad"能夠用詞包模型表示為 v (' bad')= [0, 0, 1,0, 0, 0, 0, 0, 0, 0]等。
[0058] 采用這種詞包模型表示詞存在這樣的局限,當(dāng)詞典中的詞量很大,比如達(dá)到千萬 數(shù)量級(jí)別的時(shí)候,就需要千萬維向量進(jìn)行表示,出現(xiàn)維度災(zāi)難,因此需要做特征選擇或者特 征提取。同時(shí),這樣的表示,很難發(fā)現(xiàn)詞與詞之間的關(guān)系,比如'fantastic'和'good'具有 相似性,然而通過詞包模型,很難度量它們之間的相似度。
[0059] 基于上述兩個(gè)原因促成我們對(duì)詞向量的表示做了改進(jìn)。我們使用了神經(jīng)網(wǎng)絡(luò)模 型,將評(píng)論詞庫的全部基本分詞作為訓(xùn)練樣本,輸入到神經(jīng)網(wǎng)絡(luò)模型中,使神經(jīng)網(wǎng)絡(luò)模型無 監(jiān)督學(xué)習(xí)得到了 200維的詞向量特征。在其他實(shí)施例中,詞向量維度也可以為50、100、150 等。
[0060] 將評(píng)論語料庫中的一條評(píng)論中的所有基本分詞對(duì)應(yīng)的詞向量疊加后,得到該評(píng)論 的句向量。
[0061] 假設(shè)一個(gè)評(píng)論語句S,其中Wi表示該評(píng)論經(jīng)過分詞后的第i個(gè)基本分詞,于是有:
[0062] S=Wp w2, . . . Wi, . . . wn,其中n表示句子的詞語數(shù)目。
[0