ConceptVector: 基于詞嵌入的交互式詞典構建進行文本可視分析-36大數據
作者:Yun Han
目前而言,許多文本分析方法的核心都是一個Concept:一組表征特定對象、現象或主題的語義相關的關鍵詞。另外,Word Embedding的不斷發展允許用戶通過一小部分的關鍵詞來構建一個Concept。然而,由于自然語言的多義性,直接使用這種技術可能導致錯誤。為了降低這個問題,這篇文章[1]提出了一個名為ConceptVector的可視分析系統,來指導用戶構建這些Concepts,然后使用它們來分析文檔。這篇文章使用現實生活中的數據集來進行案例分析,展示了ConceptVector的細粒度分析。為了支持這個“種子關鍵詞”的概念,他們引用了雙極概念模型,并且支持不相關的單詞。
文本可視分析中涵蓋了很多領域的方法:1. 詞關系與層次結構;2. Word Embedding;3.基于單詞層次的文本可視分析。
基于這三個方法,目前有一個比較成熟的系統Empath,使用了最新的詞嵌入模型來構建一個語義詞典。這篇文章使用其構建了194個Concept來分析特朗普和希拉里的推文,其中發現了很多錯誤分析。如:
圖1 推文分析結果
在上述結果中,我們發現在分析特朗普的推文時,“Plant” Concept中包含的主要關鍵詞是“Brush”;然而,在進一步分析推文后,我們發現特朗普實際上提及的是“Jeff Brush”。
經過上面的分析,我們發現通常而言,構建一個合適的詞典是很困難的,而且需要很多的專家參與其中。另一方面,詞語的多義性可能導致用戶分析錯誤。因此,把人加入到詞典的構建和優化過程中是十分重要的。基于這個目標,他們的設計如下:
- 支持詞典構建中的多樣化的用戶需求;
- 支持迭代的詞典優化和基于詞典的文檔分析;
- 標記文檔集中的貢獻詞語。
為了滿足上述實現目標,系統的整體框架如下:
圖2 ConceptVector系統結構
對于整個ConceptVector系統,主要由詞典構建和文檔分析兩個主要模塊組成。在每一個階段都會有人參與其中來對系統模型進行修正和完善。
最終,ConceptVector系統的主界面如下:
圖3 ConceptVector主界面
圖2中左邊是concept構建部分,系統提供了兩種類型的concept:單極和雙極Concept。其中雙極concept包含3個集合:Positive Set,Negative Set 和 Irrelevant Set , 單極concept中不包含Negative Set。用戶在視圖中的(1)選擇concept類型并在(2)中輸入關鍵詞后,系統會根據詞向量向用戶提供系統為其推薦的關鍵詞,并通過K-Means方法聚類最終將結果使用t-SNE投射到二維平面上。通過這個推薦系統,用戶可以為自己構建的concept添加相應的關鍵詞或關鍵詞組。
圖2右面是基于concept的文檔集分析視圖。在用戶選取了相應的concept后,系統根據其中的關鍵詞計算每一篇文檔的得分并排序。特別地,系統會在原始文檔中高亮這些對于得分有貢獻的詞語,方面用戶進行進一步地調整。
對于系統文檔集的得分計算部分,他們采用了新穎的相似度計算方式–核函數(KDE)。那是因為如果簡單地計算詞向量之間的余弦距離等并不能適應這個設計。本系統需要計算關鍵詞屬于三個不同集合的概率,將一個concept表示為{Lp, Ln, Li},分別表示Positive Set,Negative Set 和 Irrelevant Set。于是,當選取一個文檔集中的某個詞q,q ∈L 的概率表示如下:
其中,對于核函數,他們選取的是高斯核函數
隨后,可以根據關鍵詞q對于三個集合的概率來計算關鍵詞q和concept的相關性如下:
最后簡單地取文檔中所有詞語與concept的相似得分的平均值即可。
為了說明ConceptVector系統的有效性和高效性,他們對該系統從準確度,時間開銷兩個方面進行評估。評估結果如下:
圖4 系統評估結果(a)
通過評估結果,我們發現ConceptVector從準確度和時間消耗都比兩個baseline表現的更好。為了對系統進行進一步地分析,他們還評估了相關性得分與關鍵詞以及計算模型之間的關系如下:
圖5 系統評估結果(b)
同樣地,他們發現隨著用戶提供的關鍵詞數量的增加,可以提供更多的信息,這樣用戶構建的concept與文檔集的相似得分也會越高。
綜上所述,ConceptVector給用戶提供了一個很便利地Concept生成工具,并且在準確度和時間性能上有一個很好的平衡。然而,對于一詞多義的問題還是沒有在該文章中得到解決,需要后續進一步地開展相關的工作。
End.
轉載請注明來自36大數據(36dsj.com): 36大數據 ? ConceptVector: 基于詞嵌入的交互式詞典構建進行文本可視分析