本發明涉及節目質量評價技術領域,具體地說,涉及一種基于霍克斯過程的節目質量評價方法,該方法對用戶收視節目行為建模,并用數據計算的方法評價節目質量的算法,通過對用戶收視行為建模,可以排除用戶收視意愿、節目類型、頻道偏好和用戶偏好等因素來得到對節目質量的客觀評價。
背景技術:
傳統的對節目質量的評價是通過統計調查節目的收視率來實現的,而這種方法不能排除用戶收視意愿、節目類型、頻道偏好和用戶偏好等因素的干擾,不能得到對節目質量的較為客觀的質量評價。具體來說,這些干擾包括了用戶本身的收視意愿、節目播出所在的時間、節目播出的頻道、節目的類型、該節目受大眾喜愛的程度、用戶本身的換臺習慣等,這些因素都會干擾節目的質量評價。例如,在晚上八點某綜合類電視頻道播出的電視劇,收視率可能會比某衛視下午播出的某個節目收視率高,但是并不能以此簡單地認為該電視劇的節目質量更高,那是因為可能這一綜合類電視頻道是被人們更偏愛的一個頻道,晚上八點也是大多數人有空來看電視的時間,收視率高是理所當然的,然而別的節目可能質量更高,收視率卻稍低,所以收視率這種評價方式不夠準確。再比如說,因為喜歡看綜藝節目的人比喜歡看戲曲節目的人多,所以綜藝節目的收視率一般比戲曲節目要高,但并不能以此說明一個綜藝節目的質量比一個戲曲節目的質量高,這就是節目類型所導致的干擾。還有,因為某一衛視的收視率高,用戶看完某一衛視的節目后可能正好換臺到附近的頻道,這樣會導致附近頻道的收視率增高,這就是用戶的換臺習慣造成的影響。正是上述這些原因,一個客觀的節目質量評價算法應該能排除各種因素的干擾,來得到對節目質量的較為客觀準確的質量評價。
基于對用戶收視行為進行建模的方法來評價節目質量的方法由于在建模時考慮了用戶收視意愿、節目類型、頻道偏好和用戶偏好等因素,將這些因素表達為模型的各個參數,可以將影響節目收視的“節目質量”因素與其他因素區分出來,因此能得到更為客觀的節目質量評價。
點過程是一類用空間中的點表示隨機事件發生的隨機模型。時序點過程是點過程中的一類,點所在的時間域是實數域的一部分,其中事件被表示為時間域上的點。時序點過程模型近年來得到比較廣泛的應用,尤其是在用戶收視行為數據的建模和挖掘方面;隨著雙向機頂盒和智能電視等具有收視采集功能的終端的普及,已實現大規模采集用戶的收視行為的功能,包括其發生時刻和具體的行為信息。簡單點過程是點與點之間不會重合的點過程,例如當點所在的空間是時間域則每個點的出現時刻都不一樣,同一個時刻不可能同時出現兩個點(不能在同一時刻發生兩件事情)。對于簡單點過程而言,確定了其條件強度函數的形式后,則這個點過程就確定了。
選擇合適的點過程形式,然后結合用戶收視的應用場景確定參數,可以完成對用戶收視行為的建模。目前沒有發現同本發明類似技術的說明或報道,也尚未收集到國內外類似的資料。
技術實現要素:
針對現有技術中存在的上述不足,本發明的目的是提供一種基于霍克斯過程的節目質量評價方法,該方法將上述用戶行為視為隨機事件,用時序點過程對用戶收視行為進行建模。
為實現上述目的,本發明是通過以下技術方案實現的。
一種基于霍克斯過程的節目質量評價方法,包括如下步驟:
步驟a,數據預處理:將用戶收視行為的記錄作為原始數據,并將原始數據處理為用戶收視事件序列;
步驟b,在用戶收視事件序列的基礎上,利用霍克斯過程建立用戶收視事件序列模型,隨機初始化該模型的條件強度函數各項參數值,并通過最小窗梯度下降算法求解模型的各項參數;
步驟c,隨機打亂用戶收視事件序列模型的用戶數據順序,并根據最小窗口的大小將用戶數據分成多個數據塊;
步驟d,提取一個數據塊進行處理:
-步驟d1,將該數據塊的用戶數據代入目標函數的各項參數的梯度公式中,計算該數據塊中各項參數的梯度值;
-步驟d2,根據步驟d1中得到的各項參數的梯度和學習速率更新數據塊中各項參數的參數值,使得對數損失函數變小;
步驟e,判斷是否所有數據塊均已處理:
如果否:則返回步驟d;
如果是,則進入步驟f;
步驟f,判斷是否達到迭代次數:
如果否,則返回步驟c;
如果是,則進入步驟g;
步驟g,得到具有節目的收視質量和節目類型收視質量的最終用戶收視事件序列模型。
優選地,所述步驟a具體包括如下子步驟:
步驟a1,將一個用戶的一次收視行為視為時間軸上的一個點,那么該用戶在一段時間內的所有收視行為就視為一個點過程;
步驟a2,把一個用戶的一次收視行為視作發生在該用戶收視某次節目起始時刻的一個事件,這樣該用戶在一段時間內收視行為的點過程就作為時間軸上的一個用戶收視事件序列;
優選地,所述用戶收視行為包括:用戶編號、節目編號、節目名稱、節目類型、頻道編號、頻道名稱、觀看起始時間和/或觀看終止時間;所述一個事件包括:事件發生的時間、用戶觀看的節目、節目類型和節目所在的頻道。
優選地,所述步驟b具體為:
利用霍克斯過程建立的用戶收視事件序列模型,其條件強度函數λu(t)為:
式中:
μu:用戶u本身想看電視的意愿,該參數的參數值大于0;
g(t):衰減函數,表示隨著時間t的推移,用戶u收視興趣的衰減程度。
優選地,所述步驟c中,根據最小窗口的大小將用戶數據分成多個數據塊的方法,包括如下步驟:
步驟c1,隨機打亂所有用戶數據的順序;
步驟c2,將打亂后的用戶數據分成多個數據塊,其中每個數據塊的用戶數量等于最小窗口的大小。
優選地,所述步驟d中,針對對數損失函數計算數據塊中各項參數的梯度,所述對數損失函數l(θ)為:
其中:
θ為數據塊中各項參數的合集;
tu表示用戶u的用戶收視事件序列的總時間。
優選地,所述步驟d中,根據各項參數的梯度和學習速率更新數據塊中各項參數的參數值的方法,包括如下步驟:
步驟d1,計算各項參數的更新值:每一項參數的更新值為該參數的梯度乘以學習速率;
步驟d2,更新各項參數值:每一項更新后的參數值為該參數的原值減去該參數的更新值。
優選地,窗口大小、學習速率以及迭代次數根據原始數據的數據量設定。
本發明提供的基于霍克斯過程的節目質量評價方法,利用hawkes(霍克斯)過程來模擬用戶u的收視行為,與現有技術相比,本發明具有如下有益效果:
1、本發明利用霍克斯過程來建模用戶u的收視行為,分離了收視意愿、節目類型、用戶頻道偏好、換臺習慣與節目質量對其收視節目行為的影響,可以得到較為客觀的節目質量的評價。
2、本發明提供的用戶收視行為模型的條件強度函數,包含了用戶u本身想看電視的意愿μu、用戶u對頻道c的偏好
3、本發明將霍克斯過程的模型引入到了用戶收視行為建模中,物理意義符合常理。
4、本發明利用最小窗梯度下降算法進行模型各項參數的求解,各項參數能夠很快地收斂,得到節目p的收視質量參數hp。
5、本發明利用最小窗梯度下降算法進行模型參數的求解,各項參數能夠很快地收斂,得到節目p所屬節目類型k的收視質量參數lk。
附圖說明
通過閱讀參照附圖的詳細描述,本發明的其它特征、目的和優點將會變得更加明顯。
圖1為用戶的收視行為示意圖。
圖2為用戶收視行為的條件強度函數示意圖。
圖3為本發明方法流程圖。
具體實施方式
下面對本發明的具體實施方式進行詳細地說明。以下算法將有助于本領域的技術人員進一步理解本發明,但不以任何形式限制本發明。應當指出的是,對本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進。這些都屬于本發明的保護范圍。
本實施例提供了一種基于霍克斯過程的節目質量評價方法,包括如下步驟:
步驟a,數據預處理:將用戶收視行為的記錄作為原始數據,并將原始數據處理為用戶收視事件序列;
步驟b,在用戶收視事件序列的基礎上,利用霍克斯過程建立用戶收視事件序列模型,隨機初始化該模型的條件強度函數各項參數值,并通過最小窗梯度下降算法求解模型的各項參數;
步驟c,隨機打亂用戶收視事件序列模型的用戶數據順序,并根據最小窗口的大小將用戶數據分成多個數據塊;
步驟d,提取一個數據塊進行處理:
-步驟d1,計算數據塊中各項參數的梯度;
-步驟d2,根據步驟d1中得到的各項參數的梯度和學習速率更新數據塊中各項參數的參數值,使得對數損失函數變小;
步驟e,判斷是否所有數據塊均已處理:
如果否:則返回步驟d;
如果是,則進入步驟f;
步驟f,判斷是否達到迭代次數:
如果否,則返回步驟c;
如果是,則進入步驟g;
步驟g,得到具有節目的收視質量和節目類型收視質量的最終用戶收視事件序列模型。
具體為:
首先,本實施中的原始數據是用戶觀看行為的記錄,比如用戶編號、節目編號、節目名稱、節目類型、頻道編號、頻道名稱、觀看起始時間與觀看終止時間等,應用算法之前需要對這些原始數據進行預處理操作,將一個用戶的一次收視行為視為時間軸上的一個點,那么一個用戶在一段時間內的所有收視行為就是一個點過程。然后把一個用戶的一次收視行為視作發生在他觀看某次節目起始時刻的一個事件,一個事件包括四個組成部分:事件發生的時間、用戶觀看的節目、節目類型和節目所在的頻道,這樣一個用戶在一段時間內收視行為點過程就是時間軸上的一個用戶收視事件序列。
在這個事件序列的基礎上利用霍克斯過程的理論建立用戶收視事件序列模型,一個用戶收視事件序列模型的條件強度函數為:
然后通過最小窗梯度下降算法,利用一群用戶的收視行為事件序列,最小化對數損失函數,即可求算出符合這群用戶收視行為的條件強度函數的各項參數。
本實施例中,需要根據實際用戶數據(原始數據)的情況來設置相應的迭代次數、窗口大小和學習速率。
指數核函數g(t)為g(t)=ωe-ωt,式中:
ω:指數核函數的衰減速率,該參數的參數值大于0;
e:自然常數,該參數值約等于2.71828;
t:衰減時間,該參數的參數值大于0。
記θ=(μ,h,l,r,α,ω)為數據塊中各項參數的合集。本實施例提供的用戶收視事件序列模型的對數損失函數可以寫作:
下面給出對數損失函數l(θ)中各個參數的梯度。
用戶u本身想看電視的意愿μu:
用戶u對頻道m的偏好
節目m受大眾歡迎的程度hm:
節目m所屬的節目類型n受大眾歡迎的程度ln:
用戶u的換臺習慣,從頻道c1換到頻道c2的概率
指數核函數g(t)的參數ω:
如圖3所示的方法流程圖,在每一次迭代的每一個最小窗口中都利用學習速率和各參數的梯度更新所有參數,一定的迭代次數后,對數損失函數l(θ)便能收斂,各項參數也能得到穩定值。在得到的各參數中,hp便表示的是節目p的質量評價,lk表示的是節目p所屬節目類型k的收視質量評價。
本實施例提供的基于霍克斯過程的節目質量評價方法,將用戶收視行為的原始數據抽象成點過程,只包含用戶觀看的時間點、節目編號、節目類型和頻道編號;排除了用戶收視意愿、用戶偏好、頻道偏好等主客觀因素對節目質量評價的影響;排除了節目類型等客觀因素對節目質量評價的影響;利用霍克斯過程對每個用戶收視節目的行為建模。同時,本實施例還使用最小窗梯度下降算法,通過對用戶數據的計算,得到所建立模型的各項參數,從而實現對節目質量和節目類型的評價。
以上對本發明的具體實施例進行了描述。需要理解的是,本發明并不局限于上述特定實施方式,本領域技術人員可以在權利要求的范圍內做出各種變形或修改,這并不影響本發明的實質內容。