TibaMe技術團隊發展AI-線上學習平台如何發展推薦系統(上)

by 管理者

作為AI人才的培訓品牌,TibaMe團隊內部開始發展AI技術也是天經地義的事情,因此在10月初TibaMe首步推出了「推薦系統」。也很榮幸由技術團隊內負責大數據分析的Gordon來跟各位分享!

首先要跟大家分享「推薦系統」是什麼

常常逛一些電商網站的人來說肯定都不陌生。當然可能用的詞彙都不太一樣,像是「猜你喜歡」、「相似的商品」、「其它人也買了…」、「個人化推薦」、「你可能還想看」、「你也可能喜歡」。

這些都是推薦系統,當然背後使用的技術,可能有很大的不同;但目的都差不多,就是希望將你可能會喜歡的物件(商品或是內容),盡量的讓你看到。

為什麼TibaMe想推出推薦系統呢?

TibaMe成立到現在快5年了。這中間累積的課程量越來越多,網站的瀏覽量也一直在累積。越來越多的人來到TibaMe上尋找適合自己、符合自己需求的課程。是時候為TibaMe的使用者提供ㄧ些建議,協助他們找到適合自己的課程了。

TibaMe想做到什麼成果呢?

在最一開始,我們先做的是討論:使用者應該在哪裡、哪些時候看到推薦、推薦的內容應該是什麼。

我們希望使用者瀏覽網站的時候會在登入後的「首頁」及「我的課程」中看到即時變化的個人化推薦;瀏覽課程的「課程介紹」、準備購課時的「購物車頁面」及學習完成時「完課畫面」中看到相關課程的推薦。

技術的選擇?

確立目標之後,再來要做的是怎麼樣達成個人化的推薦及相關課程的推薦。一般常見的推薦演算法有兩類。

一類是基於內容的推薦(Content Based recommendation),主要是萃取出物品的特徵,並利用這些特徵計算出物品間的相似性,再根據使用者的之前的喜好,找出相似的物品當作推薦。

另一類則是協同過濾(Collaborative Filtering),藉由使用者們對各物品的喜好,來計算出物品間的相似程度或使用者間的相似程度,再基於這些相似程度來給出推薦。

這兩類演算法一個重要的差別在於相似度的計算方式及背後代表的訊息。「基於內容的推薦」計算的是物品「內容」的相似程度,但要怎麼找出內容的相似程度呢?一般是將內容萃取出「特徵」後再比較物品特徵的相似度。換言之,如果特徵萃取的不好或不夠多,則物品的相似度的代表性就不夠;而協同過濾則計算的是喜好的相似程度,簡單來說,喜歡A物品的使用者跟喜歡B物品的使用者兩群人的重疊度越高,則AB物品的相似度就高。這算法的重點就會是怎麼獲得使用者對物品的喜好。一般來說,可分成直接詢問使用者,例如,問卷(顯式回饋)、從使用者的行為作推論,例如購買行為(隱式回饋)。

應用在TibaMe上,基於內容的推薦,主要面臨的問題可能是相似性的計算是受到萃取出的特徵影響。而以線上課程的內容而言,其實要萃取出足夠多及足夠好的特徵是相對困難的,需要投入較多的時間和成本。這樣的推薦方式可能較難呈現內容不重疊、但卻息息相關的兩個課程。

而協同過濾的推薦,碰到的問題是新物品尚未與使用者有互動,因此新物品一開始計算不出與其它物品的相似程度,或者可以說一開始跟其它物品都是完全不相似的(這樣的問題一般會稱作物品冷啟動)。但我們的課程對於即時性的需求相對沒有這麼迫切。且物品冷啟動問題可以用一些方式處理,例如,新物品先請專家提供相關課程的推薦或是推薦同領域的課程等等。

最後在考量到推薦效果、時間、成本、具體解決方案等面向後,協同過濾成為了TibaMe現行推薦系統的核心演算法。若要再更細一點的定義是基於物品的協同過濾(Item-Based CF)。

下篇則介紹TibaMe實踐這個系統的一個過程> >https://blog.tibame.com/?p=14627

登入會員( https://www.tibame.com/ )體驗看看我們的推薦系統,也歡迎有興趣的朋友們一起來留言互相交流。

撰文者:TibaMe技術團隊 – 大數據分析師 Gordon

分享這篇文章:
0 comment
0

您也許會喜歡

Leave a Comment

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料