本發(fā)明涉及數(shù)據推薦技術領域,特別是涉及音樂數(shù)據推薦方法與系統(tǒng)。
背景技術:
目前,為了滿足人們的生活需求,越來越多的人需要長時間駕駛汽車。例如長途客貨運司機、城市公交車司機等。長途駕駛汽車一方面消耗大量體力,另一方面消耗人的精神力,容易使人感覺到疲勞、心情煩躁。
針對上述情況,目前汽車中一般都搭載有娛樂系統(tǒng),可以在閑暇之余自動推薦一些音樂數(shù)據,讓駕駛者保持愉悅的心情。
一般的娛樂系統(tǒng)是被動響應用戶選擇的播放音樂數(shù)據,或者是基于歷史記錄數(shù)據推薦音樂數(shù)據。而駕駛者在實際駕駛過程中可能由于路況、周圍環(huán)境等因素會處于不同的心情狀態(tài),若簡單采用基于歷史數(shù)據推薦音樂數(shù)據是無法實現(xiàn)準確推薦適合當前場景音樂數(shù)據。
技術實現(xiàn)要素:
基于此,有必要針對一般音樂數(shù)據推薦方法無法準確推薦適合當前場景音樂數(shù)據的問題,提供一種能夠準確推薦適合當前場景音樂數(shù)據的方法與系統(tǒng)。
一種音樂數(shù)據推薦方法,包括步驟:
采集汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據;
根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據;
推送查找到的音樂數(shù)據。
一種音樂數(shù)據推薦系統(tǒng),包括:
數(shù)據采集模塊,用于采集汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據;
匹配模塊,用于根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據;
推送模塊,用于推送查找到的音樂數(shù)據。
本發(fā)明音樂數(shù)據推薦方法與系統(tǒng),采集汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據,推送查找到的音樂數(shù)據。整個過程,考慮汽車周圍環(huán)境數(shù)據和汽車行駛狀態(tài)數(shù)據,基于這些應用環(huán)境的數(shù)據從預設音樂數(shù)據中查找并推薦適合當前場景音樂數(shù)據。
附圖說明
圖1為本發(fā)明音樂數(shù)據推薦方法第一個實施例的流程示意圖;
圖2為本發(fā)明音樂數(shù)據推薦方法第二個實施例的流程示意圖;
圖3為本發(fā)明音樂數(shù)據推薦系統(tǒng)第一個實施例的結構示意圖;
圖4為本發(fā)明音樂數(shù)據推薦系統(tǒng)第二個實施例的結構示意圖。
具體實施方式
如圖1所示,一種音樂數(shù)據推薦方法,包括步驟:
S200:采集汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據。
汽車周圍環(huán)境和汽車行駛狀態(tài)數(shù)據可以通過OBD(On-Board Diagnostic,車載診斷系統(tǒng))采集模塊獲取汽車ECU(Electronic Control Unit,行車電腦)的數(shù)據和安裝于汽車上的傳感器來實現(xiàn)。具體來說,汽車周圍環(huán)境數(shù)據可以包括溫度和濕度,汽車行駛狀態(tài)數(shù)據可以包括汽車速度與加速度等數(shù)據。溫度和濕度會影響駕駛員的心情,例如當溫度較高且濕度較高時(夏天剛下過雨出太陽或將要下雨時)駕駛員會感覺異常悶熱,內心會比較煩躁,這時需要推薦讓駕駛員內心平靜的音樂數(shù)據,如輕音樂等,當溫度較低時(冬天)駕駛員會感覺到寒冷,內心會感覺到孤單、無聊,這時需要推薦歡快熱鬧的音樂數(shù)據。汽車速度與加速度同樣會影響駕駛員的心情,當車輛速度較低,且頻繁加速減速(加速度次數(shù)多)時,表明目前處于一個比較擁堵的情況,這時同樣需要推薦讓駕駛員內心平靜的音樂數(shù)據。在實際應用中,溫度數(shù)據可以通過安裝于汽車的溫度傳感器采集,濕度可以通過安裝于汽車的濕度傳感器采集,速度和加速度可以通過插在汽車OBD接口上的OBD采集。非必要的,可以對這些在OBD上采集到的數(shù)據緩存至終端設備,另外還可以通過車輛診斷系統(tǒng)讀取車輛故障信息、路程、車輛狀況以及燃氣里程等。這樣可以額外為用戶提供維修保養(yǎng)、保險期滿提醒、道路救援服務以及為用戶提供維修、保險期滿提醒以及道路救援服務等服務。
S400:根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據。
預設音樂數(shù)據庫是預先構建的數(shù)據庫,在這個數(shù)據庫中可以存儲大量音樂數(shù)據,我們基于步驟S200采集的環(huán)境數(shù)據和行駛狀態(tài)數(shù)據,在該數(shù)據庫中查找匹配當前應用環(huán)境的音樂數(shù)據。具體來說,預設音樂數(shù)據庫中還可以存儲有應用環(huán)境類別與音樂數(shù)據對應關系列表,例如可以將不同的溫度、濕度、車輛速度以及加速度分別劃設為不同類別,不同類型預先對應不同音樂數(shù)據從而構建上述對應關系列表,再將該對應關系列表存儲至預設音樂數(shù)據庫內,非必要的,關于這個類別劃分以及數(shù)據分析可以采用大數(shù)據分析方法并結合歷史經驗數(shù)據獲得。
另外,在其中一個實施例中,可以是根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,采用上下文感知推薦系統(tǒng),并基于高斯過程的模型從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據。
一般推薦系統(tǒng)模型基本為“用戶—項目”的二維推薦系統(tǒng),即“用戶*項目=評級等級(推薦等級)”,在本實施例采用上下文感知推薦系統(tǒng),將上述一般的推薦系統(tǒng)模型擴展為包含多種上下文信息的多維評分效用模型,即“用戶*項目*上下文信息=評價等級(推薦等級)”其中上下文信息可以包含多維度的信息,即,直接整合上下文信息與用戶—項目的關系,三者倆倆之間直接進行交互(強耦)可以得到隨機變量集合。高斯過程指的是一組隨機變量的集合,這個集合里面的任意有限個隨機變量都服從聯(lián)合高斯分布?;诟咚惯^程的模型的結果即可從預設音樂數(shù)據庫中獲得評分等級最高的音樂數(shù)據,即獲得匹配的音樂數(shù)據。為了提高模型的準確率,需要用到OBD采集到ECU的歷史數(shù)據作為歷史數(shù)據集,也解決推薦算法存在的冷啟動的問題。
S600:推送查找到的音樂數(shù)據。
將獲得的音樂數(shù)據推送至駕駛者隨身攜帶的智能終端(智能手機),播放該音樂數(shù)據給駕駛者帶來愉悅的心情。非必要的,在播放音樂的同時,還可以獲取虛擬場景數(shù)據,將虛擬場景數(shù)據推送至增強現(xiàn)實裝置(AR),這樣用戶可以處于虛擬場景中享受美妙的音樂,帶來良好的用戶體驗。
本發(fā)明音樂數(shù)據推薦方法,采集汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據,推送查找到的音樂數(shù)據。整個過程,考慮汽車周圍環(huán)境數(shù)據和汽車行駛狀態(tài)數(shù)據,基于這些應用環(huán)境的數(shù)據從預設音樂數(shù)據中查找并推薦適合當前場景音樂數(shù)據。
如圖2所示,在其中一個實施例中,步驟S400包括:
S410:根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,獲取上下文。
上下文是用于描述實體狀態(tài)的任何信息。具體來說,在這里,實體狀態(tài)是指步驟S200中獲得的汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,更進一步來說,這里的實體狀態(tài)包括溫度、濕度、速度和加速度等與用戶和項目之間交互相關的客體。因為用戶對項目(音樂數(shù)據)的偏好順序往往與上下文有關系。這些信息可以包括溫度、濕度、速度和加速度等與用戶和應用程序之間交互相關的客體(包括用戶與應用程序本身)。因為用戶對項目的偏好順序往往與上下文有關系。
S420:根據上下文感知推薦系統(tǒng),構建上下文、用戶以及項目三維評分效用模型。
具體來說,項目是指待推薦的音樂數(shù)據,例如當待推薦的音樂數(shù)據為“中國心”歌曲時,項目即為歌曲“中國心”。在這里采用上下文感知推薦系統(tǒng),構建如“用戶*項目*上下文信息=評價等級”的包含多種上下文信息的三維評分效用模型。
S430:通過上下文、用戶以及項目三維評分效用模型,整合上下文、用戶以及項目對應關系。
直接整合上下文信息與用戶—項目的關系,三者倆倆之間直接進行交互(強耦合),整合獲得上下文、用戶以及項目對應關系。
S440:根據上下文、用戶以及項目對應關系,基于高斯過程的模型,獲取項目效用函數(shù)。
基于高斯過程的模型,建立一種非線性的矩陣分解方法——高斯過程分解機,使用線性組合對用戶—項目—上下文的隱因子進行交互。具體來說,上述交互過程具體包括如下步驟:首先,基于潛在因子模型方法,將所述用戶、項目以及上下文表述為潛在的d維特征向量Vi,Vj,Vc1,Vc2,...,VcM,其中,i為用戶,j為項目,c上下文條件,M為所述上下文條件的個數(shù);之后,將潛在的d維特征向量Vi,Vj,Vc1,Vc2,...,VcM平鋪轉化為上下文、用戶以及項目的D維特征向量t(j,c)=[ViT,VjT,Vc1T,Vc2T...VcMT]T,c=(c1,c2,...,cM),其中,D=(M+1)d,T為向量計算方法;最后,獲取以用戶為中心,用戶i在上下文條件c的情況下對項目j的效用函數(shù)fi(t(j,c))。
S450:根據項目效用函數(shù),從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據。
根據步驟S440中獲得的項目效用函數(shù),計算每個項目的評價結果,在選取評價結果最優(yōu)的音樂數(shù)據作為匹配的音樂數(shù)據。例如根據步驟S440中的項目效用函數(shù),計算得到當前應用環(huán)境下播放“中國心”歌曲這個項目評分為A,得計算得到當前應用環(huán)境下播放相聲視頻這個項目評分為B,當A高于B時,將選擇“中國心”歌曲為音樂數(shù)據,當B高于A時,將選取該相聲視頻為匹配的音樂數(shù)據。更具體來說,我們可以針對評價結果進行優(yōu)先級排序,選取優(yōu)先級最高的項目為匹配的音樂數(shù)據。
為更進一步詳細解釋上述步驟S440的實現(xiàn)過程,下面將采用嚴謹數(shù)學公式方式,介紹在其中一個實施例中,步驟S440包括的內容。
基于高斯過程的模型,建立了一種非線性的矩陣分解方法——高斯過程分解機,使用線性組合對用戶—項目—上下文的隱因子進行交互。向用戶推薦手機上的APP(Application,應用程序)中,用戶集U={user1,user2,user3,..},手機APP的集合V={A1,A2,A3,...},用戶當前的上下文為溫度、濕度、速度和加速度等多維度的信息,因此我們可以使用C1,C2,C3,C4等來分別表示上下文信息,例如C1={10°,20°,30°},C2={40%,60%,80%},C3={40m/s,60m/s,80m/s},C4={10m/s2,20m/s2,30m/s2}。觀察樣例可以用多元組表示為U*V*C*R,例如:(user1,A1,(10°,40%,40m/s,10m/s2),4),(user2,A3,(30°,80%,60m/s,20m/s2),11),其中,上述兩個集合中最后一位數(shù)4和11分別為數(shù)字評分結果?;跐撛谝蜃幽P偷姆椒?,首先分別將用戶,項目,上下文表述為潛在的d維特征向量Vi,Vj,Vc1,Vc2,...,VcM。將(項目,上下文)平鋪轉化為D維特征向量,
D=(M+1)d,t(j,c)=[ViT,VjT,Vc1T,Vc2T...VcMT]T,c=(c1,c2,...,cM)
T為向量計算方法,以將觀測向量函數(shù)t(j,c)從行向量變?yōu)榱邢蛄俊R杂脩魹橹行?,用戶i在上下文條件為c的情況下對項目j的評價表達為(效用函數(shù)):fi(t(j,c))。
高斯過程指的是一組隨機變量的集合,這個集合里面的任意有限個隨機變量都服從聯(lián)合高斯分布。高斯分布完全由均值μ和協(xié)方差X決定,而高斯過程(GP)完全由均值函數(shù)m(x)和協(xié)方差函數(shù)k(x,x′;θ)決定。比如,是一個具有N個向量的集合,實值函數(shù)滿足多維高斯分布p(f|X)=N(f;m,k)那么稱f(x)是一個高斯過程,f(x)~GP(m(x),k(x,x′;θ)),其中,為均值函數(shù),Kn,n=k(xn,xn,;θ)K為協(xié)方差函數(shù),徑向基核函數(shù)為:在高斯過程分解機(GPFM)中,令xi表示用戶i的所有的隱因子表達的觀測向量t(j,c),yi表示相應的效用值,則f↓i(x)服從高斯過程,即
因此,所有f↓i(x)的先驗分布為
實際觀測值yiz是具有高斯噪聲的,因此可建模為服從高斯分布
p(yiz|fi(xz),σi)=N(y;fi(xz),σi2)
因此完整的所有觀測量的似然函數(shù)為
在上述的過程中,我們一直將高斯過程的均值函數(shù)假設為0??紤]到實際生活中,不同的用戶的評分松弛度有一定的偏向,因此在效用函數(shù)中加入偏置量
因此,將fi的先驗分布中的均值加上偏置量后
模型求解和訓練:使用聯(lián)合分布概率求解邊緣概率分布
p(y|X,Xbias,θ,σ)=p(y|f,σ)p(y|X,Xbias,θ)
分別代入y和f的概率分布得p(y|X,Xbias,θ,σ),然后求對數(shù)后,得-log p(y)。優(yōu)化變量為U={X,Xbias,θ,σ}。使用隨機梯度下降法進行訓練,最小化函數(shù)-log p(y)
U(n+1)=Un+Δn@Δn=hΔ(n-1)ad log N(yi,mi,Kyi)/(dUn)
使用高斯過程回歸(GSR)進行預測分布,給定一個測試的觀察量的隱因子向量x*=t(j*,c*),則其預測效用函數(shù)fi(x*)一定滿足p(f(x*)i|Xi,θi,yi)=N(μ*,s*)。
如圖3所示,一種音樂數(shù)據推薦系統(tǒng),包括:
數(shù)據采集模塊200,用于采集汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據;
匹配模塊400,用于根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據;
推送模塊600,用于推送查找到的音樂數(shù)據。
本發(fā)明音樂數(shù)據推薦系統(tǒng),數(shù)據采集模塊200采集汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,匹配模塊400根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據,推送模塊600推送查找到的音樂數(shù)據。整個過程,考慮汽車周圍環(huán)境數(shù)據和汽車行駛狀態(tài)數(shù)據,基于這些應用環(huán)境的數(shù)據從預設音樂數(shù)據中查找并推薦適合當前場景音樂數(shù)據。
在其中一個實施例中,匹配模塊400具體用于根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,采用上下文感知推薦系統(tǒng),并基于高斯過程的模型從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據。
如圖4所示,在其中一個實施例中,匹配模塊400包括:
上下文獲取單元410,用于根據汽車周圍環(huán)境數(shù)據以及汽車行駛狀態(tài)數(shù)據,獲取上下文。
模型構建單元420,用于根據上下文感知推薦系統(tǒng),構建上下文、用戶以及項目三維評分效用模型。
整合單元430,用于通過上下文、用戶以及項目三維評分效用模型,整合上下文、用戶以及項目對應關系。
評價函數(shù)獲取單元440,用于根據上下文、用戶以及項目對應關系,基于高斯過程的模型,獲取項目效用函數(shù)。
匹配單元450,用于根據項目效用函數(shù),從預設音樂數(shù)據庫中選擇匹配的音樂數(shù)據。
在其中一個實施例中,評價函數(shù)獲取單元440包括:
第一特征向量獲取單元,用于基于潛在因子模型方法,將所述用戶、項目以及上下文表述為潛在的d維特征向量Vi,Vj,Vc1,Vc2,...,VcM,其中,i為用戶,j為項目,c上下文條件,M為所述上下文條件的個數(shù)。
第二特征向量獲取單元,用于將潛在的d維特征向量Vi,Vj,Vc1,Vc2,...,VcM平鋪轉化為上下文、用戶以及項目的D維特征向量t(j,c)=[ViT,VjT,Vc1T,Vc2T...VcMT]T,c=(c1,c2,...,cM),其中,D=(M+1)d。
函數(shù)獲取單元,用于獲取以用戶為中心,用戶i在上下文條件c的情況下對項目j的效用函數(shù)。
在其中一個實施例中,汽車周圍環(huán)境數(shù)據包括溫度和濕度,汽車行駛狀態(tài)數(shù)據包括速度和加速度。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。