王治國 ,萬本庭,王 慧
(1.暨南大學(xué) 網(wǎng)絡(luò)與教育技術(shù)中心,廣東 廣州 510632;2.江西財(cái)經(jīng)大學(xué) 軟件與物聯(lián)網(wǎng)工程學(xué)院,江西 南昌330013;3.廣州市工貿(mào)技師學(xué)院 教研室,廣東 廣州510632)
移動情景學(xué)習(xí)是在線學(xué)習(xí)和情景學(xué)習(xí)的融合。移動學(xué)習(xí)是移動技術(shù)與數(shù)字化學(xué)習(xí)技術(shù) (E-Learning)發(fā)展相結(jié)合產(chǎn)生的一種新型數(shù)字化學(xué)習(xí)形式[1]。情境學(xué)習(xí)是有關(guān)人類知識本質(zhì)的一種理論,它是研究人類知識如何在活動過程中發(fā)展的,特別是人們?nèi)绾稳?chuàng)造和解釋他們正在做什么的表征;我們在一個基本的社會情境中對我們的活動進(jìn)行構(gòu)想,進(jìn)而限制我們的思維和言行,我們的行為植根于我們作為一名社會成員的角色之中[2]。隨著技術(shù)的發(fā)展、理念的更新,移動情景學(xué)習(xí)方式越來越多地成為知識獲取的途徑。面對海量的學(xué)習(xí)者和資源,在移動情景學(xué)習(xí)環(huán)境下,如何可以在遇到問題時快速準(zhǔn)確找到合適的專家資源進(jìn)行咨詢,已經(jīng)成為一個迫切需要解決的問題。
上世紀(jì)90年代,電子商務(wù)在歐美快速發(fā)展,推薦技術(shù)在電子商務(wù)和信息檢索領(lǐng)域得到長足的發(fā)展。目前推薦系統(tǒng)采用的算法有關(guān)聯(lián)規(guī)則、基于內(nèi)容的推薦、協(xié)同過濾、混合推薦。協(xié)同過濾是基于用戶喜好和項(xiàng)目相似性進(jìn)行篩選推薦的[3],該算法于1992年由Goldberg等學(xué)者在研究報(bào)告中正式提出[4]。1995年3月,卡耐基·梅隆大學(xué)的Robert Armstrong等人在美國人工智能協(xié)會上提出了Web Watcher(個性化導(dǎo)航系統(tǒng));1996年,Yahoo推出了個性化入口My Yahoo;1997年,AT&T實(shí)驗(yàn)室提出了PHOAKS和Referral Web(均為基于協(xié)作過濾的個性化推薦系統(tǒng));2000年,NEC研究院的Kurt等人為搜索引擎CiteSeer增加了個性化推薦功能;2001年,紐約大學(xué)的Gediminas Adoavicius和Alexander Tuzhilin實(shí)現(xiàn)了個性化電子商務(wù)網(wǎng)站的用戶建模系統(tǒng)1Pro[3]。
隨著推薦技術(shù)在電子商務(wù)推薦領(lǐng)域的地位日益凸顯,國內(nèi)越來越多的學(xué)者和專家涉足這一領(lǐng)域,同時提出很多建設(shè)性的意見和建議。如中山大學(xué)的黃創(chuàng)光、印鑒等人提出了不確定的近鄰的協(xié)同過濾推薦算法[5];清華大學(xué)的邢春曉、高鳳榮等提出適應(yīng)用戶興趣變化的協(xié)同過濾推薦算法[6]。系統(tǒng)推薦領(lǐng)域在國內(nèi)發(fā)展較晚,但在一定程度上也取得了不少研究成果。但是,目前的推薦算法主要集中在電影和商品領(lǐng)域,在專家推薦領(lǐng)域涉及較少,為了滿足不斷發(fā)展的知識服務(wù)領(lǐng)域,本文提出了基于移動情景學(xué)習(xí)下的專家推薦模型,方便用戶在海量的專家資源中快速精準(zhǔn)地找到合適的專家,并進(jìn)行精準(zhǔn)推薦。
基于用戶的專家推薦是通過分析目標(biāo)用戶的歷史數(shù)據(jù),獲取用戶瀏覽、咨詢、評價專家的信息,獲取用戶的興趣信息;分析樣本中用戶的興趣信息,比對目標(biāo)用戶和樣本用戶興趣,計(jì)算目標(biāo)用戶的相似用戶,通過相似用戶瀏覽、咨詢、評價的專家中過濾符合目標(biāo)用戶的專家,進(jìn)行專家推薦。
基于用戶的專家推薦是通過分析目標(biāo)用戶的歷史數(shù)據(jù),獲取用戶瀏覽、咨詢、評價專家的信息,獲取用戶的興趣信息;分析樣本中用戶的興趣信息,比對目標(biāo)用戶和樣本用戶興趣,計(jì)算目標(biāo)用戶的相似用戶,通過相似用戶瀏覽、咨詢、評價的專家中過濾符合目標(biāo)用戶的專家,進(jìn)行專家推薦。
基于專家的推薦是分析用戶的歷史瀏覽、咨詢記錄,獲取用戶瀏覽、咨詢專家信息,通過專家(用戶瀏覽、咨詢)和專家?guī)爝M(jìn)行比對,尋找相似專家,從相似專家中獲取推薦專家,進(jìn)行專家推薦。本文的專家是指醫(yī)學(xué)領(lǐng)域的專家,醫(yī)學(xué)領(lǐng)域?qū)<液徒逃I(lǐng)域的專家有很多相似性,對學(xué)歷、專業(yè)、服務(wù)態(tài)度具有較高要求,并且服務(wù)領(lǐng)域需要高度細(xì)化。因此,本文選擇醫(yī)學(xué)領(lǐng)域的專家作為被推薦對象,并且可以將該種研究模型遷移到教育領(lǐng)域。
(1)用戶興趣指標(biāo)建立
在移動情景學(xué)習(xí)下的專家推薦過程,用戶指標(biāo)項(xiàng)的建立是最為基礎(chǔ)的一步,用戶興趣指標(biāo)的建立,首先是對用戶興趣指標(biāo)的篩選。影響專家推薦的用戶要素有很多,一是用戶自身的信息,如性別、年齡、職業(yè)、學(xué)歷、工作、所在地、所患疾病;其次是和醫(yī)生的交互信息,如服務(wù)態(tài)度、療效滿意度、服務(wù)費(fèi)用、評價時間等。
用戶的興趣指標(biāo)分為用戶的屬性指標(biāo)和用戶關(guān)系要素。根據(jù)主成分分析法,用戶屬性要素有用戶性別信息(US)、用戶所患疾病用信息(UD)、用戶所在地信息(UA)等;用戶的關(guān)系要素有關(guān)注專家(UDO)、滿意度(USa)、治療收費(fèi)(UF)、評價時間(UT)等相關(guān)要素。用戶和用戶興趣指標(biāo)的數(shù)據(jù)庫包含n個用戶的集U={U1,U2,U3,…,Un}和 m 個用戶興趣指標(biāo) I={},用戶興趣指標(biāo)矩陣可用一個N×M的矩陣表示R(n×m),如公式1所示。
其中矩陣中n行代表n個用戶,m列代表m個用戶興趣指標(biāo)項(xiàng),Rnm代表第n個用戶的第m個興趣指標(biāo)的值,用戶興趣指標(biāo)的量化表如表1所示。
綜上所述,影響專家推薦的用戶要素有:用戶性別、所在地、疾病、是否關(guān)注相同專家、滿意度、治療費(fèi)用、評分時間等。
表1 用戶興趣指標(biāo)量化表
(2)專家資源指標(biāo)建立
在用戶訪問平臺時,系統(tǒng)如何高效精準(zhǔn)地將專家推薦給用戶,影響系統(tǒng)推薦的專家因子有專家的臨床職稱、學(xué)術(shù)職稱、所在醫(yī)院、醫(yī)院級別、科室、擅長、患者投票、文章總數(shù)、平均每天訪問人數(shù)、昨日訪問人數(shù)、感謝信數(shù)量、是否可咨詢等因素。
根據(jù)主成分分析法得出:醫(yī)生的臨床職稱和學(xué)術(shù)職稱呈基本的正相關(guān),所以本文將臨床職稱作為一個主成分來考慮。分析現(xiàn)有數(shù)據(jù)中的態(tài)度滿意度和療效滿意度數(shù)據(jù),可知專家態(tài)度滿意度和療效滿意度呈正相關(guān)性。因此,用戶對專家態(tài)度滿意度和療效滿意度兩個指標(biāo)整體用滿意度這個指標(biāo)來表示。
影響專家推薦指標(biāo)中的昨日訪問次數(shù)、平均訪問次數(shù)、總患者數(shù)、總投票數(shù)、感謝信數(shù)量、專家總文章數(shù)等因素,根據(jù)已有數(shù)據(jù)繪圖得到圖1所示的平均訪問次數(shù)走勢圖。
圖1 平均訪問次數(shù)走勢圖
根據(jù)以上分析得出影響專家推薦的專家核心要素有:專家臨床職稱(DC(Doctor Clinical title))、專家所在醫(yī)院(DH)、專家所在科室(DD)、專家是否擅長(某一疾?。―B)、收費(fèi)標(biāo)準(zhǔn)(DF)、滿意度(DS)、平均訪問次數(shù)/天(DM)、是否可咨詢(Dcon)等。通過數(shù)據(jù)散點(diǎn)圖和實(shí)際專家屬性,專家資源指標(biāo)量化數(shù)據(jù)表如表2所示。
表2 專家資源指標(biāo)量化數(shù)據(jù)表
在傳統(tǒng)的協(xié)同過濾推薦算法中,主要集中在基于內(nèi)存推薦中的基于用戶或基于項(xiàng)目的單一推薦模式,這種推薦模式在數(shù)據(jù)稀疏或者項(xiàng)目(專家)冷啟動時,在推薦準(zhǔn)確度和精度上都不是那么令人滿意。而基于用戶和基于項(xiàng)目(專家)的組合推薦算法,既可以滿足在數(shù)據(jù)稀疏下的準(zhǔn)確推薦,同時又可以提高推薦的多樣性。因此,在推薦領(lǐng)域得到廣泛應(yīng)用。
基于協(xié)同過濾的專家推薦算法流程:首先收集用戶的偏好信息,對用戶關(guān)注和評價的項(xiàng)目(專家)進(jìn)行分析,提取關(guān)鍵字,從而建立用戶信息集合和訓(xùn)練專家?guī)旒?;其次通過用戶的屬性信息和關(guān)系信息,計(jì)算用戶的鄰居,將用戶鄰居關(guān)注的專家推薦給用戶;同時,計(jì)算目標(biāo)用戶關(guān)注的專家的鄰居,將和目標(biāo)用戶關(guān)注專家相似的專家推薦給用戶,具體算法流程圖如圖2所示。
圖2 協(xié)同過濾專家推薦算法流程圖
協(xié)同過濾相似性計(jì)算分為兩部分:
(1)基于用戶的相似性計(jì)算
①用戶信息格雷編碼
用戶信息通過格雷編碼后,計(jì)算各個用戶之間的海明距離,用海明距離的大小來表示用戶之間的相似性。用戶指標(biāo)格雷編碼對照表如表3所示。例如用戶(2XVRBZ6LP2、云南、女、高血壓高血脂、很滿意、200、2015-03-03 21:11、7)和用戶(84HZH62NPZ、江西、女、高血壓、很滿意、300、2015-09-06 14:02、7)的格林編碼分別是000000001101101001001和001000001101100001001。
表3 用戶指標(biāo)格雷編碼表
根據(jù)用戶信息表分析,影響專家推薦的用戶信息指標(biāo)相對單一,適合二進(jìn)制編碼,然后對不同取值進(jìn)行格雷編碼,并且依次串起來,形成二進(jìn)制編碼串;通過計(jì)算的海明距離來度量用戶之間的相似度;根據(jù)數(shù)據(jù)分析得到相同的疾病更容易關(guān)注相同的專家,關(guān)注相同專家的用戶,所患疾病相似或者相同。則在權(quán)重分配中患有相同疾病的權(quán)重為0.2,關(guān)注相同醫(yī)生的權(quán)重為0.3,其余的分別為0.1。其權(quán)重為n個因子的平均值。則權(quán)重如公式2所示:
則得到兩個用戶之間的海明距離如公式3所示:
分析得知,DHM(海明距離)越大,用戶之間的相似性越低,DHM越小,則用戶之間相似性越高。
③相似度計(jì)算,如公式4所示:
(2)基于項(xiàng)目(專家)的相似性計(jì)算
①數(shù)據(jù)采集:根據(jù)移動情景平臺的歷史數(shù)據(jù),隨機(jī)獲取30位專家的推薦要素?cái)?shù)據(jù),形成推薦專家訓(xùn)練集。
②數(shù)據(jù)量化處理:將采集到的原始數(shù)據(jù),根據(jù)主成分分析法,獲取相關(guān)的指標(biāo),并且對專家指標(biāo)數(shù)據(jù)量化處理。
③指標(biāo)數(shù)據(jù)歸一化處理:原始變量的標(biāo)準(zhǔn)化采集數(shù)據(jù)8維隨機(jī)向量,如公式5所示:
N 個樣品 Di=(DiDC,DiDH,…DiDS),i=1,2…8。構(gòu)造樣本矩陣,對樣本舉證進(jìn)行標(biāo)準(zhǔn)化處理,如公式6所示:
以高血壓領(lǐng)域的專家推薦為例,隨機(jī)抽取10個是有高血壓癥狀的患者,同時,從數(shù)據(jù)庫中獲取一名高血壓患者近期關(guān)注過的醫(yī)學(xué)專家信息,將該高血壓患者和關(guān)注的醫(yī)學(xué)專家信息分別作為基于用戶和基于項(xiàng)目的協(xié)同過濾專家推薦模型的目標(biāo)數(shù)據(jù),同時,隨機(jī)篩選出30個用戶信息和30個專家信息作為訓(xùn)練集。通過海明公式計(jì)算用戶之間的相似性,通過余弦相似法,計(jì)算項(xiàng)目(專家)之間的相似性,進(jìn)行專家推薦。
(1)基于用戶的協(xié)同過濾推薦
①隨機(jī)選取10個目標(biāo)用戶,且每個用戶和醫(yī)生關(guān)系信息條數(shù)大于10條,這樣數(shù)據(jù)更具有真實(shí)性和代表性,其中的一個目標(biāo)用戶信息如表4所示。以這個目標(biāo)用戶信息為例,計(jì)算用戶的推薦專家,其他用戶類似。②取相似的目標(biāo)用戶,通過疾病尋找患有或者對該疾病比較關(guān)注的用戶,通過疾病指標(biāo)模糊查詢和匹配對高血壓和類似高血壓等疾病感興趣的用戶,隨機(jī)獲取30個訓(xùn)練數(shù)據(jù)集。③目標(biāo)用戶相似鄰居集數(shù)據(jù)量化處理。④目標(biāo)用戶相似鄰居集數(shù)據(jù)進(jìn)行格雷編碼,通過對目標(biāo)用戶格雷編碼計(jì)算得到海明距離。⑤基于用戶的專家推薦最近鄰居集合如表5所示。⑥從用戶和醫(yī)生對照表中分析得到1、24、33、38感興趣的專家是專家7號,所以推薦專家是專家7。
表4 目標(biāo)用戶信息表
表5 目標(biāo)用戶最近鄰居集合
(2)基于項(xiàng)目(專家)的協(xié)同過濾推薦
①專家數(shù)據(jù)量化處理后,得到專家數(shù)據(jù)量化信息。
②通過對專家量化好的數(shù)據(jù)進(jìn)標(biāo)準(zhǔn)化處理,得到標(biāo)準(zhǔn)化的專家數(shù)據(jù)信息,如表6所示。
表6 專家信息標(biāo)準(zhǔn)化表
表7 專家相似度信息表
(3)實(shí)驗(yàn)結(jié)果
統(tǒng)計(jì)這10個目標(biāo)用戶在隨機(jī)推薦、基于用戶推薦、基于項(xiàng)目(專家)、基于協(xié)同過濾推薦下對專家 (每個用戶的專家評分,不低于10條)的評分,并且計(jì)算對所推薦專家的評分均值,如表8所示四種推薦算法下用戶對推薦專家的評分均值。
表8 四種推薦算法下用戶對推薦專家的評分均值
根據(jù)表8數(shù)據(jù)繪制,四種算法專家推薦用戶評分對比如圖3所示,分析圖表數(shù)據(jù)的隨機(jī)推薦的評價相對較低,基于用戶和基于項(xiàng)目的專家推薦相較隨機(jī)推薦有一定改善,整體推薦效果要好些,通過圖5可知,其中協(xié)同過濾推薦在四種推薦中,用戶評分均值最高,效果最好。
圖3 四種算法專家推薦用戶評價對比圖
圖4 四種算法專家推薦用戶評價均值和偏差度對比圖
不同推薦算法下,用戶對推薦專家的評分均值和偏差度有所差異,四種推薦算法的均值和偏差度如圖4所示,利用推薦算法后,用戶的評分均值大大提高,同時用戶的評分偏差度在降低,推薦準(zhǔn)確度增加。由圖4分析可知,協(xié)同過濾后的專家推薦所推薦專家的評分均值最高,同時標(biāo)準(zhǔn)差最低,推薦準(zhǔn)確度最高。
協(xié)同過濾是基于對鄰居的形似度計(jì)算,所以鄰居樣本大小,對推薦的準(zhǔn)確度有一定的影響。不同樣本數(shù)量集下的推薦算法MAE值(絕對平均誤差)不同,樣本數(shù)量在5-60之間的基于用戶,基于項(xiàng)目(專家)、基于協(xié)同過濾推薦的MAE值繪制比較圖如圖5所示。
圖5 不同推薦算法MAE值比較圖
根據(jù)圖5可知,不同推薦算法下,隨著樣本數(shù)量的增加,MAE值在不斷減小,最后趨于一個穩(wěn)定的值。根據(jù)圖表分析,基于協(xié)同過濾的推薦算法MAE值相較基于用戶和基于項(xiàng)目的MAE都要低一些,說明協(xié)同過濾推薦算法推薦的準(zhǔn)確度較高,推薦效果較好。
通過實(shí)施得到以下結(jié)論:①通過協(xié)同過濾推薦給目標(biāo)用戶的專家,目標(biāo)用戶對推薦專家的瀏覽度和咨詢度概率有很大提高,同時,對專家的滿意度和服務(wù)滿意度相對較高。②基于用戶和基于(項(xiàng)目)的雙重推薦,在滿足推薦準(zhǔn)確度的同時,也滿足給用戶推薦的多樣性,可以讓用戶有更多樣的專家資源去咨詢和學(xué)習(xí)。③通過某一大類進(jìn)行劃分并且推薦,大大提高了計(jì)算機(jī)的執(zhí)行效率,同時能夠在計(jì)算復(fù)雜度相對較低的情況下,更加全面地檢索某一大類中涉及的專家資源,加強(qiáng)了推薦的全面性。該研究成果不僅適用于醫(yī)學(xué)領(lǐng)域,同時可以遷移到在線教育領(lǐng)域的專家、課程推薦或者一對一教育咨詢方面的專家推薦。