---
# System prepended metadata

title: RS 的應用領域
tags: [common_ground]

---

## 介紹
![截圖 2024-10-11 下午5.06.32](https://hackmd.io/_uploads/SyIiqvLJyl.png)



### 推薦技術 (Recommendation Techniques) 與推薦模型 (Recommendation Model) 的差異

#### 推薦技術 (Recommendation Techniques)
- 概念： 是一系列方法或算法，用於分析用戶資料和物品信息，以找出用戶可能感興趣的物品。
- 作用： 提供了一種解決推薦問題的思路和框架。
- 例子： 協同過濾、基於內容的過濾、矩陣分解、聚類等。
- 特徵：
    - 多樣性： 有許多不同的推薦技術可供選擇，每種技術都有其優缺點和適用場景。
    - 靈活性： 可以根據不同的需求和資料特徵，選擇或組合不同的推薦技術。
#### 推薦模型 (Recommendation Model)
- 概念： 是基於推薦技術，使用具體的算法和參數構建的數學模型。
- 作用： 用於對用戶的行為進行建模，並根據模型預測用戶對物品的偏好。
- 例子： 基於用戶的協同過濾模型、基於物品的協同過濾模型、深度學習推薦模型等。
- 特徵：
    - 具體性： 比推薦技術更具體，有明確的數學表達和實現方式。
    - 可訓練性： 通過訓練，模型可以學習到資料中的模式，提高推薦的準確性。

#### 總結
- 推薦技術 就像是一個工具箱，裡面有各種工具可以拿來使用。
- 推薦模型 則是使用這些工具打造出來的具體產品，可以根據不同的需求進行定制。

- 協同過濾 是一種推薦技術，它利用用戶之間的相似性來進行推薦。
- 基於用戶的協同過濾模型 是一種具體的推薦模型，它實現了協同過濾的思想，通過計算用戶之間的相似度來生成推薦列表。

- 推薦技術 提供了推薦系統的理論基礎和方法論。
- 推薦模型 是推薦技術的具體實現，用於解決實際的推薦問題。
- 兩者之間的關係是： 推薦技術是推薦模型的基礎，而推薦模型是推薦技術的應用。

### procecsess of generarl rcommenedatiaotion sysmtem hybrid
![截圖 2024-10-11 下午5.28.03](https://hackmd.io/_uploads/HJmhJ_LJ1e.png)

- 混合系統 (Hybrid System)：這代表了整個推薦系統的架構，它結合了基於內容和協同過濾的優點。

#### 基於內容的過濾 (Content-Based Filtering)：

- 物品表示 (Item Representation)：將每個物品轉換為一個特徵向量，例如電影的類型、演員、導演等。
- 用戶模型 (User Modeling)：建立用戶的興趣模型，表示用戶喜歡哪些類型的物品。
- 描述 (Description of items)：也就是物品的特徵向量。
- 用戶的配置文件 (Users' Profiles)：用戶的興趣模型。
- 項目-配置文件匹配 (Profile-Item matching)：比較物品的特向量和用戶的興趣模型，找到最匹配的物品推薦給用戶。
#### 協同過濾 (Collaborative Filtering)：

- 物品 (Items)：系統中的所有物品。
- 用戶模型 (User Modeling)：建立用戶的興趣模型，但這裡主要關注用戶與其他用戶的相似性。
- Top-N預測鄰居 (Top-N predicted Neighbours)：找到與目標用戶最相似的N個用戶。
- 配置文件匹配 (Profile Matching)：比較目標用戶和相似用戶的配置文件，找到他們共同喜歡的物品。
- 信息評分資料 (Information Rating Data)：用戶對物品的評分或交互資料。
#### 整體工作流程：
1. 建立物品和用戶的表示：將物品和用戶轉換為計算機可以處理的數學表示。
2. 計算相似性：
    - 基於內容：計算物品之間的相似性，以及用戶的興趣模型與物品特徵的相似性。
    - 協同過濾：計算用戶之間的相似性，找到與目標用戶最相似的用戶。
3. 生成推薦列表：
    - 基於內容：根據物品相似性和用戶興趣，生成推薦列表。
    - 協同過濾：根據相似用戶的偏好，生成推薦列表。
4. 結合推薦結果：將基於內容和協同過濾的推薦結果進行整合，產生最終的推薦列表。

#### 混合系統的優勢：
- 結合兩者的優點：既能利用用戶的歷史行為資料，又能考慮物品的內容特徵。
- 緩解冷啟動問題：對於新用戶或新物品，可以通過基於內容的過濾來進行推薦。
- 提高推薦準確性：通過結合兩種方法，可以更全面地捕捉用戶的興趣。


### 2.1.2 協同過濾
- 可能面臨的三個問題
    - sparsity：稀疏性問題是當沒有足夠的資料可用於推薦時發生的問題
    - cold start：稀疏性問題是當沒有足夠的資料可用於推薦時發生的問題
    - gray sheep：當評估資料與個體用戶相似的用戶集太小時，就會出現推薦困難
- 目前有看到的解方：為了解決這個問題，已經研究了基於模型的協同過濾，它使用用戶評估的資料估計或學習預測模型。對於基於模型的協同過濾，主要使用了聚類、SVD 和 PCA 等技術。


### 2.1.3 混合過濾

1. 加權混合 (Weighted Hybridization)：根據用戶對物品的評分與推薦系統預測的評分一致程度，逐步調整權重，來決定最終的推薦結果。這意味著，系統會更重視用戶過去的行為，同時也會考慮到其他因素。
2. 切換混合 (Switching Hybridization)：根據不同的情況，切換使用不同的推薦模型。例如，當用戶是新用戶時，可能主要使用基於內容的過濾，而當用戶有足夠的歷史行為資料時，則可以更多地使用協同過濾。
3. 級聯混合 (Cascaded Hybridization)：先使用一種推薦模型生成一個候選集，然後再用另一個模型對候選集進行排序，以產生最終的推薦列表。這種方法可以利用不同模型的優勢，提高推薦的精準度。
4. 混合混合 (Mixed Hybridization)：當需要同時推薦多個物品時，基於內容的過濾可以根據物品的描述進行推薦，但對於新物品可能存在冷啟動問題。混合混合方法通過整合用戶過去的歷史資料來解決這個問題，即結合用戶的歷史行為和物品的內容特徵進行推薦。（聽起來對於新的議題推薦好像會有點東西？）
5. 特徵組合 (Feature Combination)：將協同過濾模型應用於物品的特徵資料和示例資料，而基於內容的過濾模型則應用於增強資料。這種方法將兩種模型的優勢結合起來，提高推薦的準確性。
6. 特徵增強 (Feature Augmentation)：使用一個推薦系統模型對物品的偏好得分或物品進行分類，然後將生成的資訊整合到下一個推薦系統模型中。這是一種迭代優化的方法，可以逐步提高推薦的精準度。
7. 元級別 (Meta-Level)：將一個推薦系統的整個模型作為另一個模型的輸入資料。由於用戶的品味被壓縮並使用元級別表示，因此與使用原始評分資料作為單一輸入資料相比，更容易操作協同機制。

## 2.2
![截圖 2024-10-12 上午10.52.05](https://hackmd.io/_uploads/HyZDNDPykg.png)


#### 不同階段的解釋
- 資料 (Data)： 這是資料挖掘的起點，代表我們要分析的原始資料。這些資料可以來自各種來源，例如資料庫、日誌文件、感測器資料等。
- 服務環境理解 (Service Environment Understanding)： 在開始資料挖掘之前，我們需要對整個服務環境有一個清楚的認識。這包括了解業務目標、資料的產生方式、資料的品質等。
- 資料理解 (Data Understanding)： 這一階段是對資料進行初步的探索和分析。我們需要了解資料的結構、內容、質量，並發現其中的潛在問題。
- 資料準備 (Data Preparation)： 在這個階段，我們對資料進行清洗、轉換、集成等處理，以確保資料的質量和一致性，使其適合建模。
- 建模 (Modeling)： 這是資料挖掘的核心階段，我們選擇適當的資料挖掘算法，建立模型，從資料中挖掘出有價值的模式和知識。
- 解釋/評估 (Interpretation/Evaluation)： 對模型的結果進行解釋和評估，以確定模型的準確性、可靠性以及是否符合業務需求。
- 部署 (Deployment)： 將模型部署到實際應用中，為決策提供支持。

#### 摘要
- 在部署模型後，我們可能會發現模型的表現並不如預期，或者業務需求發生了變化，這就需要我們回到資料理解階段，重新評估資料，並對模型進行調整。
- 同時，服務環境也在不斷變化，因此我們需要持續關注服務環境的變化，並對模型進行更新。
- 這張圖強調了資料挖掘是一個迭代的過程，而不是一次性的活動。 資料挖掘的成功不僅依賴於強大的算法，還需要對業務有深入的了解，以及對資料的全面掌握。

### 2.2.1 Text Mining

- 文本挖掘通過在基於內容的過濾推薦模型中執行語義分析來推薦相似的物品。此外，協同過濾推薦模型評估用戶之間的信息資料的語義知識，從而能夠通過相似性進行物品推薦。
![截圖 2024-10-12 上午10.56.53](https://hackmd.io/_uploads/H1eKHPwyJl.png)

- 基於內容的過濾推薦模型中主要使用的文本挖掘技術是詞頻-逆文檔頻率 (TF-IDF)，它根據特定文本的重複次數給予權重。這種技術將文檔的文本組件表示為向量，然後通過使用權重函數 TF-IDF 來計算特定文檔中單詞的相對頻率來識別術語的重要性[66]。文本挖掘技術主要用於醫療保健、教育、旅遊和學術服務。
#### 重點摘要
- 文本挖掘的重要性： 在推薦系統中，準確理解文本的含義是提供精準推薦的關鍵。
- FLM 的優勢： FLM 可以幫助我們更好地處理自然語言的模糊性，並從文本中提取更多的信息。
- 上下文感知的重要性： 考慮上下文能讓推薦系統更智能，更能滿足用戶的需求。

### 2.2.2 KNN

- 當 KNN 演算法應用於推薦系統時，可以根據用戶的搜尋模式對用戶進行分類，並預測用戶未來的偏好。通過分析用戶的網頁伺服器日誌和點擊流資料等行為資料，可以將用戶分類為具有相似品味的群體，然後根據這些結果推薦適合的物品。

- 使用 KNN 演算法的推薦模型效果並不好。由於 KNN 需要選擇一個合適的 K 值來控制模型的性能，因此存在需要重複實驗且容易受到 K 值影響的缺點
- 此外，當輸入資料量很大時，KNN 的性能會下降。因此，當輸入資料量很大時，應該使用降維技術將資料轉換為更有意義的表示。降維的主要目的是在不丟失信息的情況下減少資料的維度

### 2.2.3 K-means
主要介紹集群分析在推薦系統中的應用，特別是 K-Means分析。集群分析可以將用戶或物品分成不同的群組，根據這些群組來進行推薦。這種方法的優點是：

- 降低複雜度: 將大量的資料分為較小的群組，簡化了計算。
- 提高效率: 可以更快地找到相似的用戶或物品。
- 發現隱藏的模式: 可以發現資料中潛在的結構和關係。
#### K-Means缺點：

- 對初始值敏感: 不同的初始值可能會導致不同的結果。
- 只能發現球形群集: 對非球形或不規則形狀的群集效果不好。
- 需要預先設定群集數量: K 值的選擇會影響最終的結果。



- 相關 paper:A Collaborative Filtering Recommendation Algorithm Based on User Clustering and Item Clustering
    - 通過研究基於物品之間相似性找到與推薦目標用戶相似的群組的方法，解決了現有協同過濾方法的可擴展性和稀疏性問題。

### 2.2.4 Matrix Factorization

- 矩陣分解經常用在推薦系統中的應用。矩陣分解可以將用戶和物品表示為低維的向量，通過計算這些向量之間的相似性來進行推薦。這種方法的優點是：

1. 解決稀疏性問題: 可以處理用戶評分資料不完整的情況。
2. 可擴展性好: 可以處理大規模的資料集。
3. 靈活性強: 可以利用各種用戶行為資料進行推薦。
4. 解釋性強: 可以找到潛在的用戶和物品特徵。
#### 總結

- 矩陣分解是一種強大的推薦系統技術，在實際應用中取得了很好的效果。它不僅可以解決協同過濾 (CF) 中的稀疏性問題，還可以利用更多的用戶行為資料來提高推薦的準確性。


### 2.2.5 NN

以在難以用歷史資料理解用戶偏好的情況下獲取額外資料。此外，He 等人使用深度神經網絡 (DNN) 對嘈雜的隱式反饋資料進行建模，以提高推薦系統的性能；深度學習具有提高推薦系統性能的潛力。換句話說，在開發推薦系統時，神經網絡被用於建模研究，以額外地確保和補充資料，以解決協同過濾中的稀疏性和冷啟動問題，或為了提高推薦系統本身的性能。

- 概要的來說可以理解 DNN 在推薦系統領域有更好的推薦能力，並且有相關研究能夠解決冷啟動還有資料的稀疏性問題



## 2.3 推薦系統的應用領域

- 推薦系統不局限於單一領域，而是被廣泛應用於各種服務中。研究者將這些應用領域分為七大類，並通過分析相關論文，總結了這些領域中推薦系統的常見應用方式。

- 七大類應用領域：

1. 串流服務：如Netflix、Spotify等，為用戶推薦影視作品、音樂等。
2. 社交網路服務：如Facebook、Instagram等，為用戶推薦好友、內容等。
3. 旅遊服務：[已移除無效網址]、TripAdvisor等，為用戶推薦景點、酒店等。
4. 電子商務服務：如Amazon、淘寶等，為用戶推薦商品。
5. 醫療保健服務：如醫療診斷系統，為醫生推薦治療方案。
6. 教育服務：如線上學習平台，為學生推薦課程。
7. 學術資訊服務：如學術論文搜尋引擎，為研究人員推薦相關文獻。
8. ![截圖 2024-10-12 下午5.34.14](https://hackmd.io/_uploads/rkQsfTDJ1e.png)


### 2.3.2. Social Network Service
SNS，可以收集使用者發布貼文所註冊的內容資訊。此外，還可以收集使用者評價數據；除了評分數據，還包括各種形式的回饋數據，例如點讚和評論。收集到的數據不僅用於SNS內的推薦，還可以應用於其他企業的推薦系統。換句話說，透過SNS收集的各種數據與推薦系統的發展密切相關。

由於SNS連接了許多非好友關係的使用者，因此可以分析與使用者相似其他使用者的數據，以產生推薦。因此，協同過濾和混合推薦模型很容易應用。圖17展示了SNS推薦系統中主要使用的混合推薦模型的概念和原理結構。

![截圖 2024-10-12 下午5.44.25](https://hackmd.io/_uploads/rkLWS6Dkyg.png)



- 傳統的協同過濾方法雖然能根據使用者與其他使用者的相似性來推薦物品，但存在冷啟動、稀疏性和灰羊問題。為了解決這些問題，研究者們開始探索將協同過濾與其他模型結合起來的混合推薦方法。

- 協同過濾與其他模型的結合：
    - Kim等人提出了一個Twitter追隨者推薦系統 TWILITE，結合了矩陣分解和LDA（Latent Dirichlet Allocation）模型，同時推薦使用者感興趣的推文。實驗結果表明，該模型在召回率、精確度和平均命中排名等指標上表現優於其他模型，特別是對於冷啟動使用者。
    - Yang等人也研究了基於信任的協同過濾模型，通過定義信任關係來克服協同過濾的缺點。實驗結果表明，該模型在各種性能指標上都優於其他模型。
- 混合推薦模型的多樣性：
    - Amato等人提出了一種混合推薦模型，結合了使用者互動數據、多媒體內容和文本挖掘技術，為使用者提供個性化的推薦。
    - Capdevila等人提出了一種基於使用者地理位置和文本分析的混合推薦模型，可以為使用者推薦物品和地點。

- 以上這些比較符合我們的或者我們的 MVP 可以透過 Kim 的 TWILITE 嘗試實作

![image](https://hackmd.io/_uploads/BJEGYpw1yx.png)


- SNS Followers or Item Recommendation
    - 目標： 主要針對推薦使用者可能感興趣的其他使用者或物品。
- Information recommendation using SNS data
    - 目標： 主要針對推薦使用者感興趣的資訊，例如新聞、文章、視頻等。
    - 後續可以讀一下這一篇 [12](https://linkinghub.elsevier.com/retrieve/pii/S0306457319307265)