SlideShare ist ein Scribd-Unternehmen logo
1 von 57
王建興
專家講座D:「沙中撈金術」
﹣談開放原始碼的推薦系統
簡介:對於資訊,現代人面對的問題早已不是資訊的不足,
而是資訊的爆炸。網路上無數的部落格文章、新聞消息、
網路影片、音樂、商品資訊等,這種情況往往讓人們不知
如何在海量的資訊中找到符合自己需求的資訊,除了搜尋
引擎之外,所謂的「推薦系統」則是另一種方向的解決方
案。在這個講題中,會介紹推薦系統的基本觀念、被普遍
使用的開放原始碼推薦系統、以及透過這樣的系統可以協
助我們解決什麼樣應用上的問題。
講者簡介
• 現職
 – 聖藍科技技術長

• 興趣
 – 網路應用系統開發

• 譯作
 – Thinking in Java 4th Edition, 正體中文版
 – Thinking in Java 2nd Edition, 正體中文版
 – Essential C++, 正體中文版

• 專欄
 – iTHome 電腦報程式人專欄

• 連絡方式
 – qing at gmail.com
 – qing_wang at twitter
綱要
• 推薦系統概說
• Mahout簡介
• 結論
推薦系統概說
為什麼需要推薦系統
• 資訊不患寡,患不準
– 太多資訊反而使得人們不知從中取得所需的資訊
• 過去倚賴資訊系統收集愈多的資料
• 今日期待資訊系統過濾出符合需求的資料
長尾理論




*取自Wikipedia
大眾的喜好 vs. 個人的偏好
• 頭(暢銷)的部份,代表大眾的喜好
• 尾(冷門)的部份,代表個人的偏好
• 長尾的部份就像是含金的大量沙土
– 大部份的東西可能對任何一個個人都沒用
– 但也有可能藏有對特定個人極有價值的事物
• 許多系統都試著滿足大眾喜好這一塊,卻少
了個人偏好這一塊
– 熱門歌曲 vs. 你會感興趣的歌曲
實體櫃位 vs. 虛擬櫃位
• 傳統實體商店櫃位有限
– 以滿足大眾喜好為主
• 網路化的虛擬商店櫃位幾近無限
– 雖然長尾中的量不大,但累積起來也可觀
– 若可滿足繁多的個人偏好,就能提供足夠的價值
長尾理論中的過濾器
• 過濾器能協助我們,找出長尾中大量沙土中
所暗藏的黄金
• 搜尋引擎做為過濾器
– Google的興起,和它提供了一個有用的過濾器
  有關
– Google的搜尋引擎很強,但搜尋引擎也有其先
  天的限制
• 推薦系統做為過濾器
– 基於個人的使用習慣及偏好,自動的找出使用者
  可能會感興趣的資訊
推薦系統
• 所謂的推薦系統,能自動的依據使用者的喜
好,以及使用行為,向使用者推薦他可能會
感興趣的資訊(或商品)
推薦系統的分類
• 基於關聯式規則的推薦(Association Rule)
• 基於內容的推薦(Content-based )
• 協同過濾式的推薦(Collaborative Filtering)
• 人口統計式的推薦(Demographic)
關聯式規則
• 推算項目之間的關聯性,例如:
– 「如果一個消費者購買了產品A,那麼他有多大
  機會購買產品B?」
– 「如果他購買了產品C和D,那麼他還將購買什
  麼產品?」
• 購物籃分析
– 一起結帳的商品有關聯性
– 啤酒和尿布
基於內容的推薦
• 利用項目特徵來表示內容
• 通常過程有三
– Item Representation: 抽取項目的特徵,用以表
  示每一個項目(例:向量化)
– Profile Learning: 依據使用者過去的喜好來建立
  起使用者的偏好記錄
– Recommendation Generation: 基於使用者的喜
  好profile以及待推薦的項目的特徵來進行推薦
基於內容的推薦 – 群集及分類
• Clustering
 – 將特徵相近(例:在向量空間中相近)的項目自
   動集結成群
 – 基於群集的結果來做推薦
• Classification
 – 基於過去的使用記錄來建立分類樹
 – 利用分類樹的分類結果來做推薦
群集及分類技術做為推薦的應用
• 新聞分群
 – 將新聞自動分群,再將使用者自動分群
 – 將新進分好群的新聞推薦給對該群感興趣的使用者
• 新聞分類
 – 將新聞自動分至預先設定的分類
 – 將新聞推薦給對該分類感興趣的使用者
• 新聞相似
 – 找出和使用者感興趣新聞主題相似的新聞
• 電子郵件分類
 – Spam mail
 – Important mail
協同過濾式的推薦
• 社會化的推薦技術
– 集合眾人的使用偏好來做推薦

• 基於使用者之間的相似性來做推薦
– 和你使用習慣相近的使用者,他喜歡的項目,你多半也
  會喜歡
– 如果以前你們買的東西很像,那麼他買的東西,你可能
  也會想買

• YouTube的推薦系統,主要即基於協同過濾式的
推薦
人口統計式的推薦
• 將使用者依其個人屬性做分類的指標,並以
此類別做為推薦的基礎
– 性別、年齡、教育背景、居住地、語言
善用推薦引擎的例子
• Amazon
 – 書目、商品的推薦
• Netflix
 – 影片的推薦
• YouTube
 – 短片的推薦
YouTube的影片推薦 (1/3)
• 系統目標
– 推薦的影片要夠新
– 推薦的影片主題要夠分散,而且和使用者最近的
  行為相關
– 能讓使用者明白為什麼系統將某影片推薦給他
• 基於使用者個人的活動
– 看過、最愛、喜歡
YouTube的影片推薦 (2/3)
• 從video的co-visitation graph來展開
• 基於各種相關性及相異性的指標來做
 ranking
• 和租片或線上購片系統的推薦有所不同
 – YouTube使用者的活動巨量且頻繁
 – YouTube影片的metadata少
YouTube的影片推薦 (3/3)
• 推薦系統的成效
– 60% 的首頁點擊是來自於推薦
– CTR (click through rate) 比最多觀看頁還多出了
  207%
• 有機會靠推薦系統來活化落在長尾中的影片
– 不會總是強者愈強,熱門者愈熱門
– 個人化特殊的需求得以得到滿足
Mahout 簡介
Apache Mahout
• Apache Mahout™ 是個具規模可擴充性的機器學
 習(machine learning)程式庫
• 開放原始碼-當然!
• Mahout在Apache Hadoop ™ 上,使用了
 map/reduce的演算法,實作了 clustering,
 classification, 以及 collaborative filtering的核心演
 算法
• 除了跑在分散式/雲端多節點的Hadoop平台上之外
 ,其中也提了單一節點以及非Hadoop的實作版本
• 其核心程式庫即使是非分散式的版本,也都經高
 度最佳化因而能提供極佳的效能
Mahout 的發展歷史
• 原先是 Lucene 中的子計畫
 – 專門發展和Machine Learning有關的部份
   接著獨立出來
• 整合了做CF演算法的 Taste
• 2010 年成為Apache的 top-level 專案
Mahout 的演算法 (1/2)
• 推薦引擎
 – 指協同過濾式(Collaborative Filtering)推薦
• 分類演算法
 – Bayesian, Support Vector Machine (SVM), Neural
   Network, Hidden Markov Models, …
• 群集演算法
 – K-Means, Fuzzy K-Means, Hierarchical Clustering, …
• Pattern Mining
 – 頻繁項目集(Frequent Itemset)演算法
Mahout 的演算法 (2/2)
• Regression
• Dimension Reduction
 – Singular Value Decomposition and other
   Dimension Reduction Techniques
• Vector Similarity
為什麼要基於Hadoop
• 推薦系統通常要處理大量、海量的資料
– 計算的規模可擴充性就很重要
• Hadoop是Apache軟體基金會計畫中裡開放
原始碼的並行運算工具和分散式檔案系統
– MapReduce
– HDFS
• 只要增加新的節點就能提供更多的計算量
– 解決規模可擴充性問題
取得Mahout
• Mahout 是以 Java 寫成的一套程式庫
 – 可運行在支援Java的各種平台
 – 沒有前端的使用者介面、也不需要任何伺服器,僅供應
   用程式以程式庫方式運用
• 下載
 – https://cwiki.apache.org/confluence/display/MAHOUT/
   Downloads
• 原始碼
 – https://cwiki.apache.org/confluence/display/MAHOUT/V
   ersion+Co
在開始寫程式之前 …
• Mahout 只是提供演算法計算的工具
• 基於Mahout,推薦結果的優與劣將取決於
– 如何將應用上的問題轉換成演算法可處理的資料
– 選擇合適的演算法及參數
– 搭配其他的演算法或考量其他因素
CF推薦系統的基本元素
• Item
 – 能被推薦給使用者的項目
• User
 – 能對Item做評分、能被系統推薦Item的使用者
• Preference
 – User對Item的評分
 – { userId, itemId, rating }
推薦應用實例
• YouTube
 – 使用者{觀看、喜歡、不喜歡、 評分}影片
• Facebook
 – 使用者{點擊、按讚}連結或狀態更新
• 新聞
 – 使用者{觀看、喜歡、不喜歡}新聞
User-Item Matrix
           Item 1   Item 2   Item 3



  User a     2        3        2



  User b     4       ?         3



  User c     1        5       ?
User-based vs. Item-based
• User-based
 – 基於使用者間的相似性推薦項目
• Item-based
 – 基於項目間的相似性推薦給使用者
• 各有優劣
 – User-based的推薦品質好
 – Item-based的演算速度快
相鄰(Neighborhood)
 • 推薦和你相鄰(最相似)的那群人也感興趣的




*圖例源自於 Daniel Glauser 的“Machine Learning with Apache Mahout”
相似度(Similarity)
• 何謂相似?
• 定義了相似才能知道那一些是最相似
• 相似度是推薦技術中很重要的基礎
– 不單是對CF而言
– 相似就是接近(接近你會感興趣的東西)

• 我們可以用很多方式來定義相似
– 例如:在向量空間中兩向量間的距離(餘弦角度)
Mahout中提供的相似度演算法
• Pearson Correlation Similarity
• Euclidian Distance Similarity
• Tanimoto Coefficient Similarity
• Log Likelyhood Similarity
•…
例:Pearson Correlation Similarity



• 基於關聯性得出的相似度
• P(a,i) = 使用者a 與使用者i 間的相似度
•    使用者a 對第 j 個產品的喜好程度
•    使用者對i 對第 j 個產品的喜好程度
•    使用者 i 的平均喜好程度
•    使用者a 的平均喜好程度
Pearson Correlation Similarity
• 此相似性定義可得出介於1至-1間的值
• 值為1
 – 兩個數列傾向相似
• 值為0
 – 兩個數列沒有相似傾向
• 值為-1
 – 兩個數列傾向相反
簡單的推薦程式範例 (1/2)
 class RecommenderIntro {
   public static void main(String[] args) throws Exception {
     DataModel model = new FileDataModel (new File("intro.csv"));
     UserSimilarity similarity = new PearsonCorrelationSimilarity (model);
     UserNeighborhood neighborhood =
            new NearestNUserNeighborhood (2, similarity, model);




*此例出自 Sean Owen 等人所著 “Mahout in Action” 一書
簡單的推薦程式範例 (2/2)
        Recommender recommender = new
           GenericUserBasedRecommender ( model, neighborhood,
                                            similarity);
        List<RecommendedItem> recommendations =
                                       recommender.recommend(1, 1);
        for (RecommendedItem recommendation : recommendations) {
           System.out.println(recommendation);
        }
    }
}

RecommendedItem [item:104, value:4.257081]



*recommender.recommend(1, 1): 針對 user 1 推薦 1 個 item
各組成之間的關係
評估推薦結果的優劣
• 通常是利用一組現成的實際資料
 – 例:以其中的70%來訓練

• 抽出部份的資料不餵給推薦系統
 – 例:以其中的30%來測試

• 評估推薦結果和實際資料的落差
• Mahout提供了RecommenderEvaluator的實作類
 別,供你評估推薦結果的優劣
 – AverageAbsoluteDifferenceRecommenderEvaluator
 – RecommenderIRStatsEvaluator -> precision/recall
Mahout中的輸入資料表示
• 前例中已運用DataModel/FileDataModel來
表示輸入資料
• DataModel即Mahout中用以封裝輸入資料
的介面
• DataModel基本上儲存了若干組使用者對項
目的偏好
Mahout中的使用者偏好
• Mahout用Preference介面來表示使用者偏
好
 – long userID
 – long itemID
 – float value
• 最簡單的Preference實作就是
GenericPreference
 – GenericPreference(long userID, long itemID,
   float value)
輸入資料必須被有效率的儲存
• 推薦系統要面對的時常是海量的資料
 – 每一byte都必須斤斤計較
• 一組Preference該如何表示?
 – Collection<Preference>還是Preference[]?
 – 都太佔用記憶體




                                *圖例出自Sean Owen 等人所著
                                 “Mahout in Action” 一書
PreferenceArray in Mahout
    • 為了有效率的儲存偏好資料,Mahout特製
      了一個PreferenceArray介面
       – 其最簡單的實作就是
         GenericUserPreferenceArray




*圖例出自Sean Owen 等人所著 “Mahout in Action” 一書
提升儲存空間的效率
• 因為推薦系統的輸入資料有其固定的特性
 – 例如user ID/item ID都可以用long來表示
• 所以不需要泛用的Java的一些Collection
 – 例如HashMap或HashSet
 – 如此一來,便可降低儲存空間以及處理的複雜度
• FastIDSet ( 平均 14 bytes ) vs. HashSet (
 84 bytes )
• FastByIDMap vs. HashMap
GenericDataModel如何實作
• GenericDataModel是最簡單的DataModel
 – In-memory
• GenericDataModel利用FastByIDMap將多
個user ID對映到PreferenceArray
 – 藉以儲存多個使用者的偏好
輸入資料的更新
• Mahout中透過Refreshable介面來處理輸入
資料的更新事宜
• 當資料有所更新時,所有實作Refreshable
的類別,都可以被呼叫refresh()來做更新
 – 例如Recommender在被呼叫refresh()時,會先
   呼叫DataModel的refresh(),接著自己再做更新
   的動作
• FileDataModel支援更新檔
 – 將更新的資料以另一更新檔儲存,如此便毋需全
   盤更新
將輸入資料儲存於資料庫中
• 將資料儲存在關聯式資料庫
 – 儲存在記憶體中雖然快,但很多時候記憶體不夠
   大
• JDBCDataModel
 – MySQLJDBCDataModel
• Mahout對JDBCDataModel有預設的既定
 schema
沒有偏好程度的偏好
• 只分喜歡和沒有喜歡二者
 – 例如:Facebook的讚
• BooleanPrefDataModel
 – 實際上偏好值都是1.0
Mahout大幅簡化推薦程序
• 應用程式的開發者的焦點
– 如何產生好的輸入資料
– 挑選適合的演算法參數(相似度、相鄰)
– 搭配多種推薦技術或後處理動作,綜合評分排序
分散式/雲端化計算下的Mahout推薦
• 基於Hadoop
• 步驟
 – 設定Hadoop
 – 產生輸入資料檔
 – 執行
   org.apache.mahout.cf.taste.hadoop.item.Recommende
   rJob
• Amazon’s Elastic MapReduce service
 – http://aws.amazon.com/elasticmapreduce/
結論
• Mahout中提供了許多在Machine Learning以及CF
 推薦中有用的演算法實作
 – 同時考量到實際上會有的海量資料

• Mahout大幅簡化這些演算法的實作運用於程式設
 計上的程序
• Mahout可依需要做單機的運用,或分散式甚至是
 雲端上的計算
• 有了Mahout後,應用開發者可以更專注在輸入及
 輸出資料的處理,而這才是應用上的大問題
Thanks
qing.chwang at gmail.com

Weitere ähnliche Inhalte

Andere mochten auch

Mahout資料分析基礎入門
Mahout資料分析基礎入門Mahout資料分析基礎入門
Mahout資料分析基礎入門Jhang Raymond
 
經典研讀讀書會 2009 06_24 主讀者:洪偉朕_
經典研讀讀書會  2009 06_24 主讀者:洪偉朕_經典研讀讀書會  2009 06_24 主讀者:洪偉朕_
經典研讀讀書會 2009 06_24 主讀者:洪偉朕_sugeladi
 
開發實用創新的 Android 應用程式
開發實用創新的 Android 應用程式開發實用創新的 Android 應用程式
開發實用創新的 Android 應用程式建興 王
 
開放原始碼的回收與再利用
開放原始碼的回收與再利用開放原始碼的回收與再利用
開放原始碼的回收與再利用建興 王
 
lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫建興 王
 
認識 C++11 新標準及使用 AMP 函式庫作平行運算
認識 C++11 新標準及使用 AMP 函式庫作平行運算認識 C++11 新標準及使用 AMP 函式庫作平行運算
認識 C++11 新標準及使用 AMP 函式庫作平行運算建興 王
 
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 JavaIKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java建興 王
 
在雲端上啜飲爪哇
在雲端上啜飲爪哇在雲端上啜飲爪哇
在雲端上啜飲爪哇建興 王
 
Introduction to C++ over CLI
Introduction to C++ over CLIIntroduction to C++ over CLI
Introduction to C++ over CLI建興 王
 
從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby建興 王
 
Hp54 如何開始一個讀書會 分享
Hp54 如何開始一個讀書會 分享Hp54 如何開始一個讀書會 分享
Hp54 如何開始一個讀書會 分享Chunpai Niu
 
Introduction to Apache Mahout
Introduction to Apache MahoutIntroduction to Apache Mahout
Introduction to Apache MahoutEdureka!
 
Tag based recommender system
Tag based recommender systemTag based recommender system
Tag based recommender systemKaren Li
 
陸:讀書會 Ch1 社交網站界面設計 破冰_公開版
陸:讀書會 Ch1 社交網站界面設計 破冰_公開版陸:讀書會 Ch1 社交網站界面設計 破冰_公開版
陸:讀書會 Ch1 社交網站界面設計 破冰_公開版Phoebe Lu
 
Elasticsearch 實戰介紹
Elasticsearch 實戰介紹Elasticsearch 實戰介紹
Elasticsearch 實戰介紹Kang-min Liu
 
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)Will Huang
 
從開發人員角度十分鐘理解區塊鏈技術
從開發人員角度十分鐘理解區塊鏈技術從開發人員角度十分鐘理解區塊鏈技術
從開發人員角度十分鐘理解區塊鏈技術Will Huang
 
Apache Mahout 於電子商務的應用
Apache Mahout 於電子商務的應用Apache Mahout 於電子商務的應用
Apache Mahout 於電子商務的應用James Chen
 
Building a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engineBuilding a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engineNYC Predictive Analytics
 

Andere mochten auch (20)

Mahout資料分析基礎入門
Mahout資料分析基礎入門Mahout資料分析基礎入門
Mahout資料分析基礎入門
 
經典研讀讀書會 2009 06_24 主讀者:洪偉朕_
經典研讀讀書會  2009 06_24 主讀者:洪偉朕_經典研讀讀書會  2009 06_24 主讀者:洪偉朕_
經典研讀讀書會 2009 06_24 主讀者:洪偉朕_
 
開發實用創新的 Android 應用程式
開發實用創新的 Android 應用程式開發實用創新的 Android 應用程式
開發實用創新的 Android 應用程式
 
開放原始碼的回收與再利用
開放原始碼的回收與再利用開放原始碼的回收與再利用
開放原始碼的回收與再利用
 
lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫
 
認識 C++11 新標準及使用 AMP 函式庫作平行運算
認識 C++11 新標準及使用 AMP 函式庫作平行運算認識 C++11 新標準及使用 AMP 函式庫作平行運算
認識 C++11 新標準及使用 AMP 函式庫作平行運算
 
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 JavaIKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java
 
在雲端上啜飲爪哇
在雲端上啜飲爪哇在雲端上啜飲爪哇
在雲端上啜飲爪哇
 
Introduction to C++ over CLI
Introduction to C++ over CLIIntroduction to C++ over CLI
Introduction to C++ over CLI
 
從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby
 
Hp54 如何開始一個讀書會 分享
Hp54 如何開始一個讀書會 分享Hp54 如何開始一個讀書會 分享
Hp54 如何開始一個讀書會 分享
 
Introduction to Apache Mahout
Introduction to Apache MahoutIntroduction to Apache Mahout
Introduction to Apache Mahout
 
Tag based recommender system
Tag based recommender systemTag based recommender system
Tag based recommender system
 
陸:讀書會 Ch1 社交網站界面設計 破冰_公開版
陸:讀書會 Ch1 社交網站界面設計 破冰_公開版陸:讀書會 Ch1 社交網站界面設計 破冰_公開版
陸:讀書會 Ch1 社交網站界面設計 破冰_公開版
 
Elasticsearch 實戰介紹
Elasticsearch 實戰介紹Elasticsearch 實戰介紹
Elasticsearch 實戰介紹
 
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
 
Elasticsearch 簡介
Elasticsearch 簡介Elasticsearch 簡介
Elasticsearch 簡介
 
從開發人員角度十分鐘理解區塊鏈技術
從開發人員角度十分鐘理解區塊鏈技術從開發人員角度十分鐘理解區塊鏈技術
從開發人員角度十分鐘理解區塊鏈技術
 
Apache Mahout 於電子商務的應用
Apache Mahout 於電子商務的應用Apache Mahout 於電子商務的應用
Apache Mahout 於電子商務的應用
 
Building a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engineBuilding a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engine
 

Ähnlich wie 「沙中撈金術」﹣談開放原始碼的推薦系統

推荐与广告
推荐与广告推荐与广告
推荐与广告agawu
 
推荐系统规划
推荐系统规划推荐系统规划
推荐系统规划2005000613
 
空望 推荐系统@淘宝
空望 推荐系统@淘宝空望 推荐系统@淘宝
空望 推荐系统@淘宝topgeek
 
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...Souyi Yang
 
網路2.0時代情報蒐集術
網路2.0時代情報蒐集術網路2.0時代情報蒐集術
網路2.0時代情報蒐集術基欽 劉
 
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅Shengyou Fan
 
數位科技工具在自我學習上的運用
數位科技工具在自我學習上的運用數位科技工具在自我學習上的運用
數位科技工具在自我學習上的運用基欽 劉
 
2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdfFEG
 
網站規劃
網站規劃網站規劃
網站規劃jiannrong
 
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談Drupal Taiwan
 
machine learning introduction
machine learning introduction machine learning introduction
machine learning introduction FEG
 
特卖场景下的大数据平台和机器学习实践
特卖场景下的大数据平台和机器学习实践特卖场景下的大数据平台和机器学习实践
特卖场景下的大数据平台和机器学习实践Leo Zhou
 
2016.8.1 Design Pattern Eric
2016.8.1 Design Pattern Eric2016.8.1 Design Pattern Eric
2016.8.1 Design Pattern Eric柏亨 盧
 
深度學習(Deep learning)概論- 使用 SAS EM 實做
深度學習(Deep learning)概論- 使用 SAS EM 實做深度學習(Deep learning)概論- 使用 SAS EM 實做
深度學習(Deep learning)概論- 使用 SAS EM 實做SAS TW
 
Mealionaire: A context-aware and ontology-based mobile recommender system for...
Mealionaire: A context-aware and ontology-based mobile recommender system for...Mealionaire: A context-aware and ontology-based mobile recommender system for...
Mealionaire: A context-aware and ontology-based mobile recommender system for...Carter Chen
 
Jira live demo 2017
Jira live demo 2017Jira live demo 2017
Jira live demo 2017Linktech
 
Lecture notice about Embedded Operating System Design and Implementation
Lecture notice about Embedded Operating System Design and ImplementationLecture notice about Embedded Operating System Design and Implementation
Lecture notice about Embedded Operating System Design and ImplementationNational Cheng Kung University
 
Recommendation survey and summary
Recommendation survey and summaryRecommendation survey and summary
Recommendation survey and summaryStefanie Zhao
 
一淘广告机器学习
一淘广告机器学习一淘广告机器学习
一淘广告机器学习Shaoning Pan
 

Ähnlich wie 「沙中撈金術」﹣談開放原始碼的推薦系統 (20)

推荐与广告
推荐与广告推荐与广告
推荐与广告
 
推荐系统规划
推荐系统规划推荐系统规划
推荐系统规划
 
空望 推荐系统@淘宝
空望 推荐系统@淘宝空望 推荐系统@淘宝
空望 推荐系统@淘宝
 
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
 
網路2.0時代情報蒐集術
網路2.0時代情報蒐集術網路2.0時代情報蒐集術
網路2.0時代情報蒐集術
 
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅
 
數位科技工具在自我學習上的運用
數位科技工具在自我學習上的運用數位科技工具在自我學習上的運用
數位科技工具在自我學習上的運用
 
2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf
 
網站規劃
網站規劃網站規劃
網站規劃
 
20150206 aic machine learning
20150206 aic machine learning20150206 aic machine learning
20150206 aic machine learning
 
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
[DCTPE2011] 11) Drupal 是好的生財工具嗎? 2. 中小型網站製作公司/工作室座談
 
machine learning introduction
machine learning introduction machine learning introduction
machine learning introduction
 
特卖场景下的大数据平台和机器学习实践
特卖场景下的大数据平台和机器学习实践特卖场景下的大数据平台和机器学习实践
特卖场景下的大数据平台和机器学习实践
 
2016.8.1 Design Pattern Eric
2016.8.1 Design Pattern Eric2016.8.1 Design Pattern Eric
2016.8.1 Design Pattern Eric
 
深度學習(Deep learning)概論- 使用 SAS EM 實做
深度學習(Deep learning)概論- 使用 SAS EM 實做深度學習(Deep learning)概論- 使用 SAS EM 實做
深度學習(Deep learning)概論- 使用 SAS EM 實做
 
Mealionaire: A context-aware and ontology-based mobile recommender system for...
Mealionaire: A context-aware and ontology-based mobile recommender system for...Mealionaire: A context-aware and ontology-based mobile recommender system for...
Mealionaire: A context-aware and ontology-based mobile recommender system for...
 
Jira live demo 2017
Jira live demo 2017Jira live demo 2017
Jira live demo 2017
 
Lecture notice about Embedded Operating System Design and Implementation
Lecture notice about Embedded Operating System Design and ImplementationLecture notice about Embedded Operating System Design and Implementation
Lecture notice about Embedded Operating System Design and Implementation
 
Recommendation survey and summary
Recommendation survey and summaryRecommendation survey and summary
Recommendation survey and summary
 
一淘广告机器学习
一淘广告机器学习一淘广告机器学习
一淘广告机器学习
 

「沙中撈金術」﹣談開放原始碼的推薦系統