張志文 何明昌* 楊維偉 劉仁笑 王 瑜 胡學(xué)友
(溫州大學(xué)數(shù)理與電子信息工程學(xué)院,浙江 溫州 325035)
在我國高校內(nèi),人才濟濟,學(xué)子們大多身懷特長,擁有許多過人的技能,但是卻缺少很多展示的機會。然而高校內(nèi)部對于人才的需求量也很大,比如學(xué)生的考前輔導(dǎo)、社團活動的表演等等,但是由于沒有很好的人才信息提供渠道,往往造成需求不透明的局面。有的同學(xué)在準備考試的時候苦于沒有一個好老師為自己答疑解惑;又如有些同學(xué)想要將自己的二手物品轉(zhuǎn)讓出去,卻又為找不到好買家而發(fā)愁;等等。
利用網(wǎng)絡(luò)平臺,可以將自己的需求編輯成任務(wù)形式,發(fā)布分享出去,也可以尋找并完成與自己技能相匹配的任務(wù),任務(wù)完成后可獲得相應(yīng)酬金。平臺作為需求者和技能達人的中間媒介,將通過數(shù)據(jù)挖掘進行任務(wù)分析及技能匹配,以滿足用戶需求,能讓技能及服務(wù)變成現(xiàn)金成為可能。平臺采用.NET技術(shù),使用SQL SERVER數(shù)據(jù)庫存儲用戶信息,將數(shù)據(jù)以圖表結(jié)合的形式進行匯總分析,如用多種形式計算酬金等,為用戶提供個性化的服務(wù)。
平臺采用ASP.NET三層架構(gòu),結(jié)合數(shù)據(jù)庫技術(shù),把大學(xué)生發(fā)布接受任務(wù)的相關(guān)信息整合在一個網(wǎng)絡(luò)平臺上,以迎合時代發(fā)展的需要,同時為大學(xué)生提供一個技能變現(xiàn)和展示才藝的平臺。我們將網(wǎng)站中所涉及到的主要業(yè)務(wù)活動進行歸納分析,繪制了如圖1所示的總體業(yè)務(wù)流程圖。
圖1 總體業(yè)務(wù)流程圖
2.2.1 ASP.NET三層架構(gòu)系統(tǒng)
系統(tǒng)采用ASP.NET三層架構(gòu)系統(tǒng)對網(wǎng)站進行架構(gòu)。數(shù)據(jù)訪問層(DAL):與數(shù)據(jù)庫進行交互,對數(shù)據(jù)進行操作,為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù)。業(yè)務(wù)邏輯層(BLL):針對具體問題的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理和數(shù)據(jù)傳遞。處于數(shù)據(jù)訪問層與表示層中間,起到數(shù)據(jù)交換中承上啟下的作用。表示層(WebUI):用戶的交互式操作界面,顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù)。接收用戶的請求,并返回數(shù)據(jù),為客戶端提供應(yīng)用程序的訪問[1],它們之間的引用關(guān)系及傳遞順序如圖2所示。
圖2 三層架構(gòu)體系圖
2.2.2 數(shù)據(jù)庫系統(tǒng)設(shè)計
系統(tǒng)采用A網(wǎng)站通過ADO.NET作為訪問數(shù)據(jù)庫的工具,設(shè)計應(yīng)用程序訪問數(shù)據(jù)庫。其過程為:以數(shù)據(jù)適配器(Data Adapter)作為傳輸工具,數(shù)據(jù)讀取器(Data Reader)作為媒介用命令連接到數(shù)據(jù)庫[2]。平臺數(shù)據(jù)庫主要實體有:用戶信息表(User)、任務(wù)信息表(Mission)、用戶視頻表(Video)、管理員信息表(Manager)、新聞表(News),系統(tǒng)E-R圖如圖3所示。
2.3.1 系統(tǒng)架構(gòu)
圖3 系統(tǒng)E-R圖
平臺系統(tǒng)涵蓋了發(fā)布任務(wù)、接受任務(wù)、達人匯,其中任務(wù)分類有閑置物品、教學(xué)、代拿、兼職、游戲、服裝租賃等。達人匯是用來發(fā)布用戶視頻,展示用戶才藝的板塊,網(wǎng)站基本框架如圖4所示。
圖4 平臺基本框架圖
2.3.2 系統(tǒng)功能模塊
(1)網(wǎng)上注冊及登陸:注冊用戶主要是大學(xué)生為主,還有部分招聘單位。
(2)任務(wù)中心:用戶可發(fā)布閑置物品交換、輔導(dǎo)學(xué)習(xí)、代拿、兼職、租賃等。接受任務(wù)者在平臺挑選任務(wù),包括價格、距離篩選。當任務(wù)完成后確認,可評價任務(wù)完成質(zhì)量,接受任務(wù)的人可得到報酬,支付方式可選擇多種方式進行,雙方還能獲得的積分,如圖5所示。
圖5 發(fā)布接受任務(wù)流程圖
(3)個人中心:可查看自己的相關(guān)信息,以及發(fā)布任務(wù)、接受任務(wù)的歷史記錄、積分變化情況等。平臺根據(jù)用戶數(shù)據(jù),生成用戶畫像,進行消息推送。
(4)達人匯:用戶在此模塊可展示自己的特長,通過視頻、文字進行,主要是推廣自己的技能,其他用戶可發(fā)表評論。
(5)管理員:管理員要對數(shù)據(jù)進行維護、數(shù)據(jù)備份和安全性維護,還要對任務(wù)進行審核,對不合格的任務(wù)進行刪除,對發(fā)布虛假信息者進行處罰,管理員功能設(shè)計如圖6所示。
平臺使用Visual Studio 2015作為開發(fā)工具,采用C#編程語言和當前最新技術(shù)ASP.NET MVC作為三層架構(gòu)的設(shè)計模式來實現(xiàn)B/S結(jié)構(gòu),使業(yè)務(wù)層、表現(xiàn)層和數(shù)據(jù)層分離,降低系統(tǒng)耦合度和生命周期成本。數(shù)據(jù)庫方面使用SQL Server,采用二級安全驗證。
平臺通過數(shù)據(jù)挖掘算法,根據(jù)任務(wù)喜好、任務(wù)發(fā)布或接收記錄、搜索記錄等數(shù)據(jù),采用基于全局的協(xié)同過濾算法,為每一個用戶生成獨立的推薦系統(tǒng),以便更精準高效地為用戶服務(wù)。算法以項目為依據(jù),收集用戶對某個項目的各類信息數(shù)據(jù),利用這些數(shù)據(jù)形成用戶對該項目的評分。根據(jù)所得評分,再通過相關(guān)度計算公式估計不同用戶間的相似度,選取系數(shù)較高的對比用戶,組成相似用戶群。最后基于最近鄰居即相似用戶群生成預(yù)測評分,分數(shù)最高的項目推薦給目標用戶。
(1)建立項目評分矩陣
在系統(tǒng)數(shù)據(jù)庫里查找用戶評價過的所有項目,篩選出不同用戶對同一項目的評分,形成評分矩陣,矩陣如下:
其中a代表用戶數(shù),b代表項目數(shù),rij代表第i個用戶對第j個項目的評分。
(2)用戶間的相似度計算
圖6 管理員功能圖
以兩個用戶的對比作為基本組,主要采用皮爾森相似度計算公式、余弦相似度公式以及修正的余弦相似度公式來計算用戶間的相似度,公式如下:
其中,sim(i,j)為用戶i和用戶j之間的相似度,Sij為用戶i和用戶j共同評分過的項目集合,Ri,u和Rj,u分別為用戶i和用戶j對項目u的評分,-Ri和-Rj分別為用戶i和用戶j對所有項目的平均評分值。由于在余弦相似性度量方法中沒有考慮不同用戶的評分尺度問題,修正的余弦相似度度量方法通過減去用戶對項目的平均評分改善上述缺陷[3]。因此平臺通過修改余弦相似度判斷兩個用戶之間的差異大小,最后生成推薦項目,推薦項目公式如下:
上面公式中,Pi,i表示目標用戶i對項目u的預(yù)測評分,Tj為用戶i的最近鄰居群,sim(i,j)是用戶i和j之間的相似性大小,Rj,u為最近鄰里的用戶j對項目u的評分,-Ri和-Rj則為用戶i和j所有項目的評分平均值。根據(jù)預(yù)測評分,選取出分值較高的前N項,將它們推薦給目標用戶。
平臺集聚各學(xué)子的特長及技藝,滿足高校學(xué)子個性化展示,解決他們在學(xué)習(xí)生活中遇到的問題,通過Web端和手機客戶端,學(xué)生們可隨時隨地發(fā)布任務(wù)和接受任務(wù)。通過數(shù)據(jù)挖掘,使得搜索引擎與數(shù)據(jù)匹配度高,讓用戶盡快找到滿足自己需求的能力者和體現(xiàn)自身價值的任務(wù)。每個人的知識和技能、資源都能為他人服務(wù)并能獲取酬金,這在大數(shù)據(jù)時代,是一種發(fā)展趨勢,將具有極高的社會價值和經(jīng)濟價值。
[1]胡迎松,彭利文,池楚兵.基于.NET的W e b應(yīng)用三層結(jié)構(gòu)設(shè)計技術(shù)[J].計算機工程,2003(8):173-175.
[2]柴晟,王云,王永紅.ADO.NET數(shù)據(jù)庫訪問技術(shù)案例式教程[M].北京:北京航空航天大學(xué)出版社,2013.
[3]張雪文.智能推薦系統(tǒng)中協(xié)同過濾算法的研究[M].上海:上海交通大學(xué)出版社,2008.