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