一、LDA模型簡介
LDA是Latent Dirichlet Allocation(潛在狄利克雷分配模型)的縮寫,也是線性判別分析(Linear Discriminant Analysis)的簡寫。本文探討的是第一種Latent Dirichlet Allocation(潛在狄利克雷分配模型)技術。LDA通俗的來講就是一種主題抽取模型。它是一種無監督的算法,作用是從一份文檔中提出文檔的主題,以及主題中的詞語。LDA模型應用範圍很廣,如我們熟知個性化推薦、商品標籤、智能分類等等。
有監督學習和無監督學習以及半監督學習的概念是比較容易理解的。這邊就簡單的提一下。
我們知道,AI系統都可以抽象為如圖所示的結構:
我們訓練AI,就是要得到一個模型。訓練模型的方式有這麼幾種:
有監督學習:即通過人工標註數據,機器從中學習得到模型,如分類、回歸算法。
無監督學習:機器直接通過海量的數據自主學習得到模型。,如聚類算法。
半監督學習:機器通過少量的人工標註數據和海量的無標註數據學習得到模型。半監督學習的特點就是,用少數的人工標註數據就能得到一個不錯的模型,隨著模型的使用,產生的糾錯數據又能反過來提升模型的精度,最終使得模型得到最優。
回到我們要講的LDA模型。根據場景的不同,數據的不同可以選擇不同的方案。如定製化場景下,可以做有監督的學習,以達到較好的精度。如在to C的產品中,則使用半監督的學習方式可以讓產品具有個性化推薦的能力。
簡單解析一下LDA模型的原理:
在LDA模型中,文檔是由詞語組成主題,再由主題組成的文章。在主題中,有詞語的一個概率分布,概率越高表示與主題的關聯性越大。相對的,文檔中有一個主題概率分布,概率越高代表與文檔的相關性越高。LDA的簡化公式如下:
P(詞語|文檔)=∑P(詞語|主題)×P(主題|文檔)
LDA從詞語在文檔中的概率學習得出詞語在主題中的概率分布以及主題在文檔中的概率分布。
從公式中我們就能夠很清晰的看到,如何能夠提升LDA模型的準確度再融合進算法中,從而提升產品的用戶體驗。
關鍵點在於:
提供詞語|主題的標註數據。
提供主題|文檔的標註數據。
二、LDA主題產品設計
假設我們要做一款個性化信息流的產品,我們想運用LDA為文章打標籤,並推送給具有相同標籤的用戶,從而實現個性化推薦,那我們要怎麼做?
其實標籤就可以看成是LDA中的主題,融合AI的產品的設計如果能巧妙的讓用戶給你提供標註數據,這樣的產品體驗一定是優秀的。
沿著這個思路,我們可以有這樣的設計方案:
可以先讓用戶選擇標籤,然後給用戶推薦一些無監督學習標註出來的同標籤的文章,手機用戶的點擊數據、停留時長、點讚、收藏等數據,再把這些數據轉化為用戶對這個文章的認可程度。如果用戶認可程度高,就提升這篇文章的權重;如果認可程度低的,降權。再設計一個「不喜歡」的按鈕,用戶點擊了也對文章進行降權。如果經過海量用戶的使用,可以獲得較為優質的數據, 再利用這些數據進行訓練,使得模型越來越精準。
總結成一幅圖就是:
本文由 @ 躚塵 原創發布於人人都是產品經理。未經許可,禁止轉載。
題圖來自PEXELS,基於CC0協議