劉煒楠 楊澤燦 黃再英 姜 永
(福建農林大學計算機與信息學院,福建 福州 350002)
隨著互聯網技術的迅猛發展和三網融合的深入推進,傳統數字電視也在不斷變革,電視節目也涌現出許多新的形式、種類。數字電視擁有上百個頻道,節目不可勝舉,智能機頂盒對電視節目簡單的分類并不滿足人們對收看電視節目的需求。而通過電視節目個性化推薦,則能夠減少用戶面對眾多節目選擇以及切換頻道的時間消耗,提升用戶觀看數字電視節目的體驗。
傳統的數字電視通常面向一個家庭,且互動性較低,難以獲得家庭顯性偏好。而通過智能機頂盒可以獲取大量用戶的收看信息,由此可分析用戶的隱性偏好。
基于內容的推薦系統適用于電視節目推薦。依據用戶節目觀看時長、節目觀看時段和節目觀看次數挖掘家庭用戶偏好模型,提出單一家庭用戶,建立低一級的“時段-節目”模型,采用經典的K-means聚類方法對用戶和節目進行聚類,實現對用戶和電視產品分類推薦。
基于內容的推薦是通過用戶過去的行為記錄挖掘用戶的偏好特征,從而向用戶推薦具有類似特征的電視產品,即對用戶推薦新的符合用戶過去偏好特征的電視產品。
這種推薦算法首先需要獲取電視產品的特征描述,其次通過對用戶行為記錄分析,建立用戶偏好模型,最后匹配推薦。在電視節目推薦中,基于內容的推薦系統首先分析用戶看過電視節目的共性(演員、導演、類型等),再推薦與這些用戶感興趣的節目內容相似度高的其他節目。
基于內容推薦的優點是新的節目上線便可以進行推薦和新用戶產生行為記錄即可推薦;其缺點是推薦的新穎度和精細度低,難以給用戶推薦新領域的節目,且由于新用戶的行為信息不足,推薦有一定局限性。
基于內容的推薦核心是提取節目的屬性特征,其中,節目內容尤為重要。對節目內容采用TF-IDF(一種用于資訊檢索與資訊探勘的常用加權技術)計算出節目內容的每個詞的TF-IDF值,按降序排列,取排在最前面的幾個詞作為節目的特征。
傳統電視節目信息的分類形式有形態類型和內容類型,形態類型包括新聞時事、電影、電視劇、綜藝娛樂、體育競技、生活服務、科學教育和廣告八大類;內容類型有綜藝、喜劇、戲劇、動畫、冒險、運動、游戲、兒童等可作為節目特征。此外,節目的制作信息(節目的導演、演員、內容描述、出品年代等信息)也可作為節目特征。
與網絡視頻推薦不同,家庭用戶往往具有多位成員,他們喜好不同、觀看時間不同。為此,家庭用戶模型建立主要包括兩部分:一是推薦什么節目,二是什么時間推薦。可總結為:在合適的時間段推薦二級用戶感興趣的節目。
智能機頂盒在聯網條件下能夠實時記錄用戶所有的收看行為信息。這些信息包含用戶以何種方式收看節目、用戶觀看起止時間和節目信息。
基于用戶觀看時長、觀看次數和電視節目的標簽屬性等隱性反饋信息,可以很好地反應用戶偏好特征。利用詳細的一份頻道節目信息表,通過比較頻道節目信息表和用戶行為信息表相應日期的時間先后,判斷用戶在何時觀看了什么節目,可以關聯出“用戶-節目”信息表,得到“用戶-節目”模型。
除了節目偏好,用戶總是傾向在一個固定的時間段觀看電視節目。因此可以按照時間先后劃分,分別為6:00-10:00、10:00-14:00、14:00-19:00、19:00-24:00。以時間段為劃分,統計各個時間段家庭用戶播放的節目,以觀看時間長、頻率比重大的為用戶時段偏好建立“時段-節目”模型。
機頂盒的信息是從機頂盒開機起實時記錄的,未必是完全有效的用戶行為信息,用戶在尋找節目、切換頻道時會產生時長較短的記錄,用戶極少數會存在連續不斷地只觀看一個頻道。為應對這個問題,可以設置觀看時長上下閾值。
用戶收看電視節目主要有三大方式,包括直播、回看和點播,這些方式最大的區分點是時效性。直播是最傳統的收看方式,節目準時在電視頻道上放送,時效性最大。回看和點播的出現正是為了突破直播時效性受限性,給予用戶更多的節目自主選擇性。其中,點播的時效性最小,基本不受限。后兩種方式通常是收費型功能,點播價格高于回看價格。金錢花費往往可以表達用戶對節目的偏愛,則點播計算的偏好度權重應大于回看的,考慮到點播次數少于回看次數,故將兩者權重設置相同。對于以上三種收看方式,可以分別設置1,2,2的權值。
針對收看直播和回看行為,定義用戶對節目偏好度p為用戶節目收看總時長與節目本身總時長之比;針對用戶的點播行為,定義用戶對節目偏好度p為用戶單個節目點播總次數與用戶點播總次數之比。
對于用戶不同收視行為的偏好度計算方式不一,計算出的偏好度會出現偏差。為此利用函數

進行修正,其目的是讓所有行為產生的偏好度p的值域處于(0,1)之間,以規范標準。
最后,按上述權值分配計算用戶對節目偏好度f(p)的加權平均數,作為用戶對節目最終偏好度。
電視節目推薦系統中,為了確定電視用戶興趣的相似度,以電視用戶X對電視節目特征i的最終偏好度xi為坐標,即X=X(x1,x2,…,xn),n為節目特征數,并以歐幾里德距離:

計算電視用戶X和Y的相似度。為了使用方便,將其規約到(0,1]之間,其公式如下:

其中公式(2)的值越接近數值0,即公式(3)的值越接近數值1,表示用戶間的偏好越接近。根據用戶的最終偏好,采用K-means聚類算法對用戶進行分類。
K-means算法通過將樣本劃分為k個方差齊次的類來實現數據聚類。聚類算法描述如下:
1)從數據源中讀取數據,隨機選取k個用戶作為當前聚類的中心,記為{C1,C2,…Ck}。
2)對每個用戶Ui,求其到每個類Cj的中心ui的距離,將該用戶劃分到距離最近的一個類中。
3)對于每一個類Cj,通過均值求出其中心ui。
4)通過步驟2)3)的迭代更新每個類Cj對應的ui,當ui與更新前的值相差微小,則結束迭代,否者一直重復2)3)步驟的迭代。
推薦方法:
1)根據K-means聚類算法對用戶的偏好進行聚類,提取出本類用戶中觀看過的電視節目集合Ck。
2)對該類中的用戶Ui計算其觀看過的節目集合Cui。
3)對用戶Ui推薦電視節目合集為:Ck-Cui。
通過節目特征對應用戶偏好特征、節目對應時間匹配過濾,將相似度高的節目按“節目-時段”模型,在對應時段推薦給相應的用戶。
基于內容的電視推薦,在電視節目用戶群體的行為記錄中挖掘用戶潛藏興趣偏好,運用K-means聚類對節目分類,并根據描述統計推斷并建立“用戶-節目”模型。基于內容的推薦算法也存在一些問題:一是需要大量的用戶行為信息,才能建立較為精確的用戶模型,并據此提供合理的推薦方案。然而,對新用戶而言,其行為信息不足,難以對其進行建立模型,對新用戶的推薦精準度可能存在偏差。二是由于用戶未關閉機頂盒或開著電視當背景音樂的行為數據的清理,利用隨機抽樣統計分析可得到較為合理的閾值設置方法,但不可避免存在誤刪有效數據的情況。