



摘要:傳統 LDA(Latent Dirichlet Allocation,潛在狄利克雷分配) 主題模型在處理商品評論短文本時,由于特征稀疏和主題混雜問題,表現不佳。文章提出了一種新型短文本主題模型 TextRank-BERT-LDA。該模型利用 TextRank 算法提取商品屬性相關關鍵詞并分割評論,有效解決了主題混雜問題;通過 BERT(Bidirectional Encoder Representations from Transformers,基于雙向 Transformer 的預訓練語言模型) 計算句子間的相似性并進行聚類,擴充短文本的特征表示。實驗結果表明,TextRank-BERT-LDA 模型在處理商品評論文本時,困惑度更低,性能優于傳統 LDA 模型。
關鍵詞:BERT;LDA;TextRank;聚類;主題模型;短文本
中圖分類號:TP391" "文獻標識碼:A
文章編號:1009-3044(2025)16-0018-05
開放科學(資源服務) 標識碼(OSID)
0 引言
隨著互聯網技術的不斷發展,電子商務的普及使在線購物變得越來越普遍。根據第54次《中國互聯網絡發展狀況統計報告》,截至2024年6月,我國網絡購物用戶規模已達9.05億人,占網民整體的82.3%[1]。在抖音、微博、淘寶和京東等平臺上,日均產生海量的短文本數據。這些數據蘊含著巨大的商業價值,對其進行主題挖掘可以幫助用戶快速了解文本核心內容,節省時間和精力。
在電商平臺上,短文本數據的挖掘尤為重要。用戶評論是其他用戶評估商品并做出購買決策的重要參考,同時也為商家提供了直觀的產品反饋。然而,由于評論數量龐大,用戶往往傾向于只關注差評,并以此作為是否購買的依據。這種基于差評的決策方式過于片面,忽略了用戶喜好的多樣性和體驗感受的差異。此外,任何產品都可能存在差評,這使用戶在面對同類商品時難以做出抉擇。針對這一問題,主題模型的應用顯得尤為重要。通過對評論數據進行主題挖掘,可以全面概括商品的整體信息,從而為用戶提供更便捷的決策支持。同時,供應商也能依據主題的結果,深入了解用戶對商品的反饋信息,進而優化產品設計,提升產品的市場競爭力。因此,電商平臺上的短文本數據挖掘對于促進用戶決策的科學性和商家產品的持續改進具有重要意義。
主題概率模型LDA[2]是文本主題挖掘常用的模型,但在處理短文本數據時,由于特征稀疏和主題混雜問題,其效果往往不佳。針對這一問題,多位研究者提出了改進方法。例如,張震等[3]提出BERT-LDA模型,通過BERT計算文本之間的相似性,將相似的短文本聚類以豐富特征表示;蔡永明等[4]提出CA-LDA模型,引入共詞網絡分析和隱含空間降維以增強特征表示;丁申宇[5]通過構建關鍵詞短語并結合BERT模型提升文本特征質量;伊惠芳等[6]將LDA模型和語境增強結合,增加文本的特征維度;趙東偉[7]提出基于知識圖譜語義擴展的短文本主題建模方法(WRDMM) ,利用WordNet知識庫來輔助主題模型;馮鑫等[8]提出的GBDP模型融入詞對概念并結合分層狄利克雷過程(HDP) 以應對數據稀疏問題;鐘懿博等[9]利用TF-IDF和Word2Vec擴展短文本特征;張浩等[10]則提出基于Sentence-LDA的主題模型,假設一個句子只產生一個主題分布,從而提高特征表示和分類性能。
然而,上述方法雖然在一定程度上緩解了詞稀疏問題,但大多未充分解決文本主題混雜的問題。鑒于商品評論數據中同時存在詞匯稀疏和主題混雜的挑戰,本文提出了一種融合TextRank、BERT與LDA的短文本主題模型(TextRank-BERT-LDA) 。該模型通過多階段處理方法有效解決了上述問題:首先,利用TextRank算法提取關鍵詞并分割評論,解決主題混雜問題;其次,利用BERT模型計算句子相似性并進行聚類,緩解特征稀疏問題;最后,通過LDA模型進行主題建模,顯著提升模型的準確性和整體性能。
1 相關技術理論
1.1 BERT
BERT基于Transformer架構,通過多頭自注意力機制實現雙向編碼,有效捕捉文本的語義和句法信息。與傳統的one-hot編碼和Word2Vec模型相比,BERT能夠表達詞匯在不同上下文中的不同語義,通過單一訓練步驟同時考慮單詞的左右上下文,這一特性優于ELMo的雙向LSTM拼接方式。BERT的獨特預訓練機制和強大的特征提取能力,推動了自然語言處理(NLP) 領域的突破性進展。
圖1展示了BERT的結構[11],主要由輸入層、編碼層和輸出層組成。BERT的輸入層通過三種嵌入方式對數據進行處理:詞嵌入(Token Embedding) 將詞匯映射到高維向量空間;段落標識嵌入(Segment Embedding) 區分不同句子或段落;位置嵌入(Position Embedding) 編碼單詞在句子中的位置信息。這些嵌入向量通過逐元素相加合并,構成編碼器的輸入。
編碼層由多個相同模塊堆疊而成,每個模塊包含多頭自注意力機制和前饋神經網絡。多頭自注意力機制捕捉輸入序列的依賴關系,前饋神經網絡對輸出進行進一步變換。各子層后配置殘差連接和層歸一化,以避免梯度消失并穩定訓練過程。
輸出層提供兩種主要輸出:[CLS]標識的句子綜合信息用于全局性任務(如文本分類和情感分析) ,而每個token的嵌入向量可用于提取特定特征或實體表示。輸出層的選擇取決于下游任務的具體需求和模型微調策略。
1.2 LDA模型
主題模型是當下文本挖掘中最主要的技術之一,廣泛應用于數據挖掘。LDA是一種無監督的主題模型,用于從海量的文檔集合中發現隱藏的主題結構。LDA模型基于“詞袋模型”假設,忽略詞序,僅考慮詞匯頻率。在此基礎上,LDA假設每篇文檔由多個主題組成,每個主題由一組相關詞語構成。通過這種方法,LDA揭示文本中的隱藏主題,并為每篇文檔提供主題的概率分布。
LDA是一種三層貝葉斯模型,描述文檔、主題和詞匯間的概率關系。使用LDA時,需設定主題數量并調整迭代次數。模型基于詞與詞之間的關聯,依據概率分布對文檔中的詞匯進行分析,從而得出主題分類結果。LDA的結構如圖2所示[12]。
圖2中符號含義如下,α:文檔層面的狄利克雷分布超參數,用于生成文檔的主題分布θ;β:詞匯層面的狄利克雷分布超參數,用于生成主題的詞匯分布φ;θ:“文檔-主題”的多項式分布,表示文檔中各個主題的概率;φ:“主題-詞匯”的多項式分布,表示主題中各個詞匯的概率;Z:詞的主題分配,表示詞所屬的主題編號;ω:詞,表示文檔中的詞匯;K:主題數目,表示模型中預設的主題數量;N:一篇文檔的詞數,表示文檔m中包含的詞匯數量;D:文檔總數,表示文檔集合的大小。
LDA的生成主題步驟如下:1) 主題-詞匯分布生成:對每個主題k(k = 1, ..., K) ,從先驗Dirichlet分布Dir(β)中抽樣,生成主題k的詞匯分布φ。2) 文檔-主題分布生成:對于每篇文檔m(m = 1, ..., D) ,從先驗Dirichlet分布Dir(α)中抽樣,生成文檔m的主題分布θm。3) 詞生成:對于文檔m中的每個詞ωm,n(n = 1, ..., N) ,根據θm抽樣得到主題編號Zm,n,再根據φZm,n抽樣生成詞ωm,n。
1.3 TextRank
TextRank算法的思想就是來源于PageRank。PageRank通過計算網頁的PR值對網頁重要度進行排名,其計算方式是統計其他網頁鏈接到自身的數量,鏈接數量多的網頁被認為更重要。
1.3.1 算法原理
TextRank的核心步驟如下:
1) 構建圖模型。將文本中的每個獨立詞匯作為圖中的一個節點;設置一個固定大小的窗口,檢測窗口內詞匯的共現關系,如果兩個詞在窗口中共現,則在相應的節點之間建立一條有向邊;共現頻率作為邊的權重[13]。
2) 迭代計算。通過迭代計算每個節點的重要性得分,直到收斂。
節點重要性得分公式如下:
[WSVi=1-d+d×Vj∈InViωjiVk∈OutVjωjkWS(Vj)]" "(1)
公式符號含義:
1) d:阻尼系數, 控制隨機跳轉的概率,取值范圍在0到1之間,常取0.85。它平衡了節點自身的重要性與其鄰居節點重要性的影響。
2) [InVi]:指向[Vi]節點的集合,即與[Vi]有共線關系的詞匯集合。
3) [OutVj]:節點[Vj]指向的節點集合,即[Vj]與其他詞匯共現的關系集合。
4) [WSVi]:節點[Vi]的重要性得分。
5) [ωji]:節點[Vi]到節點[Vj]邊的權重,通常由共現頻率決定。
2 TexteRank-BERT-LDA
由于短文本中存在詞稀疏和主題混雜的問題,傳統的LDA模型在處理這類數據時效果不佳。為此,本文提出了一種適用于短文本的 TextRank-BERT-LDA 模型。該模型主要由三個部分組成:消除主題混雜、特征擴充和主題挖掘。模型的基本流程如圖3所示。
2.1 消除句子主題混雜
在商品評價場景中,用戶評論涵蓋商品多維度信息。以手機評論為例,常涉及外觀、性能、拍照、續航等方面。這些不同維度內容交織,導致評論主題混雜,嚴重影響后續文本分析。如情感分析時難以判斷各屬性的情感傾向,關鍵信息提取易出現混淆和遺漏,降低分析的準確性和可靠性。
為解決此問題,本文引入TextRank算法提取關鍵詞,進而分割句子,消除主題混雜。具體步驟如下。
2.1.1 關鍵詞提取
針對每條用戶評論,運用TextRank算法,依據詞語在文本中的共現關系構建圖模型。通過迭代計算,確定每個詞語的重要性得分,進而篩選出關鍵詞。
2.1.2 關鍵詞嵌入與聚類
利用bert-base-chinese模型將關鍵詞轉化為向量,再用K-means算法聚類,把語義相近或關聯緊密的關鍵詞聚成關鍵詞群。
2.1.3 關鍵詞群篩選
篩選關鍵詞群,去除人名、地名、寬泛形容詞等無關詞匯,保留與商品評價直接相關的信息,提升分析的精準度。
2.1.4 句子分割
以篩選后的關鍵詞群為依據分割句子,流程如下所示。
1) 分詞與關鍵詞統計。運用jieba工具對評論句子進行分詞處理,并將分詞結果與關鍵詞群比對,統計包含的關鍵詞數量,為句子分割提供依據。
2) 句子分割與遞歸操作。若句子中關鍵詞數量≥2,則定位第二個關鍵詞。若其前有逗號且位于前一個關鍵詞之后,則以逗號為分割點;否則以該關鍵詞前的位置為分割點,將句子分為兩部分。僅對后半句遞歸處理,直至關鍵詞數<2。
例如,對于句子“手機像素很高,拍照很清晰但是電池續航不行”,jieba分詞后與關鍵詞群比對,發現包含“像素”“拍照”“電池”三個關鍵詞。因“拍照”前有逗號,先分割為“手機像素很高”和“拍照很清晰但是電池續航不行”。后半句包含兩個關鍵詞,再以“電池”為分割點,分割為“拍照很清晰但是”和“電池續航不行”。通過此方法,可按主題精準拆分句子,為文本分析提供便利。
2.2 特征擴展
針對短文本特征稀疏導致模型表征能力受限的問題,本文提出了一種基于語義增強的特征擴展方法。通過BERT嵌入和相似度計算,有效擴充了短文本的特征表示,從而提升了模型的處理能力。
首先,對句子進行分割處理,并將具有相同關鍵詞的句子聚集起來,形成句子群。隨后,引入bert-base-chinese模型對句子群進行嵌入操作,生成高質量的語義表示。嵌入完成后,選取[CLS]標識對應的向量作為句子的語義表示。[CLS]標識整合了整個句子的語義信息,因此以其為依據進行相似度計算具有較高的合理性和準確性。
在計算句子之間的相似度時,采用余弦相似度方法。余弦相似度通過計算兩個向量之間的夾角余弦值來衡量它們的相似程度。由于余弦相似度僅考慮向量的方向而不受其大小的影響,因此能夠有效度量向量間的語義相似性。余弦相似度的計算公式如下:
[sim=cosθ=A?BA·B]" " " " "(2)
式中:A和B分別表示兩個句子的[CLS]向量,是它們之間的夾角。余弦相似度的值域為[-1,1],值越接近1,表示兩個向量的方向越一致,語義相似度越高。
為了將語義相似的句子進一步聚集,本文設定了特定的相似度閾值。該閾值的設定范圍在[0.8,0.95]之間,具體取值可根據實際任務需求進行調整。選擇這個范圍是因為在實驗中發現,當余弦相似度達到或超過0.8時,句子的語義相似性較高,而超過0.95時,句子幾乎具有相同的語義。當兩個句子的余弦相似度達到或超過設定的閾值時,將它們聚類整合在一起,形成語義相近的句子群。通過這種方式,實現了短文本特征的擴充,有效緩解了短文本特征稀疏的問題。
3 實驗設計
3.1 數據來源
為了驗證本文模型的可行性,實驗數據來源于GitHub公開數據集JD_Parse,包含京東平臺上多款華為手機的用戶評論。數據采集時間范圍為2017年1月至2018年9月,覆蓋了該時間段內不同型號華為手機的購買評價。原始數據共計6 651條評論,包含用戶評分、評論內容、評論時間以及手機型號等信息。在數據使用前,首先對原始數據進行了去重操作,剔除了系統默認評論及完全重復的內容,最終得到6 450條有效評論。
3.2 數據預處理
在數據預處理階段,采用以下步驟對評論數據進行清洗和規范化處理。
1) 去重處理。對原始數據中的完全重復評論進行去重,共移除201條重復數據,得到6 450條唯一評論。
2) 停用詞過濾。使用知網提供的停用詞表,過濾無意義詞匯和常見停用詞,以減少噪聲。
3) 標點及特殊符號處理。移除評論中的標點符號(如句號、逗號、感嘆號等) 以及特殊字符(如表情符號、HTML標簽等) ,確保文本內容的純凈性。
4) 文本規范化。將全角字符轉換為半角字符,并將所有文本統一轉換為小寫形式,以消除格式差異對分析結果的影響。
3.3 實驗結果及分析
3.3.1 關鍵詞聚類
為了得到最佳的關鍵詞聚類效果,本文對比了三種聚類算法:K-means、DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 和HDBSCAN(Hierarchical DBSCAN) 。以下分別介紹這三種算法的理論基礎及其優缺點。
1) K-means算法。K-means[14]是一種基于距離的聚類算法,通過最小化樣本點與聚類中心之間的歐氏距離來實現聚類。其優點在于計算效率高,適合處理大規模數據集;缺點是需要預先指定聚類數量K,且對初始中心點的選擇敏感,容易陷入局部最優解。
2) DBSCAN算法。DBSCAN[15]是一種基于密度的聚類算法,通過識別高密度區域并將低密度區域視為噪聲點來實現聚類。其優點在于不需要預先指定聚類數量,且能夠識別任意形狀的簇;缺點是對參數(如鄰域半徑和最小樣本數) 的選擇敏感,且在處理密度差異較大的數據時表現不佳。
3) HDBSCAN算法。HDBSCAN是DBSCAN的改進版本,通過構建層次化的聚類樹來自動確定最佳聚類結構。其優點在于不需要預先指定聚類數量,且能夠生成層次化的聚類結果;缺點是對高維數據的處理效果較差,且計算復雜度較高。
聚類效果評估:
為了評估聚類效果,本文采用輪廓系數(Silhouette Coefficient) [16]作為評價指標。輪廓系數綜合考慮了簇內緊密度與簇間分離度,定義如下:
[s(i)=b(i)-a(i)max{a(i),b(i)}]" "(3)
式中:[a(i)]表示樣本i到同簇其他樣本的平均距離,[b(i)]表示樣本i到最近其他簇樣本的平均距離。輪廓系數的取值范圍為[-1,1],值越接近1,表示聚類效果越好;值越接近-1,表示聚類效果越差;值接近0則表示聚類效果一般,可能存在簇間混雜或樣本點歸屬模糊。
算法選擇:
實驗結果表明,DBSCAN和HDBSCAN的最優輪廓系數得分高于K-means,但它們將大部分詞匯歸為噪聲點,導致實際可用的聚類結果較少。相比之下,K-means雖然需要預先指定聚類數量,但其聚類結果更加穩定且易于解釋。因此,本文最終選擇K-means算法進行關鍵詞聚類。
為確定K-means的最優聚類數目K,本研究設定了K值范圍為10、20、30、40、50、60、70、80、90和100,并計算了每個K值對應的輪廓系數。實驗結果顯示,當K取70時,輪廓系數達到最大值,表明此時聚類效果最佳。因此,本文選擇(K=70)作為K-means算法的最優聚類數目。
3.3.2 關鍵句聚類
針對短文本特征稀疏性的問題,本研究在合理切分句子的基礎上,以句子作為特征擴充。為了實現高質量的聚類分析,本研究對比了K-means算法和基于余弦相似度的聚類方法,旨在尋找更有效的聚類方案。
最優聚類參數選擇:
1) K-means算法。為了確定K-means的最優聚類數目K,實驗設定了K的取值范圍為2至50,并計算了每個K值對應的輪廓系數作為聚類質量的評價標準。實驗結果顯示,當(K=30)時,輪廓系數達到最大值,表明在此條件下聚類效果最佳。
2) 余弦相似度閾值。在基于余弦相似度的聚類方法中,為了優化聚類效果,實驗設置了一組閾值,范圍為0.8至0.95。通過對比不同閾值下的輪廓系數得分,發現當閾值為0.9時,聚類效果達到最佳狀態。
LDA模型效果對比:
為了評估上述兩種聚類方法在LDA模型中的表現,本研究將聚類結果分別輸入LDA模型,并引入困惑度(Perplexity) [17]作為評價指標。困惑度是衡量LDA模型性能的重要指標,其值越低,表明模型性能越好。困惑度的計算公式定義為模型預測文本中每個詞的概率的負對數的平均值,如下所示:
[PerplexityD=exp-d=1Mlogpwdd=1MNd]" " (4)
式中:D為測試集,M為測試語料集的文本數量,[Nd]為文檔d的單詞個數,[pwd]是文檔d中每個詞的概率。
在LDA模型分析中,主題數的設置對困惑度有顯著影響。實驗將主題數分別設定為10、15、20、25、30、35、40和45,對比兩種聚類結果在不同主題數下的困惑度變化趨勢。實驗結果表明,基于余弦相似度的聚類結果在各個主題數下的困惑度整體低于K-means算法的聚類結果,說明前者能為LDA模型提供更優質的輸入數據。
圖4展示了K-means和基于余弦相似度聚類結果在不同主題數下的困惑度對比??梢杂^察到,隨著主題數的增加,基于余弦相似度的聚類方法的困惑度持續降低,而K-means算法的困惑度則相對穩定,但整體高于基于余弦相似度的方法。
TextRank-BERT-LDA與傳統LDA對比:
為了驗證本文提出的TextRank-BERT-LDA模型的有效性,實驗對比了該模型與傳統LDA模型在不同主題數下的表現。實驗設置主題數為5、10、15、20、25、30、35、40、45和50,分別計算兩種模型的困惑度。實驗結果顯示,在所有測試的主題數下,TextRank-BERT-LDA模型的困惑度均低于傳統LDA模型。這表明TextRank-BERT-LDA模型能夠更好地捕捉文本數據的主題結構,減少主題混雜并提高特征豐富性。
圖5展示了TextRank-BERT-LDA和LDA模型在不同主題數下的困惑度對比??梢杂^察到,隨著主題數的增加,TextRank-BERT-LDA模型的困惑度持續降低,而傳統LDA模型的困惑度下降趨勢較為平緩。這一結果進一步證實了TextRank-BERT-LDA模型在處理文本數據時的優越性能。
4 結論
本文提出了一種融合TextRank、BERT與LDA的短文本主題挖掘模型,通過關鍵詞提取、句子分割和BERT語義增強技術,有效解決了短文本主題混雜與特征稀疏問題。實驗結果表明,模型在主題分離和特征表示能力上顯著優于傳統方法。
盡管模型取得了顯著成果,但仍存在改進空間。未來的研究可從以下方向展開:1) 擴展多領域、大規模數據集,驗證模型的泛化能力;2) 探索參數自適應機制,優化模型在不同場景下的性能;3) 改進模型架構,增強其對復雜語義關系的捕捉能力。
此外,本模型在輿情分析、電商評論挖掘等實際場景中具有廣泛應用潛力,可為短文本語義理解提供新的技術路徑。
參考文獻:
[1] 第54次《中國互聯網絡發展狀況統計報告》發布[J].傳媒論壇,2024,7(17):121.
[2] BLEI D M, NG A Y, JORDAN M I. Latent Dirichlet allocation[J]. J. Machine Learning Research Archive, 2003(3): 993-1022.
[3] 張震,湯鯤,邱秀連.基于BERT-LDA模型的短文本主題挖掘[J].計算機與數字工程,2023,51(9):2098-2102.
[4] 蔡永明,長青.共詞網絡LDA模型的中文短文本主題分析[J].情報學報,2018,37(3):305-317.
[5] 丁申宇.基于BERT-LDA的在線評論細粒度情感分析:以手機產品為例[D].蘭州:蘭州財經大學,2022.
[6] 伊惠芳,劉細文.一種專利技術主題分析的IPC語境增強Context-LDA模型研究[J].數據分析與知識發現,2021,5(4):25-36.
[7] 趙東偉.基于知識圖譜語義擴展的短文本主題建模研究[D].長春:吉林大學,2020.
[8] 馮鑫,湯鯤.基于網絡短文本主題挖掘技術研究[J].計算機與數字工程,2021,49(5):952-956,992.
[9] 鐘懿博,農健,杜艷華.基于LDA主題模型的農產品電商評論文本分類分析[J].甘肅農業,2023(12):64-68.
[10] 張浩,鐘敏.基于Sentence-LDA主題模型的短文本分類[J].計算機與現代化,2019(3):102-106.
[11] 綦方中,田宇陽.基于BERT和LDA模型的酒店評論文本挖掘[J].計算機應用與軟件,2023,40(7):71-76,90.
[12] 韓亞楠,劉建偉,羅雄麟.概率主題模型綜述[J].計算機學報,2021,44(6):1095-1139.
[13] 王俊玲.改進TextRank的文本關鍵詞提取算法[J].軟件導刊,2021,20(4):49-52.
[14] 王森,劉琛,邢帥杰.K-means聚類算法研究綜述[J].華東交通大學學報,2022,39(5):119-126.
[15] 王學賀.一種基于改進微粒群和輪廓系數的劃分聚類方法[J].云南民族大學學報(自然科學版),2016,25(4):367-371.
[16] 鄒艷春.基于DBSCAN算法的文本聚類研究[J].軟件導刊,2016,15(8):36-38.
[17] 薛佳奇,楊凡.基于交叉熵與困惑度的LDA-SVM主題研究[J].智能計算機與應用,2019,9(4):45-50.
【通聯編輯:唐一東】