/中國(guó)運(yùn)載火箭技術(shù)研究院研究發(fā)展中心
中國(guó)運(yùn)載火箭技術(shù)研究院自2011年開(kāi)展知識(shí)管理工作以來(lái),積累了大量寶貴的知識(shí)資源。但總體而言,知識(shí)的使用效果不佳,70%的知識(shí)都處于閑置狀態(tài),歷史積累的知識(shí)資源難以有效發(fā)揮其應(yīng)有的價(jià)值,不可避免地導(dǎo)致了運(yùn)載火箭型號(hào)研制效率低、周期長(zhǎng)、成本高,在國(guó)際航天領(lǐng)域難以發(fā)揮持續(xù)的競(jìng)爭(zhēng)優(yōu)勢(shì)。針對(duì)火箭高密度研制和發(fā)射的緊迫形勢(shì),有必要借助機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)高價(jià)值知識(shí)的智能挖掘與推送,提升知識(shí)質(zhì)量,提高利用效率,促進(jìn)知識(shí)驅(qū)動(dòng)的運(yùn)載火箭設(shè)計(jì)生產(chǎn)模式快速形成。
筆者結(jié)合運(yùn)載火箭知識(shí)庫(kù)的特點(diǎn),對(duì)現(xiàn)有的機(jī)器學(xué)習(xí)算法進(jìn)行優(yōu)化改進(jìn),從用戶(hù)模型數(shù)據(jù)特征、興趣模型構(gòu)建、用戶(hù)興趣更新機(jī)制及推薦算法幾個(gè)方面進(jìn)行詳細(xì)分析,以實(shí)現(xiàn)基于用戶(hù)行為的知識(shí)推送。
用戶(hù)模型數(shù)據(jù)主要是指與用戶(hù)的興趣、特征、偏好相關(guān)的數(shù)據(jù),這些數(shù)據(jù)的提取是模型數(shù)據(jù)準(zhǔn)備的過(guò)程,主要為用戶(hù)興趣模型的建立作準(zhǔn)備。數(shù)據(jù)特征提取總體上可以分為顯式信息提取和隱式信息提取,顯式信息主要包括用戶(hù)崗位信息(部門(mén)、專(zhuān)業(yè)、密級(jí)、職位、職稱(chēng)、技術(shù)能力)、用戶(hù)檢索行為(用戶(hù)現(xiàn)行搜索)和用戶(hù)訂閱行為(用戶(hù)訂閱詞);隱式信息主要包括用戶(hù)檢索行為(歷史查詢(xún)行為)和用戶(hù)知識(shí)行為(用戶(hù)瀏覽、用戶(hù)評(píng)分、用戶(hù)上傳、用戶(hù)下載、用戶(hù)收藏、用戶(hù)標(biāo)簽)。
筆者主要采用隱式信息提取,此種方式無(wú)需用戶(hù)的主動(dòng)參與,而是由系統(tǒng)在不打擾用戶(hù)使用的情況下跟蹤用戶(hù)瀏覽行為自動(dòng)獲取的。用戶(hù)在網(wǎng)頁(yè)中的瀏覽行為實(shí)質(zhì)上是客戶(hù)端與服務(wù)器端交互的過(guò)程,客戶(hù)端可用 Ajax、JavaScript 等技術(shù)記錄用戶(hù)的瀏覽行為,如用戶(hù)的收藏、打印操作、滾動(dòng)條的滾動(dòng)速度等,利用用戶(hù)的瀏覽內(nèi)容和瀏覽行為挖掘用戶(hù)的興趣愛(ài)好;服務(wù)器端則可以通過(guò)服務(wù)器日志記錄用戶(hù)的IP、ID、訪問(wèn)頁(yè)面、訪問(wèn)時(shí)間等。
針對(duì)研究院知識(shí)管理系統(tǒng),用戶(hù)行為特征獲取主要包括用戶(hù)瀏覽、用戶(hù)評(píng)分、用戶(hù)上傳、用戶(hù)下載、用戶(hù)收藏、用戶(hù)標(biāo)簽和歷史查詢(xún)行為。對(duì)用戶(hù)知識(shí)行為進(jìn)行分類(lèi),其中A表示用戶(hù)上傳、用戶(hù)下載、用戶(hù)收藏、用戶(hù)標(biāo)簽的行為集合,B表示用戶(hù)評(píng)分行為的行為集合,C表示用戶(hù)瀏覽行為的行為集合。對(duì)上述行為按照?qǐng)D1的流程進(jìn)行邏輯處理,即可獲取用戶(hù)當(dāng)前的興趣關(guān)鍵詞(見(jiàn)表1)。
圖1 用戶(hù)行為特征提取業(yè)務(wù)邏輯圖
表1 用戶(hù)行為特征提取數(shù)據(jù)流程
用戶(hù)興趣模型是知識(shí)推薦系統(tǒng)的關(guān)鍵部分之一,模型的好壞直接關(guān)系到推薦系統(tǒng)的質(zhì)量。實(shí)際上興趣模型是一種數(shù)據(jù)結(jié)構(gòu),它的表現(xiàn)形式直接決定用戶(hù)模型反映用戶(hù)興趣愛(ài)好的能力和模型的可計(jì)算能力。
基于向量空間模型(VSM)的表示法把用戶(hù)的興趣模型表示成一個(gè)n維的特征向量{(t1,w1),(t2,w2)…(tn,wn)},用以表示用戶(hù)感興趣的方面以及對(duì)這一方面感興趣的程度。其中,ti(1≤i≤n)表示興趣特征項(xiàng),wi(1≤i≤n)表示特征項(xiàng)ti在模型中的權(quán)重,代表用戶(hù)對(duì)興趣項(xiàng)ti的感興趣程度,以下簡(jiǎn)稱(chēng)興趣度。
模型中的興趣度可以是表示用戶(hù)興趣的關(guān)鍵詞,基于向量空間模型的表示法能夠反映不同的興趣項(xiàng)在用戶(hù)興趣模型中的重要程度,且便于后期項(xiàng)目資源的匹配計(jì)算。
用戶(hù)興趣模型的構(gòu)建邏輯如圖2所示,用戶(hù)興趣模型的數(shù)據(jù)流程見(jiàn)表2。
用戶(hù)興趣模型中的每個(gè)用戶(hù)實(shí)例不是固定不變的,隨著用戶(hù)使用系統(tǒng)的行為以及興趣的不斷變化,用戶(hù)實(shí)例也會(huì)相應(yīng)變化,需要在一定的時(shí)間內(nèi)進(jìn)行更新。因此,在用戶(hù)模型構(gòu)建過(guò)程中需要充分考慮用戶(hù)的興趣隨著時(shí)間變化而改變的因素,保證用戶(hù)模型的時(shí)效性。
圖2 用戶(hù)興趣模型構(gòu)建的業(yè)務(wù)邏輯流程
實(shí)現(xiàn)用戶(hù)模型的時(shí)效性有2種方法:一是全局?jǐn)?shù)據(jù)方法,每次知識(shí)推送需要用到用戶(hù)實(shí)例時(shí)掃描數(shù)據(jù)庫(kù),將用戶(hù)實(shí)例需要的數(shù)據(jù)重新計(jì)算一遍,該方法可以保證數(shù)據(jù)的實(shí)時(shí)性,用戶(hù)實(shí)例隨著用戶(hù)興趣數(shù)據(jù)變化而實(shí)時(shí)變化,但是計(jì)算任務(wù)大且耗時(shí),很大程度上會(huì)影響系統(tǒng)的效率;二是基于模型的方法,只需掃描一次數(shù)據(jù)庫(kù)就可以把所有用戶(hù)實(shí)例計(jì)算完,后續(xù)需要用到用戶(hù)實(shí)例時(shí)可以直接調(diào)用,不需要再計(jì)算,但一次性計(jì)算的用戶(hù)模型會(huì)產(chǎn)生嚴(yán)重的滯后效應(yīng),需要對(duì)模型進(jìn)行整體周期性更新。
此處采用上述2種方法的融合,利用基于模型的方法整體計(jì)算便捷、調(diào)用方便以及全局?jǐn)?shù)據(jù)方法實(shí)時(shí)性的優(yōu)點(diǎn),彌補(bǔ)前者訓(xùn)練代價(jià)高和后者計(jì)算任務(wù)大的缺點(diǎn),實(shí)現(xiàn)了用戶(hù)模型的更新,執(zhí)行方法如圖3所示。
首先,系統(tǒng)周期性地進(jìn)行模型計(jì)算,當(dāng)系統(tǒng)符合定時(shí)更新系數(shù)、到達(dá)定時(shí)更新時(shí)間時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)興趣已變動(dòng)的用戶(hù),將變動(dòng)的用戶(hù)實(shí)例計(jì)算完成后存入數(shù)據(jù)庫(kù),以方便調(diào)用;然后,系統(tǒng)對(duì)每個(gè)用戶(hù)實(shí)例進(jìn)行監(jiān)控,如果某個(gè)用戶(hù)實(shí)例中的興趣點(diǎn)更新變動(dòng)系數(shù)超過(guò)閾值,則對(duì)該用戶(hù)實(shí)例進(jìn)行全局?jǐn)?shù)據(jù)計(jì)算,并將結(jié)果存入數(shù)據(jù)庫(kù)。
一是用戶(hù)模型定時(shí)更新模塊。用戶(hù)模型定時(shí)更新流程如圖4所示,當(dāng)系統(tǒng)到了定時(shí)更新時(shí)間,系統(tǒng)會(huì)自動(dòng)檢測(cè)所有用戶(hù)的興趣狀態(tài),包括4個(gè)維度對(duì)應(yīng)的信息修改情況,然后把修改的用戶(hù)歸入更新用戶(hù)集,未修改的用戶(hù)不進(jìn)入更新流程,以減少整體更新時(shí)所做的重復(fù)計(jì)算。系統(tǒng)針對(duì)更新用戶(hù)集進(jìn)行每個(gè)用戶(hù)實(shí)例的興趣計(jì)算,并將計(jì)算后的用戶(hù)實(shí)例歸入到用戶(hù)模型中,形成更新后的用戶(hù)模型。
表2 用戶(hù)興趣模型數(shù)據(jù)流程
圖3 用戶(hù)學(xué)習(xí)更新流程
圖4 用戶(hù)模型定時(shí)更新流程
二是單用戶(hù)更新模塊。單用戶(hù)更新比定時(shí)更新情況復(fù)雜,有多種情況進(jìn)行觸發(fā),分為時(shí)間觸發(fā)更新、數(shù)量觸發(fā)更新和行為觸發(fā)更新,具體過(guò)程如圖5所示。
時(shí)間觸發(fā)更新。當(dāng)用戶(hù)操作未涉及某個(gè)興趣知識(shí)概念超過(guò)一定時(shí)間后,需要運(yùn)用遺忘函數(shù)對(duì)其進(jìn)行知識(shí)概念興趣度分析,如果用戶(hù)對(duì)該知識(shí)概念的興趣度低于預(yù)定的閾值,則需要?jiǎng)h除該興趣點(diǎn)。
用戶(hù)知識(shí)概念興趣度的計(jì)算可以采用概念熟悉程度計(jì)算公式,該公式基于記憶遺忘規(guī)律,提出記憶受時(shí)間和被記憶內(nèi)容的雙重影響。計(jì)算用戶(hù)知識(shí)概念興趣度的公式可以轉(zhuǎn)變?yōu)椋?/p>
其中,yc表示用戶(hù)對(duì)興趣知識(shí)概念c的興趣度,興趣度隨時(shí)間變化不斷下降最后穩(wěn)定下來(lái);表示權(quán)重,用于調(diào)節(jié)興趣度隨時(shí)間增長(zhǎng)而下降的快慢;wc為興趣知識(shí)概念c在用戶(hù)實(shí)例興趣分支中的權(quán)重;為某知識(shí)從被快速遺忘到基本不再變化的轉(zhuǎn)折點(diǎn),一般情況下取值10天。
圖5 單用戶(hù)更新過(guò)程
數(shù)量觸發(fā)更新。由于行為觸發(fā)等原因造成興趣分支知識(shí)概念數(shù)超出限度時(shí),需要對(duì)興趣分支上的所有知識(shí)概念進(jìn)行興趣度計(jì)算分析,對(duì)興趣度低的知識(shí)概念進(jìn)行刪除清理,形成新的知識(shí)概念集(知識(shí)概念數(shù)目為限度數(shù)目),更新興趣分支。
行為觸發(fā)更新。用戶(hù)擁有興趣用戶(hù)實(shí)例后,其新的興趣知識(shí)概念隨著用戶(hù)使用知識(shí)管理系統(tǒng)后不斷產(chǎn)生變化,系統(tǒng)會(huì)根據(jù)現(xiàn)有用戶(hù)行為通過(guò)行為分析方法形成新的興趣知識(shí)概念,如果興趣知識(shí)概念已經(jīng)存在,則對(duì)其進(jìn)行數(shù)據(jù)更新。
目前,主流的個(gè)性化推薦算法包括基于人口統(tǒng)計(jì)學(xué)的推薦、基于內(nèi)容的推薦、協(xié)同過(guò)濾推薦。其中,基于內(nèi)容的推薦方法憑借其模型構(gòu)建相對(duì)容易、個(gè)性化推薦效果好的優(yōu)勢(shì)在文本相關(guān)領(lǐng)域得到了廣泛應(yīng)用。該方法利用知識(shí)項(xiàng)的屬性特征,并將用戶(hù)對(duì)其選擇過(guò)的項(xiàng)目的評(píng)價(jià)作為源數(shù)據(jù),不需要使用其它用戶(hù)的數(shù)據(jù),僅根據(jù)用戶(hù)自身的興趣愛(ài)好作推薦,因此不存在用戶(hù)—項(xiàng)目評(píng)分矩陣稀疏的問(wèn)題,能夠?yàn)閾碛刑厥馀d趣愛(ài)好的用戶(hù)作推薦。
在基于內(nèi)容的推薦系統(tǒng)中,知識(shí)項(xiàng)被定義成一個(gè)特征表示向量,而這些特征選取的好壞直接關(guān)系到推薦系統(tǒng)的質(zhì)量。針對(duì)文本類(lèi)的內(nèi)容,特征可借助信息技術(shù)進(jìn)行自動(dòng)提取,也可以人為定義,推薦系統(tǒng)根據(jù)用戶(hù)評(píng)價(jià)過(guò)的項(xiàng)目的特征學(xué)習(xí)用戶(hù)的興趣,并生成用戶(hù)的興趣文件,然后通過(guò)匹配興趣文件找到與該用戶(hù)興趣相似度最高的知識(shí)。
知識(shí)推送的業(yè)務(wù)邏輯流程如圖6所示,知識(shí)推送數(shù)據(jù)處理流程見(jiàn)表3。
目前,基于機(jī)器學(xué)習(xí)的知識(shí)推送模型已應(yīng)用于中國(guó)運(yùn)載火箭技術(shù)研究院的知識(shí)管理系統(tǒng)中,為用戶(hù)提供知識(shí)個(gè)性化推薦。通過(guò)對(duì)設(shè)計(jì)人員的操作行為進(jìn)行記錄,并結(jié)合設(shè)計(jì)人員的專(zhuān)業(yè)背景等相關(guān)數(shù)據(jù)進(jìn)行分析,將知識(shí)庫(kù)中的知識(shí)資源分類(lèi)處理并推送到個(gè)人空間中,從而減少了用戶(hù)的知識(shí)檢索成本,提高了知識(shí)資源利用率,有效增加了知識(shí)管理系統(tǒng)的用戶(hù)黏度。▲
圖6 知識(shí)推送業(yè)務(wù)邏輯流程圖
表3 知識(shí)推送數(shù)據(jù)處理流程