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