• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于觀看時長的自動評分及個性推薦系統(tǒng)

      2014-04-18 11:14:20陳旋
      視聽 2014年3期
      關(guān)鍵詞:播放器距離自動

      陳旋

      一、引言

      一個普通視頻網(wǎng)站經(jīng)過數(shù)年的運(yùn)營,會保存有十幾萬個視頻,但網(wǎng)站的首頁一般顯示的是最新的視頻,對一些存放時間久的節(jié)目,往往不能呈現(xiàn)在首頁上,但對于某些用戶來說,這樣的視頻也許有些是他們很感興趣的。一些網(wǎng)站使用網(wǎng)友評分的方法,這樣可以改善視頻資源浪費(fèi)的缺點(diǎn)。通過提供網(wǎng)友評分平均值,讓用戶根據(jù)分值的高低判斷一個節(jié)目的受歡迎程度,從而考慮是否觀看。但是用戶興趣愛好是千差萬別的,平均分值僅僅反映的是大眾對節(jié)目的受歡迎程度,不能滿足不同背景下興趣不同用戶的信息需要。而且用戶觀看完視頻后,往往由于忘記或不積極評分等原因沒有對其評分,所以需要一種自動獲取評分的機(jī)制。

      二、數(shù)據(jù)挖掘技術(shù)

      數(shù)據(jù)挖掘(Data Mining,DM)又稱數(shù)據(jù)庫中的知識 發(fā) 現(xiàn)(Knowledge Discover in Database,KDD),是目前人工智能和數(shù)據(jù)庫相結(jié)合,從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的真實數(shù)據(jù)中發(fā)現(xiàn)用戶感興趣知識的一種技術(shù)。個性推薦系統(tǒng)屬于數(shù)據(jù)挖掘領(lǐng)域的一種。推薦系統(tǒng)引擎會仔細(xì)審查一個用戶以前所做出的選擇,然后識別出用戶對某個還沒接觸過的條目的喜好程度。推薦系統(tǒng)依據(jù)的是用戶對節(jié)目評分產(chǎn)生的大量歷史數(shù)據(jù),計算出用戶間相似度,相似程度高的另一個用戶所觀看的視頻,可能也是這個用戶比較感興趣的,進(jìn)而向用戶推薦系統(tǒng),達(dá)到充分利用網(wǎng)站資源的目的。

      三、系統(tǒng)結(jié)構(gòu)

      系統(tǒng)主要包含視頻網(wǎng)站、節(jié)目評分、推薦引擎三大模塊。

      1.視頻網(wǎng)站實現(xiàn)一般視頻網(wǎng)站功能,提供視頻播放的基本功能,并具有用戶管理功能,完成用戶身份識別。

      2.節(jié)目評分模塊是采集用戶對節(jié)目的評分并檢驗數(shù)據(jù)是否有效的模塊。包含有自動和手動兩種。手動是用戶在界面上點(diǎn)擊分值圖標(biāo)完成評分,這種方式能夠比較真實獲得用戶的評價。對不是很活躍的用戶,觀看節(jié)目后沒有對視頻做評分,需要一種自動評分的方法。自動評分方法根據(jù)用戶對一個視頻節(jié)目的觀看時長占節(jié)目總時長的比值,自動完成節(jié)目的評分。本文用0到5的整數(shù)表示喜歡的程度,5表示很喜歡,0表示一點(diǎn)都不喜歡。觀看時長與節(jié)目總時長的比為1時評分是5,比值為0時評分是0,其他分值可以通過等比計算獲得。為了比較準(zhǔn)確地獲取觀看時長,還需要提供校正機(jī)制,防止重復(fù)觀看的時長被重復(fù)計算。

      3.推薦引擎是推薦系統(tǒng)的主體,引擎通過對采集到的用戶、節(jié)目、評分?jǐn)?shù)據(jù)計算出用戶的相似度,并通過視頻網(wǎng)站呈現(xiàn)推薦信息。

      四、節(jié)目評分模塊設(shè)計

      播放器采用Flash 開發(fā),F(xiàn)lash 的AS(ActionScript,動作腳本)腳本語言能夠?qū)S(JavaScript,語言腳本)很好地支持,通過ExternalInterface.call函數(shù)調(diào)用網(wǎng)頁上的JS基本語法是 ExternalInterface.call(function Name:String, ... arguments)。在使用前,需要添加引用flash.external.*。

      使用js開發(fā)一個名為Collection類,用于采集數(shù)據(jù)。其屬性和方法以及相應(yīng)的作用如表1、表2。

      播放器開始播放的時向Collection類ReceiveMSG方法發(fā)送消息,通知Collection對象播放器開始播放視頻,把視頻的總時長賦值給curVideoDuration,并初始化其他參數(shù)。

      表1

      表2

      播放器已經(jīng)開始播放視頻后,播放器每播放一秒的視頻,需要調(diào)用一次Collection類的Watch方法對CountSencond屬性的計數(shù)。為避免回放、跳播等原因?qū)е轮貜?fù)計數(shù),需要一種檢驗機(jī)制。Fragment以30秒作為一個小區(qū)間,記錄已經(jīng)觀看的片段。以150分鐘的電影為例子,視頻總時長就是9000秒,將劃分成(9000/30)=300個區(qū)間。如果用戶從頭一直觀看到16.2分鐘,也就是972秒,972整除30得32,那么Fragment[0]到Fragment[31]都將標(biāo)記為1(表示已觀看),其他(300-32=268)的區(qū)間都標(biāo)記為0(表示未觀看)。注意到,第32個區(qū)間表示的是32×30=960秒,也就是說雖然用戶已經(jīng)觀看到了第33個區(qū)間,但是還沒有看完這個區(qū)間,這個未看完的區(qū)間也標(biāo)記為0。雖然這會帶來一些誤差,但是對節(jié)目的評分影響不大。在對CountSencond屬性的計數(shù)時,用Flash播放器的NetStream對象的time屬性獲得正在播放的時間點(diǎn),并檢查Fragment所記錄的片段標(biāo)記,如果用戶已經(jīng)觀看過(也就是被標(biāo)記為1),就不給予計數(shù)。

      當(dāng)用戶暫停時候,播放器也停止調(diào)用Collection類的Watch方法。不繼續(xù)計數(shù)。

      當(dāng)用戶播放下一個節(jié)目,或觸發(fā)關(guān)閉、刷新播放頁面事件時,Collection類通過SendCollection方法,采用Ajax(Asynchronous JavaScript and XML,異步JavaScript和XML)異步調(diào)用的方式,把計算出來的Score值以及相關(guān)的節(jié)目、用戶信息發(fā)送給服務(wù)器。

      節(jié)目評分除采用自動方式外,還提供手動方式,用戶可以直接對節(jié)目評分,評分之后Collection類停止工作。

      五、推薦引擎設(shè)計

      推薦系統(tǒng)目前有協(xié)同過濾(collaborative filter)與基于內(nèi)容(content-based)兩種類型?;趦?nèi)容能夠根據(jù)數(shù)據(jù)的內(nèi)容之間的相似度來產(chǎn)生推薦,這種推薦引擎比較適合文檔類型的推薦。視頻文件在沒有經(jīng)過處理的情況下,是不能夠像文檔那樣通過分詞的方式來分析相似度的,而協(xié)同過濾方法是用戶給對象(如視頻、文檔、商品等)相當(dāng)程度的反饋(如評分),這些反饋被記錄下來,通過合作的機(jī)制分析數(shù)據(jù),幫助用戶篩選感興趣的對象。協(xié)同過濾推薦引擎在視頻網(wǎng)站中通過對節(jié)目、用戶與評分的歷史數(shù)據(jù)做整理,計算出相似度來完成針對不同的用戶提供不同的節(jié)目推薦。

      1.距離與相似度算法

      相似度是一個用于比較兩個事物的近似度的度量,類似于生活中描述兩個城市相近程度的地理距離。在度量兩個城市之間的距離時候,一般會使用經(jīng)緯度坐標(biāo),而在節(jié)目或用戶虛擬的空間里,則使用“評分”作為這個空間的坐標(biāo)來度量任意兩個節(jié)點(diǎn)的距離。假設(shè)有兩名用戶給他們打4或5分(喜歡這些視頻節(jié)目),同時有第三名用戶給它們的評分為0~3分。這樣一來,會認(rèn)為前兩個用戶彼此是相似的,而與第三個是不相似的。

      由此可以看出,相似度是基于距離進(jìn)行計算的,但與距離卻有所不同。距離是大于等于0的數(shù),而相似度具有取值區(qū)間,一般的取值范圍在[0,1]。距離等于0的時候,說明兩點(diǎn)重合。但這時候相似度取最大值。距離具有對稱性,A與B的距離等于B與A的距離,相似度也是如此。距離具有三角不等式性質(zhì),也就是“兩點(diǎn)之間直線最短”。對相似度而言,這個性質(zhì)是得不到保持的。通過相似度與距離的性質(zhì)比較,可以看出相似度與距離有著天然的互反性。

      2.用戶相似度計算

      假設(shè)有用戶User1與User2,節(jié)目集合P,User1評分過的節(jié)目集合為 P1,P1?P。User2評分過的節(jié)目為P2, P2?P。而且P1,P2≠ Φ (Φ 表示空集) P ′= P1∩P2。 p'∈ P′,User1對節(jié)目 p'的評分值是,User2對節(jié)目 p'的評分值是。根據(jù)歐氏距離的定義,遍歷每個元素可以得到由于相似度與距離從某種程度上說是互反的,可對L做些簡單的計算,滿足這樣的特性,比如歐式距離加1再取其倒數(shù),即加常數(shù)1是為了避免分母為0。但這樣做法是存在缺陷的。如果兩個用戶對同一個視頻打過分,其中一個打1分,另外一個打4分,他們評分的差值的平方為9,按以上公式得到的相似度為0.25。當(dāng)有另一種情況,兩個用戶共同對三首歌曲評分,一個用戶評分為2、3、4,另一個用戶評分是3、4、5。計算出來的相似度也是0.25。第二種情況兩個用戶有3個節(jié)目而第一種情況只有一首,直觀地,第二種情況兩個用戶應(yīng)更相似。因此可以把定義為樸素相似度公式。在此基礎(chǔ)做一些改進(jìn),把'p里的個數(shù)考慮進(jìn)來。設(shè),利用雙曲正切函數(shù)性質(zhì),可定義相似度為 sim =1- tanh(L)。

      3.向用戶推薦節(jié)目

      遍歷網(wǎng)站的視頻節(jié)目,計算出用戶未評論的節(jié)目估計評分值,并按預(yù)測評分值高到低向用戶推薦。

      4.用戶視頻推薦模塊設(shè)計

      設(shè)計所需的類,功能如表3。

      推薦模塊啟動時,先初始化BaseDataset,建立User、VideoItem、VideoRating實 例。RecommendSys實例在初始化過程中要完成相似矩陣的計算,保存的是兩兩用戶之間的相似度。當(dāng)用戶登錄時候,啟動一個線程調(diào)用RecommendSys的recommend方法。把用戶沒有看過,但可能感興趣的視頻推薦出來。圖1是用1萬個視頻節(jié)目和300個用戶來計算,向一個名為“Bob”的用戶推薦視頻的結(jié)果。

      初次運(yùn)行后,把預(yù)測的評分記錄下來,下次運(yùn)行就不需要重復(fù)計算,可以節(jié)省很多時間。

      圖1

      結(jié)語

      當(dāng)用戶由于某種原因離開屏幕,但視頻還在播放時,這樣獲得的觀看時長并不是用戶真實的觀看時長,得到用戶喜歡數(shù)據(jù)也不是真實的,因此在播放頁面時,提示用戶處于自動獲取評分狀態(tài),并提供手動評分功能,補(bǔ)充自動獲取方式的缺點(diǎn)。

      表3

      如果用戶數(shù)量很龐大,相似矩陣的計算將是一個很耗時的工作,需分階段計算。每個階段的計算結(jié)果保存在數(shù)據(jù)庫中下次可直接讀取。遍歷用戶沒看過的視頻節(jié)目,當(dāng)節(jié)目數(shù)龐大的時候,也是耗時的工作,同樣也采用分批的策略。

      基于歐式距離的相似度算法能夠獲得很好的結(jié)果,但計算步驟比較多,可以考慮其他一些計算簡單的相似度算法,如狹義Jacquard相似度。

      1.(美)瑪若曼尼斯等著, 阿穩(wěn)、陳鋼譯:《智能Web算法 》,電子工業(yè)出版社,2011年版。

      2.(美)西格蘭著,莫映、王開福譯:《集體智慧編程》,電子工業(yè)出版社,2009年版。

      猜你喜歡
      播放器距離自動
      自動捕盜機(jī)
      Walkman誕生40周年 索尼適時發(fā)布NW-ZX500和NW-A100系列播放器
      基于STM32的MP3播放器設(shè)計
      電子制作(2019年9期)2019-05-30 09:41:44
      Moon ACE播放器/放大器一體機(jī)
      算距離
      基于STM32的自動喂養(yǎng)機(jī)控制系統(tǒng)
      電子測試(2018年10期)2018-06-26 05:53:36
      關(guān)于自動駕駛
      汽車博覽(2016年9期)2016-10-18 13:05:41
      每次失敗都會距離成功更近一步
      山東青年(2016年3期)2016-02-28 14:25:55
      播放器背板注塑模具設(shè)計
      中國塑料(2015年8期)2015-10-14 01:10:55
      Stefan Greiner:我們?yōu)槭裁葱枰詣玉{駛?
      合山市| 萨嘎县| 广水市| 平安县| 平山县| 页游| 连云港市| 景泰县| 樟树市| 玉溪市| 肇源县| 陇西县| 依安县| 灵台县| 保德县| 晋江市| 安仁县| 新余市| 固始县| 景德镇市| 乡城县| 宜良县| 察隅县| 丹江口市| 富民县| 盈江县| 武邑县| 新宾| 垣曲县| 灵武市| 宜兴市| 姜堰市| 民丰县| 福鼎市| 金寨县| 阿瓦提县| 金塔县| 广宁县| 大姚县| 盐源县| 赣榆县|