• 沒有找到結果。

以使用者意見提升推薦系統效能之研究 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "以使用者意見提升推薦系統效能之研究 - 政大學術集成"

Copied!
48
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學資訊科學系 Department of Computer Science National Chengchi University 碩士論文 Master’s Thesis. 立. 政 治 大. ‧ 國. 學 ‧. 以使用者意見提升推薦系統效能之研究 Exploiting User Opinions for Improving Individual Recommendations n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 研 究 生:林金永 指導教授:蔡銘峰. 中華民國 一百零五 年 七 月 July 2016.

(2) 105. 碩 士 論 文. 立. 政 治 大. ‧. ‧ 國. 學. 以 使 用 者 意 見 提 升 推 薦 系 統 效 能 之 研 究. n. er. io. sit. y. Nat. al. 政 治 大 學 資 訊 科 學 系. 林 金 永. Ch. engchi. i n U. v.

(3) 以使用者意見提升推薦系統效能之研究 Exploiting User Opinions for Improving Individual Recommendations 研 究 生:林金永 指導教授:蔡銘峰. Student:Chin-Yung Lin Advisor:Ming-Feng Tsai. 國立政治大學 資訊科學 治系. 立. 政. 碩士論文. 大. ‧ 國. 學 ‧. A Thesis. n. al. er. io. sit. y. Nat. submitted to Department of Computer Science National Chengchi University in partial fulfillment of the Requirements for the degree of i v C h Master U n engchi in Computer Science. 中華民國 一百零五 年 七 月 July 2016.

(4) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 2. i n U. v.

(5) 致謝. 感謝指導教授蔡銘峰博士,在老師悉心的指導下,我才 得以完成這份論文,並能在研究過程中一窺機器學習以及文 字探勘領域知識的奧妙,使我獲益良多。感謝陳志明同學, 有了他的幫助我才能完成這份研究中的實驗。. 立. 政 治 大. ‧. ‧ 國. 學 sit. n. er. io. al. y. Nat. 國立政治大學資訊科學系 July 2016. Ch. engchi. 3. i n U. v. 林金永.

(6) 以使用者意見提升推薦系統效能之研究. 中文摘要 近年來,受惠於網路的盛行及其帶來的便利性,許多網 站得以收集到大量的使用者對於商品之評價以及評論,運用 這些使用者的回饋資料進行分析,以更精準的進行商業行銷 正是當今浪潮。 而推薦系統廣泛應用於商業行銷,常用的推薦系統之計 算理論,乃依據使用者對商品的評分進行協同式的過濾,以 找出合適的產品給予推薦,其理論的基礎是品味相近的消費 者應該會喜歡類似的商品,使用者對商品的評分即為此模式 所採用的依據,例如:運用 User-based Collaborative Filtering ,可以找出與被推薦者的特徵值類似的使用者,並以類似使 用者中較高評分的項目作為推薦清單,這種方式能得到相當 不錯的推薦結果 ,且計算的運算量亦不太大。 相較之下,以使用者對商品的文字評論作為依據的推薦 方法則較為少見,但我們認為文字訊息在推薦系統中亦佔有 相當份量的重要性;直覺上,將使用者的評分與其文字評論 al 作結合進行分析,應可更完整呈現該使用者的意向,並進而 v i n Ch 應能改進推薦系統之推薦效能。在這份論文研究中,我們嘗 engchi U 試結合使用者對商品的評分與文字評論於推薦系統中,並以 一份取自 TripAdvisor.com 的使用者對於飯店評價之資料集進 行實驗,透過 libFM 建立推薦模型;從實驗結果探討中印證 了我們的想法:使用者的文字評論訊息的確能夠用以改進推 薦系統之效能。 關 鍵 字 :推薦系統、協同過濾、文字探勘. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. 4.

(7) Exploiting User Opinions for Improving Individual Recommendations. Abstract Recommender systems have been widely used in commercial markets in recent years. The systems typically produce a list of recommendations in the following two ways: collaborative or contentbased filtering. Collaborative filtering (CF) is based on the assumption that consumers with similar tastes should like similar goods. So the filtering techniques adopt user ratings, such as star ratings or like/dislike buttons, as the value pattern to produce the recommendation list. While in the content-based (CB) filtering, keywords are used to describe the items and a user profile is built to indicate the type of item that users may like. In other words, CB tries to recommend items that are similar to those that a user liked in the past. Both of CF and CB filtering techniques have their pros and cons.. 立. 政 治 大. ‧ 國. 學. ‧. In this paper we propose to exploit textual information into recommendation models via the factorization machine, which is a hybrid method of CF and CB. We use user ratings and text reviews simutaneously to improve the performance of recommender systems. We attempt to use different techniques for building item profiles and different techniques for computing recommendation list. Finally, we experimentally evaluate our results and compare our method with the traditional k-nearest neighbor approach. The experimental results suggest that the proposed method provides better recommendation one via a l performance than the itraditional v exploiting textual information into recommendation models. n C. n. er. io. sit. y. Nat. i U. h. e n g cRecommender h Keywords: Collaborative Filtering, Systems, Text Mining, Factorization Machines.. 5.

(8) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 6. i n U. v.

(9) Contents 致謝. 3. 中文摘要. 4. Abstract. 立. 政 治 大. 5. 1. Introduction. 2. Related Work 2.1 文字探勘(Text Mining) . . . . . . . . . . . . . . 2.2 協同過濾(Collaborative Filtering) . . . . . . . . . 2.2.1 以使用者為基礎(User-based)的協同過濾 2.2.2 以項目為基礎(Item-based)的協同過濾 . . 2.2.3 以模型為基礎(Model-based)的協同過濾 . 2.3 基於內容的過濾(Content-Based Filtering) . . . . 2.4 混合式推薦系統(Hybrid Recommender Systems) 2.5 飯店推薦的相關研究工作 . . . . . . . . . . . . . .. 5 5 7 8 9 10 10 11 12. Ch Methodology i e n g c hMachine 3.1 分解機器函式庫(Factorization Library) . . . . 3.2 資料集與文字前處理(Datasets and Preprocessing steps) 3.2.1 資料集 . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 使用者對飯店評分的分布情形 . . . . . . . . . . 3.2.3 文字前處理 . . . . . . . . . . . . . . . . . . . . . 3.2.4 文字評論資料集統計 . . . . . . . . . . . . . . . .. 15 15 18 18 19 19 21. Experimental Results 4.1 評量指標(Evaluation Metrics) . . . . . . . 4.2 實驗設定(Experimental Settings) . . . . . 4.2.1 實驗程序(Experimental Procedure) 4.3 實驗結果(Experimental Results) . . . . . 4.3.1 libFM Regression 實驗結果 . . . . . 4.3.2 libFM Binary Classification 實驗結果 4.4 討論與分析(Discusssion and Analysis) . .. 23 23 24 26 27 27 28 29. ‧. ‧ 國. 學. . . . . . . . .. er. io. sit. y. Nat. al. n. 3. 4. 5. 1. i n U. Conclusions and Future work. v. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . . .. . . . . . . .. . . . . . . . .. . . . . . . .. . . . . . . .. 31 7.

(10) Bibliography. 33. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 8. i n U. v.

(11) List of Figures 1.1 1.2. 使用者意向模型(User Preference Model) . . . . . . . . 此研究的架構示意圖(The Diagram of the Study) . . .. 3 4. 2.1. 各種詞組權重的變化使用方法(SMART notation for tfidf variants) . . . . . . . . . . . . . . . . . . . . . . . .. 6. 各種不同方法的 MAP@k . . . . . . . . . . . . . . . . .. 學. ‧. io. sit. y. Nat. n. al. er. 4.1. ‧ 國. 3.1 3.2. 政 Input治 libFM 的輸入矩陣(The Matrix大 for libFM) . . . . 使用者評分的分布情況(The Distribution of User Ratings) 立. Ch. engchi. 9. i n U. v. 16 19 30.

(12) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 10. i n U. v.

(13) List of Tables 3.1. 資料集統計值 . . . . . . . . . . . . . . . . . . . . . . . .. 21. 4.1 4.2 4.3. 各用戶類別對於飯店的喜好取向 . . . . . . . . . . . . . 用戶對飯店評分的等第化處理(libFM Regression 實驗) 用戶對飯店評分的等第化處理(libFM Binary Classification 實驗) . . . . . . . . . . . . . . . . . . . . . . . . . 實驗結果:以 libFM Regression 所實驗的 MAP@k . . . 實驗結果:以 libFM Binary Classification 所實驗的 MAP@k. 25 25. 立. 學 ‧. ‧ 國 io. sit. y. Nat. n. al. er. 4.4 4.5. 政 治 大. Ch. engchi. 11. i n U. v. 26 28 28.

(14) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 12. i n U. v.

(15) Chapter 1 Introduction 推薦系統(Recommender Systems)有著各式各樣的應用,舉凡購物時 相關商品的推薦、網頁瀏覽的廣告置入、 影音串流的相關內容推薦, 甚至於線上學習課程的推薦等等,在生活中隨處皆可看見推薦系統的 蹤影, 若要說當今是推薦系統的應用時代並不為過。. 立. 政 治 大. ‧ 國. 學. ‧. 推薦系統的存在,經常是因為在一個存有非常大量的資訊的環境 中, 由於資料量遠遠超過了人們能探訪及尋找的能力,因而極需要一 個協助使用者處理這樣的需求的方案;其中,資訊檢索(Information Retrieval)即是一種解決方案,其運作相近於圖書檢索,使用者可按 照所設想的線索,例如:書名、作者名等等,輸入條件之後,由系統 搜尋索引以找出相關項目來達成需求;然而有時在使用者心中其實並 al v 沒有預設的搜尋目標,於是乎推薦系統應運而生,由資訊系統透過各 i n Ch 種已知的資料來計算出推薦項目告知使用者。 e hi U. n. er. io. sit. y. Nat. ngc. 推 薦 系 統 一 詞 的 意 涵 如 今 已 非 常 廣 泛 , 從 隨 機 推 薦 (Random items) 、 暢 銷 推 薦 (Best-seller) 、 最 潮 的 (Trending Hot) 推 薦 、 情 境 式 的 (Context-based) 推 薦 等 等 ; 到 任 何 能 用 以 產 出 個 人 化 (Personalized)的推薦內容的系統,例如 Collaborating Filtering(CF)、 Content-based Filtering(CB)等等;舉凡只要是有導引消費者或使用 者從大量的選擇項目中找出其感興趣者或者對其有用者的效果之 系統,皆可謂之為推薦系統。推薦系統目前已經整合在許多商業 網 站 , 扮 演 在 商 業 行 為 中 不 可 或 缺 的 角 色 , 譬 如 Amazon.com 及 CDNow.com。 推薦系統與檢索系統或網頁搜尋引擎最大的不同點,在於前者的輸 出主要是讓人感覺有興趣的、有用的、多樣性且個人化的;如何讓推 薦項目更貼近個人使用者的興趣、讓使用者更認為有用是推薦系統的 1.

(16) 首要任務,如果推薦系統推薦了非常洽當的項目給使用者,其使用者 經驗將獲得正面的提升,反之則適得其反,這也正是推薦系統的推薦 效能非常重要的原因。 協 同 過 濾 (Collaborative Filtering) 是 當 前 普 遍 被 採 用 的 推 薦 系 統 演 算 法 , 例 如 基 於 使 用 者 的 協 同 過 濾 (User-based Collaborative Filtering),其原理是收集許多的使用者(User)對於推薦物品(Item) 的評分(Ratings),以評分矩陣(Rating Matrix)進行計算,找出品 味相近的一些使用者,在「品味相近者會喜歡類似的東西,且個人品 味不太會改變」的前提假設下,進行運算後給出推薦清單,因此在這 種推薦假設下,推薦效能(Performance)完全取決於使用者的評分。. 政 治 大. 另一方面,基於內容的過濾(Content-Based Filtering)也是廣為使 用的推薦方式,其原理是基於用戶過去喜歡的產品,將產品的特徵值 抽取出來做具體的呈現,例如以向量空間模型(Vector Space Model) 方式來表示一項產品的特徵值;透過產品項目的相似性計算,可從用 戶過去喜歡的產品相似者找出推薦項目。. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. 自從 Web 2.0 科技開始發展,網路上人與人之間有了資訊交換和協 同合作的行為,原本早期在網路上扮演「內容消費者」角色的使用 者,如今儼然已成了網路內容的創作者,在過去十年間,由使用者所 產出的內容(User-Generated Content)呈現爆炸性的成長;在許多網 al v 站上,使用者的意見迅速的累積,其中也包括了很多對商品或服務 i n Ch 的評論(Reviews),每天可能都有數以百萬計的用戶在 TripAdvisor, engchi U Hotels.com, Amazon, IMDB 等等網站寫下他們的使用者經驗作為意 見,而這些意見對於後來的使用者的採買或者消費行為是很有影響力 的,舉例來說:我們會習慣在購物之前先行搜尋,看看曾用過或買過 相同產品的人的使用心得與評價;旅遊之前通常也會先到 TripAdvisor 網站瀏覽其他人對飯店的評語,隨後再決定要入住哪一家當地的 飯店。然而,使用者所產出的內容也衍生了資訊過量(Information Overload)的問題,例如,若我們到 Amazon 網站瀏覽 Kindle E-reader 這個商品,可看到有約 15,000 條的使用者評論,人們不太可能一一去 閱覽這些評論。 使用者內容(User-Generated Content)的興起使得近年來對於自然 語言處理(Natural Language Processing)以及文字探勘(Text Mining) 等相關領域的學術研究有大量的成長,例如有部分的研究是評 2.

(17) 估 或 如 何 找 出 公 正 且 有 品 質 水 準 的 使 用 者 評 論 , O’Mahony and Smyth [12] 採 用 使 用 者 的 名 聲 (Reputation features) 以 及 評 論 內 容 (Content features) 來 預 測 其 評 論 內 容 水 準 ; Liu 等 學 者 [10] 認 為,使用者評論是否真有助益,取決於三種因素:評論者的專 業能力(Expertise)、寫作風格(Writing Style)以及評論的及時性 (Timeliness); 尤有甚者, Bridge 等人 [3] 在 2009 年發展了一套 The GhostWriter System ,立意是提供一套即時導引工具,協助網路寫 手撰寫出高品質的使用者產品評論。因此,使用者文字評論對於推薦 的重要性由此可見一班。 要得知使用者的喜好與個人品味等意向,最容易的方式就是直接詢 問使用者,讓使用者來回答,例如蒐集使用者對產品或服務的星等評 分(Star Rating)、文字評論(Review)、問卷(Voting)等等明確的 (explicit)使用者意向;此外,也可以由使用者的行為來分析,例如 其瀏覽網站時停留的時間、點擊過哪些相關連結、曾經買過哪些東西 等隱性的(implicit)使用者意向;這些使用者內容都真實反映了使用 者的意見,在推薦系統中,將這些使用者意向引用以作為特徵值對於 推薦系統的效能是非常有所助益的, 圖 1.1 為使用者意向模型的示意 圖。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 1.1: 使用者意向模型(User Preference Model). 綜合以上探討可知,協同過濾(CF)的推薦方式使用了用戶對項 目的評分計算推薦,而基於內容的過濾(CB)則運用了產品特徵值 的方式來計算推薦結果;其實用戶的評分與其評論在推薦系統的應用 3.

(18) 都是非常有價值的。一個推薦系統的推薦效能多半取決於特徵值的運 用,因此我們認為,研究一種將用戶評分及文字評論的內容同時納入 使之成為推薦系統特徵值的技術,以提升推薦效能是一件相當重要的 工作,也會是一個有趣的挑戰;在所增加的計算量不太大的情形下, 使推薦系統達到顯著的推薦效能提升,正是我們的研究初衷與動機。 圖 1.2 呈現了這份研究的架構示意圖。. 立. 政 治 大. ‧. ‧ 國. 學 y. Nat. er. io. sit. 圖 1.2: 此研究的架構示意圖(The Diagram of the Study). n. 我們在這份研究中,使用了libFM [14]這個工具來進行實作,嘗試 al v i 將使用者評論放進原本只以使用者給分為特徵值的預測器,使其成為 n Ch engchi U 特徵值以進行計算。 我們採用了一份收集自 TripAdvisor1 網站的飯店使用者評分以及 評論,總共由十座城市所組成的資料集,並將使用者的喜好取向以 及飯店的文字評論分別以向量空間模型表示成 User Profile 和 Item Profile ,我們以 Boolean、TF (Term Frequency)、TF-IDF 等不同的 詞袋模型詞組權重(Term weighting)設定來進行實驗;實驗結果以 MAP(Mean Average Precision)作為推薦系統的效能評估衡量指標, 與基於使用者的協同過濾(User-based CF)相比較, libFM 在還未加 入文字評論時,推薦效能表現較好,而在加入了文字評論為特徵值 後,實驗結果又有更佳的效能表現;經過 Paired Sample T-Test 檢定, 我們有相當的信心水準可對此一實驗結果作出肯定的結論,即在加入 了使用者評論後,推薦系統的推薦效能是有所提升的。 1. http://www.tripadvisor.com. 4.

(19) Chapter 2 Related Work 推薦系統在商業應用上有著很廣泛的發展與應用,本章節首先簡 介與我們的研究有關的文字探勘領域相關內容,接著介紹各種推薦 方法,其中普遍使用的有協同過濾(Collaborative Filtering)、基於 內容的過濾(Content-based Filtering)、混合式的推薦系統(Hybrid Recommender System)等等。. 立. ‧ 國. 學. 文 字 探 勘 ( Text Mining) ). ‧. 2.1. 政 治 大. n. er. io. sit. y. Nat. 在 自 然 語 言 處 理 以 及 資 訊 檢 索 的 領 域 , 詞 袋 模 型 (Bag-of-words Model)是一種用以簡化文件表示式的方法,在這種模型中,一份 文件被視為在一個袋子裡裝著這份文件的所有文字,模型中只考慮文 al 字出現的次數,或者文字出現與否;而完全不考慮其文法結構以及出 v i n Ch 現的順序,此外,假設文字之間的出現機率是獨立的,彼此沒有相依 engchi U 性。詞袋模型非常廣泛的使用於文件分類等應用層面,其中每個文字 的權重可以文字出現的次數(Term Frequency)來表示。詞袋模型的 優點在於簡單,若有新進文件也能很容易的進行分類;缺點則是其文 字之間彼此獨立的假設在真實的語言分布情況並不成立。 向量空間模型(Vector Space Model,簡稱VSM) [15]是一種把文件 表示為數學概念,即幾何空間中的向量的代數模型。可應用於資訊過 濾、資訊檢索、索引以及相關排序。向量空間模型的定義如下: 將文件 dj 以及查詢 q 都以向量來表示. dj = (w1,j , w2,j , ..., wt,j ). (2.1). q = (w1,q , w2,q , ..., wt,q ). (2.2). dj ∈ D,. D為所有的文件 5. (2.3).

(20) 向量中的每一維皆對應於一個個別的詞組(Term)。如果某個詞組 出現在文件中,則它在向量中的值就非零。在電腦的實際表達與 運算中,數值為零的維度,通常可以省略不儲存與不運算。由於 向量空間模型在概念上簡單,在實務上也容易計算。目前已經發展 出了不少的方法來計算維度的權重 w ,這些 w 值稱之為詞組權重 (Term Weighting),其中一種最為知名的方式是 TF-IDF 權重(Term Frequency - Inverse Document Frequency weighting)。詞組權重可視不 同情況而做不同的設定, 圖 2.1 舉例列出了各種 Term Weighting 的變 化 [11]. 立. 政 治 大. ‧ 國. 學 ‧. 圖 2.1: 各種詞組權重的變化使用方法(SMART notation for tf-idf variants). n. er. io. sit. y. Nat. 詞組的定義可依不同應用情境而定。典型的詞組就是一個單詞、關 鍵詞、或者較長的短語。如果將詞語(Word)選為詞組,那麼向量的 維數就是詞彙表中的詞語個數,也就是出現在語料庫中的不同詞語的 al 個數。通過向量運算,可以對各文件 d 和查詢 qi v作各種應用,例如計 n Ch U 算一查詢與各文件的餘弦相似度(Cosine e n g c h i Similarity),取其中得分較 高者(Top-Scoring)即可找出相似性高的文件。. V~ (q) · V~ (d) score(q, d) = |V~ (q)||V~ (d)|. (2.4). 語意分析(Semantic Analysis)技術係指將一長串的文字或內容, 從其中分析出該個段落的摘要以及大意,甚至更進一步,將整篇文章 的文意整理出來。此項技術可以應用在解讀影片、音訊等檔案,使得 搜尋引擎能夠搜尋到文字以外的物件,方便使用者省去大量時間觀看 影片、聆聽音訊,同時也可以幫助使用者提前了解影片與音訊的內 容。 語意分析技術在早期基於奇異值分解(Singular Value Decompositiob, SVD)、非負矩陣拆解法(Non-negative matrix factorization,NMF) 6.

(21) 等方式,近年來則有用各種型態的類神經網絡(Neural Network, NN) 來完成語意分析。 透過語意分析的技術,我們也可將一篇文章或者評論編碼成向量空 間模型(Vector Space Model)來表示,接著就可以進行各式的應用, 例如比對向量的相似性來作分群或分類;然而,語意分析的處理由於 牽涉到自然語言處理,通常需要語言領域的專家介入,實際執行時也 需要較大的計算量。. 2.2. 協 同 過 濾 ( Collaborative Filtering) ). 政 治 大. 協同過濾是利用興趣相投、擁有共同經驗之群體的喜好來推薦使用者 感興趣的資訊,透過合作的機制由用戶個人給予回饋(如評分),並 記錄下來以達到過濾的目的,進而幫助其他人篩選資訊;使用者回應 不一定是其感興趣的,也包括其不感興趣的資訊的記錄,這些回應對 於協同過濾都相當重要。協同過濾如今是電子商務當中很重要的一 環,即根據顧客以往的購買行為以及從具有相似購買行為的顧客群的 購買行為去推薦某個顧客「可能喜歡的項目」,也就是藉由社群的喜 好提供個人化的資訊、商品等的推薦服務。除了推薦之外,近年來的 研究也發展出數學運算讓系統自動計算喜好的強弱,進而去蕪存菁使 al v 得過濾的內容更有依據,協同過濾推薦的項目並不完全準確,不過由 i n Ch 於加入了強弱的評比讓這個概念的應用更為廣泛,除了電子商務之外 engchi U 尚有資訊檢索領域、網路個人影音、個人書架等的應用。. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. 最著名的電子商務推薦系統當屬 Amazon 網路書店, Amazon 的顧 客選擇了感興趣的書籍時,通常會立刻在網頁上看見「Customer who bought this book also bought...」,這正是協同過濾的推薦, Amazon 是 在「對同樣一本書有興趣的讀者們興趣在某種程度上相近」的假設前 提下提供這樣的推薦,此舉後來也成為 Amazon 網路書店為人所津津 樂道的一項服務。協同過濾另外一個例子是 Facebook 或是 Google 的 廣告,系統根據個人資料、週遭朋友感興趣的廣告等等,對個人提供 交友推薦或廣告推銷等。協同過濾通常有下列優點:. • 能夠過濾機器難以自動內容分析的資訊,如書籍、音樂、影片 等。 7.

(22) • 共用其他人的經驗,避免了內容分析的不完全或不精確(如 Content-based Filtering),並且能夠基於一些複雜而難以表述的 概念(如資訊品質、個人品味)進行過濾。 • 多樣性(Diversity),也就是 有推薦新資訊的能力。能夠發現內 容上完全不相似的資訊,使用者對推薦資訊的內容可能是事先預 料不到的。使用者可以發現潛在的但自己尚未發現的興趣偏好。 • 推薦個性化、自動化程度高。能夠有效的利用其他相似使用者的 回饋資訊,加快個性化學習的速度。 作為推薦機制,協同過濾有其強項,然而協同過濾仍有許多的問題 需要解決,典型的問題有. 立. 政 治 大. ‧. ‧ 國. 學. • 稀疏性問題(Sparsity), User-Item Matrix 可能會相當大且非常 的稀疏,典型的稀疏性問題是新用戶問題(New User Problem), 也就是所謂冷啟動(Cold-start)的問題,由於協同過濾是用用戶 過去的喜好來計算,因此新用戶進入後,必須有足夠的評分量, 系統才能有較佳的推薦效能。. sit. y. Nat. n. er. io. • 新項目問題(New Item Problem)和新用戶問題相似,當有新的 項目進入系統時,採用協同過濾的演算法需要對該項目有足夠的 al v i 評分量,才能有較佳的效能表現。不過在採用基於內容的過濾 n Ch engchi U (Content-based Filtering)推薦時,則不會有新項目的問題,因 為基於內容的過濾是抽取項目的內容特徵值來運算。 • 系統延伸性問題(Scalability),當一個系統隨著使用時間日漸成 長,系統可能會有數以百萬計的用戶以及千萬計的項目時,協同 過濾將難以運作,尤其是應用在線上、有著即時的推薦需求的系 統時特別顯著。 2.2.1. 以 使 用 者 為 基 礎 ( User-based) )的 協 同 過 濾. 針對被推薦者,從現有資料中找出有相似愛好或者興趣的相鄰使用 者,再根據相鄰使用者的較高評分項目給予推薦,稱之為以使用者為 基礎(User-based)的協同過濾,或基於鄰居的協同過濾(Neighborbased Collaborative Filtering)。 其步驟通常為: 8.

(23) 1. 收集使用者資訊:收集能代表使用者喜好的資訊。一般的網站 系統使用評分的方式或是給予評價,這種方式被稱為「主動評 分」。另外一種是「被動評分」,是根據使用者的行為模式由系 統代替使用者完成評價,例如由瀏覽記錄、滑鼠點擊次數等等找 出其喜好,而不需要由使用者直接給分或輸入評價資料。通常電 子商務網站在被動評分的資料的收集上有相當的優勢,例如使用 者的購買商品記錄,或者網頁瀏覽記錄就是非常有用的資料。 2. 最近鄰搜尋(Nearest neighbor search, NNS):以使用者為基礎 (User-based)的協同過濾的基本精神,是先透過計算相似度找 出與使用者興趣愛好相似的一群使用者集合,例如尋找幾個 和目標用戶A有相似興趣的使用者,稱之為最近鄰。一般會根 據資料的不同選擇不同的演算法,較多使用的相似度演算法有 皮爾生相關係數(Pearson Correlation Coefficient)、餘弦相似性 (Cosine-based Similarity)等。. 立. 政 治 大. ‧ 國. 學. ‧. 3. 產生推薦結果:找出了最近鄰集合,就可以對目標使用者的興趣 進行預測以產生推薦結果,將最近鄰對某項目的評分作為用戶 A 對該項目的評分預測。依據推薦目的的不同進行不同形式的推 薦,常見的推薦結果有 Top-N 推薦和關聯推薦。 Top-N 推薦是針 對個體使用者產生,對每個人產生不一樣的結果,例如:透過對 al v i 用戶 A 的最近鄰使用者進行統計,選擇出現得分較高且在A使用 n Ch engchi U 者的評分項目中不存在的,作為推薦結果。關聯推薦是對最近鄰 使用者的記錄進行關聯規則(Association Rules)的資料挖掘。. n. er. io. sit. y. Nat. 2.2.2. 以 項 目 為 基 礎 ( Item-based) )的 協 同 過 濾. 以使用者為基礎的協同過濾演算法不論在理論或者實際應用上都相當 成功,但是隨著使用者數量的增多,計算使用者相似度的運算時間就 會變長,不利於線上推薦系統的應用;Sarwar等學者 [16]意識到了這 個問題,因而研究出了基於項目的協同過濾推薦演算法(Item-based Collaborative Filtering Algorithms)。此演算法之基本的假設為「能夠 引起使用者興趣的項目,必定與其之前評分高的項目相似」,以計算 項目之間的相似性來代替計算使用者之間的相似性。方法步驟為: 1. 收集使用者資訊:與以使用者為基礎(User-based)的協同過濾 9.

(24) 的作法相同。 2. 針對項目的最近鄰搜尋:計算已評價項目和待預測項目的相似 度,並以相似度作為權重,加權各已評價項目的分數,得到待預 測項目的預測值。例如:要對項目 A 和項目 B 進行相似性計算, 要先找出同時對 A 和 B 打過分的組合,對這些組合進行相似度計 算,常用的演算法與以使用者為基礎(User-based)的協同過濾 相同。 3. 產生推薦結果:即找出相似項目 Top-N 作推薦 以項目為基礎的協同過濾不考慮使用者間的差別,所以準確度 (Precision)可能會比較差。但是正因不需要使用者的相似性計算, 或是進行使用者識別,且由於項目之間的相似性比起用戶要穩定很 多,因此以項目為基礎(Item-based)的協同過濾可以離線完成計算量 最大的相似性計算步驟,從而降低了線上計算量,提高推薦效率,在 使用者多於項目的情形下尤為顯著。. 立. ‧. ‧ 國. 學. 2.2.3. 政 治 大. 以 模 型 為 基 礎 ( Model-based) )的 協 同 過 濾. y. Nat. n. er. io. sit. 以使用者為基礎(User-based)的協同過濾和以項目為基礎(Itembased)的協同過濾統稱為以記憶為基礎(Memory-based)的協同過 濾技術,以記憶為基礎的協同過濾的缺點是資料稀疏時,難以即時 al v i n Ch 處理大資料量;且由於採向量空間模型的方式呈現,在增加新項目 engchi U (item)時,因需將資料做重新插入而較為繁複,因此發展出以模型 為基礎的協同過濾技術(Model-based Collaborative Filtering)。 此方 式採用資料探勘(Data Mining)或機器學習的演算方法,從歷史資 料計算找出得到一個模型,再用此模型進行預測或推薦。以模型為 基礎的協同過濾所使用的技術包括 Latent Semantic Indexing、Bayesian Networks、Clustering Models 等。 此方法的優點是和以記憶為基礎的協同過濾相比,在資料稀疏時表 現較好,系統擴充性也較佳。缺點則是在建立模型時可能成本較為昂 貴,且其預測的結果通常較難以詮釋。. 2.3. 基 於 內 容 的 過 濾 (Content-Based Filtering) ). 根據用戶過去喜歡的產品,為用戶推薦和他過去喜歡的產品相似 10.

(25) 的產品。例如,一個音樂購買網站的推薦系統可以依據某個用戶之 前喜歡很多的爵士音樂而為他推薦爵士音樂。此外,使用者的回饋 (Like/Dislike)能用來加強重要的特徵值屬性,為下次的推薦強化其 推薦效能,Conten-based Filtering 的步驟包括: 1. 項目表示方式(Item Representation):為每個項目抽取出一些特 徵值,用以表示此項目,例如以詞袋模型(Bag-of-word)的詞頻 (Term Frequency)來表示一份文件; 2. 喜好特徵學習(Profile Learning):利用用戶過去喜歡及不喜歡 的項目的特徵值,來學習出此用戶的喜好特徵(Profile);. 政 治 大. 3. 產生推薦清單(Recommendation Generation):計算用戶喜好特 徵與候選項目的特徵值相似性,為此用戶推薦一組相似性最大的 項目。. 立. ‧ 國. 學. ‧. 舉例來說,對於新聞個人化閱讀,一篇新聞即為一個項目。常用的 Item Represntation 方式是用 TF-IDF 權重所構成的向量代表這篇新聞, 如此,就能夠使用具體的一條向量來表示一份抽象的文章。根據用 戶過去喜歡什麼文章以紀錄用戶喜好的 Profile ,例如,把用戶所有 喜歡的文章對應的向量取平均值作為此用戶的 Profile 。在得到用戶 的 Profile 後,基於內容的過濾就可以利用候選項目與此用戶Profile的 al v i n 相似度對他進行新聞文章的推薦。常用的相似度計算方法是 Cosine Ch U i e h n gc similarity ,把候選項目裡與此用戶最相關(Cosine值最大)的幾個項 目作為推薦項目給此用戶。. n. er. io. sit. y. Nat. 基於內容的過濾的推薦效能很大部分取決於系統能否從與用戶的互 動之中學習到用戶的喜好;而 Item 特徵值屬性的抽取的設計,通常也 需要該領域的專家介入,是相當耗時的工作。. 2.4. 混 合 式 推 薦 系 統 (Hybrid Recommender Systems) ). 基於內容的推薦的方法,以及協同過濾式的推薦方法,都是現在常用 的推薦技術,它們分別有其應用上的優點及缺點;為了提升推薦效 能,近來許多研究乃是設法將兩者聯合執行,或與其他的推薦演算法 聯合執行,此謂之混合式推薦(Hybrid recommender systems)。混合 式推薦有多種實作的方式,例如先將基於內容的過濾和協同過濾分別 11.

(26) 執行,隨後將預測結果透過運算結合在一起,作為最終的預測值。 R. Burke. 等人 [4]研究對於混合式的推薦與純粹的協同過濾及內容過濾方 式比較,除了發現混合式的推薦效能較為提升之外,混合推薦方式也 多少能克服原始純粹的協同過濾推薦或基於內容的過濾的問題,例如 冷啟動的問題等等。以下是幾種混合式推薦可採用的技術:. • 取權重式(Weighted):將不同推薦技術的結果分數以取權重方 式加總,例如 P-Tango system(Claypool 等人, 1999) [5] 就是採 取這種模式將協同過濾與基於內容的過濾混合執行,並藉由逐步 調整兩種技術的結果分數權重,以獲取最佳的推薦效能。. 政 治 大. • 切換式(Switching):先用基於內容的過濾演算出推薦項目,並 即時統計檢定之,若推薦效能達不到預先所設定的門檻值,則再 以協同過濾執行推薦;或者反向為之,也是一種混合推薦的方 法。. 立. ‧ 國. 學. ‧. • 混合式(Mixed):把內容過濾/協同過濾的推薦結果同時呈現在 一起,通常可避免新項目的問題(New-item Problem)。. Nat. n. er. io. sit. y. • 特徵值組合(Feature Combination):把內容過濾/協同過濾混合 執行;通常是將協同過濾的資訊,即將所收集到的 User-Item Matrix視為基於內容的過濾(Content-Based Filtering)的特徵值的 al v i n 一部份,再執行推薦演算。 C U. hengchi. • 特徵值增強(Feature Augmentation):把某種推薦技術演算後的 結果當作特徵值,放進另一種推薦技術計算。 • 串聯(Cascade):先用一種推薦技術演算後得到初步的推薦項 目;再以另一種推薦技術將前一步的推薦項目去蕪存菁,得到最 終的推薦,例如 EntreeC [4] 是一套餐廳推薦系統,其先以知識 推薦技術(Knowledge-Based Recommendation)得到初步推薦項 目,再以協同過濾的方法做出推薦。. 2.5. 飯店推薦的相關研究工作. 傳統飯店推薦的方法通常都基於飯店的平均評分,評分則來自於用 戶。在 [1]的研究採用了迴歸模型的方法以將各種取向的評分結合成一 12.

(27) 個單一的評分,對於多重準則問題(Multi-criteria problem)提出了建 議。此方法被 [6]所採用來分析 TripAdvisor.com 的資料,用以執行飯 店推薦的任務。 [8]提出了一個混和式的飯店推薦系統,結合了 CF 以及 Rankboost 演算法,可有效避免單獨使用 CF 時的冷啟動以及延展性的問題。其 方法是使用 CF 方法推薦給系統中已經存在的用戶,而當新的用戶進 入時,則以 Rankboost 演算法計算出合適的推薦項目,可使消費者更 便利的找到想要訂房的飯店。 [9]的研究提出了一個基於評論的方法來實做飯店個人化推薦, 用 戶需以文字方式明確表達其對飯店的三種需求:旅遊意圖、國家及個 人偏愛。該系統以資訊檢索的方式搜尋飯店的評論以提供推薦項目。 且飯店的評論中有包含較高的樂觀情緒字眼者會被優先推薦。他們 利用從 TripAdvisor.com 收集的資料進行用戶研究,結果顯示比使用 Rating-based 的推薦系統有高出 20% 的滿意度。 [2]的研究提出了一種使用行動裝置的情境感知(Context-aware) 技術以執行飯店推薦的方法,該方法增強了原始協同過濾(CF), 並以行動裝置獲取用戶的個人資料、需求、地點和時間計算出推薦項 目。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 13. i n U. v.

(28) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 14. i n U. v.

(29) Chapter 3 Methodology 在本研究中,我們應用了分解機器函式庫(libFM, Factorization Machine Library)這一個工具來進行推薦系統的實作,由於 libFM 有相當 強大的處理稀疏矩陣資料的能力,且其有著線性的計算時間複雜度; 此外,libFM的輸入資料格式被設計成很適合用來處理真實世界所收 集到的資料集(例如:一個由一串實數值所構成的向量)。因此, libFM 非常適合用以處理一般性的預測工作。本章節將介紹 libFM , 以及我們所採用的資料集以及文字前處理的方法。. 立. 政 治 大. ‧. ‧ 國. 學. 分 解 機 器 函 式 庫 (Factorization Machine Library) ). io. sit. y. Nat. 3.1. n. er. libFM [13] 全名為 Factorization Machine Library ,是由 Steffen Rendle a l 是一個可用於機器學習以及資料探勘的預測 v i 於 2010 年所提出。 libFM n Ch 器(Predictor),作者不僅有研究論文發布,亦有實作出程式碼可供 engchi U 實際應用; libFM 可使用 SGD, SGDA, ALS, MCMC 等不同的方法進行 參數學習,允許 bias 項的輸入,且在輸入資料的分布非常稀疏(very high sparisty)的情形下, libFM 亦可學習出可靠的參數,libFM 有一 創新之處在於其計算量是線性複雜度(linear complex)。 libFM 接受的輸入資料格式是在資料集每一列(row)給一個數 值代表分類結果或評分結果 y ,對應一組特徵值向量(the feature vectors) x ,每個非零特徵值都需要給出數值,零特徵值則可忽略不 需給;如此的設計讓使用者很容易將真實世界的資料集以特徵值向量 的方式來表示並且載入,且文件檔案不至於過大而將計算機記憶體用 盡,非常便利。我們甚至可以說,有了 libFM ,那麼做預測工作時最 需要人工解決的問題,就是選擇合適的特徵值。 libFM 有下列優點: 15.

(30) • 在輸入資料非常稀疏的情形下,亦能學習出可靠的模型參數 • 經過數學演算式推導, libFM 的時間複雜度乃是線性的,不會因 輸入資料量過大而導致計算時間暴增,經其作者測試,libFM 能 夠在合理的時間內處理一億筆的訓練資料輸入量的預測工作 • 能處理一般性的預測任務,只要將輸入資料整備為特徵值向量, 即可進行預測;相對的,其他當前先進的矩陣分解模型,例如 biased MF, SVD++ 等等,則侷限於特殊的輸入資料格式或特殊的 預測任務 libFM 的 輸 入 矩 陣 如 圖 3.1 所 示 , 每 一 橫 列 是 一 組 特 徵 值 向 量 (feature vector)對應到一個目標值(target value),代表某一用戶對 某個飯店的評分;圖中特徵值向量主要由用戶(藍色框線部分)以及 飯店(橘色框線部分)所組成,並搭配輔助資訊:用戶特徵(黃色框 線部分)及飯店特徵(綠色框線部分)。在這份研究中,用戶特徵是 該用戶的喜好取向,以向量空間模型表示;飯店特徵則為該飯店的全 部的文字評論,亦以向量空間模型表示。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 3.1: libFM 的輸入矩陣(The Input Matrix for libFM). 典型的預測任務通常是要從特徵值向量 x ∈ Rn 預估 y : Rn → T , libFM 可以應用在一些預測任務,諸如. • 迴歸(Regression): yˆ(x) 可以直接用以當作預測分數,其最佳 化的標準乃是資料集的最小平方誤差(the minimal least suqare error). • 二 元 分 類 器 (Binary classification): yˆ(x)的 正 負 號 可 用 以 作 為 二元分類器, libFM 依據合頁損失(Hinge loss)或者邏輯損失 (Logistic loss)來對參數做最佳化 16.

(31) • 排名(Ranking): 將向量 x 以 yˆ(x) 的值排序輸出 libFM 的主要理論乃從推薦系統中經典的奇異值分解模型(SVD model)得到, SVD 模型相當於只有兩種類型的特徵值(Feature), 一類特徵值是 User ,另一類特徵值是 Item ,而 libFM 則是把這個模 型推廣到了多類特徵值的情況。SVD 模型用 a ∗ b 來作為對評分的預 測。對於多類特徵值,假設是三類, SVD++ 模型會用 a∗b+b∗c+c∗a 來作為對結果的預測,成為非線性的時間複雜度; libFM 則在數學推 導後,採用 ((a + b + c)2 − a2 − b2 − c2 )/2 以進行計算,而這樣的計 算式的計算量是線性複雜度的(linear computation)。以下是 libFM 的 模型公式: n. i i. i j. (3.1). i=1 j=i+1. libFM 在訓練過程中要學習的參數如下:. v ∈ Rn×k. Nat. 其中 h·, ·i 則是長度為 k 的兩個向量的內積:. io. k X. (3.2). y. w ∈ Rn ,. ‧. w0 ∈ R,. j. sit. i=1. i. 學. ‧ 國. n. er. 立. yˆ(x) := w0 +. 政 治 X X大 wx + hv , v ix x. n X. n. a lhvi, vj i := vi,f · vj,f i v n C h f =1 U engchi. (3.3). k 為自然數,乃一由使用者所給定的參數,用以定義矩陣拆解 (W = V · Vt ) 的維度大小;而 vi 為一長度 k 的向量,是在 V 裡的第 i 個向量變數。 libFM 在輸入資料的格式特別設計了區塊結構特徵(Block Structure Feature) , 此 功 能 允 許 使 用 者 預 先 定 義 特 徵 值 關 係 (Feature relation),這使得 libFM 應用在真實資料集時更加快速且精簡,例 如,若打算在 FM 預測工作中送入 User Profile 或 Item Profile 作為特 徵值,由於 Profile 的資料在 Rating Matrix 中經常是大量重複的,若使 用 Block Structure Feature ,只要事先將各特徵值關係 以文字檔案定義 好,實際執行時再以參數帶入特徵值關係檔案即可,不但在資料整備 階段容易許多,亦可節省資料檔案長度、實際運算時的計算機記憶體 以及減少預測的運算時間。 17.

(32) 3.2 3.2.1. 資 料 集 與 文 字 前 處 理 (Datasets and Preprocessing steps) ) 資料集. 在這份研究中使用了一份收集自 TripAdvisor 網站的用戶對飯店的文字 評論資料以及相對應的一份用戶對飯店的評分資料,此資料集引用自 OpinRank Dataset - Reviews from TripAdvisor and Edmunds [7] ;其中, 用戶文字評論資料(Reviews)的說明如下:. • 收集自十個城市的用戶對該地區飯店的完整評論,這十個城 市包括了 Dubai, Beijing, London, New York City, New Delhi, San Francisco, Shanghai, Montreal, Las Vegas, Chicago. 立. 政 治 大. • 每個城市的飯店數量不一,數量約從 140 個到 1000 個. ‧ 國. 學. ‧. • 資料的欄位內容包括評論日期、評論標題、評論內文;評論所使 用的語言基本上為英文 • 總共約有 255,000 條文字評論. sit. y. Nat. n. er. io. 格式範例如下: Date1< tab >Review title1< tab >Full review 1 a l < tab >Full review 2 i v Date2< tab >Review title2 n Ch U engchi ................ 飯店評分資料(Ratings)說明如下:. • 收集自上述十個城市的用戶對該地區飯店的平均評分 • 資料內容並非個別用戶對個別飯店的評分;而是依照用戶特性 (User Profile)區分為 31 類別的用戶,是這 31 類用戶對飯店的 評分 • 所謂用戶特性,是指用戶對飯店的取向可分為五種:乾淨 (cleanliness), 地理位置(location), 房間(room), 服務(service), 價格(value);而這五種用戶取向共可組合出 31 類的用戶 • 個別用戶原始評分範圍為 1 - 5 分 18.

(33) 舉例,用戶類別 05 的用戶取向是 cleanliness, location, room, value,在 Beijing 的原始評分資料如下: china beijing hilton beijing wangfujing;4.751724137931034 china beijing the opposite house;4.74 ................. 3.2.2. 使用者對飯店評分的分布情形. 我們觀察到原始資料集內的使用者對飯店評分的分布情形並不平均, 如圖 3.2.2 所呈現的是 Beijing 的其中一個飯店所得到的評分,評分的 分布呈現左偏(Negative skew)的情形,且大部份的評分都落在 4 分 至 5 分之間;而觀察其他的城市的飯店也是有著類似的現象,這個現 象影響了我們的實驗設計,關於實驗設計將在下一章節說明。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 3.2: 使用者評分的分布情況(The Distribution of User Ratings). 3.2.3. 文字前處理. 我們採用了多個步驟的文字處理程序,這些步驟用以預將使用者評論 轉換為詞袋模型的形式,經處理好的詞袋模型形式的向量則為 libFM 所引用,成為各飯店的輪廓(Item Profile)以進行計算,以加強推薦 系統的效能。 首先,由於使用者評論並非專業的出版文章,因此在文字評論內有 著為數不少的單字拼字錯誤,這些可能是複合字、新出現的單字、或 者單純就是使用者的拼字錯誤;此外,在許多評論內有著使用者可能 19.

(34) 為了強調語意而刻意使用的拼字問題,例如: cooooooool... ;這些問 題單字通常成為文字資訊的雜訊,並使語料庫變大,進而影響了推薦 的效能。 對於這個拼字問題我們採用了對應英文字典檔的方式來簡單處 理,也就是將拼字錯誤的單字去除,而只將拼字正確的單字保留在 評論內,這份英文字典檔是一個 Unix 或 Unix-like 的作業系統檔案 (/usr/share/dict/words) 1 ,該檔案主要目的也正是用於拼字檢查,其 格式相當的簡單,即每一列就是一個拼字正確的單字,在這次研究所 使用的字典檔共有 99,171 個正確單字,包含了複數及所有格。 接下來,我們將使用者文字評論逐步進行如下步驟的處理:. 政 治 大. • 轉小寫(Capitalization/case-folding). 立. ‧ 國. 學. • 單元化(Tokenizing)2 :給定一個文字序列,例如一個句子或者 整份文章,單元化的處理是將此文字序列切成一塊塊的單元,謂 之 tokens ,於此同時通常也會將標點符號去除,例如:. ‧. 輸入: Friends, Romans, Countrymen, lend me your ears;. sit. y. Nat. 輸出: Friends Romans Countrymen lend me your ears. n. er. io. • 詞幹提取(Stemming)3 :詞幹提取是指去除詞綴以得到詞幹的 過程,即將單字的各種變化或者衍生型態「打回原形」的一 al v i 種處理,同義詞經過了詞幹提取之後,通常得到單詞最一般 n Ch engchi U 的寫法,即使該詞幹並不是真的在語言學的有效詞根,把相關 的詞映射到同一個詞幹後,一般能得到滿意的結果。在資訊檢 索領域,處理詞彙時,通常對同義詞採用相同的詞幹作為查詢 拓展。例如: cats、catlike、catty ,在詞幹提取後皆成為 cat , fishing、fished、fisher 詞幹提取後則為 fish 。 • 去除常用詞(Dropping common terms):是指將在自然語言中經 常出現,但是實質意義卻不大的詞彙去除的處理,例如英文中的 冠詞 the 、 a 、 an 、 that ,介係詞 over 、 under 等皆為 stop words 。. 1. https://en.wikipedia.org/wiki/Words (Unix) http://nlp.stanford.edu/IR-book/html/htmledition/tokenization-1.html 3 http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html 2. 20.

(35) 3.2.4. 文字評論資料集統計. 經過處理後的文字評論資料的統計值如 表 3.1;在對應字典檔之前, 各個城市的語料庫的數量都在一萬個詞組以上,甚至在 London 達到 了 53322 之譜;經過對應字典檔之後,語料庫的數量下降至 21412 個 詞組。 beijing. chicago. dubai. las-vegas. london. montreal. new-delhi. new-york-city. san-francisco. shanghai. subtotal. 136 260 5253 13494 8690. 138 157 18231 22175 12599. 236 276 11834 23798 12055. 207 230 27337 26572 13816. 875 995 79349 53332 21412. 142 248 18663 16531 10375. 130 278 4917 13036 8435. 258 260 55143 41650 18471. 214 227 30401 28972 15120. 126 280 4276 11937 8112. 2568 3105 255404. 表 3.1: 資料集統計值. 立. 政 治 大. 學 ‧. ‧ 國 io. sit. y. Nat. n. al. er. no. of hotels with reviews no. of hotels no. of reviews vocabulary size vocabulary size after text preprocessing. Ch. engchi. 21. i n U. v.

(36) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 22. i n U. v.

(37) Chapter 4 Experimental Results 在本章節中將針對各個城市進行飯店推薦的實驗。實驗所使用的資料 是一份取自 TripAdvisor 網站的使用者對飯店評分以及文字評論的資料 集。我們以 User-based CF 的方式進行推薦做為比較基準,與以 libFM 只訓練在使用者評分上進行推薦的結果,以及 libFM 加入使用者文字 評論為輔助資料進行推薦的結果相比較。. 立. ‧ 國. 學. 評 量 指 標 ( Evaluation Metrics) ). ‧. 4.1. 政 治 大. n. er. io. sit. y. Nat. 在資訊檢索的領域裡,準確度(Precision)是一個最常用的效能評量 指標,準確度代表了系統傳回的真正與查詢內容相關(Relavant)的 項目比例;而通常查詢系統所回傳的項目中,排序在前面的項目會優 先被使用者考慮使用。a l iv. n. Ch 我們採用了平均準確度均值(Mean e n g cAverage h i U Precision at k, MAP@k) 這個評量指標來評量本次實驗推薦系統的效能, MAP 是將搜尋系統 的平均準確度(Average Precision)對多次查詢取平均值而得,而 k 則 代表是只取搜尋結果回傳的前 k 項以進行評量。當搜尋系統依據使用 者輸入的查詢傳回結果後,對傳回的結果的每一個項目判斷該項目是 否與其查詢有無相關,並計算其準確度 ,再取平均即為 AP;對同一 系統輸入多次查詢,將多次所得的 AP 取平均即為 MAP。MAP@k 的 計算公式為: mj |Q| 1 X 1 X MAP(Q) = Precision(Rjk ) |Q| j=1 mj k=1. (4.1). 其中, qj ∈ Q ;而 qj 的相關項目集合為 {d1 , ..., dmj };Rjk 是從 d1 到 dk 為止,已排序好的查詢回傳結果。 23.

(38) 舉例而言:若有一搜尋系統,我們只看其傳回的前 10 個項目, 而使用者共執行了兩次不同的查詢,這兩次結果使用者認為相關的 分別為 1、2、4、7 篇和 2、4、6 篇,則平均準確度(AP)分別為 (1/1 + 2/2 + 3/4 + 4/7)/4 = 0.83 和 (1/2 + 2/4 + 3/6)/3 = 0.5,而此 查詢系統的 MAP@10 為 (0.83 + 0.5)/2 = 0.665。 飯店推薦與資訊檢索的行為是類似的,使用者在查詢其感興趣的某 個城市的飯店時,應該會像是其執行網頁搜尋時,通常只留意系統傳 回的前幾個推薦項目;因此,我們採用了 MAP@3、MAP@5、MAP@7 以 及 MAP@10 作 為 這 次 實 驗 的 評 量 指 標 。 而 準 確 度 的 標 準 答 案 (Golden Standard)是原始資料集中的各類使用者對飯店的評分, 例如在評估 MAP@3 時,該類使用者的評分排名前三名的飯店會用來 驗證是否真正相關的答案。. 立. 實 驗 設 定 ( Experimental Settings) ). ‧ 國. 學. 4.2. 政 治 大. ‧. 在這個實驗中,我們以傳統資訊檢索的方式來看待飯店推薦的需求, 我們的想法是在原本只以使用者評分為特徵值運算的推薦系統中加 入文字評論的資訊,期望推薦效能指標 MAP 能夠有顯著的提升;其 中,用戶類別所代表的就是資訊檢索中的查詢( Query),而推薦的 飯店則為資訊檢索後要傳回的項目(Item);由於每一類的用戶對於 al v i 飯店的喜好取向不同,因此系統所應推薦的飯店也有所不同。我們使 n Ch engchi U 用了 Holdout Method 的方式,將資料集分割為學習組(Training Set) 與測試組(Testing Set),學習組用於學習推薦模型的參數,測試組則 用於評估推薦模型的推薦效能;由於我們共有 31 類不同需求取向的用 戶,因此切割資料集的方式是在每回合的實驗中,隨機取其中 25 類用 戶為學習組,其餘的 6 類用戶則為測試組,學習組與測試組的比例約 當為 80:20。 表 4.1 為各用戶類別對於飯店的喜好取向。. n. er. io. sit. y. Nat. 在本研究中,我們將採用 libFM 為推薦模型的學習工具,此 libFM 是 一 個 可 以 做 為 迴 歸 分 析 (Regression Analysis) 以 及 二 元 分 類 器 (Binary Classifier)的預測工具,而我們的資料集中有著各類用戶對 飯店的真實評分,因此我們做了兩種實驗設定,將資料集的訓練組的 評分資料分別做了不一樣的等第化的處理,以進行這兩類的推薦實 驗,這裡所謂等第化乃指將原始分數取一近似值的處理,使評分資料 在等第化之後分布較為平均。 24.

(39) y. sit. io. n. er. Nat. al. 政 治 大. ‧. ‧ 國. 立. Category cleanliness cleanliness, location cleanliness, location, room cleanliness, location, room, service cleanliness, location, room, service, value cleanliness, location, room, value cleanliness, location, service cleanliness, location, service, value cleanliness, location, value cleanliness, room cleanliness, room, service cleanliness, room, service, value cleanliness, room, value cleanliness, service cleanliness, service, value cleanliness, value location location, room location, room, service location, room, service, value location, room, value location, service location, service, value location, value room room, service room, service, value room, value service service, value value. 學. User group 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30. Ch. engchi. i n U. v. 表 4.1: 各用戶類別對於飯店的喜好取向. • libFM Regression 實驗: 觀察原始資料集評分,雖評分範圍是由 0 至 5 分,但卻是一個左偏(Negative skew)的分布,大多數的評 分落在 3.5 分至 5 分之間,可參考圖 3.2 ,因此我們將訓練組的 評分進行如表 4.2 的等第化後再進行實驗。 原始評分 小於 3.5 分 大於等於 3.5 且 小於 3.8 分 大於等於 3.8 且 小於 4.2 分 大於等於 4.2 且 小於 4.5 分 大於等於 4.5 分. 等第化後評分 0分 1分 2分 3分 4分. 表 4.2: 用戶對飯店評分的等第化處理(libFM Regression 實驗). 25.

(40) • libFM Binary Classification 實驗: 同樣地,由於原始資料集評分是 一個左偏(Negative skew)的分布,可參考圖 3.2,因此我們將訓 練組的評分進行如 表 4.3 的等第化後再進行實驗。 原始評分 小於 4.5 分 大於等於 4.5 分. 等第化後評分 0(不相關) 1(相關). 表 4.3: 用戶對飯店評分的等第化處理(libFM Binary Classification 實驗). 4.2.1. 實 驗 程 序 ( Experimental Procedure) ). 政 治 大. 實驗環 境 :所有我們的實驗皆在 Ubuntu Linux 的環境執行,使用 Unix script 搭配 awk 與 Python 語言實作相關的程式。 libFM 的版本為 1.4.2 。. 立. ‧ 國. 學. ‧. User-based CF:為了要讓推薦效能有所比較,我們也將學習組的資 料送入一個以使用者為基礎的協同過濾引擎執行預測,我們實作的 User-based CF 是以皮爾森相關係數(Pearson correlation coefficient)找 出相關最近鄰,其中最近鄰數量(Neighborhood size)設定為 5 。. sit. y. Nat. n. er. io. libFM 參 數 :我們採用 MCMC 的方式讓 libFM 學習推薦模型參數, 參考 libFM 的使用手冊,使用 MCMC時無須指定額外的預設參數 al v 的指令如下: i (hyperparameters);在這次研究中使用的 libFM n Ch h i Utraining.dat.libfm -test test./libFM -method mcmc -iter 200e-task n g cr -train ing.dat.libfm -dim ’1,1,8’ –relation rel.user,rel.item -out city.out.dat 實驗步驟:. • 文字評論的文字前處理 • 將文字評論以向量空間模型表示,我們以四種不同的權重計算方 式來呈現各飯店的文字評論,此代表各飯店的特徵值,並進行實 驗,分別為: 1. Boolean:詞組(Term)是否出現 2. TF:即 Term Frequency ,詞組的出現次數 3. TF-IDF: Term Frequency - Inverse Document Frequency 26.

(41) 4. Log average TF-IDF:將 TF-IDF 的 TF 部分取 log 並與該詞組 的平均出現次數的 log 相除,以進行數值標準化,用意在於 避免 TF 過大的詞組在向量空間模型中的權重過大. • 用戶對飯店評分的等第化處理 • 對於每一個城市,分別以下列步驟進行處理 10 回合 1. 以用戶種類隨機將資料集切割為學習組與測試組 2. 執行 User-based CF 的預測 3. 執行 libFM 不含使用者文字評論為特徵值的預測 4. 執行 libFM 包含使用者文字評論為特徵值的預測. 政 治 大. 5. 分別計算上述三種不同演算方式的 MAP@k. 立. ‧ 國. 實 驗 結 果 ( Experimental Results) ). ‧. 4.3. 學. • 分別對上述三種方式的 MAP@k 取其 10 回合的平均數為實驗結 果,進行推薦效能的評量. n. er. io. sit. y. Nat. 實驗結果分為兩部分呈現,一為 libFM Regression 的結果;另一則為 libFM Binary Classification 的結果。 我們的虛無假設是「加入了使用 者文字評論後,推薦系統的推薦效能與加入了使用者文字評論之前相 a l MAP@k AFTER)」;對立假設則為加入使 v i 同 (MAP@k BEFORE = n Ch engchi U 用者評論之後,推薦效能和未加入使用者文字評論之前不同。 我們使用 T-Test 對實驗結果進行檢定,當 P-value 小於顯著水準 0.05 時,我們可拒絕虛無假設,即有足夠證據顯示可否定「加入了使 用者文字評論後,推薦系統的推薦效能相同」之宣稱。. 4.3.1. libFM Regression 實 驗 結 果. 如表 4.4 所示,其中, cf 列是 User-based CF 之 MAP@k , libfm0 列 是 libfm 未加入使用者文字評論之 MAP@k , libfm1、libfm2、libfm5 以 及 libfm6 等 列 則 分 別 是 libfm 加 入 使 用 者 文 字 評 論 , 並 且 以 不 同 的 權 重 方 式 設 定 飯 店 的 特 徵 值 實 驗 之 MAP@k , 我 們 依 序 列 出 了 MAP@3、MAP@5、MAP@7 以及 MAP@10 之實驗結果。 Paired Sample T-Test 的 P-value 用以檢定 libfm0 與 libfm1、libfm2、libfm5 以 及 libfm6 等列是否來自於同一母體。 27.

(42) map@3 cf libfm0 libfm1(boolean) libfm2(tf) libfm5(tfidf) libfm6(log avg) map@5 cf libfm0 libfm1(boolean) libfm2(tf) libfm5(tfidf) libfm6(log avg) map@7 cf libfm0 libfm1(boolean) libfm2(tf) libfm5(tfidf) libfm6(log avg) map@10 cf libfm0 libfm1(boolean) libfm2(tf) libfm5(tfidf) libfm6(log avg). beijing 0.515741 0.621296 0.630556 0.655556 0.660185 0.662963 beijing 0.477167 0.740333 0.743833 0.740889 0.755111 0.769833 beijing 0.532642 0.768492 0.780272 0.782285 0.78377 0.804563 beijing 0.544618 0.872464 0.869301 0.863831 0.872 0.876243. chicago 0.523148 0.715741 0.724074 0.738889 0.732407 0.753704 chicago 0.726667 0.771778 0.772722 0.781333 0.757889 0.799611 chicago 0.737834 0.74271 0.728991 0.747925 0.732613 0.749603 chicago 0.761342 0.788432 0.798564 0.796439 0.787538 0.796161. dubai 0.547222 0.628704 0.663889 0.597222 0.608333 0.599074 dubai 0.561389 0.745389 0.751722 0.729 0.726111 0.702333 dubai 0.594382 0.814654 0.816145 0.811553 0.792455 0.794745 dubai 0.670422 0.863015 0.867649 0.850513 0.839977 0.845206. las-vegas 0.646296 0.811111 0.798148 0.847222 0.825926 0.816667 las-vegas 0.769333 0.8175 0.823167 0.794611 0.804056 0.826944 las-vegas 0.736944 0.821264 0.831372 0.813878 0.818197 0.818186 las-vegas 0.769819 0.840524 0.851691 0.836548 0.847617 0.851931. london 0.408333 0.676852 0.691667 0.643519 0.637037 0.590741 london 0.536389 0.768833 0.773 0.735222 0.724611 0.704889 london 0.538639 0.784688 0.782205 0.774461 0.756372 0.754734 london 0.608777 0.815417 0.812809 0.808331 0.791592 0.795537. montreal 0.744444 0.784259 0.793519 0.785185 0.751852 0.8 montreal 0.638333 0.836389 0.833167 0.811278 0.823111 0.835 montreal 0.671128 0.818719 0.819694 0.830476 0.812613 0.832545 montreal 0.770094 0.861119 0.863676 0.863125 0.855313 0.868207. new-delhi 0.759259 0.810185 0.802778 0.819444 0.838889 0.837963 new-delhi 0.7375 0.839278 0.845778 0.856611 0.846389 0.852611 new-delhi 0.771644 0.867477 0.866967 0.867908 0.867789 0.876576 new-delhi 0.792899 0.919158 0.915991 0.924431 0.919454 0.923467. new-york-city 0.566667 0.724074 0.721296 0.72963 0.722222 0.740741 new-york-city 0.620833 0.790722 0.775389 0.785222 0.788333 0.760167 new-york-city 0.72589 0.788639 0.786616 0.792222 0.794909 0.779416 new-york-city 0.690841 0.79729 0.800351 0.803593 0.79356 0.795775. san-francisco 0.566667 0.727778 0.718519 0.710185 0.710185 0.709259 san-francisco 0.563889 0.812389 0.799222 0.808444 0.806667 0.806222 san-francisco 0.603611 0.821797 0.827188 0.831888 0.818214 0.831349 san-francisco 0.668005 0.819553 0.809958 0.823674 0.813886 0.822556. shanghai 0.676852 0.794444 0.785185 0.791667 0.794444 0.816667 shanghai 0.664722 0.794444 0.798833 0.797444 0.799222 0.810278 shanghai 0.642302 0.822585 0.82818 0.836967 0.823685 0.838413 shanghai 0.672663 0.882557 0.88167 0.889182 0.886467 0.895251. average 0.5954629 0.7294444 0.7329631 0.7318519 0.728148 0.7327779 average 0.6296222 0.7917055 0.7916833 0.7840054 0.78315 0.7867888 average 0.6555016 0.8051025 0.806763 0.8089563 0.8000617 0.808013 average 0.694948 0.8459529 0.847166 0.8459667 0.8407404 0.8470334. p-value. 0.4719338 0.7649599 0.8791349 0.7918063 p-value. 0.9932313 0.1706583 0.1372586 0.6316580 p-value. 0.4884474 0.1996476 0.2446659 0.6406164 p-value. 0.5642440 0.9954251 0.1473813 0.7689346. 政 治 大. 表 4.4: 實驗結果:以 libFM Regression 所實驗的 MAP@k. 立. ‧. ‧ 國. 學. 在此 libFM Regression 的實驗結果中,可觀察到在尚未加入使用 者文字評論時, libFM 的推薦效能比 User-based CF 來得好;而在 加入了使用者文字評論後,雖然可觀察到有部分城市的推薦效能 有所提升,且在十個城市的平均值,加入了使用者文字評論後的 MAP@3、MAP@7 以及 MAP@10 亦有些許提升;然而檢定結果 Pvalue 皆相當大,結論解讀為我們無法拒絕「加入了使用者文字評論 後,推薦系統的推薦效能與加入了使用者文字評論之前相同」的虛無 假設,且不論使用任一種權重方式設定飯店的特徵值,皆為此結論。. er. io. sit. y. Nat. n. al. 4.3.2. i n C U h e n g實c驗h結 libFM Binary Classification i果. map@3 cf libfm0 libfm1(boolean) libfm2(tf) libfm5(tfidf) libfm6(log avg) map@5 cf libfm0 libfm1(boolean) libfm2(tf) libfm5(tfidf) libfm6(log avg) map@7 cf libfm0 libfm1(boolean) libfm2(tf) libfm5(tfidf) libfm6(log avg) map@10 cf libfm0 libfm1(boolean) libfm2(tf) libfm5(tfidf) libfm6(log avg). beijing 0.294444 0.568519 0.575926 0.580556 0.57963 0.661111 beijing 0.441944 0.610556 0.641111 0.631556 0.651 0.681889 beijing 0.504195 0.680374 0.702823 0.697205 0.705884 0.731298 beijing 0.554913 0.767386 0.780466 0.776671 0.776015 0.801063. chicago 0.237037 0.621296 0.625926 0.691667 0.673148 0.700926 chicago 0.606444 0.767167 0.777167 0.807667 0.786889 0.828944 chicago 0.681502 0.799722 0.817313 0.827387 0.812103 0.845181 chicago 0.785586 0.841497 0.845296 0.869046 0.864944 0.865625. dubai 0.442593 0.611111 0.580556 0.618519 0.612963 0.628704 dubai 0.515444 0.698667 0.691 0.705056 0.666167 0.699556 dubai 0.614461 0.752585 0.753169 0.754909 0.743566 0.780805 dubai 0.666964 0.801757 0.806629 0.812294 0.805093 0.812727. las-vegas 0.296481 0.65 0.662963 0.698148 0.677778 0.728704 las-vegas 0.676222 0.750278 0.744667 0.759 0.757444 0.778167 las-vegas 0.714167 0.771661 0.766888 0.790306 0.790068 0.793827 las-vegas 0.774523 0.763442 0.776937 0.780397 0.776968 0.795646. london 0.343519 0.528704 0.513889 0.497222 0.555556 0.47037 london 0.476722 0.620667 0.614667 0.636111 0.632333 0.601278 london 0.511791 0.638906 0.637931 0.651213 0.655108 0.637812 london 0.591454 0.680243 0.684448 0.695108 0.693509 0.695501. montreal 0.101852 0.505556 0.560185 0.512963 0.515741 0.557407 montreal 0.3495 0.711778 0.728222 0.741056 0.734278 0.767611 montreal 0.534388 0.766752 0.793923 0.807256 0.806599 0.841871 montreal 0.722577 0.837069 0.860649 0.871958 0.862655 0.884198. new-delhi 0.764444 0.761111 0.782407 0.791667 0.781481 0.807407 new-delhi 0.797967 0.762667 0.769056 0.782944 0.779222 0.785056 new-delhi 0.81983 0.735913 0.729841 0.743299 0.733617 0.746372 new-delhi 0.789362 0.621765 0.619065 0.649272 0.627728 0.641737. v. new-york-city 0.557407 0.514815 0.536111 0.589815 0.547222 0.528704 new-york-city 0.481056 0.628333 0.631889 0.663333 0.629389 0.6295 new-york-city 0.503237 0.670737 0.665969 0.68602 0.673396 0.678203 new-york-city 0.576205 0.749686 0.760331 0.777022 0.774835 0.781414. san-francisco 0.564815 0.601852 0.640741 0.678704 0.67037 0.721296 san-francisco 0.532556 0.766167 0.794389 0.811889 0.814944 0.822444 san-francisco 0.596253 0.78835 0.809014 0.839507 0.824036 0.840652 san-francisco 0.712776 0.828511 0.851335 0.853596 0.855354 0.866849. 表 4.5: 實驗結果:以 libFM Binary Classification 所實驗的 MAP@k 28. shanghai 0.635741 0.655556 0.675926 0.712037 0.69537 0.722222 shanghai 0.719989 0.659833 0.685278 0.678167 0.702278 0.738389 shanghai 0.711684 0.695964 0.717375 0.722562 0.721684 0.750085 shanghai 0.699294 0.718608 0.731304 0.737297 0.734574 0.761498. average 0.4238333 0.601852 0.615463 0.6371298 0.6309259 0.6526851 average 0.5597844 0.6976113 0.7077446 0.7216779 0.7153944 0.7332834 average 0.6191508 0.7300964 0.7394246 0.7519664 0.7466061 0.7646106 average 0.6873654 0.7609964 0.771646 0.7822661 0.7771675 0.7906258. p-value. 0.1117078 0.0129157 0.0014221 0.0108384 p-value. 0.0548950 0.0002687 0.0419262 0.0087191 p-value. 0.0573433 0.0012678 0.0097045 0.00169194 p-value. 0.0030475 0.0000227 0.0002306 0.0000242.

(43) 如表 4.5 所示,其中, cf 列是 User-based CF 之 MAP@k , libfm0 列 是 libfm 未加入使用者文字評論之 MAP@k , libfm1、libfm2、libfm5 以 及 libfm6 等 列 則 分 別 是 libfm 加 入 使 用 者 文 字 評 論 , 並 且 以 不 同 的 權 重 方 式 設 定 飯 店 的 特 徵 值 實 驗 之 MAP@k , 我 們 依 序 列 出 了 MAP@3、MAP@5、MAP@7 以及 MAP@10 之實驗結果。 Paired Sample T-Test 的 P-value 用以檢定 libfm0 與 libfm1、libfm2、libfm5 以 及 libfm6 等列是否來自於同一母體。 在此 libFM Binary Classification 的實驗結果中,亦可觀察到 libFM 較 User-based CF 的推薦效能來得好;且在加入了使用者文字評論後, libFM 幾乎在所有城市的推薦效能都有顯著的提升,並且在各種詞袋 模型權重設定方式的實驗中都有著提升,其中表現最好的是 libfm6, 亦即有進行數值標準化的 TF-IDF 權重設定的這組表現最好;檢定結 果 P-value 皆相當小(小於 0.01),可解讀為我們有充分證據可以拒 絕「加入了使用者文字評論後,推薦系統的推薦效能與加入了使用 者文字評論之前相同」的虛無假設,換言之,我們有信心聲稱 libFM Binary Classification 的實驗中,加入了使用者文字評論為特徵值之後 的推薦效能是有所增加的。. 立. 政 治 大. ‧. ‧ 國. 學. y. Nat. 討 論 與 分 析 ( Discusssion and Analysis) ). er. io. sit. 4.4. n. a l 實驗: 圖 4.1 呈現了iUser-based libFM Binary Classification CF(cf)、 v n Ch 尚未加入文字評論的 libFM(libfm0)以及加入了文字評論的 libFM(libfm6) engchi U 的比較。可看出三種方法的效能有顯著的不同,以加入了文字評論 的 libFM (libfm6)方法的推薦效能最佳,與尚未加入文字評論的 libFM(libfm0)方法比較, MAP@k 大約有 2.5% 至 5% 的改善。 libFM Regression 實 驗 :在 libFM Regression 這部分的實驗,雖然 libFM 的效能表現優於 User-based CF 的做法,但是加入了文字評論的 libFM 方法的推薦效能並沒有顯著提升,我們推測應該是與原始資料 有關,由於原資料集是一個左偏的分布,大多數的評分都集中在較高 分(3.5 - 5分)區域,致使迴歸方法的預測較無法有效的找出應該正 確推薦的項目;我們多次實驗後發現,即使嘗試改變多種文字資訊的 權重設定方式,或者改變評分等第化的範圍之設定,也無法使迴歸分 析的效能有顯著提升。 從實驗的評量結果我們可發現,加入了文字評論的 libFM 方法能 29.

(44) 立. 政 治 大. ‧ 國. 學 圖 4.1: 各種不同方法的 MAP@k. ‧. n. er. io. sit. y. Nat. 夠有效的提升二元分類的預測效能;以飯店推薦的角度來看,二元 分類的結果其實就是用戶「有興趣去住」與「沒有興趣去住」的預 測分類,倘能充分運用這樣的技術來改善推薦系統之效能,不論是 商家或是用戶,雙方彼此都能有所獲益。此外, libFM 本身是一個 al v i 模型式(Model-based)的預測器,相較於協同過濾,其屬於記憶式 n Ch engchi U (Memore-based)的推薦方式,模型式系統更適合於線上系統的應 用,且能產出很好的推薦項目,這個實驗結果印證了我們的想法。. 30.

(45) Chapter 5 Conclusions and Future work 在商務應用上,推薦系統對於商家而言是一個創造額外價值的非常強 大的技術;而另一方面,推薦系統也使用戶受益,因為推薦系統能幫 助找到他們想要購買或者感到興趣的服務或商品項目。若能善用推薦 技術,商家與用戶雙贏的良好局面將被良好建立。 在這份研究中我們將真實資料集應用於 libFM 這個預測工具,實驗 結果驗證了,若能將使用者對於商品或者服務的文字評論經過有效的 整理,使之成為特徵值並帶進推薦系統中進行運算,則推薦系統的效 能將會有顯著提升。 在文字資訊的處理方面,我們採用了詞袋模型以表示使用者的評 論,此一模型的獨立性假設不太符合語言文字實際分布的狀況;近年 來的自然語言處理研究中,語言模型的文件表示法可以處理這類詞彙 al vVector 等等。未來的 i 相依性的問題,例如 Word to Vector、 Sentence to n Ch engchi U 研究或可進一步引用這些新的自然語言處理技術,以完善特徵值的處 理,如此應用於推薦系統,應該會有更好的推薦效能的表現。 此外,在未來的研究中,可嘗試將由學習出來的推薦模型權重參 數做輸出,並對應回原始的語料庫,這部分權重值所代表的是使用者 文字評論的重要性高低,若以這份研究的資料集為例,其中權重較高 者,即是各個城市的用戶評論的代表性詞彙,或可用以做更多質性方 面的探討與研究。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. 31.

(46) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 32. i n U. v.

(47) Bibliography [1] G. Adomavicius and Y. Kwon. New recommendation techniques for multicriteria rating systems. IEEE Intelligent Systems, 22(3):48–55, 2007.. 政 治 大. [2] H. Ahn, K. Kim, and I. Han. Mobile advertisement recommender system using collaborative filtering: Mar-cf. 2006.. 立. ‧ 國. 學. ‧. [3] D. Bridge and A. Waugh. Using experience on the read/write web: The ghostwriter system. In Proceedings of WebCBR: The Workshop on Reasoning from Experiences on the Web (Workshop Programme of the Eighth International Conference on Case-Based Reasoning), pages 15–24, 2009.. er. io. sit. y. Nat. n. [4] R. Burke. Hybrid recommender systems: Surveyvand experiments. User al i n C h interaction, 12(4):331–370, modeling and user-adapted 2002. U. engchi. [5] M. Claypool, A. Gokhale, T. Miranda, P. Murnikov, D. Netes, and M. Sartin. Combining content-based and collaborative filters in an online newspaper. In Proceedings of ACM SIGIR Workshop on Recommender Systems, volume 60. Citeseer, 1999. [6] M. Fuchs and M. Zanker. Multi-criteria ratings for recommender systems: an empirical analysis in the tourism domain. In International Conference on Electronic Commerce and Web Technologies, pages 100–111. Springer, 2012. [7] K. Ganesan and C. Zhai. Opinion-based entity ranking. Information Retrieval, 15(2):116–150, 2012. 33.

(48) [8] G. Huming and L. Weili. A hotel recommendation system based on collaborative filtering and rankboost algorithm. In 2010 second international conference on multimedia and information technology, 2010. [9] A. Levi, O. Mokryn, C. Diot, and N. Taft. Finding a needle in a haystack of reviews: cold start context-based hotel recommender system. In Proceedings of the sixth ACM conference on Recommender systems, pages 115–122. ACM, 2012. [10] Y. Liu, X. Huang, A. An, and X. Yu. Modeling and predicting the helpfulness of online reviews. In Data Mining, 2008. ICDM’08. Eighth IEEE International Conference on, pages 443–452. IEEE, 2008.. 政 治 大 [11] C. D. Manning, P. Raghavan, and H. Sch¨utze. Introduction to Infor立 mation Retrieval. Cambridge University Press, New York, NY, USA,. ‧ 國. 學. 2008.. ‧. [12] M. P. O’Mahony and B. Smyth. Learning to recommend helpful hotel reviews. In Proceedings of the Third ACM Conference on Recommender Systems, pages 305–308. ACM, 2009.. sit. y. Nat. n. er. io. [13] S. Rendle. Factorization machines. In Proceedings of Data Mining, 2010 IEEE 10th International Conference on, pages al v 995–1000. IEEE, i Ch 2010. Un. engchi. [14] S. Rendle. Factorization machines with libFM. ACM Transactions on Intelligent Systems and Technology, 3(3):57:1–57:22, May 2012. [15] G. Salton, A. Wong, and C.-S. Yang. A vector space model for automatic indexing. Communications of the ACM, 18(11):613–620, 1975. [16] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl. Item-based collaborative filtering recommendation algorithms. In Proceedings of the 10th International Conference on World Wide Web, pages 285–295. ACM, 2001.. 34.

(49)

參考文獻

相關文件

• 史記在文中加入此小段文字,很有用意﹕以見秦 兩面欺凌,既以武力侵奪土地及殺人,表面上又

韓愈〈師說〉系統地提出了「師道」的理論,以及論證「從師」的必要,期

1.大專以上學歷(不限特定科系) 2.行政文書處理與文字表達能力 3.外語能力(國際書信往來與客戶接待) 4.資訊應用能力(excel、ppt 等軟體操作)

本書立足中華文化大背景,較為深入系統地分析研究了回族傳統法文化的形成基礎、發展歷

• 本章動畫的主角是各個英文字母文字物件,由 於 Flash 提供了文字物件打散 (Break Apart) 及分散至圖層 (Distribute to Layer)

表現令人失望。由此可 見,加強學生對文言常 見字詞的認識,對篇章 旨意的理解,提高其閱 讀文言小品的興趣,擴 闊文言作品的閱面,實

評論 重建小學建議評論(樣本試卷) 人與責任一 書信 自薦信(擔任創意寫作學會主席) 人文情懷一 中四級 演講辭 演講辭(學會年終大會演講辭)

• S4- 閱讀時眼睛看著文 字,細聲讀出來。學生 對文字的排列及一字一 音有鞏固的認識,能以 手指指著文字閱讀。識 字量一般,能認讀關鍵 詞語而大致理文字意思。.