在線推薦系統幫助用戶找到電影、工作、餐館——甚至愛情!這是一種將統計數據、人口統計數據和查詢條件相結合以獲得令他們滿意的結果的藝術。學習建立一個推薦系統的正確方法:它可以使你的應用成功或失敗!
對這項技術
推薦系統無處不在,幫助你找到從電影到工作,從餐館到醫院,甚至是愛情的一切。利用行為和人口統計數據,這些系統可以預測用戶在特定時間最感興趣的內容,從而得到高質量、有序、個性化的建議。推薦系統實際上是保持網站內容最新、有用和有趣的必要手段。
關于這本書
實用推薦系統解釋如何推薦系統的工作,并顯示如何創建和應用它們為您的網站。在介紹了基礎知識之后,您將看到如何收集用戶數據并生成個性化的推薦。您將學習如何使用最流行的推薦算法,并在Amazon和Netflix等網站上看到它們的實例。最后,這本書涵蓋了規模問題和其他問題,你會遇到的網站成長。
里面有什么
前言
計算機是如何解決問題的?你的小GPS怎么能在無數可能的路線中找到最快的到達目的地的路線,而且只需要幾秒鐘?當你在網上購物時,如何保護你的信用卡號碼不被人截獲? 這些問題的答案,以及其他許多問題的答案,就是算法。我寫這本書是為了為你解開算法的奧秘。我與人合著了教科書《算法導論》。這是一本神奇的書(當然,我是有偏見的),但它在某些方面相當專業。這本書不是算法導論。甚至都不是教科書。它既不廣泛也不深入計算機算法領域,它沒有規定地教授設計計算機算法的技術,它包含為讀者解決一個問題或練習。那么這本書到底是什么呢? 這是一個你可以開始的地方,如果
一些關于計算機算法的書是概念性的,很少有技術細節。有些書充滿了技術上的精確性。有些介于兩者之間。每一種類型的書都有自己的位置。我會把這本書放在中間類別。是的,它有一些數學,而且在某些地方變得相當精確,但我避免深入討論細節(除了可能在書的最后,我無法控制自己)。 我覺得這本書有點像一道開胃菜。假設你去一家意大利餐館點了一份開胃菜,吃完再決定是否點剩下的菜。它來了,你吃了它。也許你不喜歡開胃菜,決定不點別的。也許你喜歡它,但是它讓你覺得很飽,所以你不需要點其他東西。也許你喜歡開胃菜,但它并沒有填飽你的肚子,你期待著這頓飯剩下的部分。把這本書當作開胃菜,我希望能得到后兩種結果中的一種: 要么你讀了這本書,感到滿意,覺得沒必要再深入研究算法的世界; 或者你非常喜歡你在這里讀到的東西,想要了解更多。每一章的結尾都有一個標題為“進一步閱讀”的章節,它將引導你閱讀深入主題的書籍和文章。
你能從這本書中學到什么?
我不能告訴你你將從這本書中學到什么。以下是我想讓你從這本書中學到的東西:
目錄
摘要
推薦系統是一種軟件應用程序,它可以幫助用戶在信息過載的情況下找到感興趣的主題。當前的研究通常假設一個一次性的交互范式,其中用戶偏好是根據過去歷史觀察到的行為來估計的,并且按照等級排序的推薦列表是用戶交互的主要的且是單向的形式。對話推薦系統(CRS)采用了一種不同的方法,支持更豐富的交互。例如,這些交互可以幫助改進偏好激發過程,或者允許用戶詢問關于推薦的問題并給出反饋。對CRS的興趣在過去幾年里顯著增加。這種發展主要是由于自然語言處理領域的重大進展,新的語音控制家庭助手的出現,以及聊天機器人技術的增加使用。在本文中,我們詳細介紹了現有的對話推薦方法。我們將這些方法按不同的維度進行分類,例如,根據支持的用戶意圖或用戶在后臺使用的知識。此外,我們還討論了技術方法,回顧了CRS的評估方法,并最終確定了一些在未來值得更多研究的差距。
介紹
推薦系統是人工智能在實踐中最明顯的成功案例之一。通常,這些系統的主要任務是為用戶指出感興趣的潛在主題,例如電子商務網站。因此,它們不僅可以在信息超載的情況下幫助用戶,還可以對服務提供商的業務做出重大貢獻。 在這些實際應用中,推薦是一個一次性的交互過程。通常,底層系統會隨著時間的推移監視其用戶的行為,然后在預定義的導航情況下(例如,當用戶登錄到服務時)提供一組定制的建議。盡管這種方法在各個領域都很常見,也很有用,但是它可能有一些潛在的限制。例如,在許多應用程序場景中,用戶首選項無法從其過去的交互中可靠地估計出來。對于高介入的產品(例如,當推薦一款智能手機時),我們甚至可能完全沒有過去的觀察結果。此外,在一組建議中包含哪些內容可能與上下文高度相關,而且可能很難自動確定用戶的當前情況或需求。最后,另一個假設通常是,當用戶登錄網站時,他們已經知道自己的偏好。然而,這未必是真的。例如,用戶可能只在決策過程中確定他們的首選項,例如,當他們意識到選項的空間時。在某些情況下,他們也可能只在與推薦者的交互過程中了解這塊內容和可用的選項。 對話推薦系統(CRS)是可以幫助解決這些的挑戰中的許多這樣的問題。一般來說,這種系統的總體思想是支持與用戶進行面向任務的多回合對話。例如,在這樣的對話中,系統可以引出用戶當前的詳細偏好,為主題推薦提供解釋,或者處理用戶對所提建議的反饋。 鑒于這類系統的巨大潛力,對CRS的研究已經有了一定的傳統。早在20世紀70年代末,Rich就設想了一個電腦化的圖書管理員,通過用自然語言互動地向用戶提問有關他們的個性和偏好的問題,向他們提出閱讀建議。除了基于自然語言處理(NLP)的接口外,近年來還提出了多種基于表單的用戶接口。CRS中較早的基于這些接口的交互方法之一稱為critiquing,它在1982年就被提出作為數據庫領域的查詢重新制定的一種方法。在critiquing方法中,用戶很快會在對話中看到一個建議,然后可以對這些建議應用預先定義的評論。 基于表單的方法通常很有吸引力,因為用戶可以使用的操作是預先定義的、明確的。然而,這樣的對話也可能出現非自然的,用戶可能在表達他們的偏好的方式上感到約束。另一方面,基于NLP的方法在很長一段時間內受到了現有的限制,例如在處理語音命令的上下文中。然而,近年來,語言技術取得了重大進展。因此,我們現在習慣于向智能手機和數字家庭助手發出語音命令,這些設備的識別精度已經達到了令人印象深刻的水平。與語音助手領域的這些發展相對應,我們注意到聊天機器人技術在最近幾年的快速發展。聊天機器人,無論是簡單的還是復雜的,通常也能處理自然語言,現在廣泛應用于各種應用領域,例如,處理客戶服務請求。 這些技術的進步導致在過去幾年中對CRS的興趣增加。然而,與以前的許多方法相比,我們注意到今天的技術建議更多地是基于機器學習技術,而不是遵循預先定義的對話路徑,用于確定要向用戶詢問的下一個問題。然而,通常在語音助手和聊天機器人的功能與支持真正的對話推薦場景(如系統是語音控制的)所需的功能之間仍然存在差距。 本文從不同的角度對對話推薦系統的文獻進行了綜述。具體地說,我們將討論(i)CRS的交互模式(第3節),(ii)CRS基于的知識和數據(第4節), 和(iii)CRS中典型的計算任務(第5節)。然后,我們討論CRS的評估方法(第6節),最后展望未來的發展方向。
對話系統的特征描述
關于什么是CRS,文獻中沒有一個公認的定義。在這項工作中,我們使用以下定義。 CRS是一個軟件系統,它支持用戶通過多回合的對話來實現推薦相關的目標。
CRS的概念架構:在過去的二十年中,人們提出了各種CRS模型的技術途徑。這些解決方案的技術體系結構的細節取決于系統的功能,例如,是否支持語音輸入。盡管如此,仍然可以確定此類體系結構的許多典型概念組件,如圖1所示。
CRS交互模式
最近對CRS的興趣是由NLP的發展和技術進步(如寬帶移動互聯網接入和智能手機和家庭助手等新設備)推動的。然而,我們對文獻的回顧表明,用戶和CRS之間的交互既不局限于自然語言輸入和輸出,也不局限于特定的設備。
知識和背景數據
根據所選擇的技術方法,CRS必須結合各種類型的知識和背景數據才能發揮作用。顯然,像任何推薦人一樣,必須有關于推薦項目的知識。同樣,推薦的生成要么基于明確的知識,例如推薦規則或約束,要么基于在一些背景數據上訓練的機器學習模型。然而,對話系統通常依賴于其他類型的知識,例如對話中的可能狀態,或者用于訓練機器學習模型的數據,如記錄和轉錄的自然語言推薦對話。
計算任務
在討論了推薦對話中可能的用戶意圖之后,我們現在將回顧CRS的常見的計算任務和技術方法。我們區分(i)主要任務,即那些與推薦過程更直接相關的,例如,計算推薦或確定下一個要問的問題,以及(ii)額外的支持任務。
介紹對話系統的評價
一般情況下,推薦系統可以通過不同的方法從不同的維度進行評價。首先,當系統在其使用上下文中進行評估時,即,當它被部署時,我們通常最感興趣的是通過A/B測試來衡量系統是否達到了設計目標的具體關鍵性能指標(KPI),例如,增加的銷售數字或用戶參與度。其次,用戶研究(實驗室實驗)通常調查與系統感知質量相關的問題。常見的質量維度是建議的適宜性、流程的可感知透明性或易用性。最后,計算性實驗不需要用戶參與評估,而是基于客觀指標來評估質量,例如,通過測量建議的多樣性或計算運行時間來預測測試集中的輔助評級的準確性。同樣的質量維度和研究方法也適用于CRS。然而,在比較面向算法的研究和對話系統的研究時,我們發現評估的主要焦點往往是不同的。由于CRS是高度交互的系統,因此與人機交互有關的問題更常用于這些系統的研究。此外,在測量方法方面,CRS評估不僅關注任務的完成,即,如果建議是合適的或最終被接受的,但也涉及到與談話本身的效率或質量有關的問題。
總結和未來工作
總的來說,我們的研究表明,CRS領域在過去幾年中出現了一定程度的復興,其中最新的方法依賴于機器學習技術,尤其是深度學習和基于自然語言的交互。考慮到語音控制系統(如智能音箱)最近的興起,以及聊天機器人系統的日益普及,我們預計在未來幾年將看到對CRS的更多研究。雖然在某些方面取得了重大進展,但仍有許多領域需要進行更多的研究。在接下來的文章中,我們將概述一些有待解決的問題以及該領域未來可能的發展方向。 第一個問題涉及模式的選擇。盡管近年來,“自然語言”越來越流行,但究竟哪種情況下“自然語言”才是最好的選擇,目前還不完全清楚。需要進行更多的研究來了解哪種模式適合當前給定的任務和情況,或者是否應該向用戶提供替代模式。一個有趣的研究方向還在于解釋用戶的非言語交際行為。此外,完全基于語音的CRS也有一定的局限性,例如,在一個交互周期中提供完整的推薦集合。在這種情況下,用戶可能希望對一組推薦進行總結,因為在大多數情況下,當CRS向用戶推薦過多(例如多于兩三個)選項時,這可能沒有意義。
本書通過提供真實的案例研究和示例,為使用Python庫進行機器學習提供了堅實的基礎。它涵蓋了諸如機器學習基礎、Python入門、描述性分析和預測分析等主題。包括高級機器學習概念,如決策樹學習、隨機森林、增強、推薦系統和文本分析。這本書在理論理解和實際應用之間采取了一種平衡的方法。所有的主題都包括真實世界的例子,并提供如何探索、構建、評估和優化機器學習模型的逐步方法。
題目: A Survey on Knowledge Graph-Based Recommender Systems
摘要:
為了解決信息爆炸問題,提高用戶在各種在線應用中的體驗,人們開發了推薦系統來模擬用戶的偏好。盡管人們已經為更個性化的推薦做了很多努力,但是推薦系統仍然面臨著一些挑戰,如數據稀疏和冷啟動。近年來,以知識圖為輔助信息的推薦生成引起了人們的極大興趣。這種方法不僅可以緩解上述問題,使推薦更加準確,而且可以為推薦項目提供解釋。本文對基于知識圖的推薦系統進行了系統的研究。我們收集了最近在這一領域發表的論文,并從兩個角度對其進行了總結。一方面,我們通過研究論文如何利用知識圖進行精確和可解釋的推薦來研究所提出的算法。另一方面,我們介紹了這些工作中使用的數據集。最后,提出了該領域的幾個潛在研究方向。
掌握通過機器學習和深度學習識別和解決復雜問題的基本技能。使用真實世界的例子,利用流行的Python機器學習生態系統,這本書是你學習機器學習的藝術和科學成為一個成功的實踐者的完美伴侶。本書中使用的概念、技術、工具、框架和方法將教會您如何成功地思考、設計、構建和執行機器學習系統和項目。
使用Python進行的實際機器學習遵循結構化和全面的三層方法,其中包含了實踐示例和代碼。
第1部分側重于理解機器學習的概念和工具。這包括機器學習基礎,對算法、技術、概念和應用程序的廣泛概述,然后介紹整個Python機器學習生態系統。還包括有用的機器學習工具、庫和框架的簡要指南。
第2部分詳細介紹了標準的機器學習流程,重點介紹了數據處理分析、特征工程和建模。您將學習如何處理、總結和可視化各種形式的數據。特性工程和選擇方法將詳細介紹真實數據集,然后是模型構建、調優、解釋和部署。
第3部分探討了多個真實世界的案例研究,涵蓋了零售、交通、電影、音樂、營銷、計算機視覺和金融等不同領域和行業。對于每個案例研究,您將學習各種機器學習技術和方法的應用。動手的例子將幫助您熟悉最先進的機器學習工具和技術,并了解什么算法最適合任何問題。
實用的機器學習與Python將授權您開始解決您自己的問題與機器學習今天!
你將學習:
這本書是給誰看的 IT專業人士、分析師、開發人員、數據科學家、工程師、研究生
目錄:
Part I: Understanding Machine Learning
Chapter 12: Deep Learning for Computer Vision
推薦系統在信息產業中的應用具有很悠久的歷史,每一家互聯網公司,無不在依賴推薦算法,將更感興趣的內容推薦給用戶,那么如此具有經濟效益的實用算法,是如何實現的呢?這里為大家推薦一本圖書《推薦系統實戰》,相信可以解開大家心中的疑問。