本文中,知乎聯合清華大學對外開放基于知乎的大規模富文本查詢和推薦數據集ZhihuRec。該數據集中的曝光數接近 1 億,并具有目前為止最豐富的上下文信息,覆蓋 10 天、79.8 萬用戶、16.5 萬個問題、55.4 萬個回答、24 萬個作者、7 萬話題以及 50.1 萬用戶搜索行為日志。它可以被用于各種推薦方法,如協同過濾、基于內容的推薦、基于序列的推薦、知識增強的推薦和混合推薦等。此外,由于 ZhihuRec 數據集中信息豐富,不僅可以將它應用于推薦研究,還可以將它應用于用戶建模(如性別預測、用戶興趣預測)、跨平臺應用(查詢平臺和推薦平臺)等有趣的課題。據了解,這是用于個性化推薦的最大的實際交互數據集。
總結來說 ZhihuRec 數據集主要具有三個優點:
- ZhihuRec 是最大的公共推薦數據集,包含從知乎收集的各種用戶交互,該數據集是開源的。
- ZhihuRec 數據集提供了豐富的內容信息,包括問題、回答、個人資料、話題。特別是用戶的搜索日志也會顯示出來,這些以前沒有包含過。
- 除 top-N 推薦、上下文感知推薦等推薦研究外,ZhihuRec 還可用于各種研究領域,例如用戶建模、集成搜索和推薦研究。

- 論文地址:https://arxiv.org/pdf/2106.06467.pdf
- 數據集地址:https://github.com/THUIR/ZhihuRec-Dataset
數據集簡介
下表 1 展示了 ZhihuRec 與其他一些經典推薦數據集之間的差異,結果表明,ZhihuRec 數據集比傳統推薦數據集包含更多的信息和類型,如文本、用戶畫像、物品屬性、時間戳等。

表格中 O 表示 ZhihuRec 數據集中雖然沒有記錄用戶具體的評分 / 收藏行為,但是記錄了用戶的收藏回答總量。
下圖給出了 ZhihuRec 數據集的構建過程,可以看出數據集包含的上下文信息有用戶對回答的點擊和瀏覽行為日志、用戶查詢詞記錄、用戶畫像信息、答案屬性信息、問題屬性信息、作者畫像信息和話題屬性等各類信息,以及每個用戶最多 20 個最近查詢關鍵詞。

表 2 顯示了 ZhihuRec 中每個印象記錄的字段及其說明。根據答案的讀取時間,所有用戶的點擊和未點擊的印象都記錄在數據集中。

表 3 顯示了 ZhihuRec 數據集中的每個搜索記錄的字段及其說明。所有用戶的搜索關鍵字和時間戳都記錄在數據集中。

由于 ZhihuRec 數據集包含約 1 億個用戶 - 答案交互,因此也稱為 Zhihu100M。此外,還構造了兩個從 Zhihu100M 數據集中隨機抽取的較小數據集,稱為 Zhihu20M 和 Zhihu1M,以滿足各種應用需求。它們包含大約 2000 萬和 1M 的用戶答案日志,可以將其視為中等大小的數據集和相對較小的數據集。表 4 中顯示了它們的一些統計信息。

用戶畫像和屬性都記錄在 ZhihuRec 中。該數據集保留用戶、問題、回答和作者的內容信息。表 5 顯示了用戶的屬性,表 6 顯示了回答的屬性,表 7 顯示了問題的屬性,表 8 顯示了作者的屬性。
用戶的屬性。
回答的屬性。
問題的屬性。
作者的屬性。
如表中所示,關于用戶、問題、回答和作者的功能十分豐富,可以對用戶和內容(回答)進行全面建模。問題屬性中沒有 authorID,原因是隨著時間的推移,許多人可以修改知乎問答社區中的問題。
請注意,authorID 與 userID 是不同的,這意味著如果一個人在數據集中同時扮演用戶和作者的角色,則其 authorID 和 userID 是不同的,因為發布者和閱讀者是不同的角色。
每個用戶或問題還具有幾個話題(從 0 到 70,308),由用戶本人(用戶話題)或系統用戶(問題話題,所有用戶都可以對其進行編輯)標記。它提供了一種更明確的方式來幫助了解用戶的興趣和問題的類型,這對于推薦也很有用。每個話題都有一個話題 ID 和話題描述作為其屬性,話題 ID 進行了散列處理,并且話題描述中的所有上下文都已轉換為數字編號。
數據集隱私保護
由于整個數據集都是從真實場景中的真實用戶那里收集的,因此有必要保護用戶隱私。因此,并非用戶的所有內容信息都被釋放。
ZhihuRec 數據集中的所有 ID 均被匿名和散列處理。所有文本信息(例如問題的標題、回答的內容、話題的描述和搜索關鍵字)均被分解為單詞,并且所有單詞均被數字替換。用戶畫像中的所有文本功能(例如性別、注冊類型、登錄頻率、省、城市)也都已轉換為數字號碼。因此,無法從 ZhihuRec 數據集中獲取用戶個人資料和內容屬性的詳細信息。
ZhihuRec 數據集刪除了用戶的出生日期、工作經歷、教育經歷等敏感信息。用戶的網絡信息 (如 IP 地址) 也已被刪除。用戶對回答的顯式反饋如贊同、感謝、收藏、評論、反對和舉報等都被隱藏,ZhihuRec 數據集只保存了相關的總的統計量,如用戶總的贊同數、收藏數、評論數、反對數和舉報數等。
數據集統計特性
圖 2 顯示了用戶注冊時間的分布;可以發現,隨著時間的推移,每月注冊用戶的數量逐漸增加。

圖 3 顯示了每個話題的用戶分布數:

圖 4 顯示了每個話題下的問題分布數:

圖 5 顯示了每個話題下的回答分布數。它顯示大多數用戶關注的話題少于 100 個,大多數回答和問題綁定不止一個話題。

圖 6 顯示了 ZhihuRec 數據集中每個搜索的用戶分布數量。大多數用戶的搜索少于 3 個,并且分布顯示出類似對數的衰減。但是,有許多用戶有 20 個搜索,原因是研究者在此處進行了截斷(最多將保留該用戶的 20 個最近搜索關鍵字)。

數據集在多項推薦任務中的應用
topN 推薦
用戶的交互日志包含在 ZhihuRec 數據集中;從推薦系統的角度來看,可以將用戶在日志中交互的回答視為商品。該信息適用于協同過濾,其中包含通用的 topN 推薦的主要方法。為了評估 ZhihuRec 數據集的性能,在 Zhihu1M 數據集中應用了 5 種推薦算法。
- Pop:此基準始終會推薦訓練集中最受歡迎的回答(用戶點擊)。
- ItemKNN:此方法選擇前 K 個最近鄰,并使用其信息進行預測。
- BPR:此方法應用貝葉斯個性化排名目標函數來優化矩陣分解。
- LightGCN:此方法使用圖卷積網絡來增強協同過濾的性能。
- ENMF:使用高效神經矩陣分解的非采樣神經網絡推薦模型。
實驗已使用 RecBole 完成。對于所有方法,用戶和回答的 embedding 大小為 64。ItemKNN 的鄰居數為 100。采用留一法(Leave-one-out)。實驗結果如表 9 所示:

序列推薦
序列推薦在改善許多推薦任務的性能方面起著重要作用,因為它們可以揭示用戶的動態偏好,這也是前 N 個推薦。通常,序列推薦與傳統推薦之間的區別在于序列推薦需要清晰的時間信息。它使用用戶交互的商品序列作為輸入,并根據交互時間戳對商品進行排序。推薦系統中對商品的展示也有排序。由于所有用戶的交互都記錄在 ZhihuRec 數據集中,因此本文已在 Zhihu1M 數據集中應用了四個最新的序列模型(FPMC 、GRU4Rec、NARM 、SASRec)。
- FPMC:此方法基于基礎馬爾可夫鏈上的個性化過渡圖,并結合了 MF。
- GRU4Rec:基于會話的模型,使用 RNN 捕獲序列依賴關系并進行預測。
- NARM:此方法使用具有注意力機制的混合編碼器來捕獲用戶的意圖。
- SASRec:采用自注意力層來捕獲動態用戶交互序列的順序模型。
實驗已使用 RecBole 完成。對于所有方法,用戶和回答的 embedding 大小為 64。使用留一法。實驗結果如表 10 所示:

上下文感知推薦
上下文感知推薦模型使用來自用戶、商品和上下文來增強模型性能。上下文感知推薦結合了不同推薦模型的優勢,例如協同過濾,基于內容的模型以獲得更好的推薦;該數據集非常適合上下文感知推薦。如點擊預測任務中通常描述的那樣,一個用戶點擊一個回答的交互標記為 1,而該用戶有被展示但不點擊一個回答的交互標記為 0。本文在 Zhihu1M 數據集中應用了 4 個最新的上下文感知模型。
- Wide&Deep :由 Google 提出,它結合了深度神經網絡和線性模型,并廣泛用于實際場景中。
- NFM :使用雙向交互層對二階特征交互進行建模的神經模型。
- ACCM:這是一個注意力協同和內容模型,它將內容和用戶交互結合在一起。
- CC-CC:此方法使用自適應 “特征采樣” 策略。
實驗已使用 CC-CC 工具箱完成。所有方法的用戶和回答的 embedding 大小為 64。對于每個用戶,最后一次點擊和最后一次點擊之后的展示均被視為測試集,最后一次點擊之前的點擊以及最后一次點擊之前的點擊和最后一次點擊之間發生的展示被視為驗證集,其他被視為訓練集。實驗結果如表 11 所示:

跨場景推薦
如上所述,用戶的搜索關鍵字也包含在 ZhihuRec 數據集中;搜索使用的關鍵詞可以視為其明確的需求信息。雖然以前的推薦系統的研究主要集中于從用戶的隱式反饋中學習,但如果更多的研究人員嘗試整合搜索和推薦,將很有幫助,這將有助于更好地了解用戶的信息需求并提供更好的信息服務。該數據集由于其豐富的搜索和推薦日志可以應用于此類研究。
基于負反饋的推薦
當用戶與回答進行交互時,他們會給答案以正反饋和負反饋。正面反饋是指用戶對回答進行點擊、收藏、點贊等。負反饋則是用戶刪除、跳過回答等。傳統的推薦數據集存在缺乏負反饋問題。ZhihuRec 數據集同時記錄了用戶的正反饋和負反饋。利用用戶的負向偏好可以提高推薦質量,該數據集適用于基于負反饋的推薦模型。
由于 ZhihuRec 數據集具備了豐富的上下文信息,它還可以被用在推薦之外的任務上,例如識別最有價值的回答者、識別優質回答等。
結論
本文介紹了來自在線知識共享社區的一個新數據集,旨在為個性化推薦做出貢獻。據了解,這是一個包含詳細信息的最大的公開數據集,包括用戶、內容、行為、作者、話題以及包含搜索和對推薦結果是否點擊的用戶交互日志。該研究呈現了有關最新算法在該數據集上的實驗結果。該數據集可用于以下方面的研究:上下文感知推薦、序列推薦、利用負反饋的推薦、集成搜索和推薦以及用戶畫像和內容屬性的建模。該數據集是公開可用的,并且在交互日志和搜索關鍵字中包含大量信息,適合跨平臺研究。