主题模型综述:短文本、细粒度、加入先验知识、作者写作偏好、主题内涵随时间的变迁、融入词嵌入特性、语言模型加持
原文鏈接:https://www.zhihu.com/question/34801598/answer/765580727
主題模型當(dāng)然有用咯,誰用誰知道!這次我來展示下它的7個(gè)“變種”(短文本、細(xì)粒度、加入先驗(yàn)知識(shí)、作者寫作偏好、主題內(nèi)涵隨時(shí)間的變遷、融入詞嵌入特性、語言模型加持):
- Biterm Topic Model
- Multi-Grain Topic Model
- Topic Modeling with Minimal Domain Knowledge
- Author-Topic Model
- Dynamic Topic Models
- Embedded Topic Model /LDA2VEC
- Topically-Driven-Language-Model
(1)短文本主題建模的利器 ---Biterm Topic Model
從原理上說,BTM是一個(gè)非常適合于短文本的topic model,同時(shí),作者說它在長(zhǎng)文本上表現(xiàn)也不遜色于LDA。
BTM模型首先抽取biterm詞對(duì)。抽取的方法是:去掉低頻和stopword;對(duì)于短文本(如tweets或百度知道等),取一個(gè)doc中的任意兩個(gè)詞對(duì) ;對(duì)于長(zhǎng)文本,需要兩個(gè)詞在一定的距離之內(nèi),這個(gè)窗長(zhǎng)一般取到30~60效果較好.然后通過biterm對(duì)文檔集合進(jìn)行建模.
LDA的問題是稀疏性。LDA中每個(gè)文檔對(duì)應(yīng)一個(gè)theta,每個(gè)詞對(duì)應(yīng)一個(gè)z。對(duì)于短文本,由于詞少,z-->theta這一步的統(tǒng)計(jì)可能不具備統(tǒng)計(jì)意義。因?yàn)槊總€(gè)文本單獨(dú)對(duì)應(yīng)于theta,所以增加文本數(shù)量不能克服這種短文本帶來的缺陷。
傳統(tǒng)的解決之道有兩個(gè)。1.是將多個(gè)短文本聚合成一個(gè)長(zhǎng)文本。比如LDA-U將一個(gè)user的多個(gè)發(fā)言聚合在一起減少稀疏影響。但這種做法與應(yīng)用相關(guān),需要有外部信息來輔助找到聚合的單位。2.是利用一個(gè)長(zhǎng)文檔文本集作為輔助數(shù)據(jù),將長(zhǎng)文本的一些信息先以某種形式抽取反應(yīng)到先驗(yàn)中,從而間接地提供給短文本。看似很美好,問題在于,與transfer learning類似,這個(gè)知識(shí)能不能傳還兩說,得先找到一個(gè)總體主題分布類似的長(zhǎng)文檔集。
總體來說,LDA并不適用于短文本,LDA-U略好,但是基于user的聚合受限于應(yīng)用和領(lǐng)域知識(shí)。
mixture of unigram在這里表現(xiàn)比LDA系列更好,原因是它對(duì)于所有文檔用同一個(gè)theta,克服了短文本稀疏性問題。這個(gè)模型的問題是,它假設(shè)了整個(gè)文檔對(duì)應(yīng)于一個(gè)z,這比較粗糙和strong了,會(huì)導(dǎo)致一個(gè)topic類內(nèi)距離很大,因?yàn)閷?duì)于長(zhǎng)文本,較遠(yuǎn)的段落之間可能語義差異很大了。在長(zhǎng)文本以及K較大的時(shí)候,這個(gè)模型效果會(huì)比較差,但在短文本上,這個(gè)缺陷倒是不那么明顯,因此效果好于LDA系列
最后是BTM模型。可以認(rèn)為BTM綜合了上述二者的優(yōu)點(diǎn)。BTM跟mix一樣,利用了整個(gè)文本集合來估計(jì)一個(gè)theta,解決了稀疏問題(我們通常有海量數(shù)據(jù))。放寬了mix中對(duì)整個(gè)doc必須同屬于一個(gè)z的約束(相當(dāng)于從整doc放松到了窗口長(zhǎng)度類的兩個(gè)詞),加強(qiáng)了LDA中每個(gè)詞對(duì)應(yīng)于一個(gè)Z的假設(shè)(BTM中約束了窗長(zhǎng)內(nèi)的兩個(gè)詞組成一個(gè)biterm對(duì)應(yīng)于一個(gè)z)。這個(gè)假設(shè)很接近于人類認(rèn)知,因?yàn)槲覀冎?#xff0c;通常在較短的一段文本內(nèi),topic變化不大。
說一句題外話,前幾天聽了一個(gè)知識(shí)圖譜的講座。他們也是用一個(gè)共現(xiàn)詞對(duì)來排歧作為L(zhǎng)DA的補(bǔ)充。比如 李娜+青藏高原 這個(gè)詞對(duì),可以很大程度上將李娜和其他人(比如另一個(gè)做音樂的李娜,無法被LDA所區(qū)分)區(qū)分開來。unigram是一個(gè)極端,一大堆詞是另一個(gè)極端了。BTM相當(dāng)于是這種思路在TM系列模型中的一個(gè)探索。從另一個(gè)角度,2gram或許也可以替換term作為L(zhǎng)DA的單元,而BTM的嘗試是將連續(xù)的2gram放開,允許中間有一個(gè)窗長(zhǎng)。總的來說,這是一個(gè)相當(dāng)有意思的思路,而且非常nature。
原文:https://blog.csdn.net/windows2/article/details/16812363
(2)多主題文本建模的利器 --- Multi-Grain Topic Model
考慮這樣一個(gè)應(yīng)用場(chǎng)景,有關(guān)于聯(lián)想、戴爾、蘋果三臺(tái)筆記本電腦的若干評(píng)論數(shù)據(jù),Multi-Grain Topic Model(細(xì)粒度的主題模型)基于全局和局部信息,既發(fā)現(xiàn)了宏觀上的大主題,比如評(píng)論對(duì)應(yīng)的品牌 --- 聯(lián)想、戴爾、蘋果;微觀上的小主題,蘋果電腦對(duì)應(yīng)的性能話題、聯(lián)想電腦對(duì)應(yīng)的性價(jià)比話題等,二者相互補(bǔ)充,比LDA返回的信息量要大很多。
<img src="https://pic4.zhimg.com/50/v2-1d36c2d38c59f2feac9dadd5b32bcca5_hd.jpg?source=1940ef5c" data-size="normal" data-rawwidth="711" data-rawheight="326" data-default-watermark-src="https://pic1.zhimg.com/50/v2-3f944888da36cb34f0ac2b5da2169bef_hd.jpg?source=1940ef5c" class="origin_image zh-lightbox-thumb" width="711" data-original="https://pic2.zhimg.com/v2-1d36c2d38c59f2feac9dadd5b32bcca5_r.jpg?source=1940ef5c"/>幾款電子產(chǎn)品的Multi Grain Topic Model分析(3)摻入少許先驗(yàn)知識(shí)的主題模型---Topic Modeling with Minimal Domain Knowledge
Topic Modeling with Minimal Domain Knowledge(加入少許先驗(yàn)知識(shí)的主題模型)通過關(guān)聯(lián)解釋(Correlation Explanation )進(jìn)行主題建模會(huì)產(chǎn)生豐富的主題,這些主題可以最大限度地提供一組文本數(shù)據(jù)的信息。這種方法優(yōu)化了稀疏二進(jìn)制數(shù)據(jù)(Sparse Binary Data)的Correlation Explanation框架,允許對(duì)大型語料庫(kù)進(jìn)行主題建模。此外,該方法支持分層主題建模(Hierarchical Topic Modeling),提供一種整合領(lǐng)域知識(shí)的機(jī)制(Integrating Domain Knowledge) ---通過錨定詞匯(Anchor Words)和信息瓶頸(The Information Bottleneck)來實(shí)現(xiàn)。這種半監(jiān)督的錨定(Semi-Supervised Anchoring)是靈活的,允許用戶提升進(jìn)主題表示的效果 --- 通過添加指定主題的錨定詞匯來得到解釋性較高的主題。
與LDA(隱狄利克雷模型)不同,CorEx主題模型及其分層和半監(jiān)督擴(kuò)展不會(huì)對(duì)文檔的生成方式做出任何假設(shè)。但是,它們?nèi)匀豢梢栽诟鞣N指標(biāo)中找到具有一致性和有意義的主題。一篇TACL論文對(duì)LDA的無監(jiān)督和半監(jiān)督變體進(jìn)行了詳細(xì)比較:
Gallagher,Ryan J.,Kyle Reing,David Kale和Greg Ver Steeg,《Anchored Correlation Explanation: Topic Modeling with Minimal Domain Knowledge》 ,2017
此項(xiàng)目可用于任何稀疏且二進(jìn)制的數(shù)據(jù)集(Any Sparse Binary Dataset)。原則上,0 ~ 1范圍內(nèi)的連續(xù)值也可以用作輸入,但是其效果未得到很好的測(cè)試。
以下以50,000條汽車評(píng)論數(shù)據(jù)為例,展示該模型的核心代碼和結(jié)果:
#詞匯表 words = list(np.asarray(text_pred.get_feature_names()))#加入錨定詞匯,分別是汽車油耗、外觀、噪音和空間這四個(gè)先驗(yàn)主題關(guān)鍵詞列表
anchor_words = [[‘油耗’,‘省油’],
[‘外觀’,‘外形’,‘顏值’,‘線條’,‘前臉’,‘時(shí)尚’,‘造型’,‘流暢’],
[‘噪音’,‘胎噪’,‘噪音控制’,‘隔音’],
[‘空間’,‘座位’,‘擁擠’]]
訓(xùn)練帶入先驗(yàn)知識(shí)的主題模型
topic_model = tp.Coret(
n_hidden=20 ,
max_iter=100000,
verbose=0,
count=‘fraction’,
seed=2019
topic_model.fit(X_pro , #輸入為稀疏詞匯表示
words=words,
anchors = anchor_words,
anchor_strength=10 #錨定強(qiáng)度,數(shù)值越大,主題模型訓(xùn)練的結(jié)果受錨定詞匯的影響就越大
)
從訓(xùn)練好的主題模型中看看某類結(jié)果:
topic_model.get_topics(topic=1, n_words=50)[(‘外觀’, 0.4301756671083077),
(‘顏值’, 0.10011823545089653),
(‘外形’, 0.06618560083637216),
(‘時(shí)尚’, 0.054193038069410004),
(‘前臉’, 0.04076140897169324),
(‘線條’, 0.03466495921583512),
(‘造型’, 0.03414006949798674),
(‘外觀設(shè)計(jì)’, 0.01699050254486039),
(‘流暢’, 0.015337625168866267),
(‘動(dòng)感’, 0.013126344098356961),
(‘運(yùn)動(dòng)感’, 0.009363907127811736),
(‘審美’, 0.008732302601110832),
(‘流線型’, 0.006803817188302315),
(‘流線’, 0.005895597474292352),
(‘修長(zhǎng)’, 0.005593062618077139),
(‘大氣’, 0.0429432014991769),
(‘漂亮’, 0.02758077948725461),
(‘好看’, 0.026179714467314867),
(‘霸氣’, 0.019231105222624518),
(‘車身’, 0.011562041254648874),
(‘帥氣’, 0.010466043602329844),
(‘年輕’, 0.009713247431314121),
(‘耐看’, 0.005438103102823669),
(‘側(cè)面’, 0.005305290826161348),
(‘硬朗’, 0.0038887516195419613),
(‘優(yōu)美’, 0.0029589904380173705),
(‘拉風(fēng)’, 0.002908911717486192),
(‘擔(dān)當(dāng)’, 0.0023775974040011207),
(‘年輕化’, 0.0018363016664206797),
(‘前衛(wèi)’, 0.001832502305643267),
(‘顏控’, 0.0015342721148661927),
(‘美觀’, 0.0014017725126286868),
(‘外貌協(xié)會(huì)’, 0.0012673785507941234),
(‘始于’, 0.0012147432527814328),
(‘最喜歡的’, 0.0010902856328509434),
(‘大嘴’, 0.0010611885609235778),
(‘非常時(shí)尚’, 0.0009028912355990731),
(‘時(shí)尚運(yùn)動(dòng)’, 0.0008869927507607518),
(‘霸氣十足’, 0.0008189071364794647),
(‘霸氣側(cè)漏’, 0.0008159337276194864),
(‘我很喜歡’, 0.0007621695922389888),
(‘高大’, 0.0007571559888997631),
(‘征服’, 0.0007147440291617015),
(‘很喜歡’, 0.0006925125995887599),
(‘運(yùn)動(dòng)時(shí)尚’, 0.0006689225076177874),
(‘耐看型’, 0.0005580945500139648),
(‘正義’, 0.0005483286604124153),
(‘威武霸氣’, 0.0005316584992590537),
(‘改款’, 0.0005285499612510017),
(‘小巧’, 0.0005192749777102133)]
再看看整體的效果:
topics = topic_model.get_topics(n_words=30)for topic_n,topic in enumerate(topics):
words,mis = zip(*topic)
topic_str = str(topic_n)+’: ‘+’,’.join(words)
print(topic_str)
0: 油耗,省油,平均,市區(qū),百公里,綜合,經(jīng)濟(jì),上下班,磨合期,接受,油價(jià),一公里,堵車,百公里油耗,驚喜,省錢,最低,節(jié)省,油錢,毛錢,費(fèi)油,七個(gè),油表,擁堵,國(guó)道,下降,成本,想象,郊區(qū),預(yù)期
1: 外觀,顏值,外形,時(shí)尚,前臉,線條,造型,外觀設(shè)計(jì),流暢,動(dòng)感,運(yùn)動(dòng)感,審美,流線型,流線,修長(zhǎng),大氣,漂亮,好看,霸氣,車身,帥氣,年輕,耐看,側(cè)面,硬朗,優(yōu)美,拉風(fēng),擔(dān)當(dāng),年輕化,前衛(wèi)
2: 隔音,噪音,胎噪,噪音控制,效果,聽不到,風(fēng)噪,安靜,降噪,關(guān)上,很安靜,聽不見,隔絕,兩個(gè)世界,外界,窗戶,雜音,車外,靜謐,nvh,車隔音,隔音棉,抑制,什么聲音,密封,噪聲,開窗,超棒,地步,靜音性
3: 空間,擁擠,座位,后排,寬敞,后備箱,乘坐,內(nèi)部,儲(chǔ)物,車內(nèi),前排,腿部,身高,超大,頭部,夠用,軸距,二郎腿,充足,利用率,壓抑,寬松,寬裕,三個(gè)人,個(gè)子,充裕,成年人,拉貨,前后排,綽綽有余
4: 代步,問題,生活,用車,容易,天氣,工具,平常,不好,享受,下雨,下班,車?yán)?車真,過車,gl8,回老家,跑跑,外面,不多,放松,上車,沒出,毛病,起碼,沒事,下車,開開,外出,第二天
5: 滿意,車子,喜歡,車最,適合,家用,就是他,部分,類型,面子,和動(dòng)力,家庭,莫過于,最最,探界者,需求,我喜歡的,三點(diǎn),卡羅拉,說到,對(duì)我來說,說到最,喜歡的,商務(wù),無非,普拉多,女生,霸道,女孩子,比較適合
6: 座椅,舒服,音響,放倒,調(diào)節(jié),舒適,包裹,皮質(zhì),bose,視野,包裹性,開闊,地板,真皮,音質(zhì),位置,中央,舒適度,音樂,柔軟,坐上,玻璃,長(zhǎng)途,腰部,純平,支撐,一鍵,主駕駛,坐姿,扶手
7: 吸引,符合,顏色,紅色,年輕人,白色,第一眼,回頭率,魂動(dòng),氣質(zhì),犀利,黑色,深深,個(gè)性,不失,低調(diào),外表,張揚(yáng),穩(wěn)重,車漆,騷氣,優(yōu)雅,眼看,眼球,看臉,美式,轎跑,大街,口味,獨(dú)特
8: 非常,不錯(cuò),同級(jí),優(yōu)勢(shì),啟辰,無論是,d60,空間表現(xiàn),總體,優(yōu)點(diǎn),別車,一體,水平,感覺特別,真心,配合,均勻,體現(xiàn),整個(gè)車,稍微,值得一提的,提升,空間感覺,人馬,發(fā)揮,程度,實(shí)用性,缺點(diǎn),車做,組合
9: 價(jià)格,性價(jià)比,價(jià)位,優(yōu)惠,車型,品牌,級(jí)別,合資,便宜,實(shí)惠,合資車,國(guó)產(chǎn)車,預(yù)算,國(guó)產(chǎn),同等,力度,合適,大眾,邁銳寶,中華,看過,銷售,十萬,落地,劃算,哈弗,值得,裸車,車中,親民
10: 動(dòng)力,發(fā)動(dòng)機(jī),超車,加速,變速箱,油門,強(qiáng)勁,起步,提速,推背感,渦輪,平順,充沛,換擋,速度,給油,增壓,高速,輸出,隨叫隨到,排量,很快,聲音,一腳,頓挫感,舍得,馬力,自然吸氣,頓挫,自吸
11: led,格柵,進(jìn)氣,大燈,晚上,尾燈,日間行車燈,車燈,鍍鉻,日行燈,炯炯有神,前大燈,轉(zhuǎn)向燈,遠(yuǎn)近,亮度,燈光,視覺,眼睛,車頂,流水,有神,大眼睛,裝飾,協(xié)調(diào),點(diǎn)亮,夜間,光源,眼大,白天,沖擊力
12: 操控,底盤,駕駛,精準(zhǔn),轉(zhuǎn)向,扎實(shí),靈活,轉(zhuǎn)彎,輕松,行駛,性能,方向,上手,操控性,樂趣,指向,路面,調(diào)教,懸掛,通過性,顛簸,輕盈,平穩(wěn),過程,地盤,虛位,體驗(yàn),調(diào)校,路況,彎道
13: 功能,配置,自動(dòng),巡航,實(shí)用,倒車影像,鑰匙,全景,后視鏡,電動(dòng),導(dǎo)航,胎壓監(jiān)測(cè),天窗,空調(diào),一鍵啟動(dòng),大屏,影像,齊全,中控,自適應(yīng),加熱,啟動(dòng),雷達(dá),啟停,定速,倒車,定速巡航,多功能,手機(jī),語音
14: 內(nèi)飾,設(shè)計(jì),做工,風(fēng)格,用料,精致,整體,豪華,車頭,上檔次,十足,簡(jiǎn)潔,科技感,大方,腰線,給人,高端,飽滿,中控臺(tái),尾部,搭配,車尾,檔次,簡(jiǎn)約,細(xì)節(jié),整車,輪轂,氣息,充滿,圓潤(rùn)
15: 馬自達(dá),阿特茲,寶馬,創(chuàng)馳藍(lán)天,藍(lán)天,凱美瑞,新款,老款,跑車,奧迪,奔馳,凱迪拉克,君威,有點(diǎn),昂克賽拉,傳統(tǒng),完美,全新,日系車,cx5,東瀛,形容,雅閣,設(shè)計(jì)師,設(shè)計(jì)理念,驚艷,改變,鋼絲,稱號(hào),打動(dòng)
16: 朋友,選擇,時(shí)間,suv,試駕,當(dāng)初,提車,選車,老婆,一眼,回家,家里,cx4,一段,身邊,看中,轎車,大家,推薦,網(wǎng)上,同事,打算,差不多,糾結(jié),相中,媳婦,看上,上班,好多,印象
17: 孩子,一家人,出行,自駕游,接送,小孩,出門,家人,周末,出去玩,老人,出游,游玩,全家,行李,旅行,大人,旅游,出去旅游,睡覺,安全座椅,物品,寶寶,排空,行李箱,休息,家里人,購(gòu)物,排放,搬家
18: #NUMBER,公里,擔(dān)心,不用,顯示,抬頭,開車,以內(nèi),時(shí)速,寶駿,體重,來回,雙離合,手自一體,小時(shí),實(shí)際,愛信,加油,保持,里程,數(shù)據(jù),一千,全程,一萬,車速,正常,死角,老家,一趟,自動(dòng)擋
19: 系統(tǒng),方向盤,斑馬,手感,儀表盤,液晶,安全性,操作,保養(yǎng),電子,新手,質(zhì)量,剎車,保障,放心,材料,省心,清晰,行車,按鍵,儀表,費(fèi)用,保證,后期,耐用,助力,品質(zhì),軟質(zhì),碰撞,材質(zhì)
(4)揭示不同作者寫作主題分布的主題模型 — Author-Topic Model
ATM模型(author-topic model)也是“概率主題模型”家族的一員,是LDA主題模型(Latent Dirichlet Allocation )的拓展,它能對(duì)某個(gè)語料庫(kù)中作者的寫作主題進(jìn)行分析,找出某個(gè)作家的寫作主題傾向,以及找到具有同樣寫作傾向的作家,它是一種新穎的主題探索方式。
筆者之前分析過“人人都是產(chǎn)品經(jīng)理”上作家的寫作主題,分析某些牛X作家喜歡寫哪方面的文章(比如“產(chǎn)品運(yùn)營(yíng)”、“數(shù)據(jù)分析”、“新媒體運(yùn)營(yíng)”等)寫作了啥,主題相似度的作者有哪些。
首先,先從文本中“析出”若干主題,經(jīng)過探索,10個(gè)主題的區(qū)分度正好。根據(jù)各個(gè)主題下的主題詞特征,筆者將這10個(gè)主題歸納為 :“行業(yè)動(dòng)態(tài)”、“電商運(yùn)營(yíng)”、“商業(yè)模式”、“產(chǎn)品運(yùn)營(yíng)”、“社交媒體”、“互金產(chǎn)品”、“數(shù)據(jù)運(yùn)營(yíng)”、“用戶研究”、“產(chǎn)品設(shè)計(jì)”和“新媒體運(yùn)營(yíng)”。
<img src=“https://pic3.zhimg.com/50/v2-8213085ef8a061f83608bb96ae5a11a9_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“814” data-rawheight=“585” data-default-watermark-src=“https://pic4.zhimg.com/50/v2-6ece5f22d2927fe74d654f6f470ff230_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“814” data-original=“https://pic2.zhimg.com/v2-8213085ef8a061f83608bb96ae5a11a9_r.jpg?source=1940ef5c”/>所有作者涉及的主題同時(shí),在數(shù)據(jù)處理的過程中,模型建立了作者(author)、主題(topic)及文檔(document)之間的映射關(guān)聯(lián)關(guān)系,以dict的形式保存數(shù)據(jù)。
<img src=“https://pic4.zhimg.com/50/v2-f97caf91659d1eacc6de32eb03cd8fe7_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“762” data-rawheight=“340” data-default-watermark-src=“https://picb.zhimg.com/50/v2-56118d0c0938f3319b9e3006b7def58e_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“762” data-original=“https://pic1.zhimg.com/v2-f97caf91659d1eacc6de32eb03cd8fe7_r.jpg?source=1940ef5c”/>建立每個(gè)作者的文章隸屬關(guān)系字典(每個(gè)數(shù)值ID代表一篇文章) <img src=“https://pic2.zhimg.com/50/v2-eff26ea14b1848586d51b1d59b9cbb04_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“577” data-rawheight=“254” data-default-watermark-src=“https://pic2.zhimg.com/50/v2-de2e9a7e683f9b6a843be1ae88d47b6b_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“577” data-original=“https://pic4.zhimg.com/v2-eff26ea14b1848586d51b1d59b9cbb04_r.jpg?source=1940ef5c”/>鄙喵的寫作主題分布 <img src=“https://pic3.zhimg.com/50/v2-d559927c22c2a7ab73daeb22ff8906e0_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“658” data-rawheight=“233” data-default-watermark-src=“https://pic1.zhimg.com/50/v2-933d30f7186b17d00f8c1c9ac0047636_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“658” data-original=“https://pic4.zhimg.com/v2-d559927c22c2a7ab73daeb22ff8906e0_r.jpg?source=1940ef5c”/>鄙喵寫過的若干文章(局部) <img src=“https://pic4.zhimg.com/50/v2-aa804de324ab7d26f742f10b9ed4a762_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“880” data-rawheight=“293” data-default-watermark-src=“https://pic1.zhimg.com/50/v2-2339cb06ecc02c0159de7311538cc070_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“880” data-original=“https://pic3.zhimg.com/v2-aa804de324ab7d26f742f10b9ed4a762_r.jpg?source=1940ef5c”/>運(yùn)營(yíng)大神張亮的寫作主題分布 <img src=“https://pic3.zhimg.com/50/v2-3f4ebfb0076d6b3b258af24ed5801d44_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“398” data-rawheight=“392” data-default-watermark-src=“https://pic3.zhimg.com/50/v2-9e621157f641e16f19d23e74a38525b1_hd.jpg?source=1940ef5c” class=“content_image” width=“398”/>跟張亮大神寫作主題類似的作家(5)分析話題熱點(diǎn)變遷的主題模型 — Dynamic Topic Models
蘊(yùn)含時(shí)間因素的主題,盡管它包含的關(guān)鍵詞會(huì)隨著時(shí)間的變化而產(chǎn)生相應(yīng)的變化,但它如構(gòu)成要素不斷更新?lián)Q代的“忒修斯之船(The Ship of Theseus)”一般,即使同一主題下的開端和末尾中的主題詞沒有一個(gè)是相同的,但還是原先的主題,保留有相同的語境。(By having a time-base delement to topics, context is preserved while key-words may change.)
針對(duì)某個(gè)話題隨時(shí)間的變遷情況(This implements topics that change over time)。鄙喵運(yùn)用的模型是DTM模型 (Dynamic Topic Models ),它是“概率主題模型”家族的一員,用于對(duì)語料庫(kù)中主題演變進(jìn)行建模。
還是針對(duì)人人都是產(chǎn)品經(jīng)理上的文章數(shù)據(jù),先從“產(chǎn)品運(yùn)營(yíng)&數(shù)據(jù)分析”中“解析”出如下6個(gè)子話題,它們是“運(yùn)營(yíng)”、“商業(yè)模式”、“流量運(yùn)營(yíng)&數(shù)據(jù)分析”、“品牌營(yíng)銷&數(shù)據(jù)分析”、“電商運(yùn)營(yíng)”和“內(nèi)容運(yùn)營(yíng)”,如下表所示:
<img src=“https://pic4.zhimg.com/50/v2-fe9cd464aa5930cdd8c2d170f7bc17ce_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“952” data-rawheight=“481” data-default-watermark-src=“https://pic4.zhimg.com/50/v2-dc852a8741df9f7e597b896bc43d7c3a_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“952” data-original=“https://pic4.zhimg.com/v2-fe9cd464aa5930cdd8c2d170f7bc17ce_r.jpg?source=1940ef5c”/>從人人都是產(chǎn)品經(jīng)理文本數(shù)據(jù)中解析出的若干主題針對(duì)Topic2,也就是“流量運(yùn)營(yíng)&數(shù)據(jù)分析”在2012.05~2017.07間的話題變遷情況感興趣,于是將這6年間出現(xiàn)的主題詞重新整合,制成下面的熱力圖:
<img src=“https://pic1.zhimg.com/50/v2-5765c9581d54f99e6115e566367fb8c6_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“772” data-rawheight=“871” data-default-watermark-src=“https://pic1.zhimg.com/50/v2-60ce3512652d0677fe1ef3a790a66358_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“772” data-original=“https://pic4.zhimg.com/v2-5765c9581d54f99e6115e566367fb8c6_r.jpg?source=1940ef5c”/>Topic2(“流量運(yùn)營(yíng)&amp;amp;amp;amp;amp;amp;數(shù)據(jù)分析”)在2012.05~2017.07間的話題變遷情況上圖中縱軸是主題詞,橫軸是年份,顏色由淺入深代表數(shù)值的由小到大。從中可以明顯的看出,“流量運(yùn)營(yíng)&數(shù)據(jù)分析”子話題下的“數(shù)據(jù)”、“數(shù)據(jù)分析”、“運(yùn)營(yíng)”和“業(yè)務(wù)”在該話題中始終處于“核心地位”,保持較高且穩(wěn)定的word_prob值。而“渠道”、“游戲”、“互金”在近3年的word_prob值有了較大的提升,說明社區(qū)的作者在近期比較關(guān)注這3個(gè)主題詞所代表的領(lǐng)域,間接表明它們?cè)诨ヂ?lián)網(wǎng)中的話題熱度呈現(xiàn)上升趨勢(shì)。
(6)與詞嵌入融合的主題模型 — Embedded Topic Model
主題模型的主要功能之一就在于分析大量文檔以學(xué)習(xí)其中有意義的詞匯模式和語義內(nèi)涵。 但現(xiàn)有的主題模型都存在一個(gè)問題 — 在處理巨量且存在許多長(zhǎng)尾詞、低頻詞的情況下,現(xiàn)有的很多主題模型都無法學(xué)習(xí)到具有可解釋性、便于人們理解的主題。 為此,嵌入式主題模型(ETM,Embedded Topic Model )應(yīng)運(yùn)而生,這是一種將傳統(tǒng)主題模型與詞嵌入(Word Embeddings)“嫁接”在一起的文檔生成模型。 特別地,它使用分類分布(Categorical Distribution)對(duì)每個(gè)詞匯進(jìn)行建模,其自然參數(shù)是詞嵌入及其嵌入的指定主題(Assigned Topic)之間的內(nèi)積。
<img src=“https://pic2.zhimg.com/50/v2-526929e3608e89f638e665e3b899f082_hd.jpg?source=1940ef5c” data-size=“normal” data-rawwidth=“785” data-rawheight=“684” data-default-watermark-src=“https://pic3.zhimg.com/50/v2-982b8ad87069f5549ab9bedb75b37bbf_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“785” data-original=“https://pic2.zhimg.com/v2-526929e3608e89f638e665e3b899f082_r.jpg?source=1940ef5c”/>“紐約時(shí)報(bào)”語料庫(kù)的180萬篇文章中來自不同文檔模型的七個(gè)最常用主題的前五個(gè)單詞,詞匯量為212,237,K = 300(個(gè)主題)由此,即使是在用于海量詞匯表且存在稀有詞、長(zhǎng)尾詞的情況下,ETM仍然能發(fā)現(xiàn)可解釋的主題。 在相關(guān)作者的論文中,發(fā)明者還表示它在主題質(zhì)量和預(yù)測(cè)性能方面優(yōu)于現(xiàn)有的主題模型,例如LDA。
(7)理解自然語言的利器—LDA2VEC
lda2vec模型試圖將word2vec和LDA中的最佳部分混合到一個(gè)框架中。 word2vec在捕捉詞匯之間的詞法關(guān)系方面能力很強(qiáng),但是生成的向量在很大程度上無法解釋,并且很難表征文檔。 而另一方面,LDA可以被很好地被理解,但是不能像word2vec這樣對(duì)本局部詞匯關(guān)系進(jìn)行建模。 此時(shí)LDA2VEC應(yīng)運(yùn)而生,該模型可以構(gòu)建詞匯和文檔主題,使其可解釋。
與LDA相比,lda2vec還包含更多的上下文語境和語義特征。 LDA表明詞匯是由文檔向量所生成的; 但是文本數(shù)據(jù)中可能會(huì)有各種影響主題的“邊信息”。 例如,某個(gè)客戶在某個(gè)特定時(shí)間、某個(gè)特定區(qū)域中寫了關(guān)于某個(gè)特定item ID的評(píng)論。 在這種情況下,lda2vec會(huì)提供所有的item(例如,從襯衫中分離牛仔褲),時(shí)間(冬季與夏季),地區(qū)(沙漠與沿海)和客戶(運(yùn)動(dòng)與職業(yè)裝)的主題。
<img src=“https://pic1.zhimg.com/50/v2-2a2ffa93ae17fd1781c5395b9cd4c783_hd.jpg?source=1940ef5c” data-caption="" data-size=“normal” data-rawwidth=“899” data-rawheight=“920” data-default-watermark-src=“https://pic2.zhimg.com/50/v2-04a18e1a59626e5568a9ecc263e0c210_hd.jpg?source=1940ef5c” class=“origin_image zh-lightbox-thumb” width=“899” data-original=“https://pic1.zhimg.com/v2-2a2ffa93ae17fd1781c5395b9cd4c783_r.jpg?source=1940ef5c”/>(8)Topically-Driven-Language-Model
本文作者Jey Han Lau, Timothy Baldwin and Trevor Cohn (2017))創(chuàng)造性的將LDA主題模型和語言模型融合在了一起,可以通過語言模型生成的語句來解釋主題,將其中的語言模型換成時(shí)下流行且強(qiáng)大的GPT2,并結(jié)合PPLM(Plug and Play Language Models: a Simple Approach to Controlled Text Generation)絕對(duì)是大殺器,但是速度賊慢。。。。
感興趣的可以去讀原文《Topically Driven Neural Language Model》
下面是關(guān)于新冠肺炎疫情的若干新聞的模型分析結(jié)果片段:
Epoch =12001 TRAIN 77864/77864: tm ppl = 46573.947; lm ppl = 507.707; word/sec = 9449.5\nVALID 77864/77864: tm ppl = 40674.441; lm ppl = 350.481; word/sec = 16706.0\n Topics ====== Topic 0 [ 10.51 ] : [培訓(xùn)_機(jī)構(gòu), 上課, 課程, 家長(zhǎng), 培訓(xùn)行業(yè), 授課, 高三, 寒暑假, 招生, 教育培訓(xùn), 教培, 開課, 退費(fèi), 轉(zhuǎn)線, 留學(xué), 面試, 教師, 輔導(dǎo)機(jī)構(gòu), 課時(shí)費(fèi), 推遲_開學(xué)]
Topic 1 [ 8.38 ] :[婚禮, 婚慶, 攝影師, 攝影, 下崗, 物料, 新人, 工作室, 拍攝, 行業(yè)_從業(yè)者, 布置, 取消_婚禮, 攝像, 主持人, 婚禮_延期, 婚禮_取消, 婚紗, 婚期, 改期, 道具]
Topic 2 [ 7.81 ] : [gdp, 第三產(chǎn)業(yè), 億元, 一季度, 增速, 第二產(chǎn)業(yè), 百分點(diǎn), gdp_增速, 中國(guó)_gdp, 增長(zhǎng)率, 萬億元, 同比, 第一產(chǎn)業(yè), 經(jīng)濟(jì)_增速, 高于, gdp_增長(zhǎng), 一季度]
Topic 3 [ 10.70 ] :[超級(jí)傳播者, 廣東, 擴(kuò)散, 超級(jí), 預(yù)防, 傳染性, 耽誤, 傳人, 癥狀, 發(fā)病, 病毒傳播, 宿主, 證據(jù), 不幸, 社交, 毒王, 已有, 院士, 傳染給, 傳播者, 輕微, 定義]
Topic 4 [ 10.75 ] : [世界衛(wèi)生組織, 公共, 后果, who, 觀察, 列為_疫區(qū), 證明, 大國(guó), 認(rèn)定, 警惕, 事后, 列入, 人群_密集, 交通工具, 突發(fā)事件, 視為_疫區(qū), 負(fù)面, 各國(guó), 定性]
Topic 5 [ 6.87 ] : [草莓, 一斤, 農(nóng)民, 大棚, 果農(nóng), 成熟, 夏天, 路邊, 產(chǎn)地, 草莓_大棚, 請(qǐng)假, 丹東, 柿子, 草莓_價(jià)格, 遼寧, 能賣, 季節(jié), 地里, 辛辛苦苦, 忙活, 大棚_草莓]
Topic 6 [ 10.56 ] : [票房, 春節(jié)_票房, 大年初一_票房, 影片, 收獲, 撤檔, 唐探, 電影票, 姜子牙, 暑期, 奪冠, 熊出沒, 粉絲, 熱門, 觀眾, 退出, 老實(shí), 囧媽, 院線, 系列, 徐崢]
Topic 7 [ 10.26 ] : [戰(zhàn)爭(zhēng), 香港, 恢復(fù)正常, 到來, 提醒, 病情, 蔓延, 教育局, 態(tài)勢(shì), 終止, 教育部, 預(yù)案, 各項(xiàng), 社會(huì)秩序, 一律, 課外輔導(dǎo), 認(rèn)知, 中東, 機(jī)構(gòu)_停課, 摧毀_房?jī)r(jià)]
Topic 8 [ 8.71 ] : [高考, 大學(xué), 教育_行業(yè), 注定, 分?jǐn)?shù)線, 畢業(yè), 高校, 就業(yè), 春季, 考研, 考試, 春招, 畢業(yè)生, 合適, 延遲_開學(xué), 應(yīng)屆, 秋招, 應(yīng)屆生, 考生, 復(fù)試, 申請(qǐng), 難度]
…
Random Generated Sentences ========================== Temperature = 1.2
Topic 8 : 新冠肺疫情逐步好轉(zhuǎn),許多省份提出將優(yōu)先安排初3高三返校
Topic 4 : WHO:無證據(jù)顯示病毒會(huì)在夏季消失,歐洲疫情擴(kuò)散
Topic 3 : 國(guó)際在線,外媒分析:病毒“超級(jí)傳播者”對(duì)疫情影響為何如此重大?
Topic 6 : 多國(guó)家紛紛叫停電影,海外疫情影響不容樂觀
Topic 7 :
…
PS:主題模型就是一把大殺器,用的好不好全看個(gè)人,跟它自身沒啥關(guān)系~
我之前寫的幾篇文章,上面的部分示例出自這里:
蘇格蘭折耳喵:文本挖掘從小白到精通(三)—主題模型和文本數(shù)據(jù)轉(zhuǎn)換 蘇格蘭折耳喵:文本挖掘從小白到精通(四)—主題模型的主題數(shù)確定和可視化 蘇格蘭折耳喵:文本挖掘從小白到精通(十)— 不需設(shè)定聚類數(shù)的Single-pass 蘇格蘭折耳喵:【Social listening實(shí)操】作為一個(gè)合格的“增長(zhǎng)黑客”,你還得重視外部數(shù)據(jù)的分析!【CODE】LDA2vec : 當(dāng)LDA遇上word2vec
以上。
總結(jié)
以上是生活随笔為你收集整理的主题模型综述:短文本、细粒度、加入先验知识、作者写作偏好、主题内涵随时间的变迁、融入词嵌入特性、语言模型加持的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 政考网:公务员备考需要多久?
- 下一篇: iOS 送审浅谈:1.4.1、2.1、2