郭峰+張珣
摘 要:隨著人民生活水平的提高、智能化的快速發(fā)展以及消費觀念的改變,人們對家居生活的舒適性和文化氛圍的需求越來越高。作為智能家居的成員——家庭背景音樂系統(tǒng),不僅要擁有簡單易操作的人性化控制方式,更要能夠滿足不同年齡階段的家庭成員對音樂的需求。文中結(jié)合大數(shù)據(jù)分析理論,通過對用戶行為進行挖掘算法分析并建立用戶推薦模型,從而快速給用戶提供滿足其個性化需求的音樂。同時,也結(jié)合終端設(shè)備,給出了具體的實例設(shè)計。
關(guān)鍵詞:家庭背景音樂;數(shù)據(jù)挖掘;用戶分析;偏好模型
中圖分類號:G258.6 文獻標識碼:A 文章編號:2095-1302(2015)07-00-04
0 引 言
家庭背景音樂(Whole Home Audio)是結(jié)合家庭生活的特點在公共背景音樂的基礎(chǔ)上發(fā)展而來的新型背景音樂系統(tǒng)。所謂家庭背景音樂,就是在住宅的任何一個房間里,例如臥室(包括兒童房和老人房)、客廳、書房、廚房及衛(wèi)生間,均裝上背景音樂專用音箱,通過手機客戶端軟件的控制,以隨心所欲地讓每個房間播放不同的音樂[1]。目前,國內(nèi)市場上的相關(guān)產(chǎn)品大多采用播控主機為核心音源,不能對安裝在家庭各個房間的喇叭和控制面板進行控制,從而提供給用戶更方便的體驗;少數(shù)國外的公司雖然提供有高體驗、人性化的產(chǎn)品,但價格昂貴,無法滿足用戶需求。因此,國內(nèi)背景音樂市場急需一種以手機終端為主控制器,以云端音樂為音源提供海量音樂的控制系統(tǒng),并根據(jù)用戶喜好快速建立推薦模型,主動向用戶推薦符合用戶需求的音樂。
云音樂數(shù)據(jù)庫存儲有海量音樂數(shù)據(jù),其處理、分析和挖掘能力是實現(xiàn)云音樂智能化的關(guān)鍵。采用數(shù)據(jù)挖掘技術(shù),通過對用戶行為的分析,從海量的音樂資源中快速挖掘出滿足用戶需求的資源,根據(jù)用戶的喜好主動向用戶推薦符合其個性化的音樂。同時,本文還結(jié)合終端設(shè)備,給出了具體的設(shè)計實例。因此,對基于移動終端設(shè)備的家庭背景音樂系統(tǒng)大數(shù)據(jù)分析的研究,具有很高的現(xiàn)實價值和實際意義。
1 系統(tǒng)體系結(jié)構(gòu)設(shè)計
1.1 系統(tǒng)總體架構(gòu)
本系統(tǒng)架構(gòu)是將C/S和B/S模式結(jié)合在一起使用。其中,C/S模式,即客戶端/服務(wù)器模式(Client/Server),系統(tǒng)客戶端裝有控制家庭背景音樂的系統(tǒng)軟件。B/S模式,即瀏覽器/服務(wù)器模式(Brower/Server),服務(wù)器裝有MySQL數(shù)據(jù)庫,通過用戶對軟件系統(tǒng)的操作行為可以實時反映用戶數(shù)據(jù)。
1.2 MVC框架
系統(tǒng)采用MVC(Model View Controller,模型-視圖-控制器)軟件開發(fā)模式,可實現(xiàn)界面顯示和業(yè)務(wù)邏輯的分離,因而提高了程序的可維護性、可移植性和可擴展性,降低了程序的開發(fā)難度[2]。MVC框架包含模型(Model)、視圖(View)、控制器(Controller)三個核心,其結(jié)構(gòu)如圖1所示。
圖1 MVC模式結(jié)構(gòu)
圖1中,模型(Model)是MVC應(yīng)用程序的關(guān)鍵部分,主要處理應(yīng)用程序的數(shù)據(jù)邏輯,可以為不同的視圖提供數(shù)據(jù)。視圖(View)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分??刂破鳎–ontroller)則定義了應(yīng)用程序中處理用戶交互的部分[3]。
1.3 音樂數(shù)據(jù)庫系統(tǒng)需求分析
音樂數(shù)據(jù)庫系統(tǒng)采用B/S(即Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu),通過對存儲有海量資源的音樂服務(wù)平臺進行數(shù)字化的處理和存儲,為用戶提供全方位檢索功能,使用戶可以快速檢索出理想的結(jié)果。
1.3.1 數(shù)據(jù)庫選取
基于B/S結(jié)構(gòu)的音樂數(shù)據(jù)庫系統(tǒng)必須選擇合適的數(shù)據(jù)庫來管理海量的音樂資源,目前主導的關(guān)系型數(shù)據(jù)庫主要有基于開源的數(shù)據(jù)庫管理系統(tǒng)MySQL[4]和處于領(lǐng)先地位的數(shù)據(jù)庫管理系統(tǒng)Oracle[5],兩者對比如表1所列。
表1 兩種數(shù)據(jù)庫技術(shù)對比
Oracle數(shù)據(jù)庫 MySQL數(shù)據(jù)庫
數(shù)據(jù)庫規(guī)模 大型數(shù)據(jù)庫 中小型數(shù)據(jù)庫
對硬件要求 占用資源較多,對硬件要求高 占用資源較少,對硬件要求低
數(shù)據(jù)庫成本 成本較高 開源且成本較低
數(shù)據(jù)庫連接 速度較慢 速度較快
數(shù)據(jù)提交方式 不自動提交,需要用戶手動提交 默認系統(tǒng)自動提交
根據(jù)以上比較可知,MySQL數(shù)據(jù)庫在對硬件的要求及成本上占有明顯優(yōu)勢,且MySQL數(shù)據(jù)庫的連接速度與Oracle相比更快,結(jié)合本系統(tǒng)對數(shù)據(jù)庫的需求,決定采用MySQL作為系統(tǒng)數(shù)據(jù)庫。
1.3.2 功能模塊的劃分
通過對系統(tǒng)的需求分析,音樂數(shù)據(jù)庫系統(tǒng)的功能模塊框架如圖2所示。該系統(tǒng)可劃分為用戶子系統(tǒng)和后臺管理子系統(tǒng)兩部分。
圖2 系統(tǒng)功能框架圖
用戶子系統(tǒng)又可以概括為兩大部分:用戶信息部分和全方位檢索部分。其中用戶信息部分包含兩個子模塊:注冊、登陸模塊以及賬號管理模塊,是音樂數(shù)據(jù)庫系統(tǒng)與用戶交互的通道。全方位檢索部分也包含兩部分:資源全局檢索與詳細信息查詢,負責提供音樂資源的全方位檢索和音樂信息的詳細查看。
后臺管理子系統(tǒng)是幫助管理員對數(shù)據(jù)庫資源檢索進行管理以及日常維護工作的系統(tǒng),包括對用戶信息的管理,音樂資源的分類管理,相似詞庫的管理以及日志信息的管理,為不同用戶的不同需求與偏好提供快捷的推薦服務(wù)。
2 音樂用戶行為的大數(shù)據(jù)分析
2.1 Hadoop技術(shù)
Hadoop分布式計算平臺是一個分布式處理大量數(shù)據(jù)的軟件平臺。Hadoop的框架最核心的設(shè)計是HDFS(即分布式文件處理)和MapReduce(分布式計算編程)[6]。Hadoop從架構(gòu)上看是典型的主從式結(jié)構(gòu),底層的主從式文件系統(tǒng)HDFS支撐Map/Reduce的數(shù)據(jù)處理能力。主從式存儲和數(shù)據(jù)處理的Hadoop基本架構(gòu)模型如圖3所示。
2.2 海量數(shù)據(jù)的聚類算法分析
聚類是數(shù)據(jù)挖掘領(lǐng)域中常用的算法,是對給定的數(shù)據(jù)對象集合進行劃分。通過數(shù)據(jù)之間的相似性對數(shù)據(jù)進行分類,使得相同類別中的數(shù)據(jù)相似度盡可能大,而不同類別之間的數(shù)據(jù)盡可能使用不同聚類過程[7]。
圖3 Hadoop的基本架構(gòu)
K-means算法是最著名的劃分聚類算法,它把給定的數(shù)據(jù)劃分為K個聚類,每個聚類用聚類的中心來代替。聚類中心以及分配給它的數(shù)據(jù)點就代表一個新的聚類[8]。K-means算法是一種基于距離的聚類算法,采用距離作為相似性的評價指標,認為兩個對象的距離越近其相似度就越大。那么給定正整數(shù)K和N個對象,如何將這些距離點劃分為K個聚類?首先隨機選擇K個對象作為初始中心點;然后不斷迭代計算,直到滿足終止條件,即達到迭代次數(shù)上限或者數(shù)據(jù)點到中心點距離的平方和最小,此時質(zhì)心不再發(fā)生變化,計算平方誤差函數(shù)的公式(1)收斂。
(1)
計算結(jié)果E表示所有數(shù)據(jù)對象的平方差之和。K-means算法具有實現(xiàn)簡單、運算快速的特點,能夠高效地處理海量數(shù)據(jù)。K-means算法的工作流程如圖4所示。
圖4 K-means算法工作流程
在第一輪迭代中,Map()函數(shù)計算每個對象到中心點的距離(均方差),選擇距離每個對象(object)最近的中心點(center_point),并輸出
2.3 音樂用戶行為分析模型的建立
用戶行為日志是指用戶的日常交互行為在服務(wù)器端產(chǎn)生的記錄,主要包括四種關(guān)鍵數(shù)據(jù):頁面瀏覽流量、頁面停留時間、鼠標移動軌跡以及鏈接點擊分布。通過對用戶行為日志的預(yù)處理,將處理后的日志放在Hadoop集群上,經(jīng)過數(shù)據(jù)挖掘,分析出用戶的意圖和使用習慣等行為特征,將用戶的唯一標識ID作為key,行為特征作為value,組成
圖5 日志挖掘系統(tǒng)架構(gòu)圖
(1)用戶海量日志層
考慮到不同年齡、不同時間階段對音樂類型、播放時長的不同,選取用戶的六個維度的信息進行分析,六個維度分別是:年齡、性別、點擊次數(shù)、操作頻率、播放時長和收聽時段。
(2)用戶日志預(yù)處理層
當用戶有瀏覽、搜索行為時,瀏覽器通過對用戶輸入信息的識別產(chǎn)生記錄日志。系統(tǒng)通過挖掘算法對產(chǎn)生的日志信息進行預(yù)處理。
(3)HDFS存儲層
Load模塊通過對來自各個外部數(shù)據(jù)源服務(wù)器上用戶行為日志進行獲取,經(jīng)過日志預(yù)處理層,將用戶行為日志根據(jù)類型和時間進行簡單的劃分并轉(zhuǎn)換成統(tǒng)一的存儲格式,保存在Hadoop集群中。
(4)用戶日志挖掘?qū)?/p>
挖掘?qū)永肏DFS存儲層存儲的格式化的用戶日志,分析用戶在不同維度上的行為特征。該層運用K-means挖掘算法,對用戶的日志進行分析。
(5)用戶分析層
通過Mine挖掘出來的結(jié)果,可以對用戶行為進行具體的分析,針對用戶的行為特征確定用戶所屬類別,構(gòu)造用戶的偏好模型。
2.4 用戶偏好模型的建立
通過對用戶行為模型的建立,可以分析出目標用戶的興趣偏好,建立用戶偏好模型,通過用戶偏好模型,推薦系統(tǒng)可以給用戶提供準確、高效和個性化的音樂推薦服務(wù)[9]。用戶偏好模型的建立如圖6所示。
3 系統(tǒng)基于Android終端的控制
3.1 系統(tǒng)的整體設(shè)計
系統(tǒng)使用安裝有ADT(Android Development Tools)插件的Eclipse作為開發(fā)環(huán)境。同時利用Android系統(tǒng)提供的各種內(nèi)部資源完成對安裝在各個房間的背景音樂進行控制,用戶通過手機App與系統(tǒng)進行交互。
圖6 用戶偏好模型的建立過程
3.2 客戶端實現(xiàn)
3.2.1 用戶控制
客戶端設(shè)計主要是用戶UI界面設(shè)計與使用。用戶UI界面使用XML布局文件和Java代碼混合控制的方式,XML頁面布局文件采用多種布局方式相結(jié)合的方式,包括LinearLayout,TableLayout,RelativeLayout以及GridLayout;Java代碼實現(xiàn)了Android四大組件的結(jié)合:Activity,Service,BroadcastReciver和ContentProvider,完成更多的功能。終端的控制系統(tǒng)布局結(jié)構(gòu)圖如圖7所示。
圖7 布局結(jié)構(gòu)圖
3.2.2 功能實現(xiàn)
在ActivityGroup中設(shè)計了4個子界面,分別為房間、情境、更多和設(shè)置。進入“房間”列表時,可以看到不同房間的分布,選擇一個房間,就可以對該房間的音樂播放進行控制;“情境”模塊主要包括所有房間音樂統(tǒng)一播放和暫停所有房間統(tǒng)一播放功能,用戶可以對經(jīng)常用到的設(shè)備狀態(tài)進行模式群組,根據(jù)具體需求新增或刪除情景模式,或者分享給其他用戶;“更多”界面主要包括兩個功能,場景定時和音量調(diào)節(jié),設(shè)置之前首先要選擇需要控制的房間;“設(shè)置”界面主要包括當前登陸用戶的個人信息,用戶可以通過上傳照片修改界面背景和賬戶頭像;用戶賬號管理功能只有管理員擁有,系統(tǒng)管理人員能夠在服務(wù)端監(jiān)控所有使用該應(yīng)用程序軟件的用戶,并能夠設(shè)置和修改用戶的訪問權(quán)限??蛻舳说卿浗缑婧筒僮鹘缑嫒鐖D8和圖9所示。
圖8 客戶端登錄界面 圖9 客戶端操作界面
4 結(jié) 語
本文介紹的家庭背景音樂系統(tǒng),以手機終端代替家庭主控制器,控制各個房間播放不同的音樂;以存儲在云端數(shù)據(jù)庫中的音樂代替本地存儲,不僅擁有更廣闊的音源,更可以解決硬件設(shè)備內(nèi)存不足的困擾;通過數(shù)據(jù)挖掘技術(shù),還對用戶的基本信息和行為進行分析,能夠從海量的音樂資源中快速挖掘出滿足用戶需求的音樂,并根據(jù)用戶的行為分析結(jié)果建立推薦模型,主動向用戶推薦符合其個性化特點的音樂;最后,在終端設(shè)備上進行了測試,不僅提供給用戶美觀性和交互性相結(jié)合的友好的控制界面,同時也實現(xiàn)了系統(tǒng)對用戶行為的實時監(jiān)控和分析,推薦結(jié)果符合用戶需求。因此,本文對家庭背景音樂系統(tǒng)大數(shù)據(jù)分析的研究,具有很高的現(xiàn)實價值和實際意義。
參考文獻
[1] 李媛.唱響智能_關(guān)注國內(nèi)背景音樂市場[J]. 數(shù)字社區(qū)&智能家居,2007(6): 9-24.
[2] 張黎靜.音樂數(shù)據(jù)庫系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:華中科技大學,2013.
[3] Robles S, Fernández J L, Fortier A, et al. Improving the model view controller paradigm in the web.[J]. Int. J. Web Eng. Technol., 2012.
[4] Anonymous. Kickfire; Kickfire and Leading Open Source Partners Team to Deliver End-to-End Business Intelligence Solutions on New MySQL Database Appliance[J]. Computers, Networks & Communications, 2008.
[5] Anonymous. Oracle; Oracle Database Vault Certified for the Oracle E-Business Suite[J]. Computer Technology Journal, 2008.
[6] 岳敬華.基于云服務(wù)的智能家居系統(tǒng)的研究與設(shè)計[D].杭州:杭州電子科技大學,2013.
[7] 周婷婷.基于海量查詢?nèi)罩镜臄?shù)據(jù)挖掘及用戶行為分析[D].北京:北京郵電大學,2013.
[8] 周麗娟,王慧,王文伯,等.面向海量數(shù)據(jù)的并行K-means算法[J]. 華中科技大學學報(自然科學版),2012(S1):157-159.
[9] 冉琛雯, 張珣.智能家居系統(tǒng)界面定制技術(shù)的研究_ [J]. 物聯(lián)網(wǎng)技術(shù),2014,4(10): 77-79.