国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于情境感知生成對(duì)抗網(wǎng)絡(luò)模型的工程知識(shí)推薦方法

2022-04-04 05:20:46王臨科蔣祖華牛建民黃詠文李心雨
關(guān)鍵詞:文檔語(yǔ)義向量

王臨科,蔣祖華+,牛建民,黃詠文,李心雨

(1.上海交通大學(xué) 機(jī)械與動(dòng)力工程學(xué)院,上海 200240;2.上海船舶工藝研究所,上海 200032;3.上海外高橋造船有限公司,上海 200137;4.東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)

0 引言

在知識(shí)經(jīng)濟(jì)時(shí)代,知識(shí)作為企業(yè)的重要資產(chǎn)和無(wú)形生產(chǎn)要素,對(duì)提升企業(yè)生產(chǎn)效益、實(shí)現(xiàn)企業(yè)創(chuàng)新發(fā)展至關(guān)重要。隨著信息技術(shù)的快速發(fā)展和普及應(yīng)用,越來(lái)越多知識(shí)密集型企業(yè)開始重視知識(shí)管理(Knowledge Management, KM),并搭建知識(shí)管理系統(tǒng)(Knowledge Management System, KMS),以建立組織記憶(Organization Memory, OM),實(shí)現(xiàn)對(duì)企業(yè)知識(shí)信息的高效儲(chǔ)存與重用[1]。KMS通過(guò)知識(shí)拉取和知識(shí)推送協(xié)助用戶進(jìn)行知識(shí)重用[2]。知識(shí)拉取是指用戶通過(guò)輸入檢索信息查找所需知識(shí),這是目前用戶獲取知識(shí)的主要途徑;而知識(shí)推送是指KMS主動(dòng)將相應(yīng)的知識(shí)在正確的時(shí)間推送給所需的用戶[3],是一種知識(shí)找人的方式。隨著KMS中知識(shí)的不斷積累,用戶通過(guò)KMS進(jìn)行知識(shí)拉取會(huì)遇到知識(shí)迷航的問(wèn)題,難以快速獲取所需知識(shí)。對(duì)此,知識(shí)推送能夠主動(dòng)為用戶尋找所需知識(shí),有效緩解知識(shí)迷航問(wèn)題,在知識(shí)拉取的基礎(chǔ)上進(jìn)一步提升KMS的知識(shí)供應(yīng)能力[3]。傳統(tǒng)知識(shí)推送方法主要分為基于用戶/任務(wù)需求[4-7]和基于流程/事件驅(qū)動(dòng)[8-10]兩種,前者基于對(duì)用戶需求[4,5]或任務(wù)需求[6-7]的規(guī)范化表征進(jìn)行相應(yīng)知識(shí)的匹配,后者則通過(guò)對(duì)流程/事件建模[8]或挖掘知識(shí)序列模式[9-10]進(jìn)行知識(shí)推送。依賴于知識(shí)表示和建模的傳統(tǒng)知識(shí)推送方法雖然能充分利用領(lǐng)域特征實(shí)現(xiàn)較為精準(zhǔn)的推送,但由于方法自動(dòng)化程度低、擴(kuò)展性差、應(yīng)用門檻高、知識(shí)推送效率低等問(wèn)題,阻礙了此類技術(shù)的發(fā)展和應(yīng)用。對(duì)此,自動(dòng)化程度高、擴(kuò)展性強(qiáng),且發(fā)展更為成熟的個(gè)性化推薦算法為知識(shí)推薦提供了新思路[11]。

個(gè)性化推薦算法是一種高效的信息過(guò)濾工具,能夠有效解決信息資源數(shù)量成倍增長(zhǎng)導(dǎo)致的信息超載問(wèn)題。通過(guò)對(duì)用戶個(gè)人信息、歷史行為信息的分析,個(gè)性化推薦算法能夠?qū)W習(xí)并預(yù)測(cè)用戶興趣,進(jìn)而向用戶推薦相應(yīng)的項(xiàng)目[12]。現(xiàn)有針對(duì)個(gè)性化推薦算法的研究主要集中于兩方面:①如何準(zhǔn)確構(gòu)建用戶畫像(User Profile);②如何基于用戶畫像進(jìn)行推薦。用戶畫像是用戶真實(shí)數(shù)據(jù)的虛擬表示,是基于人口統(tǒng)計(jì)學(xué)特征、社交關(guān)系、行為模式等信息的用戶模型,其主要構(gòu)成要素包含用戶的穩(wěn)定因素(如個(gè)人基本背景信息)和可變信息(如用戶興趣偏好信息)[13],其中,對(duì)用戶興趣的挖掘是構(gòu)建用戶畫像的核心和關(guān)鍵。AMRITKAR等[14]利用用戶瀏覽行為數(shù)據(jù)和領(lǐng)域知識(shí)構(gòu)建了增強(qiáng)的用戶興趣模型。DHELIM等[15]基于用戶—主題異構(gòu)網(wǎng)絡(luò)圖實(shí)現(xiàn)對(duì)用戶興趣的協(xié)同過(guò)濾預(yù)測(cè),并通過(guò)向用戶興趣模型中引入性格特征來(lái)解決新用戶冷啟動(dòng)問(wèn)題。為更全面地挖掘用戶興趣,梁野等[16]構(gòu)建了變權(quán)分層激活擴(kuò)散模型,利用知識(shí)關(guān)系網(wǎng)絡(luò)對(duì)用戶興趣進(jìn)行語(yǔ)義擴(kuò)展??傊脩舢嬒窬褪且糜脩魵v史行為數(shù)據(jù)、社交關(guān)系網(wǎng)絡(luò)、語(yǔ)義網(wǎng)絡(luò)等挖掘用戶個(gè)人興趣偏好特征,并將其表征為用戶興趣標(biāo)簽、評(píng)分矩陣等形式?;跇?gòu)建的用戶畫像,推薦算法的任務(wù)是向目標(biāo)用戶推薦其未交互過(guò)但可能感興趣的項(xiàng)目,通常的做法是首先預(yù)測(cè)目標(biāo)用戶對(duì)所有未交互過(guò)的項(xiàng)目的興趣評(píng)分,然后根據(jù)預(yù)測(cè)評(píng)分排名進(jìn)行Top-N推薦[17]。對(duì)評(píng)分的預(yù)測(cè)常用基于內(nèi)容相似度計(jì)算[18]或基于相似用戶進(jìn)行協(xié)同過(guò)濾[19]等方法,然而,歷史評(píng)分?jǐn)?shù)據(jù)不足造成的稀疏矩陣問(wèn)題和無(wú)法獲取新用戶評(píng)分?jǐn)?shù)據(jù)造成的冷啟動(dòng)問(wèn)題將使相似度計(jì)算失真[20],進(jìn)而降低推薦準(zhǔn)確度。

針對(duì)傳統(tǒng)推薦算法遇到的稀疏矩陣和冷啟動(dòng)問(wèn)題,學(xué)者們提出了聚類[21]、矩陣分解[22]以及基于深度學(xué)習(xí)模型[23]等方法。其中,深度學(xué)習(xí)模型中的深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)不僅能夠?qū)W習(xí)用戶或項(xiàng)目的潛在特征表示,還能通過(guò)學(xué)習(xí)用戶與項(xiàng)目之間復(fù)雜的非線性映射關(guān)系進(jìn)行推薦,從而解決稀疏矩陣和冷啟動(dòng)問(wèn)題[24]。生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network, GAN)是近年來(lái)復(fù)雜分布上無(wú)監(jiān)督學(xué)習(xí)最具前景的方法之一,已被應(yīng)用于多個(gè)信息檢索與推薦任務(wù)中。GAN由生成模型G和判別模型D組成,在基于GAN的推薦算法中,利用G和D的對(duì)抗訓(xùn)練能夠?qū)W習(xí)用戶的歷史評(píng)分?jǐn)?shù)據(jù)分布,進(jìn)而根據(jù)預(yù)測(cè)評(píng)分排名進(jìn)行推薦。WANG等[25]提出了信息檢索生成對(duì)抗網(wǎng)絡(luò)模型(Information Retrival GAN, IRGAN),基于GAN對(duì)抗訓(xùn)練的思想將生成式檢索模型和判別式檢索模型統(tǒng)一在對(duì)抗訓(xùn)練的大框架下,并將該模型應(yīng)用于Web搜索、物品推薦與問(wèn)答等任務(wù)中。CHAE等[26]提出了協(xié)同過(guò)濾生成對(duì)抗網(wǎng)絡(luò)模型(Collaborative Filtering GAN, CFGAN),創(chuàng)新性地利用用戶評(píng)分向量進(jìn)行協(xié)同訓(xùn)練,很好地解決了IRGAN中由于使用離散數(shù)據(jù)進(jìn)行訓(xùn)練造成的無(wú)法使用梯度下降更新模型的問(wèn)題,并引入隨機(jī)負(fù)采樣技術(shù),以解決由于數(shù)據(jù)稀疏引發(fā)的單類協(xié)同過(guò)濾問(wèn)題。KRISHNAN等[27]利用對(duì)抗訓(xùn)練策略增強(qiáng)了神經(jīng)網(wǎng)絡(luò)協(xié)同過(guò)濾模型的長(zhǎng)尾物品推薦能力。WANG等[28]基于條件生成對(duì)抗網(wǎng)絡(luò)提出一種數(shù)據(jù)增強(qiáng)模型AugCF,通過(guò)對(duì)原始評(píng)分?jǐn)?shù)據(jù)集“足夠真實(shí)”的擴(kuò)充來(lái)解決稀疏矩陣問(wèn)題。

隨著企業(yè)信息化程度的不斷提高,信息沉淀與知識(shí)積累的速度會(huì)不斷加快,將自動(dòng)化程度高且性能優(yōu)良的推薦算法用于企業(yè)知識(shí)的智能推薦具有現(xiàn)實(shí)意義。然而,知識(shí)推薦依賴于知識(shí)的表示、推理以及工程語(yǔ)義信息和情境信息[4],要想使推薦算法具有理想的知識(shí)推薦性能,還需要使其與領(lǐng)域特征相結(jié)合[6]。對(duì)此,本文提出一種基于情境感知生成對(duì)抗網(wǎng)絡(luò)模型的工程知識(shí)推薦方法(Context-aware GAN-based Knowledge Recommendation, CGKR),將用戶情境信息和任務(wù)情境信息融入GAN模型的協(xié)同訓(xùn)練中,以滿足用戶在不同任務(wù)情境下個(gè)性化的知識(shí)需求。

1 CGKR方法框架

基于情境感知生成對(duì)抗網(wǎng)絡(luò)模型的知識(shí)推薦方法(CGKR)框架和關(guān)鍵技術(shù)如圖1所示。根據(jù)用戶對(duì)項(xiàng)目的評(píng)分進(jìn)行推薦是推薦算法常用的方式,推薦算法的任務(wù)就是利用已有評(píng)分?jǐn)?shù)據(jù)預(yù)測(cè)缺失評(píng)分?jǐn)?shù)據(jù),并保證用于預(yù)測(cè)的模型在已有數(shù)據(jù)上誤差最小。CGKR方法即利用數(shù)據(jù)挖掘手段構(gòu)造融合情境信息的用戶情境評(píng)分向量(context rating vector)RC,并將其作為情境感知生成對(duì)抗網(wǎng)絡(luò)模型(Context-awar GAN, CxtGAN)的訓(xùn)練集,通過(guò)CxtGAN中生成模型G和判別模型D的對(duì)抗訓(xùn)練,使G學(xué)得現(xiàn)有用戶情境評(píng)分向量RC與預(yù)測(cè)用戶評(píng)分向量(predicted rating vector)RP之間的映射關(guān)系f,最終利用訓(xùn)練后的G進(jìn)行推薦。CGKR方法的應(yīng)用主要分為數(shù)據(jù)挖掘和CxtGAN訓(xùn)練兩個(gè)階段,為表述方便,本文分4部分進(jìn)行介紹。

(1)數(shù)據(jù)預(yù)處理(data pre-processing) 數(shù)據(jù)挖掘階段的主要任務(wù)是全面探知用戶興趣,利用用戶歷史瀏覽行為數(shù)據(jù)建立用戶興趣模型是推薦領(lǐng)域的常用方法,除此之外,用戶對(duì)知識(shí)的興趣與其自身背景和面臨的工程任務(wù)也密切相關(guān)[4]。因此,分別對(duì)每個(gè)用戶U的個(gè)人信息、近期檢索輸入信息與歷史瀏覽行為信息進(jìn)行處理分析,進(jìn)而分別構(gòu)造用戶情境向量(background context vector)CB(U)、任務(wù)情境向量(task context vector)CT(U)與歷史評(píng)分向量(historical rating vector)RH(U),其中CB(U)和CT(U)可拼接成工程情境向量(context vector)C(U)。

(2)語(yǔ)義激活擴(kuò)散模型(Semantic Spreading Activation Model, SSAM)RH(U)中已有的少量評(píng)分?jǐn)?shù)據(jù)能夠反映出用戶U的部分真實(shí)興趣,但由于信息不對(duì)稱性和個(gè)人知識(shí)局限性[29],仍有大量評(píng)分?jǐn)?shù)據(jù)缺失,導(dǎo)致評(píng)分矩陣極其稀疏。因此,充分利用工程語(yǔ)義信息與用戶群歷史瀏覽行為數(shù)據(jù)構(gòu)建知識(shí)相關(guān)性網(wǎng)絡(luò)GI,進(jìn)而根據(jù)激活擴(kuò)散模型[16](SAM)擴(kuò)展RH(U)得到語(yǔ)義擴(kuò)展評(píng)分向量(semantic extending vector)RE(U)。

(3)情境感知生成對(duì)抗網(wǎng)絡(luò)模型(CxtGAN) 利用每個(gè)用戶的CB、CT與RE拼接即可得到情境評(píng)分向量RC,雖然通過(guò)語(yǔ)義擴(kuò)展能夠緩解稀疏矩陣問(wèn)題,但由于用戶數(shù)量遠(yuǎn)小于知識(shí)數(shù)量,此時(shí)的RC中仍有大量缺失評(píng)分?jǐn)?shù)據(jù)。為更好地解決稀疏矩陣問(wèn)題,引入GAN模型,利用所有用戶的情境評(píng)分向量RC進(jìn)行協(xié)同訓(xùn)練,使G學(xué)得所有用戶的RC與RP之間的映射關(guān)系f,即可利用G進(jìn)行推薦。

(4)工程知識(shí)推薦(Recommend) 由于用戶對(duì)知識(shí)的興趣在短期內(nèi)保持相對(duì)穩(wěn)定,可以利用訓(xùn)練過(guò)的生成模型G進(jìn)行推薦。輸入目標(biāo)用戶U的情境評(píng)分向量RC(U),G輸出對(duì)應(yīng)的預(yù)測(cè)評(píng)分向量RP(U),從RP(U)中選取用戶U未瀏覽的評(píng)分Top-N項(xiàng)知識(shí)文檔推薦給用戶U。

2 CGKR方法具體實(shí)現(xiàn)

2.1 數(shù)據(jù)預(yù)處理

CGKR方法主要通過(guò)挖掘用戶個(gè)人信息和用戶歷史行為數(shù)據(jù)探知用戶興趣。企業(yè)KMS中集成了人力資源管理系統(tǒng),其中記錄了每名用戶的詳細(xì)個(gè)人信息,從中選取可能影響用戶知識(shí)興趣的7項(xiàng)信息(如表1)用于構(gòu)造用戶情境向量。

表1 用戶個(gè)人信息屬性

KMS的后臺(tái)用戶日志中記錄著所有用戶的操作記錄,從中整理出用戶的檢索輸入信息與點(diǎn)擊瀏覽行為數(shù)據(jù),如表2所示,并將用戶瀏覽行為序列數(shù)據(jù)表示為向量形式,如式(1)所示:

Rn(U)={(Q,I,ΔT)1st,(Q,I,ΔT)2nd,…,

(Q,I,ΔT)nth}。

(1)

基于現(xiàn)有數(shù)據(jù),利用相關(guān)自然語(yǔ)言處理技術(shù)與數(shù)據(jù)挖掘方法,完成對(duì)用戶情境、任務(wù)情境的規(guī)范化表征與用戶興趣評(píng)分的計(jì)算。

表2 用戶行為記錄數(shù)據(jù)

2.1.1 用戶情境規(guī)范化表征

用戶的年齡、性別、學(xué)歷、專業(yè)信息決定了用戶的知識(shí)水平與學(xué)習(xí)能力,而部門、職務(wù)、工齡信息能夠影響用戶的知識(shí)興趣,因此本文選取這7個(gè)屬性來(lái)表征用戶情境,采用數(shù)字枚舉的形式對(duì)各個(gè)屬性值進(jìn)行編碼(如表1),進(jìn)而將用戶情境表征為包含7個(gè)元素的向量,如式(2)所示:

(2)

電商領(lǐng)域推薦系統(tǒng)中,用戶的隱私保護(hù)意識(shí)較強(qiáng),通常不愿意填寫太多個(gè)人基本信息。但企業(yè)KMS中集成了人力資源管理系統(tǒng)和項(xiàng)目管理系統(tǒng),可以獲取每個(gè)用戶的個(gè)人信息,即拼接了用戶情境向量CB的情境評(píng)分向量RC一定非空,在訓(xùn)練CxtGAN時(shí)能夠產(chǎn)生相應(yīng)的梯度,這使得G生成的預(yù)測(cè)評(píng)分向量RP一定非空,進(jìn)而解決了新用戶冷啟動(dòng)問(wèn)題。

2.1.2 任務(wù)情境規(guī)范化表征

工程用戶的知識(shí)興趣一般與其執(zhí)行的工程任務(wù)和遇到的工程問(wèn)題高度相關(guān),因此,對(duì)用戶近期工程任務(wù)情境的表征有助于有效探知用戶的知識(shí)興趣。當(dāng)用戶遇到問(wèn)題時(shí),通常會(huì)根據(jù)自己的認(rèn)知選取相關(guān)的關(guān)鍵詞或短語(yǔ)作為檢索式進(jìn)行知識(shí)查詢,即用戶近期的檢索式內(nèi)容能夠反映用戶的檢索意圖和知識(shí)興趣,因此,可以利用用戶近期的檢索式信息表征用戶當(dāng)前的任務(wù)情境。

本文采用開源工具包gensim中的Word2Vec模型進(jìn)行詞向量表征,如圖2a所示。用所有知識(shí)文檔作為語(yǔ)料訓(xùn)練Word2Vec模型,輸入層x為目標(biāo)詞語(yǔ)的one-hot編碼向量,輸出層y1,…,yj分別為目標(biāo)詞語(yǔ)的j個(gè)上下文詞語(yǔ)的one-hot編碼向量,訓(xùn)練過(guò)程中不斷更新隱藏層h的神經(jīng)元權(quán)重。模型訓(xùn)練完成后,將原隱藏層作為輸出層,即可將目標(biāo)詞語(yǔ)映射到h-dim維空間。

(3)

利用式(3)計(jì)算出每個(gè)關(guān)鍵詞w的重要度,然后從中選出重要度最高的k個(gè)關(guān)鍵詞{w1,…,wk},并依次用Word2Vec模型映射為k個(gè)h-dim維的向量{h1,…,hk},若w不在語(yǔ)料庫(kù)Corpus中出現(xiàn),則無(wú)法用Word2Vec模型進(jìn)行映射操作,本文采用[0,1]范圍內(nèi)的隨機(jī)向量進(jìn)行代替。最終,拼接{h1,…,hk}得到任務(wù)情境向量CT。

2.1.3 基于用戶興趣模型的歷史評(píng)分向量構(gòu)造

用戶根據(jù)需求查找并瀏覽感興趣的知識(shí),其瀏覽行為數(shù)據(jù)能夠反映用戶興趣??紤]到用戶興趣隨時(shí)間不斷變化,過(guò)早的瀏覽行為無(wú)法反映用戶當(dāng)前的興趣,因此,取式(1)中的最近L次瀏覽數(shù)據(jù)建立用戶興趣模型,計(jì)算用戶U對(duì)知識(shí)文檔I的評(píng)分,如式(4)所示。

RL(U)={(Q,I,ΔT)n-L+1th,…,(Q,I,ΔT)nth},

(4)

其中:1/(n-k+1)是興趣的時(shí)間衰減因子,|Ikth|為知識(shí)文檔的文本長(zhǎng)度,count(RL(U),I)為RL(U)中I被重復(fù)瀏覽的次數(shù)。式(4)利用重復(fù)瀏覽次數(shù)和瀏覽時(shí)長(zhǎng)作為限定條件[16],若I未在RL(U)中出現(xiàn),則將評(píng)分置為?,這是因?yàn)橛脩粑礊g覽的評(píng)分可能是因?yàn)椴幌矚g,也可能是因?yàn)橄矚g但還未找到,若I僅在RL(U)中出現(xiàn)一次,且用戶瀏覽時(shí)長(zhǎng)不超過(guò)30 s[9],則將評(píng)分置為0,表示用戶對(duì)該知識(shí)不感興趣,為0的評(píng)分?jǐn)?shù)據(jù)作為負(fù)樣本,解決CGKR方法中由于使用稀疏評(píng)分向量訓(xùn)練CxtGAN模型造成的單類協(xié)同過(guò)濾(One-Class Collaborative Filtering, OCCF)問(wèn)題[26]。利用式(4)計(jì)算用戶U對(duì)所有知識(shí)文檔的評(píng)分,即可構(gòu)造用戶歷史評(píng)分向量RH(U)。

2.2 語(yǔ)義激活擴(kuò)散模型

為避免過(guò)早的瀏覽行為數(shù)據(jù)成為噪聲影響評(píng)分準(zhǔn)確性,式(4)中L的取值不可能過(guò)大,使得用戶歷史評(píng)分向量RH中僅有少量的評(píng)分?jǐn)?shù)據(jù),進(jìn)而導(dǎo)致稀疏矩陣問(wèn)題??紤]到工程領(lǐng)域知識(shí)文檔間具有一定的關(guān)聯(lián)性,本文引入激活擴(kuò)散模型(SAM),通過(guò)構(gòu)建的知識(shí)相關(guān)性網(wǎng)絡(luò)GI對(duì)RH中的初始評(píng)分進(jìn)行擴(kuò)展,以緩解稀疏矩陣問(wèn)題。

2.2.1 知識(shí)相關(guān)性網(wǎng)絡(luò)

知識(shí)相關(guān)性網(wǎng)絡(luò)GI中,節(jié)點(diǎn)為知識(shí)文檔,帶權(quán)邊表示兩條知識(shí)文檔I1和I2間的相關(guān)性大小。在計(jì)算知識(shí)相關(guān)性時(shí),同時(shí)考慮兩條知識(shí)文檔間的內(nèi)容相似度和任務(wù)相似度。

(1)知識(shí)內(nèi)容相似度計(jì)算 對(duì)于每個(gè)知識(shí)文檔,依次進(jìn)行分詞、去除停用詞、同義詞融合等預(yù)處理,然后使用TF-IDF(term frequency-inverse document frequency)算法計(jì)算每個(gè)關(guān)鍵詞的權(quán)重,即可將知識(shí)表征為詞向量,如式(5)所示:

(5)

TextSim(I1,I2)=

rel(w1,w2)=

(6)

上式中,Map為根據(jù)本課題組另一項(xiàng)工作中的方法[30],從所有知識(shí)文檔集合D中抽取主題詞構(gòu)建的船舶舾裝設(shè)計(jì)領(lǐng)域主題知識(shí)地圖GT(如圖3),GT中節(jié)點(diǎn)為知識(shí)主題詞,邊為節(jié)點(diǎn)間的工程語(yǔ)義相似度。MapWeight(w1,w2)為兩個(gè)主題詞在Map中的關(guān)聯(lián)權(quán)重。

(2)知識(shí)任務(wù)相似度計(jì)算 知識(shí)任務(wù)相似度是指兩條知識(shí)能夠解決相似任務(wù)的概率。用戶在工程任務(wù)中遇到問(wèn)題時(shí),需要瀏覽知識(shí)文檔輔助問(wèn)題解決,而同一個(gè)問(wèn)題通常需要瀏覽多個(gè)知識(shí)文檔,即用戶連續(xù)瀏覽的文檔通常能夠解決相似工程問(wèn)題。因此,利用用戶群瀏覽行為序列數(shù)據(jù)計(jì)算知識(shí)任務(wù)相似度。將未超過(guò)30 s的瀏覽記錄剔除,即可計(jì)算知識(shí)的任務(wù)相似度,如式(7)所示:

TaskSim(I1,I2)=

R(Ui)={(I,ΔT)1st,…,(I,ΔT)nth}。

(7)

式中:Ui為所有用戶集合U中的任一用戶,I1?I2表示用戶Ui連續(xù)瀏覽了兩個(gè)知識(shí)文檔。

根據(jù)式(6)和式(7)即可計(jì)算知識(shí)文檔I1和I2的知識(shí)相關(guān)性,如式(8)所示:

Rel(I1,I2)=TextSim(I1,I2)×

TaskSim(I1,I2)。

(8)

利用式(8)算得所有知識(shí)文檔間的相關(guān)性,即可構(gòu)建知識(shí)相關(guān)性網(wǎng)絡(luò)GI。

2.2.2 用戶歷史評(píng)分的語(yǔ)義激活擴(kuò)散

激活擴(kuò)散模型(SAM)是用于模擬人類認(rèn)知機(jī)制的網(wǎng)絡(luò)模型,節(jié)點(diǎn)通常為概念主題詞,其在知識(shí)推薦領(lǐng)域已有應(yīng)用,但以概念主題詞為節(jié)點(diǎn)對(duì)用戶興趣進(jìn)行激活擴(kuò)散很難避免“過(guò)專業(yè)化”的問(wèn)題[16],本文直接利用知識(shí)文檔相關(guān)性網(wǎng)絡(luò)GI對(duì)用戶歷史評(píng)分向量RH進(jìn)行語(yǔ)義擴(kuò)展。為節(jié)約計(jì)算資源,僅考慮單層擴(kuò)散,將RH中已有評(píng)分的知識(shí)文檔看作GI中的初始激活節(jié)點(diǎn),然后向相鄰節(jié)點(diǎn)擴(kuò)散,并用式(9)計(jì)算用戶U對(duì)被擴(kuò)散節(jié)點(diǎn)對(duì)應(yīng)知識(shí)文檔I的興趣評(píng)分。

Rel(I,Ik);

s.t.

F(U,Ik)∈RH(U),F(U,Ik)≠?,F(U,Ik)≠0

。

(9)

式中:F(U,Ik)表示RH(U)中現(xiàn)有非空且大于零的評(píng)分;將Ik設(shè)為GI中的初始激活節(jié)點(diǎn),只要在GI中與任一Ik連接,即可被擴(kuò)散。通過(guò)激活擴(kuò)散后,得到語(yǔ)義擴(kuò)展評(píng)分向量RE(U),進(jìn)而可以將其與用戶情境向量CB(U)和任務(wù)情境向量CT(U)拼接得到用戶的情境評(píng)分向量RC(U)。

2.3 情境感知生成對(duì)抗網(wǎng)絡(luò)模型

由于用戶數(shù)量通常遠(yuǎn)小于知識(shí)數(shù)量,RC中仍有大量缺失評(píng)分?jǐn)?shù)據(jù),其中可能包含用戶所需知識(shí)。傳統(tǒng)協(xié)同過(guò)濾推薦算法通過(guò)計(jì)算用戶和項(xiàng)目的相似度預(yù)測(cè)這部分缺失評(píng)分?jǐn)?shù)據(jù),但算法本身受稀疏矩陣問(wèn)題影響,推薦效果不佳。對(duì)此,作為DNN的一種變體,GAN能夠通過(guò)從給定的有限數(shù)據(jù)中學(xué)習(xí)數(shù)據(jù)分布進(jìn)行推薦,有效解決了稀疏矩陣問(wèn)題,具有良好的推薦性能。因此,引入GAN模型來(lái)解決稀疏矩陣問(wèn)題。GAN由兩個(gè)神經(jīng)網(wǎng)絡(luò)模型組成,即生成模型G和判別模型D,G用于生成偽造樣本,D用于估計(jì)當(dāng)前樣本為真實(shí)樣本的概率。在GAN訓(xùn)練過(guò)程中,將真實(shí)樣本和G生成的偽造樣本輸入D,G需要盡量欺騙D,使D將其生成的偽造樣本判別為真,而D則需要盡量將偽造樣本判別為假。通過(guò)G和D的對(duì)抗訓(xùn)練,不斷更新神經(jīng)網(wǎng)絡(luò)參數(shù),使G學(xué)得真實(shí)樣本數(shù)據(jù)的概率分布。

為使GAN更好地應(yīng)用于工程知識(shí)推薦任務(wù)中,本文將情境信息加入到GAN的訓(xùn)練過(guò)程中。如圖4所示,將用戶語(yǔ)義擴(kuò)展評(píng)分向量RE與情境向量C(用戶情境向量CB和任務(wù)情境向量CT)拼接得到RC,并以vector-wise(基于向量)的方式基于RC訓(xùn)練GAN:G以RC和噪聲向量z作為輸入,學(xué)習(xí)RC的數(shù)據(jù)分布,并輸出用戶對(duì)所有項(xiàng)目的預(yù)測(cè)評(píng)分向量RP;D以RP、RE以及情境向量C作為輸入,判別輸入數(shù)據(jù)為真的概率,并產(chǎn)生相應(yīng)的梯度信息以反饋回G。具有特定背景(CB)的用戶在特定的任務(wù)情境(CT)和歷史興趣(RE)下,通常會(huì)有特定的知識(shí)興趣(RP),因此可以認(rèn)為G的輸入向量RC與輸出向量RP之間存在某種映射關(guān)系RP=f(RC),即從用戶背景、任務(wù)情境和歷史評(píng)分到用戶當(dāng)前知識(shí)偏好的映射關(guān)系。利用所有用戶的情境評(píng)分向量RC進(jìn)行協(xié)同訓(xùn)練,使G能夠?qū)W得這種映射關(guān)系,進(jìn)而為目標(biāo)用戶在特定的工程情境下生成個(gè)性化的知識(shí)推薦。

實(shí)際在RC中,情境向量C和用戶的語(yǔ)義擴(kuò)展評(píng)分向量RE之間也存在一種映射RE=f′(C),表現(xiàn)為不同RC的數(shù)據(jù)分布也不同,這種映射關(guān)系使得GAN利用所有用戶的情境評(píng)分向量RC進(jìn)行協(xié)同訓(xùn)練成為可能,其內(nèi)涵為:基于多個(gè)情境評(píng)分向量RC進(jìn)行訓(xùn)練的生成模型G能夠?qū)W得不同情境C下對(duì)應(yīng)的知識(shí)評(píng)分向量RE,對(duì)于每個(gè)知識(shí)文檔I,只要有至少一個(gè)用戶評(píng)分F(U,I),G即可學(xué)得I的評(píng)分F(U,I)與對(duì)應(yīng)情境C(U)的映射關(guān)系,當(dāng)再次遇到與C(U)類似的情境,G一定能為I生成對(duì)應(yīng)的評(píng)分。

根據(jù)圖4,生成模型G和判別模型D的損失函數(shù)分別如式(10)和式(11)所示:

(10)

log(1-D(RP(U)|C(U))))。

(11)

根據(jù)G和D的損失函數(shù),情境感知生成對(duì)抗網(wǎng)絡(luò)模型的訓(xùn)練步驟如算法1所示。

算法1情境感知生成對(duì)抗網(wǎng)絡(luò)模型。

輸入:所有用戶的情境評(píng)分向量RC,生成模型G和判別模型D的神經(jīng)網(wǎng)絡(luò)權(quán)重參數(shù)θ和φ、最小批處理大小MG和MD、學(xué)習(xí)率μG和μD,G-step,D-step,設(shè)定迭代終止次數(shù)epochSum;

輸出:訓(xùn)練完成的G的參數(shù)θ。

1 初始化θ和φ

2 while not reach to epochSum do

3 for G-step do

6 更新G的參數(shù)θ:θ←θ-μG/MG·?θJG

7 end for

8 for D-step do

11 更新D的參數(shù)φ:φ←φ-μD/MD·?φJ(rèn)D

12 end for

13 end while

14 return θ

2.4 工程知識(shí)推薦

經(jīng)過(guò)算法1訓(xùn)練完成后,生成模型G學(xué)得了映射關(guān)系RP=f(RC),且由于用戶的知識(shí)興趣在短期內(nèi)保持相對(duì)穩(wěn)定,因此可以利用訓(xùn)練完成的G進(jìn)行Top-N推薦。例如,對(duì)于用戶U2,短期內(nèi),可認(rèn)為其個(gè)人信息保持不變,即CB(U2)不變;GAN需要先離線訓(xùn)練然后在線推薦,因此在下次訓(xùn)練之前,用戶初始評(píng)分也保持不變,即RE(U2)不變;而用戶會(huì)不斷地進(jìn)行檢索輸入,最新的檢索輸入能更準(zhǔn)確地表征當(dāng)前任務(wù)情境,因此,可以加入U(xiǎn)2最新的檢索輸入,而去除過(guò)早的檢索輸入,并用2.1.2節(jié)方法重新構(gòu)造任務(wù)情境向量CT(U2),進(jìn)而重新拼接RC(U2)作為G的輸入,再根據(jù)G輸出的預(yù)測(cè)評(píng)分向量RP(U2),從中選出U2近期未瀏覽的預(yù)測(cè)評(píng)分最高的Top-N條知識(shí)推薦給U2。RP(U2)是一個(gè)稠密向量,即G預(yù)測(cè)了U2對(duì)大多數(shù)知識(shí)文檔的評(píng)分,因此,能夠從海量知識(shí)文檔中更準(zhǔn)確地挖掘U2的興趣。

推薦列表的更新可以遵循以下兩個(gè)規(guī)則:

(1)若用戶點(diǎn)擊了推薦列表中的知識(shí),則依次從預(yù)測(cè)評(píng)分向量RP(U2)中剩下的知識(shí)中選出評(píng)分最高的知識(shí)替換掉被點(diǎn)擊的知識(shí)。

(2)若用戶有新的輸入檢索信息,則重新構(gòu)造任務(wù)情境向量CT(U2)與情境評(píng)分向量RC(U2),將RC(U2)輸入G中重新生成預(yù)測(cè)評(píng)分向量RP(U2),根據(jù)RP(U2)為U2重新生成推薦。

3 應(yīng)用案例

3.1 案例背景與數(shù)據(jù)集

本文擬基于課題組與某船廠的合作項(xiàng)目“舾裝智能化設(shè)計(jì)知識(shí)庫(kù)管理系統(tǒng)”(即KMS)進(jìn)行實(shí)例研究。由于船舶舾裝設(shè)計(jì)任務(wù)工作量大、流程繁雜,極依賴于各類標(biāo)準(zhǔn)、規(guī)范以及歷史經(jīng)驗(yàn)案例等知識(shí)文檔的支撐[30],為了提升企業(yè)知識(shí)資產(chǎn)重用效率,以更好地輔助員工解決工程問(wèn)題,船廠利用KMS對(duì)知識(shí)資產(chǎn)進(jìn)行統(tǒng)一管理,并向KMS用戶(即企業(yè)員工)提供知識(shí)查詢和共享等服務(wù)。然而,由于企業(yè)知識(shí)庫(kù)中知識(shí)數(shù)量的持續(xù)增加引發(fā)了知識(shí)迷航問(wèn)題,且用戶個(gè)人知識(shí)面有限,無(wú)法通過(guò)檢索獲取到所有相關(guān)知識(shí)條目。利用推薦算法主動(dòng)為用戶推送合適的知識(shí)是提升企業(yè)知識(shí)重用效率的有效手段,本文CGKR方法即可應(yīng)用于KMS中,主動(dòng)挖掘用戶興趣,從而為用戶提供優(yōu)質(zhì)的知識(shí)服務(wù)。

為驗(yàn)證CGKR方法的知識(shí)推薦效果,從KMS用戶日志中整理出13名用戶的2 620條檢索與瀏覽記錄數(shù)據(jù)用于挖掘用戶興趣,并獲取被這13名用戶瀏覽過(guò)的379條知識(shí)文檔內(nèi)容,部分?jǐn)?shù)據(jù)如表2所示。CGKR方法使用Python 3.7編碼,所用開源工具包主要包括:Numpy-1.17.4、Pandas-0.24.2、Torch-1.3.1、Jieba-0.40等,算法在Core-i5、16G-RAM的MacOS-10.15計(jì)算機(jī)環(huán)境下運(yùn)行。

3.2 模型評(píng)估方法

在CxtGAN模型迭代訓(xùn)練過(guò)程中,需要持續(xù)監(jiān)控模型的推薦性能,本文采用F1分?jǐn)?shù)和標(biāo)準(zhǔn)化折現(xiàn)累積增益(NDCG)作為模型的評(píng)價(jià)指標(biāo)。F1分?jǐn)?shù)是推薦算法最基礎(chǔ)的評(píng)價(jià)指標(biāo),用于衡量推薦算法的準(zhǔn)確度,兼顧了推薦的查準(zhǔn)率和查全率,如式(12)所示:

(12)

式中PUi和RUi分別為針對(duì)用戶Ui的推薦結(jié)果的查準(zhǔn)率和查全率,利用式(13)計(jì)算:

(13)

式中Rec(Ui)和Real(Ui)分別為針對(duì)Ui的知識(shí)推薦列表和真實(shí)瀏覽知識(shí)列表。在CGKR方法中,從每名用戶Ui的行為序列數(shù)據(jù)Rn(Ui)={(Q,I,ΔT)1st,…,(Q,I,ΔT)nth}中截取RL(Ui)={(Q,I,ΔT)1st,…,(Q,I,ΔT)Lth}用于構(gòu)造CxtGAN模型的訓(xùn)練數(shù)據(jù),截取R0.2L(Ui)={(Q,I,ΔT)L+1th,…,(Q,I,ΔT)1.2Lth}作為Ui真實(shí)瀏覽的知識(shí)列表Real(Ui),CxtGAN模型訓(xùn)練完成后為Ui生成推薦列表Rec(Ui),Rec(Ui)中的知識(shí)若在Real(Ui)中出現(xiàn),則為命中。

NDCG能夠評(píng)估算法的排序性能,如式(14)所示,命中的知識(shí)在Rec(Ui)中排序越靠前,NDCG值越大。

(14)

3.3 CGKR方法應(yīng)用示例

為驗(yàn)證CGKR方法的可行性,將其實(shí)際應(yīng)用于船舶舾裝設(shè)計(jì)領(lǐng)域的Top-5知識(shí)推薦任務(wù)中,本節(jié)簡(jiǎn)要展示構(gòu)造用戶情境評(píng)分向量RC、訓(xùn)練CxtGAN模型并最終向目標(biāo)用戶推薦知識(shí)的流程。

3.3.1 用戶情境評(píng)分向量構(gòu)造方法

對(duì)于用戶U,其情境評(píng)分向量RC(U)由用戶情境向量CB(U)、任務(wù)情境向量CT(U)和語(yǔ)義擴(kuò)展評(píng)分向量RE(U)拼接而成,而RE(U)由歷史評(píng)分向量RH(U)經(jīng)過(guò)語(yǔ)義擴(kuò)展所得。

(1)用戶情境向量(2.1.1節(jié)) 根據(jù)表1中對(duì)用戶背景信息屬性的編碼,將用戶的背景信息表征為7維用戶情境向量CB(U)(式(2))。

(2)任務(wù)情境向量(2.1.2節(jié)) 獲取用戶U最近l條檢索輸入信息,根據(jù)式(3)從中提取出最重要的k個(gè)關(guān)鍵詞{w1,w2,…,wk},按照?qǐng)D2所示方法進(jìn)行word embedding操作,分別將k個(gè)關(guān)鍵詞轉(zhuǎn)化為h-dim維向量{h1,h2,…,hk},拼接{h1,h2,…,hk}即可構(gòu)造任務(wù)情境向量CT(U)。根據(jù)經(jīng)驗(yàn),本文取l為10,k為5,h-dim為50,則CT為250維向量。

(3)歷史評(píng)分向量(2.1.3節(jié)) 從用戶U的瀏覽行為序列(式(1))中截取近期瀏覽行為數(shù)據(jù)RL(U),利用用戶興趣模型(式(4))計(jì)算U在L次瀏覽行為中對(duì)瀏覽過(guò)的知識(shí)文檔的興趣評(píng)分,進(jìn)而構(gòu)造用戶的歷史評(píng)分向量RH(U)。

(4)語(yǔ)義擴(kuò)展評(píng)分向量(2.2.2節(jié)) 考慮到RH(U)極其稀疏(評(píng)分?jǐn)?shù)量不大于L),根據(jù)2.2.1節(jié)方法構(gòu)建以知識(shí)文檔為節(jié)點(diǎn)的知識(shí)相關(guān)性網(wǎng)絡(luò)GI,然后對(duì)RH(U)中現(xiàn)有的真實(shí)評(píng)分?jǐn)?shù)據(jù)進(jìn)行語(yǔ)義關(guān)聯(lián)擴(kuò)展(式(9)),以緩解稀疏矩陣問(wèn)題。將被擴(kuò)展的知識(shí)項(xiàng)目所得評(píng)分?jǐn)?shù)據(jù)加入RH(U)中,進(jìn)而得到RE(U)。

將構(gòu)造的CB(U)、CT(U)和RE(U)拼接即可得到用戶情境評(píng)分向量RC(U),利用所有用戶的情境評(píng)分向量即可對(duì)CxtGAN進(jìn)行協(xié)同訓(xùn)練。

3.3.2 CxtGAN模型訓(xùn)練方法

在3.3.1節(jié)中,對(duì)現(xiàn)有用戶背景信息以及歷史瀏覽數(shù)據(jù)進(jìn)行挖掘得到了13名用戶的情境評(píng)分向量,本節(jié)即利用這13個(gè)向量數(shù)據(jù),按照算法1訓(xùn)練CxtGAN模型,其中,生成模型G和判別模型D都為4層神經(jīng)網(wǎng)絡(luò),除了用戶情境評(píng)分向量外,算法1的其他超參數(shù)設(shè)置如表3所示。

表3 算法1超參數(shù)設(shè)置

由于本文所用數(shù)據(jù)量相對(duì)較少,而CxtGAN模型又要經(jīng)過(guò)多輪迭代訓(xùn)練,為了防止生成模型G過(guò)擬合,在每輪生成模型G的訓(xùn)練中加入噪聲向量z(如圖4),對(duì)輸入的情境評(píng)分向量RC(U)的數(shù)據(jù)分布進(jìn)行輕微擾動(dòng),使每次輸入的RC(U)都不完全相同。在訓(xùn)練過(guò)程中不斷保存當(dāng)前推薦準(zhǔn)確度表現(xiàn)最佳(即F1值最高)的生成模型G,當(dāng)達(dá)到設(shè)定總迭代次數(shù)(即600次)時(shí),訓(xùn)練完成。

3.3.3 模型關(guān)鍵參數(shù)L的確定

為使模型推薦性能最優(yōu),需進(jìn)行實(shí)驗(yàn)確定關(guān)鍵參數(shù)L(即用戶近期瀏覽行為序列RL(U)的長(zhǎng)度)。將L值作為實(shí)驗(yàn)變量,在不同L值下構(gòu)建用戶情境評(píng)分向量,并利用3.3.2節(jié)方法訓(xùn)練CxtGAN模型,最終得到CxtGAN模型在不同L值下的性能表現(xiàn),如圖5所示。隨著L的增加,兩個(gè)指標(biāo)都呈現(xiàn)先不斷增加,再趨于平緩甚至輕微下降的趨勢(shì),這是由于隨著L的增加,RL(U)中包含了更多的用戶行為,使得用戶興趣模型能夠更準(zhǔn)確全面地探知用戶興趣,而若L過(guò)大,過(guò)早的用戶行為會(huì)成為噪聲數(shù)據(jù)影響用戶興趣模型的準(zhǔn)確性,本文取L=35。

在最優(yōu)參數(shù)L=35下,CxtGAN模型迭代訓(xùn)練過(guò)程的學(xué)習(xí)曲線如圖6所示,在迭代訓(xùn)練初期,F(xiàn)1值和NDCG都迅速上升,大約迭代184輪后F1值達(dá)到0.491,曲線趨于平緩,用時(shí)229 s,NDCG達(dá)到0.607,但仍有上升趨勢(shì),即算法的排序性能能夠繼續(xù)優(yōu)化。繼續(xù)訓(xùn)練,當(dāng)進(jìn)行到第395輪時(shí),NDCG達(dá)到最高,為0.660,此時(shí)F1為0.508。當(dāng)訓(xùn)練至456輪時(shí),F(xiàn)1值達(dá)到最高,為0.520,NDCG略微下降至0.643,此時(shí)訓(xùn)練用時(shí)561 s,保存此時(shí)的生成模型G,用于針對(duì)目標(biāo)用戶的知識(shí)推薦。

3.3.4 針對(duì)目標(biāo)用戶的知識(shí)推薦

將U2作為目標(biāo)用戶,利用3.3.3節(jié)中保存的生成模型G進(jìn)行推薦。根據(jù)目標(biāo)用戶個(gè)人背景信息編碼其用戶情境向量為CB(U2)=[25,1,4,1,1,1,2]。U2的歷史瀏覽行為數(shù)據(jù)為R35(U2),如表4所示,目標(biāo)用戶近期偏好于瀏覽與管系單元內(nèi)容相關(guān)的知識(shí)。

表4 目標(biāo)用戶的歷史瀏覽行為數(shù)據(jù)

續(xù)表4

利用式(3)從近期10個(gè)用戶檢索輸入信息中提取出5個(gè)能表征U2當(dāng)前任務(wù)情境的關(guān)鍵詞,分別為:管系、機(jī)裝、艙柜、管附件、單元,進(jìn)而利用訓(xùn)練好的Word2Vec模型將其映射為5個(gè)50維詞向量,并拼接得到用戶的任務(wù)情境向量CT(U2)。根據(jù)式(4)計(jì)算U2對(duì)R35(U2)中知識(shí)的興趣評(píng)分,由于R35(U2)中沒(méi)有重復(fù)瀏覽的記錄,可以得到包含35個(gè)非空評(píng)分?jǐn)?shù)據(jù)的歷史評(píng)分向量RH(U2),再根據(jù)2.2節(jié)中的方法擴(kuò)展RH(U2)得到RE(U2),通過(guò)語(yǔ)義擴(kuò)展,RE(U2)中增加了57個(gè)評(píng)分?jǐn)?shù)據(jù),緩解了稀疏矩陣問(wèn)題。將CB(U2)、CT(U2)和RE(U2)拼接得到U2的情境評(píng)分向量RC(U2),將RC(U2)輸入3.3.2節(jié)中訓(xùn)練完成的生成模型G中,使G生成U2的預(yù)測(cè)評(píng)分向量RP(U2),進(jìn)而可以從U2未瀏覽的知識(shí)條目中選取Top-5條評(píng)分最高的知識(shí)推薦給U2。

表5展示了U2的知識(shí)推薦列表Rec(U2)和真實(shí)瀏覽列表Real(U2)。由Real(U2)可知,在35次歷史瀏覽行為后,U2的興趣保持相對(duì)穩(wěn)定,即在未來(lái)的7次瀏覽行為中,仍在查找瀏覽與管系單元相關(guān)的知識(shí),如表中黑體表示。在本次推薦中,命中了I145、I362和I294三條知識(shí),F(xiàn)1和NDCG分別為0.5和0.654。

表5 目標(biāo)用戶的知識(shí)推薦列表和真實(shí)瀏覽列表

3.4 對(duì)比實(shí)驗(yàn)

CGKR方法分為數(shù)據(jù)挖掘和CxtGAN模型訓(xùn)練兩個(gè)階段。數(shù)據(jù)挖掘階段主要改進(jìn)為:①構(gòu)建語(yǔ)義激活擴(kuò)散模型(SSAM),對(duì)用戶歷史評(píng)分向量RH進(jìn)行語(yǔ)義擴(kuò)展得到用戶語(yǔ)義擴(kuò)展評(píng)分向量RE;②將用戶情境(Background Context)信息和任務(wù)情境(Task Context)信息引入GAN模型進(jìn)行知識(shí)推薦。模型訓(xùn)練階段主要改進(jìn)為基于設(shè)定的瀏覽次數(shù)和瀏覽時(shí)長(zhǎng)規(guī)則主動(dòng)選取負(fù)樣本(在式(4)中將未重復(fù)瀏覽且瀏覽時(shí)長(zhǎng)少于30 s的文檔評(píng)分置為0)以優(yōu)化CFGAN[26]中的隨機(jī)負(fù)樣本策略。本節(jié)分別對(duì)CGKR方法中兩個(gè)階段的主要改進(jìn)效果進(jìn)行驗(yàn)證。

3.4.1 數(shù)據(jù)挖掘階段改進(jìn)效果驗(yàn)證

為驗(yàn)證語(yǔ)義擴(kuò)展和情境信息的作用,設(shè)計(jì)對(duì)比算法如下:①基于RH進(jìn)行推薦的基于用戶的協(xié)同過(guò)濾算法(User-based Collaborative Filtering, UCF);②基于RE進(jìn)行推薦的協(xié)同過(guò)濾算法(UCF with SSAM);③在CGKR的基礎(chǔ)上去掉語(yǔ)義擴(kuò)展操作(CGKR without SSAM);④在CGKR的基礎(chǔ)上去掉用戶情境信息(CGKR w/o BCxt);⑤在CGKR的基礎(chǔ)上去掉任務(wù)情境信息(CGKR w/o TCxt);⑥在CGKR的基礎(chǔ)上同時(shí)去掉用戶情境信息和任務(wù)情境信息(CGKR w/o Cxt)。

對(duì)比算法與CGKR方法在Top-5推薦任務(wù)中的性能表現(xiàn)如圖7所示:

(1)由于未考慮任何領(lǐng)域特征和語(yǔ)義信息,UCF在工程知識(shí)推薦任務(wù)中表現(xiàn)出了不適應(yīng)性,推薦準(zhǔn)確度(F1=0.281)和算法的排序性能(NDCG=0.169)都為最差。

(2)對(duì)比UCF與UCF with SSAM、CGKR w/o SSAM與CGKR的性能表現(xiàn)可知,應(yīng)用SSAM模型能夠使F1和NDCG均有所提升,證明本文利用SSAM模型對(duì)用戶歷史評(píng)分進(jìn)行語(yǔ)義擴(kuò)展能夠更全面地探知用戶興趣,使更多知識(shí)文檔參與到推薦過(guò)程中,進(jìn)而提升了推薦準(zhǔn)確度和算法排序性能。

(3)對(duì)比UCF with SSAM和CGKR w/o Cxt可知,雖然引入了GAN模型以解決稀疏矩陣問(wèn)題,但若忽略情境信息,基于RE進(jìn)行協(xié)同訓(xùn)練的GAN模型學(xué)到的也只是不夠準(zhǔn)確的評(píng)分?jǐn)?shù)據(jù)分布,其性能表現(xiàn)與傳統(tǒng)協(xié)同過(guò)濾方法相比并無(wú)明顯優(yōu)勢(shì),甚至F1值下降了0.09。

(4)與CGKR w/o Cxt相比,CGKR方法的F1和NDCG分別提升至0.522和0.643,這是因?yàn)镃GKR中的CxtGAN模型考慮了用戶情境和任務(wù)情境信息,通過(guò)基于所有用戶情景評(píng)分向量的協(xié)同訓(xùn)練,能夠?qū)W得情境和評(píng)分之間復(fù)雜的非線性關(guān)系,進(jìn)而獲得較高的推薦準(zhǔn)確度和排序性能。

(5)對(duì)比CGKR、CGKR w/o BCxt和CGKR w/o TCxt可知,未考慮用戶情境時(shí),CGKR w/o BCxt的F1和NDCG分別降至0.449和0.471,而未考慮任務(wù)情境時(shí),CGKR w/o TCxt的F1和NDCG則直接降至0.327和0.296,表明相比于用戶情境,任務(wù)情境對(duì)算法性能的影響更大,這是由于任務(wù)情境是用戶主動(dòng)輸入的信息,更能代表用戶的需求和興趣。

3.4.2 模型訓(xùn)練階段改進(jìn)效果驗(yàn)證

為驗(yàn)證本文負(fù)樣本策略的效果,設(shè)計(jì)對(duì)比算法如下:

(1)在CFGAN[26]的基礎(chǔ)上去掉負(fù)樣本策略(CFGAN w/o n-item),即基于本文用戶情境評(píng)分向量訓(xùn)練CFGAN,但將式(4)中為0的評(píng)分置為空。

(2)采用隨機(jī)負(fù)樣本策略的CFGAN,即基于本文構(gòu)造的用戶情境評(píng)分向量進(jìn)行協(xié)同訓(xùn)練,將式(4)中為0的評(píng)分先置為空,然后從所有為空的評(píng)分中隨機(jī)選擇一定比例作為負(fù)樣本(評(píng)分置為0),本實(shí)驗(yàn)將該比例設(shè)為50%。

圖8為兩種基于CFGAN模型的對(duì)比算法(CFGAN w/o n-item和CFGAN)與本文CxtGAN模型的學(xué)習(xí)曲線,由圖可知:①CFGAN w/o n-item的學(xué)習(xí)曲線在僅僅迭代大約50步后會(huì)出現(xiàn)明顯下降的趨勢(shì),這是由于未采用負(fù)樣本策略,導(dǎo)致了單類協(xié)同過(guò)濾問(wèn)題,使得模型過(guò)早陷入了局部最優(yōu);②相比于CFGAN w/o n-item,采用了隨機(jī)負(fù)樣本策略的CFGAN的F1和NDCG都有明顯提高(最優(yōu)F1和NDCG分別為0.503和0.534),但CFGAN的學(xué)習(xí)曲線波動(dòng)較大,這是因?yàn)殡S機(jī)選取負(fù)樣本產(chǎn)生的偏差影響了訓(xùn)練過(guò)程中模型性能的穩(wěn)定;③相比于CFGAN,CxtGAN的最優(yōu)F1和NDCG分別提升至0.520和0.660,且訓(xùn)練過(guò)程穩(wěn)定性得到了極大的提升,模型收斂也較快(F1和NDCG的學(xué)習(xí)曲線分別在迭代184次和297次后趨于穩(wěn)定),表明本文基于式(4)準(zhǔn)確選取負(fù)樣本能夠優(yōu)化模型訓(xùn)練過(guò)程穩(wěn)定性,使模型更快達(dá)到收斂,并能極大地提升模型的排序性能。

以上對(duì)比分析表明,本文基于語(yǔ)義激活擴(kuò)散模型對(duì)用戶歷史評(píng)分進(jìn)行語(yǔ)義擴(kuò)展能夠更全面地探知用戶興趣;而情境感知GAN模型能夠有效解決稀疏矩陣問(wèn)題,在工程知識(shí)推薦中表現(xiàn)良好。

4 結(jié)束語(yǔ)

針對(duì)傳統(tǒng)知識(shí)推薦算法由于受稀疏矩陣問(wèn)題影響而準(zhǔn)確度不高的問(wèn)題,本文提出一種基于情境感知生成對(duì)抗網(wǎng)絡(luò)模型的工程知識(shí)推薦方法(CGKR)。該方法通過(guò)語(yǔ)義激活擴(kuò)散模型擴(kuò)展用戶評(píng)分,并引入了具有情境感知能力的GAN模型,能夠有效解決稀疏矩陣和新用戶冷啟動(dòng)問(wèn)題,為工程領(lǐng)域用戶提供更優(yōu)質(zhì)的知識(shí)推薦服務(wù)。本文的主要?jiǎng)?chuàng)新點(diǎn)總結(jié)如下:

(1)構(gòu)建了基于知識(shí)相關(guān)性網(wǎng)絡(luò)的語(yǔ)義激活擴(kuò)散模型 不同于傳統(tǒng)的以知識(shí)主題詞為節(jié)點(diǎn)的語(yǔ)義網(wǎng)絡(luò),本文提出了知識(shí)任務(wù)相似度的概念,并同時(shí)考慮知識(shí)內(nèi)容相似度和任務(wù)相似度構(gòu)建以知識(shí)文檔為節(jié)點(diǎn)的知識(shí)相關(guān)性網(wǎng)絡(luò)GI,基于GI構(gòu)建了語(yǔ)義激活擴(kuò)散模型(式(9)),進(jìn)而直接對(duì)用戶評(píng)分進(jìn)行語(yǔ)義擴(kuò)展,更全面地探知了用戶興趣,在一定程度上緩解了稀疏矩陣問(wèn)題。

(2)構(gòu)造了用戶情境向量和任務(wù)情境向量 本文分析了用戶個(gè)人背景信息和當(dāng)前進(jìn)行的任務(wù)對(duì)用戶興趣的影響,然后依托企業(yè)KMS中集成的人力資源管理系統(tǒng),對(duì)必要的用戶個(gè)人信息進(jìn)行編碼,進(jìn)而構(gòu)造用戶情境向量(式(2)),并定義檢索關(guān)鍵詞重要度QWI,從用戶近期檢索輸入信息中提取能夠表征用戶當(dāng)前任務(wù)的關(guān)鍵詞(式(3)),進(jìn)而構(gòu)造任務(wù)情境向量(如圖2)。

(3)構(gòu)建了情境感知GAN模型 引入GAN模型,并利用帶有情境信息的評(píng)分向量進(jìn)行協(xié)同訓(xùn)練(算法1),進(jìn)而構(gòu)建了情境感知GAN模型CxtGAN(如圖4)。在CxtGAN模型的協(xié)同訓(xùn)練過(guò)程中,模型能夠?qū)W得所有情境評(píng)分向量中的數(shù)據(jù)分布以及情境信息與評(píng)分信息之間的映射關(guān)系,能夠更準(zhǔn)確地進(jìn)行知識(shí)推薦。由于CxtGAN通過(guò)學(xué)習(xí)數(shù)據(jù)概率分布進(jìn)行推薦,能夠有效避免稀疏矩陣引起的相似度計(jì)算失真問(wèn)題。另外,對(duì)于沒(méi)有任何瀏覽行為的新用戶,只要提供部分個(gè)人信息,CGKR方法依然能夠?yàn)槠渫扑],即解決了新用戶冷啟動(dòng)問(wèn)題。

在本文方法中,除了以上3點(diǎn)主要改進(jìn)外,仍有不足需要指出:首先,基于用戶歷史行為進(jìn)行用戶興趣建模時(shí),不同行為對(duì)當(dāng)前興趣的影響權(quán)重是不同的,相關(guān)性越大的歷史行為權(quán)重越大,而本文設(shè)定的規(guī)則相對(duì)簡(jiǎn)單(非重復(fù)瀏覽且瀏覽時(shí)長(zhǎng)少于30 s即為不喜歡),限制了對(duì)用戶興趣探知的進(jìn)一步精細(xì)化;其次由于工程領(lǐng)域的復(fù)雜性,導(dǎo)致用戶的知識(shí)興趣總是多樣化的,而本文未考慮多領(lǐng)域情境下用戶興趣的多樣性。對(duì)此,可以從兩方面擴(kuò)展本文現(xiàn)有研究:①可以考慮引入深度學(xué)習(xí)領(lǐng)域的注意力機(jī)制,以更精細(xì)地探知用戶興趣;②可以將多樣性作為知識(shí)推薦算法的優(yōu)化目標(biāo),以使推薦結(jié)果更全面地覆蓋用戶興趣。

猜你喜歡
文檔語(yǔ)義向量
向量的分解
有人一聲不吭向你扔了個(gè)文檔
聚焦“向量與三角”創(chuàng)新題
語(yǔ)言與語(yǔ)義
基于RI碼計(jì)算的Word復(fù)制文檔鑒別
“上”與“下”語(yǔ)義的不對(duì)稱性及其認(rèn)知闡釋
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
認(rèn)知范疇模糊與語(yǔ)義模糊
雷山县| 南江县| 思南县| 库车县| 大渡口区| 济源市| 鸡西市| 聂拉木县| 武平县| 景泰县| 长葛市| 华亭县| 凤阳县| 成安县| 莲花县| 沂水县| 永善县| 三原县| 岫岩| 灵寿县| 北京市| 阆中市| 乐至县| 嘉鱼县| 任丘市| 平果县| 静海县| 宜宾市| 长兴县| 枝江市| 神池县| 无棣县| 石泉县| 四平市| 高州市| 乃东县| 晋州市| 肥东县| 宁海县| 徐汇区| 宁化县|