版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
音樂推薦系統(tǒng)的設計與實現(xiàn)摘要互聯(lián)網(wǎng)和移動等信息化科技的迅速發(fā)展,使得人們在網(wǎng)絡上接收到的信息越來越多。因此想從于海量的信息中獲得自己所感興趣的內(nèi)容也顯得更加艱難。對于部分信息過載的問題可以靠傳統(tǒng)的搜索引擎解決,但是由于搜索關鍵詞的重復度比較高,用戶篩選不出需要的信息的情況還是會常常出現(xiàn)。同時,由于互聯(lián)網(wǎng)基礎建設的完備導致了用戶可以隨時發(fā)現(xiàn)并聆聽音樂作品,而個人用戶自主尋找音樂作品的占比在近年來也不斷減少。想要改善這一問題,精準的個性化推送服務就非常有必要。個性化的歌曲推薦系統(tǒng),不但能夠幫助用戶找到他感興趣的歌曲,還能夠協(xié)助歌曲內(nèi)容提供商獲得更多流量,從而增加收入。本系統(tǒng)通過基于用戶的協(xié)同過濾算法進行歌曲個性化推送,系統(tǒng)實現(xiàn)的主要功能包括:注冊登錄功能、評分功能、熱點推薦功能、個性化推薦功能等。首先,當用戶處于游客狀態(tài)時,便可開始查看熱點推薦,新用戶進行注冊登記后,即可對自己所聽過的音樂進行評分。此時,音樂推薦系統(tǒng)可以通過采集該用戶的評分情況,然后采用基于用戶的協(xié)同過濾算法為其生成個性化推薦列表并進行推送。系統(tǒng)采用Python的開發(fā)語言,并通過Bootstrap前端架構,Django開發(fā)架構,以及MySQL數(shù)據(jù)庫等實現(xiàn)了前臺網(wǎng)頁的產(chǎn)品設計和與后臺數(shù)據(jù)分析的互動,使得用戶可通過Web頁面注冊登錄本音樂推薦系統(tǒng),獲得個性化推薦。系統(tǒng)完成后對本音樂推薦系統(tǒng)的各個部分進行了功能測試,結果表明本音樂推薦系統(tǒng)的各部分功能基本滿足用戶需求。關鍵詞:音樂推薦系統(tǒng);協(xié)同過濾算法;個性化推薦目錄TOC\o"1-2"\h\u29441緒論 緒論(一)研究背景與意義 網(wǎng)絡信息時代的來臨,再加上移動信息化的飛速發(fā)展,導致人類獲取信息的途徑受到了前所未有的變革,人類的傳統(tǒng)生活習慣也隨之被打破。在網(wǎng)絡信息時代到來之前,人們信息的源泉大多來自于網(wǎng)絡、報刊、圖書等。傳統(tǒng)的資訊獲得途徑并沒有為用戶提供廣泛的信息量,移動網(wǎng)絡時代的出現(xiàn)使資訊能夠在網(wǎng)絡平臺上得到指數(shù)爆炸式地傳遞,網(wǎng)絡的出現(xiàn)就克服了物理局限造成的資訊傳遞困難的現(xiàn)象。人類從移動終端和互聯(lián)網(wǎng)上接收到的資訊更多。毋庸置疑,網(wǎng)絡已成為了人類文明史上最大的資訊分發(fā)中樞。但它又是把雙刃劍,當面臨海量的冗雜信息內(nèi)容,用戶為了獲得自己所感興趣的信息內(nèi)容反而顯得更加艱難。當爆炸式的信息內(nèi)容增加,就意味著里面必然摻雜了很多無效的信息內(nèi)容,當信息內(nèi)容的量級在提高,使用者獲取信息的效果反而大大降低了,這便是人們俗稱的信息內(nèi)容過載問題。在互聯(lián)網(wǎng)信息時代下,資訊量之“多”早已無法適應當代用戶對資訊獲得的新要求,更不是資訊提供商的核心競爭力。而時效性、準確度,才能滿足用戶對信息的新需求。對雜亂無章、五花八門的信息內(nèi)容加以有效管理,從而把使用者感興趣的信息內(nèi)容提取,不感興趣的信息內(nèi)容篩選掉,目前是各大軟件提供商最著重研發(fā)的方面,同時也是非常有研究前景的方向領域REF_Ref3741\r\h[1]。當前解決信息過載問題主要有搜索和推薦這兩種方法。搜索:在推薦系統(tǒng)出現(xiàn)以前最常用的信息篩選方法就是搜索,使用者可以在互聯(lián)網(wǎng)搜索引擎上輸入自己感興趣的內(nèi)容,互聯(lián)網(wǎng)搜索引擎按照使用者所提供的關鍵字對網(wǎng)絡上的信息內(nèi)容實行查詢、篩選、整合。而受限于互聯(lián)網(wǎng)搜索引擎的算法、關鍵字的復雜性較高、查詢結果中沒有對用戶個性化定向等因素,普通互聯(lián)網(wǎng)搜索引擎仍然很難篩選出用戶所需要的信息內(nèi)容。推薦:推薦是對信息過載的另一種有效方法REF_Ref3869\r\h[2]。不同于搜索方法,推薦并不要求用戶自主操作,而更多的是通過隱性的方式獲取用戶特征、興趣、行為,并由此獲取用戶的興趣畫像,為用戶推廣新內(nèi)容。由于對用戶數(shù)據(jù)的采集和建模,推薦的信息內(nèi)容往往更具有個性化,既保證了推送信息內(nèi)容的準確度,又增強了使用感受。而推送的準確性又非常依賴算法的可靠性,以及應用中數(shù)據(jù)采集的完整性。移動終端的廣泛應用加上多媒體的數(shù)字信息化發(fā)展,給人類的數(shù)碼娛樂生活開啟了全新的時代:泛娛樂化互聯(lián)網(wǎng)時代。泛娛樂化隨著網(wǎng)絡時代的來臨,也使得推送系統(tǒng)在歌曲、影視、新聞等APP中得以普遍應用。海外的Youtube,以及中國國內(nèi)的豆瓣、網(wǎng)易云音樂,以及嗶哩嗶哩等,均依靠其先進的推薦算法獲得了大批忠實用戶REF_Ref3980\r\h[3]。音樂一直是人們?nèi)粘I钪胁荒苋鄙俚木袷臣Z,而網(wǎng)絡時代的到來也給傳統(tǒng)音樂歌曲行業(yè)帶來了巨大的變革。海量的音樂歌曲資源已被數(shù)字化,加之互聯(lián)網(wǎng)基礎建設的完善讓廣大使用者可以有條件地隨時發(fā)現(xiàn)、下載、聆聽音樂歌曲。而身為泛娛樂時期的產(chǎn)物,傳統(tǒng)音樂歌曲本身也沒法逃避消息過載問題。鋪天蓋地的音樂歌曲資源使得互聯(lián)網(wǎng)用戶在茫茫的音樂歌曲海洋中尋找不到方向,加之網(wǎng)絡的宣傳效果,使用者所看到更多的反而是當下火熱的音樂歌曲而不是自身真實喜愛的音樂歌曲。而與此同時,互聯(lián)網(wǎng)用戶自主搜索、發(fā)現(xiàn)音樂歌曲的占比在近年來也不斷減少,互聯(lián)網(wǎng)用戶收聽的音樂歌曲范圍也日益稀疏。精確的個性化推薦能夠讓使用者在瀏覽過程中得到良好的體驗,精確的推薦還能夠帶動數(shù)字化專輯的銷量,把瀏覽量有效轉換為銷量,有助于音樂內(nèi)容提供商獲得更多用戶流量,增加收入。由此而言,若服務商能夠建立一種有效、優(yōu)質的音樂歌曲推薦體系,就可以給音樂內(nèi)容提供商創(chuàng)造更大的收益REF_Ref4205\r\h[4]。(二)研究現(xiàn)狀推薦系統(tǒng)出現(xiàn)以后,吸引了眾多研發(fā)人才,對推薦算法展開了研究,不斷有出新的算法被提出。與此同時,大量的推薦技術也發(fā)展了起來,并普遍地運用在各類應用中,為用戶群體服務,為他們推薦郵件、圖書、影視、音樂、生活資訊等。協(xié)同過濾算法目前在推薦系統(tǒng)領域使用得最為普遍,該算法最初是由Goldberg在1992年提出的REF_Ref4296\r\h[5],該算法的提出也標志著推薦系統(tǒng)的產(chǎn)生。隨后,第一個音樂推薦系統(tǒng)在1995年產(chǎn)生,該系統(tǒng)是由MIT實驗室創(chuàng)立的名為RingoREF_Ref4959\r\h[6],音樂推薦系統(tǒng)Ringo可以給用戶進行個性化音樂推薦。2012年開展了一項專門面向歌曲個性化推薦的大賽MillionSongDatasetChallenge,該大賽提供了一項涵蓋一百萬條用戶收聽歷史記錄的大數(shù)據(jù)分析集,不但包含了用戶相關資訊、歌手、發(fā)布日期等基本元數(shù)據(jù),而且還有標簽信息、歌曲內(nèi)容分析等內(nèi)容。一百余個團隊參加了比賽,并提供了解決方案REF_Ref4884\r\h[7]。目前國內(nèi)和國外有很多學者對音樂推薦系統(tǒng)有過研究。比如薛婧REF_Ref30910\r\h[8]基于構建情景模式的推薦算法,提高了向客戶介紹工作的準確性,與傳統(tǒng)的介紹系統(tǒng)比較更有實際意義。比如曾凡聰REF_Ref30959\r\h[9]就通過基于標簽和興趣遷移協(xié)同過濾的算法,將音樂標簽與興趣協(xié)同過濾技術相結合,增強了歌曲推送的準確度。AnandR等REF_Ref6318\r\h[10]建立一個音樂建議框架,采用卷積神經(jīng)網(wǎng)絡(CNN)和遞歸神經(jīng)網(wǎng)絡(RNN),針對音樂的定制推薦系統(tǒng)有效地代表私人偏好,可以根據(jù)音頻信號特征的相似性提供推薦。彭程等REF_Ref30998\r\h[11]提出了一種基于睡眠者的精神壓力的音樂推薦系統(tǒng)。將心率變化和音樂推薦相結合,根據(jù)使用者的心率變化推薦不同的音樂,讓使用者的睡眠時間延長。王新月等REF_Ref6223\r\h[12]通過各種因素對用戶偏好產(chǎn)生的影響,給出了一個通過層級分類的歌曲選擇方式,從幾個角度來考察選擇曲目,從而提高了音樂推薦的準確度。劉暢REF_Ref19196\r\h[13]提出一種基于注意力機制與改進RNN的混合推薦算法,將注意力機制和音樂推薦相結合,大大提高了推薦的準確度。RanranWang等REF_Ref31064\r\h[14]提出一種基于異構信息網(wǎng)絡的音樂推薦系統(tǒng),通過考慮外部因素,如上下文因素,內(nèi)部因素,如用戶的個性化偏好,以及歌曲信息項之間的異構關系,從多個方面感知用戶的音樂選擇,自動維護用戶的播放列表,提高用戶的音樂體驗。李軍REF_Ref31096\r\h[15]通過選擇最主要的二種推薦方法,包括協(xié)同過濾和基于內(nèi)容的二種推薦方式,并同時利用這二個方式進行對音樂數(shù)據(jù)集的過濾。然后再利用混合策略進行推送,組合各種推薦方法,從而揚長避短。宋倩雯REF_Ref5707\r\h[16]還將情感分析和音樂推薦相結合,能根據(jù)用戶心情的變化改變音樂推薦的類型,提升用戶體驗。以及彭立涵REF_Ref5619\r\h[17]將大數(shù)據(jù)運用到音樂推薦系統(tǒng)當中,搭建音樂倉庫,利用Hadoop分布式框架,進行音樂推薦。目前,音樂推薦工作在國內(nèi)外都得到了很大的發(fā)展,大量的歌曲門戶網(wǎng)站、線下電臺產(chǎn)生。國外的知名音樂網(wǎng)站,有Pandora、Rhapsody、Spotify等。國內(nèi)本土也涌現(xiàn)出了大量的在線音樂產(chǎn)品,如豆瓣廣播、網(wǎng)易云音樂、酷狗音樂等。
二、相關理論和技術本章將重點闡述在設計和實現(xiàn)音樂推薦系統(tǒng)中所應用到的重要算法和技術。其中,對系統(tǒng)的核心推薦算法做出了詳盡的闡述,并對Django的開發(fā)架構做出了相關說明和優(yōu)點總結。(一)基于用戶的協(xié)同過濾算法協(xié)同過濾推薦技術在推薦信息系統(tǒng)發(fā)展中很快成為了一項熱門的技術REF_Ref31155\r\h[18]。與傳統(tǒng)單一的根據(jù)內(nèi)容直接分析而得到推薦的方式有所不同,協(xié)同過濾算法通過直接分析用戶行為來分析用戶的興趣愛好,從眾多用戶中發(fā)現(xiàn)和該用戶興趣愛好相似的用戶,再通過綜合這些用戶對特定信息內(nèi)容的評分,從而形成系統(tǒng)對該用戶的興趣預測和推薦內(nèi)容。協(xié)同過濾也是目前最成熟和常用的推薦系統(tǒng)技術,許多成熟的推薦管理系統(tǒng)中都有用到該算法。例如在很多電子商務的推薦系統(tǒng)中,就可通過分析和目標用戶相似的用戶對一些商品的評價,來推送他們可能感興趣的產(chǎn)品,目前國內(nèi)大部分電商APP,例如淘寶,京東等都有用到相關技術。協(xié)同過濾算法一般劃分了采取啟發(fā)式和構建模型形式的二類。另外,在一個啟發(fā)式系統(tǒng)的協(xié)同過濾算法中,還應該包含一個用戶項目的協(xié)同過濾算法(User-Based)和根據(jù)項目的協(xié)同過濾算法(Item-Based)。本音樂推薦系統(tǒng)采用的是基于用戶的協(xié)同過濾算法,因此下面將對基于用戶的協(xié)同過濾算法做出詳細說明。1.基于用戶的協(xié)同過濾方法步驟(1)收集用戶信息收集可以代表用戶興趣的信息。一般的網(wǎng)頁系統(tǒng)采取讓用戶打分的方法或是給予評價的方法,例如豆瓣網(wǎng)站,這些方法就被叫做“主動打分”。還有一類是“被動評分”,是按照使用者的行為模式由管理系統(tǒng)替代使用者進行評判,并不要求使用者進行評價或錄入評價數(shù)據(jù)信息,例如淘寶等平臺利用用戶的瀏覽行為來判斷用戶喜好度。(2)最近鄰搜索(Nearestneighborsearch,NNS)以用戶興趣喜好為基本(User-based)的協(xié)同過濾的工作出發(fā)點是,統(tǒng)計二種趣味喜好相同的使用者間的親近程度。例如:通過尋找?guī)讉€與A有相同趣味愛好使用者,以他對C的打分結果作為A對C的打分估計。由于各種數(shù)據(jù)的各種特點可采用各種的方式統(tǒng)計,目前應用較多的相似性度算法主要有皮爾遜相關系數(shù)、余弦相似性度,以及經(jīng)過調節(jié)后的余弦相似性度等?;谟脩舻膮f(xié)同過濾算法首先要通過用戶過去的行為信息,發(fā)現(xiàn)和用戶一致的其他用戶;同時,可以通過這些相似用戶對其他內(nèi)容的評價信息,來預測當前用戶可能會感興趣的內(nèi)容。2.選擇合適的相似度計算方法在協(xié)同過濾中,一個很關鍵的環(huán)節(jié)便是怎樣選取最恰當?shù)南嗨贫扔嬎愎?常見的二種相似度計算公式包括皮爾遜相關系數(shù)和余弦相似率等。皮爾遜相關系數(shù)的計算公式(見式1):(式1)式子當中,i代表項目,例如歌曲;代表用戶u評價的項目集;代表用戶v評價的項目集;代表用戶u對項目i的評分;代表用戶v對項目i的評分;代表用戶u的平均評分;代表用戶的平均評分。余弦相似度的計算公式(見式2):(式2)3.計算用戶u對未評分商品的預測分值另一關鍵的環(huán)節(jié),便是計算用戶對未評價歌曲的預測打分。先利用上一步中的相似度算法,先尋找用戶的鄰居集,其中表示鄰居集,表示用戶集。接著,再根據(jù)用戶評分數(shù)據(jù)集,預測用戶對項的評分,計算公式如下所示(見式3):(式3)其中,表示用戶和用戶的相似度。4.實例介紹假若有如下歌曲評分數(shù)據(jù)集,可以預測用戶C對歌曲4的評分。表1歌曲評分數(shù)據(jù)表用戶歌曲1歌曲2歌曲3歌曲4用戶A4*35用戶B*54*用戶C542*用戶D34*3用戶E345*表中*表示評分未知。通過基于用戶的協(xié)同過濾算法流程,可以計算用戶C對商品4的評價結果,其過程如下所示。(1)尋找用戶C的鄰居從數(shù)據(jù)集中可以看出,只有用戶A和用戶D對歌曲4評了分,所以候選鄰居有兩個,分別是用戶A和用戶D。用戶A的平均評分為4,用戶C的平均評分為3.667,用戶D的平均評分為3。如圖1所示圖1評分數(shù)據(jù)選擇示意圖根據(jù)皮爾遜相關系數(shù)公式,從上圖紅色區(qū)域內(nèi)計算用戶C與用戶A之間的最大相似度即為:從上圖藍色區(qū)域計算用戶C與用戶D的相似度為:(2)預測用戶C對歌曲4的評分根據(jù)上述評分預測公式,可以估計用戶C對商品四的評分,如下所示:根據(jù)這個方法,可計算出其他的未知評分。(二)Django框架1.Django的簡單介紹Django是一種先進的Python網(wǎng)絡架構,能夠快速開發(fā)安全性高和可維護的網(wǎng)站。由富有經(jīng)驗的開發(fā)人員創(chuàng)建,Django框架負責解決網(wǎng)站設計中繁瑣的部分,使得你能夠專心地撰寫應用程序,而無須重復設計。Django最初是負責制作和維護報紙網(wǎng)站的網(wǎng)絡團體,于二零零三年至二零零五年迅速發(fā)展。在制作了許多網(wǎng)站以后,團體便著手考慮并使用了許多經(jīng)典的代碼和設計模板。這些共同的代碼轉化為一個通用的互聯(lián)網(wǎng)開發(fā)框架后,于二零零五年七月被開源成為“Django”的項目。隨著Django這些年不斷地在壯大,功能日益完備,從提供了支持新分類的數(shù)據(jù)庫,模版引擎和緩存,到增加了通用的視圖函數(shù)和類,這就大大減少了開發(fā)者需要編制的程序量和其他程序任務。Django項目現(xiàn)在是一項蓬勃發(fā)展的全球合作開放服務項目,有成千上萬個用戶和貢獻者。雖然它仍然保留著它最初的部分功能,但Django現(xiàn)在已經(jīng)逐步發(fā)展成為能夠發(fā)布所有種類的網(wǎng)站內(nèi)容的多功能框架。2.Django的優(yōu)點使用Django開發(fā)框架非常高效便捷,它具有如下的一些優(yōu)點。(1)完備性Django秉承“功能完備”的宗旨,供給開發(fā)者可以想到“開箱即用”的近乎全部功用。因此你所需要的一切東西都是作為“產(chǎn)品”的重要組成部分,這些東西都能夠無縫整合到一起,并遵守一致性的設計準則,同時擁有廣泛和最新的技術文檔。(2)通用性Django可以用來創(chuàng)建幾乎任何類型的網(wǎng)站—從內(nèi)容管理和維基,到社區(qū)網(wǎng)絡和新聞網(wǎng)站。它也可以與其他的客戶端框架一起運行,并且可以提交幾乎任何形式(包括HTML,JSON,XML等)的內(nèi)容。在內(nèi)部,雖然它為基本任何可能需要的各種功能(包括一些主流的數(shù)據(jù)庫,模版引擎等)都提供了選擇,不過如果需要時,它也能夠延伸到應用的任何部分。(3)安全性Django提出了一種更加安全的方式來管理用戶賬號和密碼,并減少了常見的錯誤。默認狀況下,Django能夠避免很多問題,包括SQL注入,跨站腳本,跨站點對請求的篡改和點擊劫持等。(4)可擴展Django采用了一個組件的“無共享”體系結構,框架的各個組成部分都完全自立于其框架,因而能夠按照需求加以替代或更新。在不同部分之間有嚴格的隔離,也就是說你能夠通過在各個層級增加硬件設備來拓展業(yè)務。(5)可維護性Django的程序發(fā)展總體目標是嚴格遵照設計標準和設計模型,并鼓勵提供可維持和可使用的程序。尤其是由于它采用了不拷貝自己(DRY)原則,所以沒有了無謂的拷貝,極大減小了程式的數(shù)量。Django還將相應操作劃分到可復用的操作中,從而在較低層級將相應程式分級或模塊化(模型視圖控制器(MVC)模式)。(6)靈活性Django是用Python創(chuàng)建的,它可以在許多平臺上工作。這也意味著,你將不會受到任務特定的服務器平臺的影響,而且能夠在很多類型的Linux,Windows和MacOsX上工作應用。3.Django的結構MVC全簡稱ModelView和Controller,是在應用軟件體系中的一個綜合應用軟件系統(tǒng)結構模式,將整個應用軟件體系分為3個基礎的部分:建模(Model)、視圖模型(View)和控件(Controller),具有耦合度小、復合度高、生命周期成本小等優(yōu)勢。其結構圖如下圖2所示。圖2MVC結構圖Django構架的設計模式借用了MVC結構的設計思想,但同時還是分為了三個組成部分,來減少不同組成部分相互之間的耦合度。Django構架的主要特征,就在于可以將它拆分的三組成部分為:Model(模型)、Template(模版)和View(視圖),這便是MTV框架。Django的框架圖如圖3所示。圖3Django框架圖
三、需求分析(一)需求概述本次設計的目標是實現(xiàn)一個能為用戶提供個性化歌曲推薦的音樂系統(tǒng)。為了能正常使用,音樂推薦系統(tǒng)的功能要齊全。本系統(tǒng)前臺用戶必須有登錄、注冊、注銷、搜索歌曲、給歌曲打分、個性化歌曲推薦等功能,而后臺管理者則要有登錄、注銷、用戶管理、歌曲管理、歌曲類型管理等功能。在最關鍵的音樂推薦模塊,系統(tǒng)需要采集使用者對音樂的評分,而使用者評分則代表了使用者對該音樂的喜好。系統(tǒng)在獲得用戶-音樂評分矩陣之后,利用協(xié)同過濾算法獲得推薦列表,把排序最靠前的音樂推送給當前客戶。(二)系統(tǒng)用例音樂推薦系統(tǒng)的主要目標是實現(xiàn)基本的用戶功能,并根據(jù)用戶對音樂的歷史評分數(shù)據(jù)計算得到個性化音樂推薦列表。訪客狀態(tài)可以查看歌曲信息以及熱點推薦,普通用戶登錄后可以進行信息修改等操作,以及可以查看個性化音樂推薦列表,管理員登錄后可以對用戶和歌曲信息進行管理。本音樂推薦系統(tǒng)用例如圖如下圖4所示。圖4音樂推薦系統(tǒng)用例圖本系統(tǒng)的主要用戶包括訪客,用戶以及系統(tǒng)管理員。訪客:訪客可以使用網(wǎng)頁地址進入網(wǎng)站首頁。訪客一般只能完成普通操作,如查看音樂信息,搜索音樂,查看熱點推薦等。普通用戶:用戶在以訪客身份登陸后,即獲取了系統(tǒng)的完整授權。普通用戶可以進行個人信息修改,搜索音樂,查看音樂信息,查看熱點推薦,以及對音樂進行評分,查看自己對音樂的評分記錄,然后還具有個性化音樂推薦功能。系統(tǒng)管理員:系統(tǒng)管理員必須通過管理員賬號登錄以后才可以進行管理,系統(tǒng)管理員可以對音樂類型,音樂信息,用戶進行管理以及對授權進行管理。(三)系統(tǒng)功能性需求音樂推薦系統(tǒng)的主要目的,是向用戶推薦他們有可能感興趣的歌曲,除此之外,要想音樂推薦系統(tǒng)能夠正常使用,還需具備注冊登錄等功能,讓用戶可以自由注冊登錄,管理個人信息,給自己聽過的音樂進行打分,同時還能獲得系統(tǒng)為其進行個性化音樂推薦。另外,還需要有后臺管理員做好音樂信息和用戶的相關管理工作。(1)用戶注冊登錄用戶注冊和登陸過程既是用戶的識別流程,同時還是收集用戶信息的主要方式,在游客狀態(tài)時,系統(tǒng)提供查看歌曲信息和熱點推薦的功能,當游客想要獲得個性化推薦功能以及其他功能時,系統(tǒng)就建議用戶按需要注冊和登陸。此外,登錄過程也需要盡可能簡單。系統(tǒng)提供用戶自己填寫用戶名和密碼的注冊方式,選擇這個方法的主要原因是簡單方便。(2)熱點推薦功能當用戶是訪客狀態(tài)時,網(wǎng)站首頁會按照系統(tǒng)歌曲庫中歌曲的已有評分進行排名,評分高的歌曲靠前顯示。當用戶注冊之后,還沒有對歌曲進行評分時,個性化推薦欄顯示的實際也是按歌曲綜合評分的熱點推薦內(nèi)容。(3)信息修改功能用戶在使用系統(tǒng)時,可能會想要修改個人信息,例如用戶不想用之前注冊的用戶名了,需要更改用戶名;例如密碼忘記了,需要修改密碼;例如用戶郵箱變化了,需要更換新的郵箱等。(4)音樂評分功能用戶注冊登錄后,可以對自己感興趣的或者聽過的歌曲打分,也方便系統(tǒng)收集用戶的評分數(shù)據(jù),給用戶進行個性化音樂推薦。(5)查看評分功能用戶對歌曲進行評分后,若想查看自己對歌曲的評分記錄可以在我的評分欄查看,同時在該功能下可以對自己的評分記錄進行刪除。(6)個性化推薦功能個性化推薦功能是本音樂推薦系統(tǒng)最關鍵的功能,關系著系統(tǒng)推薦的準確度。推薦功能主要采取基于用戶的協(xié)同過濾算法,主要過程為搜集用戶評分,把用戶對歌曲的評分當做用戶對歌曲喜愛程度,找出和目標用戶興趣相似的臨近用戶,后計算出目標用戶可能感興趣的曲目,完成歌曲個性化推薦。(7)后臺管理功能系統(tǒng)管理員使用此模板實現(xiàn)了用戶管理,可更改用戶的郵箱信息;音樂類型管理,可以增加和修改音樂的類型;音樂管理,可以增加和修改音樂信息;評分記錄管理以及用戶權限管理。(四)系統(tǒng)非功能性需求要完成一個優(yōu)秀的軟件系統(tǒng),需要從以下幾個方面加以考慮,不但要注重于功能方面的要求,對其他方面的處理也必須跟上,以下是必須考察的一些非功能性指標:(1)安全性:操作系統(tǒng)的一項十分關鍵的技術指標便是安全性,也就是說當出現(xiàn)問題時,操作系統(tǒng)依然可以為使用者帶來安全的服務,這就要求在產(chǎn)品設計時會多考慮突發(fā)性的問題,因為這種問題可以影響操作系統(tǒng)的穩(wěn)定性。如實在出現(xiàn)無法處理的問題,則必須及時考慮好問題的應急方法。操作系統(tǒng)只有在安全的前提下,方可實現(xiàn)其他的優(yōu)化與擴展。(2)可擴展性:對系統(tǒng)業(yè)務功能拓展而言,除了滿足用戶的基本需要之外,還可能需要另外增加新的接口,甚至是在后期還可能會增加一些功能,這就要求企業(yè)在產(chǎn)品設計的時候留下可以拓展的接口,并且在編程中還必須要遵循高內(nèi)聚、少相互耦合,面向接口編程的規(guī)律。對系統(tǒng)功能的拓展而言,當用戶數(shù)量增加,一個機器滿足不了需要時,就必須通過集群或者分布式,通過擴展系統(tǒng)功能來提升效能,以爭取為使用者提供更佳的體驗。(3)可維護性:為了做到可維護性好,在系統(tǒng)開發(fā)時候就需要根據(jù)相應的標準編制好業(yè)務代碼,同時還要在復雜的代碼旁加以標注,這樣在后期進行維修的時候,就可以事零點五功倍了,也方便于后序維修技術人員的進行調試工作。當整個系統(tǒng)設計實現(xiàn)完畢后,就必須要留下詳盡的開發(fā)過程與部署文件,以增加整個系統(tǒng)的可維護性。(4)可恢復性:系統(tǒng)數(shù)據(jù)應該采用集群計算機的方法進行保存,在提升數(shù)據(jù)處理性能的同時,還可以對歷史數(shù)據(jù)進行備份,而在系統(tǒng)崩潰數(shù)據(jù)損失時,也能夠通過系統(tǒng)日志實現(xiàn)災后的及時修復。(5)其他:除了以上幾點以外,操作系統(tǒng)的順暢程度、界面設計、以及服務器宕機的次數(shù)等,都是設計一種能令使用者感受良好的操作系統(tǒng)時所必須考量的。
四、系統(tǒng)設計(一)音樂推薦系統(tǒng)總體設計1.系統(tǒng)的架構設計本文中所設計的系統(tǒng)是使用B/S框架的基于Web的音樂推薦系統(tǒng)。B/S(Browser/Server)結構的好處就是使用者無須下載服務器端,而只需要通過Web網(wǎng)頁登陸使用而已,并且對用戶終端的需求也更少,從而方便了更多的用戶使用。本系統(tǒng)由Python的Web開發(fā)框架Django搭建,使用Bootstrap前端框架,實現(xiàn)個性化音樂推薦系統(tǒng)。本推薦系統(tǒng)的總體架構從上至下,主要分為了表現(xiàn)層、邏輯層、算法層和數(shù)據(jù)層。其中表現(xiàn)層主要負責前臺頁面展示;邏輯層主要是各個功能模塊實現(xiàn)的邏輯處理;算法層主要是基于用戶的協(xié)同過濾算法的實現(xiàn);數(shù)據(jù)層主要負責數(shù)據(jù)的查詢和數(shù)據(jù)組裝。音樂推薦系統(tǒng)的基本架構如下圖5所示。圖5系統(tǒng)框架圖2.音樂推薦系統(tǒng)功能模塊劃分本音樂推薦系統(tǒng)共分為了兩個部分,一個是前臺功能模塊,處理用戶相關功能,主要包括:注冊登錄模塊,修改信息模塊,密碼安全,音樂搜索,音樂評分模塊,和音樂推薦模塊。音樂推薦模塊中用戶評分數(shù)據(jù)太少無法進行個性化推薦時采用基于統(tǒng)計的推薦方式,即熱門音樂推薦。對有多條音樂評分數(shù)據(jù)的用戶通過基于用戶的協(xié)同過濾算法得到個性化推薦音樂列表。另一個是后臺管理員功能模塊。主要利用Django自帶的admin模塊進行,主要實現(xiàn)對歌曲類型、歌曲信息、用戶和評分記錄的管理。本音樂推薦系統(tǒng)的系統(tǒng)組織結構圖如下圖圖6所示。圖6系統(tǒng)組織結構圖(二)系統(tǒng)功能模塊設計在功能模塊設計部分前臺相關模塊主要介紹用戶管理、音樂搜索、音樂評分、音樂推薦這四個模塊。后臺管理模塊主要介紹音樂管理模塊。1.用戶管理模塊用戶管理模塊主要包括用戶的注冊登錄,以及修改密碼,修改用戶信息,其中修改用戶信息主要為修改郵箱信息。(1)注冊登錄在系統(tǒng)首頁的右上方,有注冊登錄按鈕,使用者可在游客狀態(tài)下單擊登陸按鍵彈出登陸頁面。登陸頁面中,用戶可以通過輸入賬號名和密碼進行登陸。如果用戶所輸入的賬號名或密碼有誤,提示“用戶名或密碼錯誤!”。若用戶名密碼正確,則成功登錄,系統(tǒng)自動關閉登錄頁面,以用戶已登錄狀態(tài)返回系統(tǒng)主頁。用戶點擊頁面右上角的注冊按鈕彈出注冊頁面,然后可以進行注冊,用戶在注冊頁面需填入用戶名,密碼和確認密碼。完成注冊后,可以進行用戶登錄流程,登錄系統(tǒng)主頁。(2)信息修改用戶在注冊完成后,系統(tǒng)首頁的右上角有個人信息修改功能。點擊個人信息更改進入個人信息變更界面,用戶即可更改自己的郵箱。(3)密碼修改用戶登錄完成后,系統(tǒng)主頁右上角有密碼安全功能。用戶點擊密碼安全進入密碼修改頁面,當用戶忘記密碼或想要修改密碼時可以使用該功能。2.音樂相關模塊音樂相關模塊需涵蓋用戶搜索音樂以及給音樂打分,用戶評分收集后可用于后續(xù)的個性化推薦。(1)音樂打分用戶可以給音樂進行打分,用戶可以直接從主頁上根據(jù)類型標簽選擇自己感興趣的音樂,在音樂詳情頁進行打分,也可以搜索感興趣的音樂后進入詳情頁打分。用戶可以點擊主頁右上角“我的評分”查看自己的評分記錄。(2)搜索音樂用戶可以搜索音樂,本系統(tǒng)支持根據(jù)歌曲名進行搜索,用戶點擊右上角的搜索框輸入歌曲名,可以搜索到你想查看的音樂信息。3.推薦系統(tǒng)模塊設計個性化音樂推薦功能的按鈕位于系統(tǒng)主頁右上角,用戶點擊個性化推薦按鈕后即可查看個性化推薦歌曲列表。歌曲列表的產(chǎn)生主要是采用基于用戶的協(xié)同過濾算法,大致過程為:首先根據(jù)用戶評分信息構建用戶-音樂評分矩陣,然后根據(jù)用戶-音樂評分矩陣計算用戶之間的相似度,采用余弦算法計算相似度,再根據(jù)用戶之間的相似度得到目標用戶的最近鄰居KNN,最后預測音樂評分并進行音樂推薦。推薦算法設計框圖見圖7。圖7音樂推薦算法框圖4.后臺模塊設計后臺管理模塊,主要包括:前臺用戶管理,音樂類型管理,音樂管理,評分記錄管理。利用Django框架自帶的admin模板實現(xiàn),可實現(xiàn)對前臺用戶,音樂類型,音樂,評分記錄的管理,管理員操作流程如圖8所示。圖8管理員操作流程圖(三)數(shù)據(jù)庫表結構設計1.數(shù)據(jù)庫概要設計本音樂推薦系統(tǒng)主要功能為音樂評分和音樂個性化推薦,主要涉及到用戶、音樂、類型和評分四個實體,打分、音樂類型、管理和音樂評分四種關系。數(shù)據(jù)庫主要存儲了用戶信息表、音樂信息表、音樂類型表和用戶評分表等數(shù)據(jù)。本系統(tǒng)的E-R模型設計如圖9所示。圖9系統(tǒng)E-R圖2.數(shù)據(jù)庫表結構設計本音樂推薦系統(tǒng)最主要的數(shù)據(jù)表有:用戶信息表(user),音樂信息表(item),音樂類型表(type),和評分記錄表(scorerecord)。(1)用戶信息表主要用于存儲用戶信息,用戶信息表包括了用戶的id,用戶名,用戶密碼,用戶郵箱和用戶創(chuàng)建時間這些信息,信息來源于用戶注冊時提交的內(nèi)容。用戶信息表結構如表1所示。表1用戶信息表字段名數(shù)據(jù)類型長度是否為空主鍵備注idint11notnull√用戶idusernamevarchar255null用戶名passwordvarchar255null用戶密碼emailvarchar255null用戶郵箱createtimevarchar255null創(chuàng)建時間(2)音樂信息表音樂信息列表主要用來存儲歌曲相關信息,包含了所有的歌曲的id,歌曲名,歌曲類型,歌曲封面,歌曲具體內(nèi)容介紹以及創(chuàng)建時間等信息。音樂信息可由后臺管理員添加,本系統(tǒng)中的音樂信息來源于爬取豆瓣網(wǎng)獲取的數(shù)據(jù)。音樂信息表結構如表2所示。表2音樂信息表字段名數(shù)據(jù)類型長度是否為空主鍵備注idint11notnull√音樂iditemnamevarchar225null音樂名typeidint11null音樂類型idimagevarchar255null音樂封面contenttext0null音樂內(nèi)容createtimevarchar255null創(chuàng)建時間音樂類型表音樂類型表用于存儲音樂類型數(shù)據(jù),可由系統(tǒng)管理員在后臺添加,本系統(tǒng)最初的音樂類型數(shù)據(jù)來源于豆瓣網(wǎng)的音樂類型數(shù)據(jù)。音樂類型表結構如表3所示。表3音樂類型表字段名數(shù)據(jù)類型長度是否為空主鍵備注idint11notnull√音樂類型idtypenamevarchar255null音樂類型名評分記錄表評分數(shù)據(jù)表用于存儲用戶對歌曲的評分數(shù)據(jù),包括評分id,用戶id,音樂id,評分和創(chuàng)建時間這些數(shù)據(jù),來源于用戶在前臺頁面對歌曲的評分。評分記錄表結構如表4所示。表4評分記錄表字段名數(shù)據(jù)類型長度是否為空主鍵備注idint11notnull√評分iduseridint11null用戶iditemidint11null音樂idscoreint11null評分createtimevarchar255null創(chuàng)建時間
五、系統(tǒng)實現(xiàn)與測試(一)開發(fā)環(huán)境 本音樂推薦系統(tǒng)的主要開發(fā)環(huán)境如下:(1)操作系統(tǒng):MicrosoftWindow10(64位);(2)開發(fā)工具:PyCharm、Navicat;(3)開發(fā)語言:Python語言,Python3.8版本;(4)開發(fā)框架:Django框架,bootstrap前端框架;(5)數(shù)據(jù)庫:Mysql數(shù)據(jù)庫。(二)數(shù)據(jù)獲取與存儲1.音樂數(shù)據(jù)獲取與存儲本系統(tǒng)用的音樂相關數(shù)據(jù)來源于豆瓣網(wǎng)站,選擇豆瓣網(wǎng)的原因是爬蟲較為簡單方便,且音樂信息量充足,有直接的音樂分類。打開豆瓣音樂的標簽板塊(網(wǎng)址:/tag),網(wǎng)站頁面中有很多音樂風格,點擊相應的標簽下有相應類型的音樂,點擊相應的音樂可以查看音樂詳情,如圖10所示:圖10豆瓣網(wǎng)頁圖初始化數(shù)據(jù)庫鏈接,設置音樂類型字典,將各音樂類型手動保存在typeList中,然后爬取音樂類型,查詢數(shù)據(jù)庫中是否已存在當前音樂類型,如果存在那么查詢出來,不存在那么添加音樂類型后查詢出來,然后爬取音樂列表,分頁查詢當前音樂類型下的音樂,從第一頁開始,每頁20條音樂數(shù)據(jù),然后遍歷音樂列表,從數(shù)據(jù)庫中查詢音樂名稱判斷是否存在,如果數(shù)據(jù)庫中不存在該音樂那么就創(chuàng)建一個音樂字典,然后爬取音樂詳情信息,將爬取到的音樂詳情數(shù)據(jù)保存在數(shù)據(jù)庫中,最后音樂數(shù)據(jù)在數(shù)據(jù)庫中如圖11所示:圖11音樂數(shù)據(jù)在數(shù)據(jù)庫中存儲圖2.用戶數(shù)據(jù)和評分數(shù)據(jù)存儲系統(tǒng)用戶數(shù)據(jù)和用戶的評分數(shù)據(jù)來源于手動添加,為了能更好的實現(xiàn)基于用戶的協(xié)同過濾推薦算法,需要較多的用戶,所以手動添加了50個用戶和1000條評分數(shù)據(jù),用戶數(shù)據(jù)和評分數(shù)據(jù)在數(shù)據(jù)庫中的存儲如圖12所示:圖12用戶和評分數(shù)據(jù)在數(shù)據(jù)庫中的存儲圖(三)系統(tǒng)功能模塊實現(xiàn)1.注冊登錄模塊實現(xiàn)(1)功能描述用戶進入系統(tǒng)主頁后是訪客狀態(tài),由于還沒有評分數(shù)據(jù),用戶無法體驗個性化音樂推薦以及其他需要注冊登錄后才能使用的功能。對于已有賬號的用戶,可以點擊右上角的登錄進入登錄頁面,填寫用戶名和密碼進行登錄,對于還沒有賬號的新用戶,可以點擊右上角的注冊按鈕進入注冊頁面,填寫用戶名,密碼和確認密碼,注冊賬號后再登錄。(2)登錄頁面和注冊頁面實現(xiàn)效果如圖13和圖14所示。圖13登錄頁面圖14注冊頁面2.修改信息模塊實現(xiàn)(1)功能描述用戶完成系統(tǒng)登錄后,若用戶想要修改自己的信息,可以點擊右上角的修改信息按鈕進入信息修改頁面,目前僅支持修改自己的郵箱等信息。(2)修改信息頁面實現(xiàn)效果如圖15所示。圖15修改信息頁面3.音樂評分模塊(1)功能描述當用戶需要對自己聽過的歌曲打分時,用戶可以從主頁按類型分類的歌曲中點擊自己需要打分的歌曲進入歌曲詳情頁面,也可以在搜索框中輸入歌曲名直接搜索需要打分的歌曲點擊進入詳情,音樂詳情頁面包含歌曲的名稱,類型,添加時間和簡介等信息,在音樂詳情頁面可以對音樂進行打分操作,總共五顆星,未打分時五顆星為灰色,打分后根據(jù)打的分數(shù)變成黃色,五星代表滿分5分。(2)音樂評分頁面實現(xiàn)效果如圖16所示。圖16音樂評分頁面4.音樂推薦模塊實現(xiàn)(1)功能描述輸入音樂推薦系統(tǒng)的訪問地址,可進入系統(tǒng)主頁。系統(tǒng)主頁會顯示按類型分類的歌曲,在未登錄的游客狀態(tài)時,點擊頁面右上角的熱點推薦可以進入熱點推薦頁面,熱點推薦頁面顯示的是基于統(tǒng)計的熱點音樂推薦,即根據(jù)別的用戶對音樂的評分降序推薦。點擊右上角的登錄按鈕進入登錄頁面,登錄成功后,系統(tǒng)右上角會出現(xiàn)個性化推薦按鈕,點擊個性化推薦可以進入個性化推薦頁面,查看個性化音樂推薦,當用戶還沒有評分數(shù)據(jù)時,此處顯示的個性化推薦實際上也是熱點推薦,當用戶的評分數(shù)據(jù)足夠時,才能通過基于用戶的協(xié)同過濾算法得到個性化推薦。熱點推薦和個性化推薦實現(xiàn)效果如圖17和圖18所示。圖17音樂熱點推薦頁面圖18音樂個性化推薦頁面5.后臺管理模塊的實現(xiàn)Django提供了完善的后臺管理功能,admin后臺是Django內(nèi)置的一個后臺管理界面,集成了一系列的功能,admin同時也是一種可替代的app,你還可自行創(chuàng)建。系統(tǒng)后臺可以對前臺用戶、音樂信息、音樂類型、用戶的評分記錄進行管理。認證和授權是對系統(tǒng)管理員授予不同的身份和權限,管理員的操作被記錄在右側的最近動作欄中。系統(tǒng)后臺管理總覽頁如圖19所示。圖19系統(tǒng)后臺管理頁面管理員具有用戶管理權限,可以管理前臺用戶,對前臺用戶進行增加和修改,效果如圖20所示。圖20系統(tǒng)后臺用戶管理頁面管理員具有對音樂類型的管理權限,可以對音樂類型進行相應的操作,如增加新的音樂類型和修改音樂類型如圖21所示。圖21系統(tǒng)后臺管理音樂類型管理頁面管理員具有音樂管理權限,可以完成對音樂的管理操作,例如添加和修改音樂信息,效果如圖22所示。圖22系統(tǒng)后臺音樂管理頁面(四)系統(tǒng)功能測試系統(tǒng)功能檢測,主要是指對系統(tǒng)的所有操作模塊系統(tǒng)做出相應檢測,看是否達到設計要求,用戶可以在系統(tǒng)初始界面或使用注冊登錄界面進入系統(tǒng),以測試各個模塊的功能,比如登錄、注冊,修改信息,密碼安全,音樂搜索,音樂評分,對音樂推薦系統(tǒng)各個模塊進行了檢測,并發(fā)現(xiàn)評測結果更合乎預期,而推送的結果也就比常規(guī)的音樂推薦方法命中率更高。將系統(tǒng)部署上線后,進行了檢測,在各方面均顯示情況良好,未出現(xiàn)嚴重瑕疵和問題,系統(tǒng)穩(wěn)定性也較好。具體測試步驟如表5所示:表5測試功能和測試效果表測試功能測試效果登錄注冊對于錯誤密碼能檢測出來,測試通過熱點推薦推薦效果良好,推薦結果符合預期音樂搜索輸入歌曲名后,能準確顯示相關條目音樂打分打分功能良好資料修改資料修改功能良好個性化音樂推薦推薦效果良好,推薦結果符合預期(五)系統(tǒng)性能測試系統(tǒng)的性能檢測重點主要是測量操作系統(tǒng)的流暢程度,以及在大規(guī)模應用請求沖擊下,是否會產(chǎn)生問題,從而導致系統(tǒng)卡頓和不穩(wěn)定。在上網(wǎng)條件較一般的情況下,通過注冊登錄系統(tǒng),對所有功能模塊的點擊,從申請信息發(fā)出到反饋結果頁面,時間基本上都可以保持在毫秒量級,從而達到了預期,系統(tǒng)性能良好。
六、總結與展望(一)全文總結本文設計并實現(xiàn)了一種基于用戶的協(xié)同過濾算法的的音樂推薦系統(tǒng),該系統(tǒng)主要功能為用戶登錄注冊、音樂搜索、音樂打分、音樂個性化推薦等功能,本系統(tǒng)設計實現(xiàn)了完整的前臺用戶使用和后臺管理功能,能為用戶提供個性化的音樂推薦。本文的主要工作如下:分析了當前互聯(lián)網(wǎng)高速發(fā)展的背景下,個性化推薦的重要性。闡明了本文的研究背景及研究意義,介紹了當前音樂推薦系統(tǒng)的研究現(xiàn)狀。介紹了本文用到的基于用戶的協(xié)同過濾算法的詳細內(nèi)容,以及本文用到的Django框架的基本信息和優(yōu)點。本系統(tǒng)代碼采用Python語言編寫,采用Bootstrap前端架構,系統(tǒng)總體采用的是Django框架。其中,推薦算法使用基于用戶的協(xié)同過濾的推薦算法實現(xiàn)。使用Django自帶的admin模塊,實現(xiàn)對音樂推薦系統(tǒng)的后臺管理,系統(tǒng)管理員可以對音樂、音樂類型、前臺用戶、和用戶評分進行管理。本音樂推薦系統(tǒng)的開發(fā)遵循軟件開發(fā)規(guī)范和要求,系統(tǒng)采用了MVC的設計理念以及目前較為常見的技術。最后通過運行和測試,本音樂推薦系統(tǒng)的各項功能完善,能夠滿足音樂推薦系統(tǒng)需求設計的各項要求。(二)展望本文所編寫的音樂推薦系統(tǒng)已經(jīng)完成了總體結構的構建和基本功能的實現(xiàn),但因為本人的技術不足和時間不夠,在推薦的準確度和系統(tǒng)功能的完整性方面還存在一些不足。從以下這兩個方面來看,還有很大的需要改進的地方。推薦算法的優(yōu)化本文采用的協(xié)同過濾算法是一種基于用戶評分的推薦算法,對系統(tǒng)剩余數(shù)量要求較高,所以處理冷啟動方面還存在一些問題。未來可以通過引入基于內(nèi)容的推薦算法,更有效地處理操作系統(tǒng)的冷啟動問題,在未來的算法優(yōu)化過程中,能采用提取音樂特征,校正音樂分類標簽的方法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廠房轉讓合同
- 2026年物流地產(chǎn)定制開發(fā)合同
- 2026年醫(yī)院品牌建設咨詢服務合同
- 2026年個人錦鯉養(yǎng)殖承包合同
- 2025年北京林業(yè)大學自聘勞動合同制人員招聘備考題庫及1套完整答案詳解
- 2025年涼山彝族自治州普格縣公安局公開招聘警務輔助人員的備考題庫完整參考答案詳解
- 2025年自貢市自流井區(qū)飛龍峽鎮(zhèn)人民政府招聘編外聘用人員的備考題庫及一套參考答案詳解
- 黑龍江公安警官職業(yè)學院《計算機基礎B》2024-2025學年期末試卷(A卷)
- 阿莫西林的課程設計
- 2025山東日照五蓮縣教體系統(tǒng)招聘博士研究生2人模擬筆試試題及答案解析
- 2026年度安全教育培訓計劃培訓記錄(1-12個月附每月內(nèi)容模板)
- 廣東省深圳市寶安區(qū)2024-2025學年八年級上學期1月期末考試數(shù)學試題
- 2023電氣裝置安裝工程盤、柜及二次回路接線施工及驗收規(guī)范
- 大量不保留灌腸
- 2025年江蘇省安全員C2本考試題庫+解析及答案
- 物業(yè)經(jīng)理競聘管理思路
- 臨床營養(yǎng)管理制度匯編
- 購銷合同電子模板下載(3篇)
- 防洪評價進度安排方案(3篇)
- 胃腸減壓技術操作并發(fā)癥
- 院感職業(yè)防護教學課件
評論
0/150
提交評論