• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于改進(jìn)DEC的評論文本聚類算法

    2023-09-27 01:06:30陳可嘉夏瑞東林鴻熙
    關(guān)鍵詞:編碼器聚類向量

    陳可嘉, 夏瑞東, 林鴻熙

    (1. 福州大學(xué) 經(jīng)濟(jì)與管理學(xué)院, 福州 350108; 2. 莆田學(xué)院 商學(xué)院, 福建 莆田 351100)

    隨著互聯(lián)網(wǎng)上電商評論數(shù)量的激增, 已引起商家和企業(yè)的廣泛關(guān)注. 獲取在線電商評論有助于商家和企業(yè)更好地了解消費者真正的需求. 而這些存在于電商平臺的評論文本通常是無標(biāo)注的數(shù)據(jù), 由人工從無標(biāo)注的大量文本數(shù)據(jù)中獲取信息非常困難且耗時[1]. 隨著應(yīng)用場景的多樣化發(fā)展, 越來越多的文本數(shù)據(jù)需要更適用于特定場景的聚類劃分[2]. 電商產(chǎn)品的評論也屬于文本數(shù)據(jù), 因此對于產(chǎn)品評論, 可進(jìn)行無監(jiān)督聚類分析以了解用戶對產(chǎn)品具體信息的關(guān)注分布情況.

    目前在關(guān)于文本聚類的研究中, 基于K-means的聚類是一種經(jīng)典的無監(jiān)督聚類算法, 通??捎糜谖谋揪垲惾蝿?wù)中[3], 其對大部分?jǐn)?shù)據(jù)都有較強的適用性, 并且計算簡單高效. 張蕾等[4]利用改進(jìn)的詞頻-逆文檔頻率算法并結(jié)合K-means++算法對科研機構(gòu)發(fā)表論文數(shù)據(jù)進(jìn)行了聚類應(yīng)用分析; 朱楓怡等[5]利用K-means算法對故事等類型的文本進(jìn)行了聚類應(yīng)用分析. 但K-means算法也存在明顯的局限性, 如需要預(yù)先給定最優(yōu)聚類數(shù)目K值以及無法有效處理高維數(shù)據(jù)等. 對于如何解決局限性, Bejos等[6]提出了一種改進(jìn)的快速分區(qū)聚類算法緩解無法有效處理高維數(shù)據(jù)問題, 以提高文本聚類效果; 張朝等[7]提出了一種K-means聚類最優(yōu)匹配算法解決傳統(tǒng)K-means算法對聚類初始點的選取和距離度量的計算異常敏感問題.

    隨著文本聚類技術(shù)的發(fā)展, 深度聚類的應(yīng)用可提升聚類算法的性能. Hosseini等[1]提出了一種基于疊架構(gòu)的Autoencoder, 可減少數(shù)據(jù)的維度以提供強大的聚類特征. 同時, 深度嵌入聚類已成為無監(jiān)督聚類的主要方法[8], Xie等[9]提出的深度嵌入聚類(deep embedding clustering, DEC)算法, 將訓(xùn)練數(shù)據(jù)從高維空間到低維特征空間映射, 并在其中迭代優(yōu)化聚類目標(biāo); Ren等[10]使用了一種新的半監(jiān)督深度嵌入聚類方法, 其在特征學(xué)習(xí)過程中加入了成對約束, 使得在學(xué)習(xí)到的特征空間中屬于同一簇的數(shù)據(jù)樣本彼此靠近, 而屬于不同簇的數(shù)據(jù)樣本彼此遠(yuǎn)離; Boubekki等[8]提出了在深度嵌入聚類算法上進(jìn)行自動編碼器與聚類的聯(lián)合學(xué)習(xí)和嵌入, 保證前者可從后者獲得的有價值信息中受益; 黃宇翔等[11]提出了基于集成學(xué)習(xí)的改進(jìn)深度嵌入聚類算法以及其對超參數(shù)λ的敏感性.

    在文本聚類研究中, 使用預(yù)訓(xùn)練詞向量模型獲取詞向量是必不可少的部分, 對于預(yù)訓(xùn)練詞向量模型, BERT(bidirectional encoder representation from transformer)模型相比于Word2vec和Glove等模型可以得到考慮詞上下文信息且適用性廣泛的詞向量, 同時還能在具體任務(wù)中動態(tài)優(yōu)化詞向量[12]. 在針對主題分布與詞嵌入信息相融合的問題上, Liang等[13]提出了結(jié)合BERT和LDA(latent dirichlet allocation)主題模型以確定主題最佳分類數(shù); 文獻(xiàn)[14]提出了利用LDA模型、 詞嵌入模型Word2vec和Glove綜合獲得文本向量表示. 針對BERT預(yù)訓(xùn)練模型在聚類任務(wù)中的應(yīng)用, Hosseini等[1]提出了先使用改進(jìn)的預(yù)訓(xùn)練BERT模型進(jìn)行文本的向量表示, 然后進(jìn)行聚類分析; Mehta等[15]提出了基于BERT模型派生詞嵌入的聚類方法對大型文本數(shù)據(jù)集進(jìn)行聚類研究; Subakti等[16]使用了多種聚類算法, 包括K-means聚類、 深度嵌入聚類和改進(jìn)的深度嵌入聚類等融合BERT得出的文本數(shù)據(jù)表示進(jìn)行聚類研究.

    但在評論的無監(jiān)督聚類工作中, DEC算法的K-means聚類層可能仍存在聚類數(shù)目K需要預(yù)先給定的情況, 以及聚類中心的初始化有很強的隨機性會影響整個DEC算法效果; 同時在預(yù)訓(xùn)練詞向量工作中, 較少考慮到評論中詞上下文信息與評論中主題特征的融合.

    針對上述問題, 本文提出一種基于改進(jìn)DEC的評論文本聚類算法, 該算法結(jié)合了BERT和LDA模型作為預(yù)訓(xùn)練詞向量嵌入, 有效融合了句子嵌入向量和評論主題分布向量; 在K-means聚類層中, 通過主題連貫性的變化選擇合適的主題數(shù)作為聚類數(shù)目K, 同時將LDA模型得出的主題特征向量作為自定義聚類中心, 然后進(jìn)行聯(lián)合訓(xùn)練以增強聚類的準(zhǔn)確性.

    1 聚類算法設(shè)計

    本文基于改進(jìn)DEC的評論文本聚類算法流程如圖1所示, 其中包括: 數(shù)據(jù)集獲取與預(yù)處理; 基于BERT-LDA的數(shù)據(jù)集向量化表示; 改進(jìn)DEC算法; 評論文本聚類可視化分析.

    圖1 基于改進(jìn)DEC的評論文本聚類算法Fig.1 Review text clustering algorithm based on improved DEC

    1.1 數(shù)據(jù)集獲取與預(yù)處理

    本文使用Python從天貓商城(www.tmall.com)和京東商城(www.jd.com)中進(jìn)行評論數(shù)據(jù)集爬取, 以此進(jìn)行后續(xù)的產(chǎn)品評論聚類分析. 對于獲取的產(chǎn)品評論文本數(shù)據(jù)需要做如下預(yù)處理.

    1) 重復(fù)數(shù)據(jù)剔除: 將重復(fù)的無效數(shù)據(jù)進(jìn)行剔除.

    2) 去停用詞: 停用詞通常在評論中大量重復(fù)出現(xiàn), 卻沒有實際意義, 例如: “嗯、 了、 即、 不但、 終于”等, 將停用詞進(jìn)行剔除以獲得更有效的評論句.

    1.2 基于BERT-LDA的數(shù)據(jù)集向量化表示

    本文利用獲取的無標(biāo)注評論數(shù)據(jù)集進(jìn)行基于BERT-LDA的數(shù)據(jù)集向量化表示, 主要流程如下: 1) 構(gòu)建BERT句子嵌入向量; 2) 構(gòu)建LDA主題分布向量; 3) 融合生成BERT-LDA數(shù)據(jù)集向量化表示.

    1.2.1 構(gòu)建BERT句子嵌入向量

    本文通過谷歌開源工具包BERT 模型訓(xùn)練產(chǎn)品評論數(shù)據(jù)集上的句子嵌入向量表示. BERT 模型具有很強的文本特征表示能力[16-17], 如圖2所示.

    圖2 BERT模型Fig.2 BERT model

    輸入包括3部分, 分別為位置編碼嵌入、 片段嵌入和字符嵌入. BERT的核心模塊是Transformer塊[18], 每個Transformer 共有12個注意力頭, 其隱含層大小為768.

    本文使用開源的BERT-as-service工具加載預(yù)訓(xùn)練模型, 將預(yù)處理后數(shù)據(jù)集中的句子進(jìn)行編碼后, 取輸出層字向量的平均值作為句子的句向量. 將BERT句子嵌入向量Di定義為

    Di=MEAN(T1,T2,…,Tn),

    (1)

    其中T1,T2,…,Tn表示輸出層的字向量.

    1.2.2 構(gòu)建LDA主題分布向量

    LDA主題模型用于推測文檔的主題分布, 它可以將文檔集中每篇文檔的主題以概率分布的形式給出. LDA主題模型認(rèn)為一個文檔由若干主題組成, 主題由數(shù)據(jù)集下相應(yīng)的特征詞構(gòu)成, 則可以描述對應(yīng)為m個文檔中, 具有n個特征詞,z表示為n個特征詞所對應(yīng)的主題. LDA主題模型如圖3所示.

    圖3 LDA主題模型Fig.3 LDA topic model

    LDA主題模型中各參數(shù)的含義如下:α表示評論-主題分布中的Dirichlet分布超參數(shù);β表示主題-詞分布中的Dirichlet分布超參數(shù);D表示評論總數(shù);N表示評論中總的詞語數(shù)量;K表示主題數(shù);θ表示評論-主題分布;φ表示主題-詞分布;z表示評論中詞語對應(yīng)的主題;w表示評論中的詞語.

    LDA主題模型的聯(lián)合分布定義為

    (2)

    利用Gibbs Sampling算法進(jìn)行參數(shù)估計, 迭代抽樣直到收斂, 用公式表示為

    (3)

    1.2.3 融合BERT-LDA的數(shù)據(jù)集向量化

    根據(jù)構(gòu)建的BERT句子嵌入向量和LDA主題分布向量, 采用向量拼接融合的方式, 將得到新表達(dá)的向量輸入[14]. 這種新的輸入向量, 既包含了評論的句子整體語義特征, 又包含了評論所具有的主題特征. 定義融合BERT句子嵌入向量和LDA主題分布向量的文本向量化表示Di,μ為

    Di,μ={Di°μ},

    (4)

    其中°為向量拼接符號.

    1.3 改進(jìn)DEC算法

    根據(jù)得到的基于BERT-LDA的數(shù)據(jù)集向量化表示進(jìn)行評論數(shù)據(jù)集的聚類任務(wù). 考慮到拼接后的向量存在高維稀疏的問題, 同時原始DEC算法的K-means聚類層存在需要預(yù)先給定初始聚類數(shù)目K值以及初始聚類中心具有隨機性等問題. 本文使用改進(jìn)的DEC算法, 主要包括: 1) 自動編碼器降維, 以學(xué)習(xí)無標(biāo)簽數(shù)據(jù)集高維向量降維后的特征表示; 2) 改進(jìn)聚類層, 在編碼器后堆積K-means聚類層, 以分配編碼器輸出到一個聚類組, 基于主題連貫性選擇初始聚類數(shù)目K, 同時使用LDA主題特征向量ω作為初始聚類中心; 3) 訓(xùn)練聚類算法, 以同時改善聚類層和編碼器.

    1.3.1 自動編碼器降維

    自動編碼器是一種無監(jiān)督式的特征降維方法, 其由兩部分組成, 分別為編碼器(Encoder)和解碼器(Decoder), 編碼器和解碼器均包括輸入層、 輸出層和隱藏層3層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).

    自動編碼器通過編碼器提取高維特征并降維處理輸出文本特征, 解碼器通過對稱的網(wǎng)絡(luò)結(jié)構(gòu), 對編碼器的輸入進(jìn)行重構(gòu). 針對需要不斷進(jìn)行迭代訓(xùn)練調(diào)整自編碼器網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的過程, 訓(xùn)練過程將均方誤差(mean square error, MSE)[19]作為相應(yīng)的損失函數(shù), 以此獲取精確的低維度特征信息. 自編碼器中編碼器和解碼器過程可用公式表示為

    Zi=f1(WeDi,μ+be),

    (5)

    (6)

    其中Zi為編碼器提取的高維特征并降維處理輸出后的文本特征,X′為解碼器通過對稱的網(wǎng)絡(luò)結(jié)構(gòu)對編碼器的輸入進(jìn)行重構(gòu)的結(jié)果,We和Wh是權(quán)重矩陣,be和bh是偏置向量,f1和f2是映射函數(shù).

    1.3.2 改進(jìn)的聚類層

    原始DEC算法中, 聚類層存在需要人工給定聚類數(shù)目K值和初始聚類中心具有隨機性從而影響聚類效果的問題.

    首先, 聚類數(shù)目K等價于一個確定主題建模中主題數(shù)量的參數(shù), 因此從LDA主題模型到K-means有一個自然的聯(lián)系. 基于此, 本文使用主題連貫性的變化確定最合適的主題數(shù), 以此作為K-means聚類層的聚類數(shù)目K. 主題連貫性主要用于衡量一個主題內(nèi)的詞是否是連貫的. 隨著主題數(shù)量的變化, 主題連貫性得分也逐漸變化, 因此利用主題連貫性的變化進(jìn)行主題數(shù)選擇時, 最合適的主題數(shù)目是當(dāng)主題連貫性最大時所對應(yīng)的主題數(shù).

    采用的主題連貫性計算方法為: 先基于滑動窗口, 對主題詞進(jìn)行One-Set分割(一個Set內(nèi)的任意兩個詞組成詞對進(jìn)行對比), 再使用歸一化點態(tài)互信息(normalized pointwise mutual information, NPMI)[20]和余弦相似度[21]間接獲得連貫度. 其取值范圍為[0,1], 用于衡量同一主題內(nèi)的特征詞語義是否連貫, 其數(shù)值越高模型效果越好[22]. 歸一化點態(tài)互信息的計算公式為

    (7)

    其中:γ為設(shè)置的權(quán)重;P(wi,wj)表示包含wi,wj的文本與全部文本的比值;o′表示平滑因子, 是為了在計算中保持?jǐn)?shù)值穩(wěn)定性并避免零概率問題.

    其次, 考慮初始聚類中心存在隨機性的問題, 使用LDA模型得出的主題特征向量ω作為初始聚類中心可有效反映其文本主題的劃分信息, 同時可避免K-means聚類層隨機選擇聚類中心而影響聚類效果. 其步驟如下:

    1) 使用主題特征向量ω作為初始聚類中心ω=(ω1,ω2,…,ωK), 其中K為聚類數(shù)目;

    2) 計算每個樣本數(shù)據(jù)Zi與K個聚類中心的距離, 將其劃分到距離最近中心點所在的簇中;

    3) 重新計算每個簇中所有數(shù)據(jù)對象的平均值, 將其作為新的簇中心ω′, 用公式表示為

    (8)

    其中ci為每個簇中的數(shù)據(jù)對象;

    4) 重復(fù)步驟2)和步驟3), 直到簇心不發(fā)生改變或達(dá)到最大迭代次數(shù).

    使用基于主題連貫性選擇的聚類數(shù)目K, 并使用主題特征向量ω作為初始聚類中心的聚類層流程如圖4所示.

    圖4 聚類層的聚類流程Fig.4 Clustering process of clustering layer

    1.3.3 訓(xùn)練聚類算法

    經(jīng)過自動編碼器進(jìn)行參數(shù)初始化得到降維后的潛在特征空間的文本特征Zi后, 預(yù)訓(xùn)練編碼器后堆疊聚類層, 從而形成聚類算法.為同時提升聚類和特征表示的效果, 利用聚類結(jié)果優(yōu)化編碼器和聚類算法的參數(shù), 進(jìn)行聚類算法的訓(xùn)練.因此本文將計算輔助目標(biāo)分布, 并根據(jù)算法聚類結(jié)果最小化KL(Kullback-Leibler)散度[9], 其流程為: 1) 每個樣本點屬于簇的概率得到樣本點的概率分布Q; 2) 使用輔助目標(biāo)分布從當(dāng)前高置信度分配中學(xué)習(xí)優(yōu)化聚類質(zhì)心.重復(fù)該過程直到滿足收斂條件.訓(xùn)練聚類算法的步驟如下.

    1) 計算每個樣本點i屬于簇j的概率qij, 用公式表示為

    (9)

    得到樣本點的概率分布Q, 其中:zi表示樣本點的特征向量;μj表示簇心向量;v是t分布的自由度, 由于無法在無監(jiān)督環(huán)境中對驗證集上的v進(jìn)行交叉驗證, 并且學(xué)習(xí)它是多余的[23], 因此本文將其取值為1.

    2) 目標(biāo)分布應(yīng)該具有以下屬性: 加強預(yù)測, 提升聚類精度; 更關(guān)注于高置信度的數(shù)據(jù)樣本; 避免大聚類組干擾隱藏特征空間.因此本文使用文獻(xiàn)[9]提出的輔助目標(biāo)分布P=(pij), 計算公式為

    (10)

    3) 聯(lián)合訓(xùn)練編碼器和聚類層.本文采用KL散度作為損失函數(shù)訓(xùn)練模型度量兩個分布Q和P之間的差異, 計算公式為

    (11)

    其中qij是樣本點i屬于簇j的估計概率值,pij是樣本點i屬于簇j的近似概率值.

    1.4 評論文本聚類可視化分析

    1.4.1 評論文本二維聚類可視化

    UMAP(uniform manifold approximation and projection)是一種數(shù)據(jù)降維可視化工具, 具有優(yōu)越的運行性能和可擴展性, 同時在可視化質(zhì)量方面保留了更多的全局結(jié)構(gòu)[24]. 因此, 本文使用UMAP工具對聚類后的數(shù)據(jù)集主題進(jìn)行可視化展示.

    1.4.2 聚類結(jié)果可視化

    UMAP獲取可視化聚類結(jié)果后, 使用詞云圖可以對文本數(shù)據(jù)中出現(xiàn)頻率較高的關(guān)鍵詞予以視覺上的突出, 形成“關(guān)鍵詞的渲染”, 從而過濾掉大量的文本信息. 因此, 本文同時選取每個主題下高頻的主題詞進(jìn)行詞云圖可視化分析, 以達(dá)到更直觀的聚類結(jié)果展示.

    1.5 本文算法設(shè)計

    本文基于改進(jìn)DEC的評論文本聚類算法的整體步驟如下.

    算法1基于改進(jìn)DEC的評論文本聚類算法.

    輸入: 經(jīng)過預(yù)處理后的數(shù)據(jù)集En;

    輸出: 聚類可視化結(jié)果;

    步驟1) 將En輸入BERT模型, 根據(jù)式(1)得到BERT句子嵌入向量Di;

    步驟2) 將En輸入LDA模型, 根據(jù)式(2)和式(3)得到主題分布向量μ和主題特征向量ω;

    步驟3) 根據(jù)式(4)獲得融合BERT-LDA的數(shù)據(jù)集向量Di,μ;

    步驟4) 配置自動編碼器的優(yōu)化器參數(shù)及迭代參數(shù);

    步驟5) 根據(jù)式(5)進(jìn)行自動編碼器訓(xùn)練, 得出降維后的向量特征表示;

    步驟6) 配置聚類算法的優(yōu)化器參數(shù)并定義損失函數(shù);

    步驟7) 根據(jù)式(7)進(jìn)行主題連貫性選擇初始聚類數(shù)目K;

    步驟8) 用主題特征向量ω作為初始聚類中心, 根據(jù)式(8)進(jìn)行K-means初始聚類;

    步驟9) 根據(jù)式(9)計算每個樣本點i屬于簇j的概率分布Q;

    步驟10) 根據(jù)式(10)計算輔助目標(biāo)分布P;

    步驟11) 定義算法訓(xùn)練的初始損失值、 迭代參數(shù)及終止條件;

    步驟12) 采用KL散度根據(jù)式(11)進(jìn)行輔助目標(biāo)分布P的更新, 度量兩個分布Q和P之間的差異;

    步驟13) 檢驗終止條件;

    步驟14) 使用UMAP和詞云圖輸出聚類可視化結(jié)果.

    2 實驗及分析

    2.1 實驗數(shù)據(jù)集

    聚類分析是指應(yīng)用數(shù)學(xué)方法按照數(shù)據(jù)間的相似性進(jìn)行劃分的過程[25]. 針對目前電商產(chǎn)品中的在線評論文本多是無標(biāo)注的數(shù)據(jù), 而要從相應(yīng)的評論數(shù)據(jù)集中獲取有用信息, 就需要進(jìn)行相應(yīng)的評論聚類以獲取用戶對產(chǎn)品進(jìn)行評論的情況. 使用本文基于改進(jìn)DEC的評論文本聚類算法對電商產(chǎn)品手機的評論數(shù)據(jù)集進(jìn)行聚類, 并進(jìn)行聚類結(jié)果可視化分析. 本文選取天貓商城(www.tmall.com)和京東商城(www.jd.com)中的華為手機評論數(shù)據(jù)作為實驗研究數(shù)據(jù), 利用Python軟件爬取購買華為手機用戶對相關(guān)手機發(fā)表的在線產(chǎn)品評論. 爬取的手機型號是目前該品牌熱銷的旗艦款手機, 如mate40,mate40pro,p40,p40pro等. 其中包含19 869條初始數(shù)據(jù).

    通過對獲取的產(chǎn)品評論數(shù)據(jù)集進(jìn)行重復(fù)剔除, 如出現(xiàn)的多條“此用戶沒有填寫評論!”等, 同時去除出現(xiàn)較多但與評論聚類無關(guān)的停用詞, 得到12 289條進(jìn)行實驗的評論數(shù)據(jù). 數(shù)據(jù)集示例列于表1.

    表1 數(shù)據(jù)集示例Table 1 Examples of datasets

    2.2 實驗環(huán)境及參數(shù)設(shè)置

    2.2.1 實驗環(huán)境

    實驗的運行環(huán)境: 基于Windows10操作系統(tǒng), 處理器為i5-10500H, 16 GB內(nèi)存; 算法使用Python3.7編程語言實現(xiàn), 編碼工作通過Pycharm開發(fā)工具完成, 主要使用的庫有Gensim3.8.1,keras2.3.1等.

    2.2.2 實驗參數(shù)設(shè)置

    在進(jìn)行自動編碼器訓(xùn)練以及改進(jìn)DEC算法訓(xùn)練時, 將epochs分別設(shè)為50,100,150,200,250個進(jìn)行對照, 以評估其參數(shù)對算法結(jié)果以及訓(xùn)練時間的影響, 結(jié)果列于表2.

    表2 設(shè)置不同epochs的運行情況Table 2 Operation status of setting different epochs

    由表2可見, 當(dāng)設(shè)置epochs為200和250時, 輸出結(jié)果接近, 而運行250個epochs的時間遠(yuǎn)大于設(shè)置200個epochs. 因此自動編碼器訓(xùn)練時, 設(shè)置批量處理大小batch_size=128, 學(xué)習(xí)率為0.001, 訓(xùn)練迭代epochs為200, 優(yōu)化算法為Adam算法[26]. 同時, 在進(jìn)行改進(jìn)DEC算法訓(xùn)練時, 設(shè)置每200個epochs訓(xùn)練迭代更新目標(biāo)分布, 優(yōu)化算法為Adam算法, 損失函數(shù)為KL散度.

    2.3 評價指標(biāo)

    根據(jù)是否需要外部信息, 聚類評價指標(biāo)可分為外部聚類評價指標(biāo)[27]和內(nèi)部聚類評價指標(biāo)[28], 外部評價指標(biāo)旨在將聚類結(jié)果與預(yù)先確定的聚類結(jié)果進(jìn)行比較. 而在無監(jiān)督的聚類任務(wù)中, 通常并無預(yù)先確定的聚類結(jié)果, 因此內(nèi)部評價指標(biāo)更適用于無監(jiān)督聚類評價. 聚類的輪廓系數(shù)和CH(Calinski-Harabaz)指標(biāo)是推薦的聚類評價方法[29].

    1) 輪廓系數(shù)是測量聚類簇內(nèi)一致性的指標(biāo), 用于評價算法聚類效果的好壞, 其取值范圍為[-1,1], 數(shù)值越高算法效果越好, 計算公式為

    (12)

    其中:a(i)表示樣本點與同一簇中所有其他點的平均距離, 即樣本點與同一簇中其他點的相似度;b(i)表示樣本點與下一個最近簇中所有點的平均距離, 即樣本點與下一個最近簇中其他點的相似度.

    2) CH指標(biāo)通過計算簇內(nèi)各點與簇中心的距離平方和度量簇內(nèi)的緊密度, 同時也通過計算簇間中心點與數(shù)據(jù)集中心點距離平方和度量數(shù)據(jù)集的分離度. CH越大表示簇自身越緊密, 簇與簇之間越分散, 即更優(yōu)的聚類結(jié)果. 計算公式為

    (13)

    其中: tr(X)表示求矩陣X的跡;N為樣本數(shù);k為簇的數(shù)量;Bk和Wk分別計算組間協(xié)方差和組內(nèi)協(xié)方差, 其計算式為

    (14)

    (15)

    其中xq為簇q中所有數(shù)據(jù)的集合,cq為簇q的中心點,c為樣本集合中心點,nq為簇q包含點的個數(shù).

    2.4 對比算法實驗

    將如下7種算法與本文算法在相應(yīng)的數(shù)據(jù)集上進(jìn)行對比實驗, 分別進(jìn)行5次實驗, 其輪廓系數(shù)指標(biāo)和CH指標(biāo)結(jié)果列于表3.

    表3 不同算法的5次實驗指標(biāo)對比結(jié)果Table 3 Comparison results of 5 experimental indicators of different algorithms

    1. TF-IDF+K-means: 是一種基線算法, TF-IDF獲取詞向量, 直接利用K-means聚類算法進(jìn)行聚類.

    2. Word2Vec+K-means: 是一種基線算法, Word2Vec獲取詞向量, 直接利用K-means聚類算法進(jìn)行聚類.

    3. BERT+K-means[15]: 該算法使用BERT模型得到相應(yīng)的文本特征表示, 再利用K-means聚類算法進(jìn)行聚類.

    4. BERT+DEC[16]: 該算法使用BERT模型得到相應(yīng)的文本特征表示, 再利用DEC聚類算法進(jìn)行聚類.

    5. BERTopic+AE+K-means[1]: 該算法基于BERT得到文本向量表示, 同時根據(jù)文檔概率分布獲得潛在主題, 再結(jié)合自動編碼器與K-means進(jìn)行數(shù)據(jù)的聚類.

    6. BERT-LDA+原始DEC: 在本文基于BERT-LDA得到文本向量表示后, 結(jié)合未改進(jìn)DEC聚類算法進(jìn)行聚類實驗.

    7. BERT-LDA+改進(jìn)DEC: 本文提出的聚類算法, 基于BERT-LDA得到文本向量表示, 再結(jié)合改進(jìn)DEC算法對數(shù)據(jù)進(jìn)行聚類.

    由表3可見: 在算法1~算法3中, BERT+K-means的效果最好, 說明在評論的聚類中, 直接利用基于詞頻進(jìn)行表示的聚類效果較差, 而通過大量語料進(jìn)行預(yù)訓(xùn)練的BERT模型進(jìn)行向量表示可有效提高后續(xù)聚類的能力; 由算法3分別與算法4和算法5之間的對比可見, 結(jié)合深度嵌入聚類進(jìn)行訓(xùn)練比直接進(jìn)行K-means聚類可以得到更優(yōu)的效果; 同時可見, 在BERT模型的基礎(chǔ)上加上Topic主題的融合訓(xùn)練進(jìn)行聚類的效果更優(yōu); 算法6與算法7相比, BERT-LDA+改進(jìn)DEC算法相對于BERT-LDA+原始DEC算法, 其輪廓系統(tǒng)與CH指標(biāo)波動變化最大約為6%和10%, 而BERT-LDA+原始DEC算法中第2次實驗和第4次實驗的輪廓系統(tǒng)與CH指標(biāo)分別有約14%和19%的變化, 因此BERT-LDA+原始DEC算法的聚類結(jié)果差別波動較大, 且可能存在聚類結(jié)果較差的問題, 而本文基于BERT-LDA+改進(jìn)DEC算法, 輪廓系數(shù)在5次實驗中結(jié)果均大于0.2, 且均優(yōu)于未改進(jìn)的原算法, 因此, 本文算法在指標(biāo)更優(yōu)的基礎(chǔ)上也很好地改善了聚類結(jié)果差別波動較大的問題.

    本文算法在指標(biāo)結(jié)果上均優(yōu)于其他對比算法, 說明本文提出的結(jié)合BERT-LDA進(jìn)行向量表示以及結(jié)合改進(jìn)DEC算法的有效性. 在無監(jiān)督聚類中, 該算法的聚類簇內(nèi)一致性更好, 同時該算法有更明顯的簇內(nèi)自身更緊密以及簇與簇之間更分散的效果.

    2.5 實驗結(jié)果與分析

    首先采取向量融合的方式, 將得到的BERT句子嵌入向量與LDA主題分布向量進(jìn)行拼接融合, 得到基于BERT-LDA的融合向量輸入. 其中LDA模型得到的主題分布向量部分示例列于表4.

    表4 主題分布向量部分示例Table 4 Some examples of topic distribution vector

    其次進(jìn)行改進(jìn)DEC算法的構(gòu)建, 利用自動編碼器對上述的文本向量做向量降維, 再將編碼器后堆疊聚類層, 其中使用LDA模型得出的主題特征向量ω作為初始聚類中心, 并且通過主題連貫性的變化選擇最合適的主題數(shù)目K, 以此作為K-means算法的聚類數(shù)目K, 其主題連貫性隨主題數(shù)的變化曲線如圖5所示. 由圖5可見, 當(dāng)主題數(shù)為8時, 模型的主題連貫性最大, 因此可設(shè)置聚類的初始聚類數(shù)為8. 再輸入主題特征向量ω作為初始聚類中心, 進(jìn)行聚類算法的優(yōu)化訓(xùn)練.

    圖5 主題數(shù)-主題連貫性變化曲線Fig.5 Change curves of topic coherence with number of topics

    最后得到相應(yīng)的聚類結(jié)果, 并利用UMAP工具進(jìn)行聚類可視化效果展示. 產(chǎn)品評論文本聚類后的二維聚類可視化結(jié)果如圖6所示.

    圖6 二維聚類可視化Fig.6 Two-dimensional clustering visualization

    由圖6可見, 8個聚類的聚類效果可較明顯地從可視化圖中看出其劃分情況. 其中cluster1,cluster3,cluster4,cluster5,cluster6和cluster7聚類簇之間被較明顯的進(jìn)行了劃分; 而cluster0與cluster2之間存在一部分重合. 具體評論數(shù)據(jù)的聚類結(jié)果及其重合的情況可對聚類簇內(nèi)的內(nèi)容分析可得. 因此, 在8個聚類數(shù)目的基礎(chǔ)上, 選擇每個簇中評論高頻詞進(jìn)行詞云圖可視化分析, 從而達(dá)到更直觀的聚類結(jié)果展示. 得出的8個聚類結(jié)果的詞云圖展示如圖7所示. 篩選出每個聚類簇中的關(guān)鍵詞列于表5, 由此可得進(jìn)行聚類后的各簇中所包含的評論具體信息.

    圖7 聚類結(jié)果的詞云圖展示Fig.7 Word cloud graph display of clustering results

    由表5可見, 對手機評論進(jìn)行聚類后, 得到的8個聚類簇的關(guān)鍵詞結(jié)果可以有效體現(xiàn)用戶對產(chǎn)品評論的聚類結(jié)果. cluster0中主要的關(guān)鍵詞為拍照、 電池、 效果、 速度等, 而cluster2中的主要關(guān)鍵詞也有拍照、 效果、 續(xù)航、 電池等. 其拍照和電池同時出現(xiàn)在一個簇內(nèi), 體現(xiàn)了用戶在評論手機時, 通常將對拍照和電池的體驗同時發(fā)表評論, 也在一定程度上體現(xiàn)了用戶對拍照和電池方面的較高關(guān)注度. 這種情況也體現(xiàn)在二維聚類可視化圖6中cluster0和cluster2之間存在一部分重合的情況. 在cluster1中出現(xiàn)較多的關(guān)鍵詞為外觀、 手感、 顏值等, 體現(xiàn)了該簇中包含的評論主要涉及用戶在購買手機時對外觀的關(guān)注情況; cluster3中出現(xiàn)較多的關(guān)鍵詞為老爸、 家人等, 體現(xiàn)了該簇包含的評論主要涉及手機的使用者或購買對象的情況; cluster4中出現(xiàn)較多的關(guān)鍵詞為京東、 物流等, 體現(xiàn)了該簇中包含的評論主要涉及購買手機的物流運輸情況; cluster5中出現(xiàn)較多的關(guān)鍵詞為屏幕、 使用等, 體現(xiàn)了該簇中包含的評論主要涉及用戶在購買手機時對屏幕的關(guān)注情況; cluster6中出現(xiàn)較多的關(guān)鍵詞為華為、 國貨等, 體現(xiàn)了該簇中包含的評論主要涉及用戶在購買手機時對品牌的考慮情況; cluster7中出現(xiàn)較多的關(guān)鍵詞為系統(tǒng)、 鴻蒙等, 體現(xiàn)了該簇中包含的評論主要涉及用戶在購買手機時對系統(tǒng)的關(guān)注情況.

    綜上所述, 本文提出了一種基于改進(jìn)DEC的評論文本聚類算法對評論數(shù)據(jù)進(jìn)行無監(jiān)督聚類, 可以應(yīng)用于在無標(biāo)注的產(chǎn)品評論數(shù)據(jù)集中更好地獲得用戶對于手機進(jìn)行評論的具體內(nèi)容分布情況. 通過利用BERT獲取句子向量表示以及LDA獲得主題分布向量表示進(jìn)而得到融合的數(shù)據(jù)向量表示; 進(jìn)一步將其輸入改進(jìn)DEC算法中, 根據(jù)LDA模型可以得到主題連貫性的效果評價確定聚類的初始數(shù)目, 并使用主題特征向量作為自定義聚類中心; 同時在模型中計算樣本點的概率分布Q, 再結(jié)合輔助目標(biāo)分布P, 利用KL散度作為損失函數(shù)聯(lián)合訓(xùn)練自動編碼器的編碼層和聚類層. 通過與對比算法在產(chǎn)品評論數(shù)據(jù)集上進(jìn)行無監(jiān)督聚類的比較, 結(jié)果表明, 本文算法在輪廓系數(shù)和CH指標(biāo)上均高于對比算法, 同時其聚類結(jié)果穩(wěn)定性也更好.

    猜你喜歡
    編碼器聚類向量
    向量的分解
    聚焦“向量與三角”創(chuàng)新題
    基于FPGA的同步機軸角編碼器
    基于DBSACN聚類算法的XML文檔聚類
    電子測試(2017年15期)2017-12-18 07:19:27
    基于PRBS檢測的8B/IOB編碼器設(shè)計
    向量垂直在解析幾何中的應(yīng)用
    JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
    電子器件(2015年5期)2015-12-29 08:42:24
    基于改進(jìn)的遺傳算法的模糊聚類算法
    向量五種“變身” 玩轉(zhuǎn)圓錐曲線
    一種層次初始的聚類個數(shù)自適應(yīng)的聚類方法研究
    玉林市| 新化县| 探索| 黄冈市| 滨海县| 北流市| 石阡县| 博爱县| 大英县| 崇文区| 博野县| 扎鲁特旗| 石首市| 乐山市| 乌鲁木齐县| 保靖县| 富蕴县| 白玉县| 呈贡县| 乌拉特前旗| 武义县| 鄂托克前旗| 东乌珠穆沁旗| 徐汇区| 常熟市| 营口市| 大宁县| 右玉县| 乌鲁木齐县| 五指山市| 遂平县| 新沂市| 本溪市| 新竹市| 壤塘县| 文山县| 滦平县| 黑河市| 镇原县| 汝城县| 藁城市|