劉煒楠 楊澤燦 黃再英 姜 永
(福建農(nóng)林大學(xué)計算機與信息學(xué)院,福建 福州 350002)
隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展和三網(wǎng)融合的深入推進,傳統(tǒng)數(shù)字電視也在不斷變革,電視節(jié)目也涌現(xiàn)出許多新的形式、種類。數(shù)字電視擁有上百個頻道,節(jié)目不可勝舉,智能機頂盒對電視節(jié)目簡單的分類并不滿足人們對收看電視節(jié)目的需求。而通過電視節(jié)目個性化推薦,則能夠減少用戶面對眾多節(jié)目選擇以及切換頻道的時間消耗,提升用戶觀看數(shù)字電視節(jié)目的體驗。
傳統(tǒng)的數(shù)字電視通常面向一個家庭,且互動性較低,難以獲得家庭顯性偏好。而通過智能機頂盒可以獲取大量用戶的收看信息,由此可分析用戶的隱性偏好。
基于內(nèi)容的推薦系統(tǒng)適用于電視節(jié)目推薦。依據(jù)用戶節(jié)目觀看時長、節(jié)目觀看時段和節(jié)目觀看次數(shù)挖掘家庭用戶偏好模型,提出單一家庭用戶,建立低一級的“時段-節(jié)目”模型,采用經(jīng)典的K-means聚類方法對用戶和節(jié)目進行聚類,實現(xiàn)對用戶和電視產(chǎn)品分類推薦。
基于內(nèi)容的推薦是通過用戶過去的行為記錄挖掘用戶的偏好特征,從而向用戶推薦具有類似特征的電視產(chǎn)品,即對用戶推薦新的符合用戶過去偏好特征的電視產(chǎn)品。
這種推薦算法首先需要獲取電視產(chǎn)品的特征描述,其次通過對用戶行為記錄分析,建立用戶偏好模型,最后匹配推薦。在電視節(jié)目推薦中,基于內(nèi)容的推薦系統(tǒng)首先分析用戶看過電視節(jié)目的共性(演員、導(dǎo)演、類型等),再推薦與這些用戶感興趣的節(jié)目內(nèi)容相似度高的其他節(jié)目。
基于內(nèi)容推薦的優(yōu)點是新的節(jié)目上線便可以進行推薦和新用戶產(chǎn)生行為記錄即可推薦;其缺點是推薦的新穎度和精細度低,難以給用戶推薦新領(lǐng)域的節(jié)目,且由于新用戶的行為信息不足,推薦有一定局限性。
基于內(nèi)容的推薦核心是提取節(jié)目的屬性特征,其中,節(jié)目內(nèi)容尤為重要。對節(jié)目內(nèi)容采用TF-IDF(一種用于資訊檢索與資訊探勘的常用加權(quán)技術(shù))計算出節(jié)目內(nèi)容的每個詞的TF-IDF值,按降序排列,取排在最前面的幾個詞作為節(jié)目的特征。
傳統(tǒng)電視節(jié)目信息的分類形式有形態(tài)類型和內(nèi)容類型,形態(tài)類型包括新聞時事、電影、電視劇、綜藝娛樂、體育競技、生活服務(wù)、科學(xué)教育和廣告八大類;內(nèi)容類型有綜藝、喜劇、戲劇、動畫、冒險、運動、游戲、兒童等可作為節(jié)目特征。此外,節(jié)目的制作信息(節(jié)目的導(dǎo)演、演員、內(nèi)容描述、出品年代等信息)也可作為節(jié)目特征。
與網(wǎng)絡(luò)視頻推薦不同,家庭用戶往往具有多位成員,他們喜好不同、觀看時間不同。為此,家庭用戶模型建立主要包括兩部分:一是推薦什么節(jié)目,二是什么時間推薦??煽偨Y(jié)為:在合適的時間段推薦二級用戶感興趣的節(jié)目。
智能機頂盒在聯(lián)網(wǎng)條件下能夠?qū)崟r記錄用戶所有的收看行為信息。這些信息包含用戶以何種方式收看節(jié)目、用戶觀看起止時間和節(jié)目信息。
基于用戶觀看時長、觀看次數(shù)和電視節(jié)目的標(biāo)簽屬性等隱性反饋信息,可以很好地反應(yīng)用戶偏好特征。利用詳細的一份頻道節(jié)目信息表,通過比較頻道節(jié)目信息表和用戶行為信息表相應(yīng)日期的時間先后,判斷用戶在何時觀看了什么節(jié)目,可以關(guān)聯(lián)出“用戶-節(jié)目”信息表,得到“用戶-節(jié)目”模型。
除了節(jié)目偏好,用戶總是傾向在一個固定的時間段觀看電視節(jié)目。因此可以按照時間先后劃分,分別為6:00-10:00、10:00-14:00、14:00-19:00、19:00-24:00。以時間段為劃分,統(tǒng)計各個時間段家庭用戶播放的節(jié)目,以觀看時間長、頻率比重大的為用戶時段偏好建立“時段-節(jié)目”模型。
機頂盒的信息是從機頂盒開機起實時記錄的,未必是完全有效的用戶行為信息,用戶在尋找節(jié)目、切換頻道時會產(chǎn)生時長較短的記錄,用戶極少數(shù)會存在連續(xù)不斷地只觀看一個頻道。為應(yīng)對這個問題,可以設(shè)置觀看時長上下閾值。
用戶收看電視節(jié)目主要有三大方式,包括直播、回看和點播,這些方式最大的區(qū)分點是時效性。直播是最傳統(tǒng)的收看方式,節(jié)目準(zhǔn)時在電視頻道上放送,時效性最大?;乜春忘c播的出現(xiàn)正是為了突破直播時效性受限性,給予用戶更多的節(jié)目自主選擇性。其中,點播的時效性最小,基本不受限。后兩種方式通常是收費型功能,點播價格高于回看價格。金錢花費往往可以表達用戶對節(jié)目的偏愛,則點播計算的偏好度權(quán)重應(yīng)大于回看的,考慮到點播次數(shù)少于回看次數(shù),故將兩者權(quán)重設(shè)置相同。對于以上三種收看方式,可以分別設(shè)置1,2,2的權(quán)值。
針對收看直播和回看行為,定義用戶對節(jié)目偏好度p為用戶節(jié)目收看總時長與節(jié)目本身總時長之比;針對用戶的點播行為,定義用戶對節(jié)目偏好度p為用戶單個節(jié)目點播總次數(shù)與用戶點播總次數(shù)之比。
對于用戶不同收視行為的偏好度計算方式不一,計算出的偏好度會出現(xiàn)偏差。為此利用函數(shù)
進行修正,其目的是讓所有行為產(chǎn)生的偏好度p的值域處于(0,1)之間,以規(guī)范標(biāo)準(zhǔn)。
最后,按上述權(quán)值分配計算用戶對節(jié)目偏好度f(p)的加權(quán)平均數(shù),作為用戶對節(jié)目最終偏好度。
電視節(jié)目推薦系統(tǒng)中,為了確定電視用戶興趣的相似度,以電視用戶X對電視節(jié)目特征i的最終偏好度xi為坐標(biāo),即X=X(x1,x2,…,xn),n為節(jié)目特征數(shù),并以歐幾里德距離:
計算電視用戶X和Y的相似度。為了使用方便,將其規(guī)約到(0,1]之間,其公式如下:
其中公式(2)的值越接近數(shù)值0,即公式(3)的值越接近數(shù)值1,表示用戶間的偏好越接近。根據(jù)用戶的最終偏好,采用K-means聚類算法對用戶進行分類。
K-means算法通過將樣本劃分為k個方差齊次的類來實現(xiàn)數(shù)據(jù)聚類。聚類算法描述如下:
1)從數(shù)據(jù)源中讀取數(shù)據(jù),隨機選取k個用戶作為當(dāng)前聚類的中心,記為{C1,C2,…Ck}。
2)對每個用戶Ui,求其到每個類Cj的中心ui的距離,將該用戶劃分到距離最近的一個類中。
3)對于每一個類Cj,通過均值求出其中心ui。
4)通過步驟2)3)的迭代更新每個類Cj對應(yīng)的ui,當(dāng)ui與更新前的值相差微小,則結(jié)束迭代,否者一直重復(fù)2)3)步驟的迭代。
推薦方法:
1)根據(jù)K-means聚類算法對用戶的偏好進行聚類,提取出本類用戶中觀看過的電視節(jié)目集合Ck。
2)對該類中的用戶Ui計算其觀看過的節(jié)目集合Cui。
3)對用戶Ui推薦電視節(jié)目合集為:Ck-Cui。
通過節(jié)目特征對應(yīng)用戶偏好特征、節(jié)目對應(yīng)時間匹配過濾,將相似度高的節(jié)目按“節(jié)目-時段”模型,在對應(yīng)時段推薦給相應(yīng)的用戶。
基于內(nèi)容的電視推薦,在電視節(jié)目用戶群體的行為記錄中挖掘用戶潛藏興趣偏好,運用K-means聚類對節(jié)目分類,并根據(jù)描述統(tǒng)計推斷并建立“用戶-節(jié)目”模型?;趦?nèi)容的推薦算法也存在一些問題:一是需要大量的用戶行為信息,才能建立較為精確的用戶模型,并據(jù)此提供合理的推薦方案。然而,對新用戶而言,其行為信息不足,難以對其進行建立模型,對新用戶的推薦精準(zhǔn)度可能存在偏差。二是由于用戶未關(guān)閉機頂盒或開著電視當(dāng)背景音樂的行為數(shù)據(jù)的清理,利用隨機抽樣統(tǒng)計分析可得到較為合理的閾值設(shè)置方法,但不可避免存在誤刪有效數(shù)據(jù)的情況。