楊珊珊,呂秋子,徐庭君,王婉婷,吳金瑞
(哈爾濱商業(yè)大學(xué) 管理學(xué)院,黑龍江 哈爾濱 150000)
近年來國內(nèi)物流行業(yè)快速發(fā)展,電子商務(wù)興起和其技術(shù)廣泛運用,配送需求日益增長,但同時,配送成本居高不下,效率低下,交通堵塞狀況嚴重,環(huán)境影響較大,“共同配送”這一名詞逐漸成為了物流領(lǐng)域的關(guān)注焦點。共同配送是一種聯(lián)合兩個及以上商家(企業(yè))的貨物,進行共同裝載并送至客戶手中,追求運輸規(guī)?;囊环N配送形式。合理的配送可以優(yōu)化整個物流環(huán)節(jié),降低配送成本,提高配送效率,有效緩解城市交通擁堵,減輕配送造成的環(huán)境負擔(dān)。
目前,共同配送的研究主要分為三個方面。文獻[1]采用最小核心法、GQP、簡化的MCRS、Shapley值法和納什談判模型等多種模型算法分析了常見分布的成本分配問題,將使合作企業(yè)合理分配“共同經(jīng)濟利益”。文獻[2]基于多個配送中心開環(huán)VRP 方法研究了車輛共享和車輛路徑問題。文獻[3]通過建立共同配送協(xié)同機制,實現(xiàn)各配送主體之間的相互協(xié)調(diào),相互合作。其次是為需要共同分配的特定對象提供聯(lián)合分配解決方案。文獻[4]提出了乳制品企業(yè)冷鏈物流的聯(lián)合分銷模式,以提高企業(yè)的市場競爭力,促進中國冷鏈物流的發(fā)展。文獻[5]針對大小零售商提出了合作貨運的模式,運用博弈論對共同配送費用分攤的影響因素進行了研究,改進后的Shapley 價值模型用于為大型零售商之間的聯(lián)合分銷提供建議。三是結(jié)合前面一二點即對共同配送具體對象的具體問題進行研究。文獻[6]著眼于城市共同配送的生態(tài)收益問題,針對共同配送企業(yè)聯(lián)盟間的利益分配問題,采用了基于生態(tài)因子的Raiffa 解法,充分考慮生態(tài)環(huán)境保護下的效益分配。文獻[7]基于電子商務(wù)的背景,考慮到其對時間限制的時間敏感性,建立了多目標路徑選擇模型。從上述三方面可看出,共同配送所涉及的問題廣泛且復(fù)雜,針對共同配送的不同對象和不同的共同配送問題都有著不同的研究方法和解決方案。在這種情況下,把共同配送系統(tǒng)和知識管理系統(tǒng)相結(jié)合,對共同配送的局部范圍或單一對象的模型構(gòu)建和算法設(shè)計進行有效的集成,通過知識推薦為共同配送研究者提供充分的數(shù)據(jù)和案例的知識支持,將有利于達到更合理的研究共同配送問題的目的。
如何將共同配送系統(tǒng)和知識管理系統(tǒng)有機結(jié)合,并且在考慮到用戶學(xué)習(xí)過程中知識接收的效率情況下,向用戶推薦符合自身需要的共同配送知識實例,目前少有學(xué)者研究。本文基于知識管理系統(tǒng)在其他領(lǐng)域的運用,結(jié)合共同配送的問題復(fù)雜多變,知識項間聯(lián)系不緊密的特點,為促進共同配送知識的資產(chǎn)向企業(yè)效益更好轉(zhuǎn)化,提出一種基于知識模式挖掘的共同配送系統(tǒng)知識推薦系統(tǒng)。當研究共同配送的用戶通過知識主題對知識庫的知識文檔進行檢索時,這些知識檢索行為會以日志的形式保存于知識管理系統(tǒng)中。將共同配送系統(tǒng)和知識管理系統(tǒng)的日志數(shù)據(jù)進行有效的集成,挖掘出“共同配送實例—知識主題”和“知識主題-學(xué)習(xí)順序”兩種知識模型。其中運用基于案例的推理(CBR)[8]的方法,對擁有相似的共同配送主題的問題進行識別,挖掘出共同配送實例—知識主題知識模式,并在面對參與者的知識檢索時推薦出符合其需求的知識主題。由于用戶在通過知識庫進行知識檢索和學(xué)習(xí)時會遵循一定的知識模式,因此通過對Markov 模型和序列模式算法的運用,挖掘參與者在學(xué)習(xí)每個主題時的學(xué)習(xí)模式,即知識主題學(xué)習(xí)序列知識模式,并推薦符合參與者學(xué)習(xí)習(xí)慣的知識序列,提高用戶對知識接收的效率。
圖1顯示了共同配送知識推薦系統(tǒng)的體系結(jié)構(gòu)圖,它從兩部分完成知識推薦。第一部分為用戶通過知識庫進行主題知識檢索,其訪問的數(shù)據(jù)日志在知識管理系統(tǒng)中,并與共同配送系統(tǒng)中的日志數(shù)據(jù)相結(jié)合,通過數(shù)據(jù)抽取、轉(zhuǎn)換、加載,形成描述共同配送實例—知識主題的案例庫,再結(jié)合新案例上下文特征,基于案例推理(CBR)用于分析新舊實例,并在案例庫中找到類似于新案例的歷史案例,推理出用戶所需的知識主題。第二部分是利用馬爾可夫模型等算法來讀取用戶在知識庫中學(xué)習(xí)知識時遵循的知識模型,并推薦符合用戶認知習(xí)慣的最佳知識序列。再結(jié)合第一部分的知識主題,共同完成共同配送知識的推薦。
圖1 共同配送知識推薦系統(tǒng)模型圖
共同配送管理系統(tǒng)以日志的形式解決所有共同配送問題的流程記錄,其中每條數(shù)據(jù)對一個共同配送問題(或任務(wù))進行記錄,稱作共同配送實例。實例數(shù)據(jù)包括諸如目標代碼、用戶ID、角色、任務(wù)和實例描述等信息,見表1?!皩嵗龜⑹觥庇梦谋拘问矫枋鲇脩粜鑼W(xué)習(xí)的共同配送知識,成為共同配送實例建模的重要信息。
表1 共同配送問題日志
在用戶用知識庫進行知識學(xué)習(xí)時,其每條訪問數(shù)據(jù)包括問題編碼、用戶ID、知識序列和訪問時間以日志的形式記錄到知識管理系統(tǒng)中。例如用戶C2成本分析師在成本核算時遇到了“成本分攤”問題,依次學(xué)習(xí)了m1、m2 等知識項,見表2。通常情況下,知識管理系統(tǒng)和共同配送管理系統(tǒng)相對獨立,知識管理系統(tǒng)并沒有記錄共同配送問題代碼等信息。為了向共同配送員工提供充分的知識支持,發(fā)揮兩個系統(tǒng)的作用,本文對知識管理系統(tǒng)和共同配送管理系統(tǒng)進行了系統(tǒng)層次的集成,使知識管理系統(tǒng)能夠記錄參與者在訪問知識庫時處理的問題代碼。
表2 學(xué)習(xí)行為日志
在進行知識管理系統(tǒng)和共同配送管理系統(tǒng)的日志數(shù)據(jù)集成之前,需要對數(shù)據(jù)進行預(yù)處理工作:
(1)數(shù)據(jù)抽?。禾幚頂?shù)據(jù)源的異構(gòu)問題并統(tǒng)一數(shù)據(jù)存儲。
(2)數(shù)據(jù)的清洗和轉(zhuǎn)換:解決數(shù)據(jù)的質(zhì)量問題[9],集中控制數(shù)據(jù)、清洗數(shù)據(jù)的冗余、數(shù)據(jù)的異常值等。
把知識管理系統(tǒng)和共同配送系統(tǒng)的對象編號與用戶ID 作為雙主鍵,對共同配送和知識學(xué)習(xí)日志的數(shù)據(jù)進行集成后對知識主題標注。知識管理系統(tǒng)使用元數(shù)據(jù)記錄每個知識項目所屬的知識主題。對于未進行知識主題分類的知識庫,可以使用隱式Dirichlet 分布(LDA)、聚類和其他文本挖掘算法自動抽取知識主題[10]。
共同配送系統(tǒng)與知識管理系統(tǒng)的歷史數(shù)據(jù)集成信息及對應(yīng)解決方案會存儲在共同配送案例庫中,為新的共同配送問題提供指導(dǎo)和解決思路。用戶角色和實例文本描述將成為上下文信息,用戶學(xué)習(xí)時知識項被標注的知識主題作為對應(yīng)問題解決案例,建立共同配送實例—知識主題案例庫。
基于案例推理(CBR)是智能仿真領(lǐng)域的重要推理方法,最早起源于美國耶魯大學(xué)Roger Schank教授在1982年出版的專著《Dynamic Memory》。案例推理在過程決策、法律案例、醫(yī)學(xué)診斷、知識管理、故障診斷和計算機輔助設(shè)計等領(lǐng)域得到了廣泛的應(yīng)用。該方法的基本思想是基于人的認知過程,在面對新問題時,通過新舊問題對比,為類似的歷史問題匹配解決方案,糾正老問題的解決方案,并輸出新的解決問題的方法。本文結(jié)合共同配送系統(tǒng)和知識管理系統(tǒng)的數(shù)據(jù)進行建模,求出與新問題相似度最高的歷史案例集合,基于案例推理的方法確定用戶對新問題的知識主題的需求。
在共同配送知識學(xué)習(xí)過程中,由于有著相似問題的共同配送參與者的任務(wù)要求和所需要的知識相似,所以案例建模是通過上下文用戶角色信息和實例文本描述完成的,能夠?qū)π屡f問題的相似程度進行較為準確的評估。
共同配送案例用e表示;用戶角色信息和實例描述分別用x、y表示,兩者關(guān)系用(x,y)表示;兩個案例之間的相似度表示為Scm(e1,e2),用戶角色的相似程度表示為sc mX(x1,x2),實例描述的相似度表示為sc mY(y1,y2);由于是用戶角色和實例描述兩個因素共同評價案例相似度,因此需要設(shè)a(0<a<1)為權(quán)重因子,來衡量二者對結(jié)果的影響程度。下面給出案例相似度模型:
該公式中a值越大,角色的類似程度權(quán)重越大,推理更偏向用戶本身的知識背景;相反,a值越小,實例描述的類似程度權(quán)重越大,推理更偏向于尋求類似的歷史案例。
對于角色之間的相似度,可以用該角色參與某任務(wù)的次數(shù)來衡量。如路徑規(guī)劃師在選擇路徑時需要與成本分析師一起考慮共同配送成本核算的問題,成本核算作為一個任務(wù),二角色之間參與該任務(wù)的次數(shù)就可以決定其相似程度。給定共同配送問題日志L和共同配送任務(wù)集TK,角色x參與任務(wù)的次數(shù)為t(t∈TK),記作frequency(x,t)。角色x表示為向量1,f2,...,fn>,其中fi=frequency(x,ti)。給定角色x1和x2的相似度:
由于用戶在進行知識檢索時通常以文本的形式獲得知識支持,因此對于實例描述之間的相似度,主要是評估問題間語義相似程度,可以使用文本挖掘。如路徑規(guī)劃師通過閱讀路程計算方法綜述文檔來選擇最合理的路程計算模型。首先利用開源的自然語言處理工具StanfordNLP對實例描述進行句法分析、去停頓詞、詞干化、標記語句組成結(jié)構(gòu)等預(yù)處理操作,然后采用詞頻—逆向文檔頻率(TF-IDF)算法模型對共同配送的實例進行模型建立:
最后定義問題相似度。
基于案例推理的方法,新舊問題角色和實例描述的相關(guān)信息被用來確定所需要的知識主題。
本文運用K近鄰的思路對案例進行推理。在案例庫中尋求與目標樣本—新問題相近(相似度最大)的K個鄰居樣本—歷史案例,使用相似度加權(quán)預(yù)測出各個新問題所對應(yīng)的解決方案,即用戶對知識主題的需求:
式中:E為K個最相似案例的集合,Scm(e',e)為案例相似度權(quán)重,為案例e'的時間權(quán)重;W表示在案例e的問題解決案例中此知識主題的個數(shù);0<β<1為衰減因子,duration表示案例e'發(fā)生事件和目前的時間間隔(單位:年),時間愈久,權(quán)重愈小。在共同配送過程,知識的更新速度比較快,對用戶進行新的知識方案推薦能更好地對共同配送員工進行知識支持,需要考慮到歷史案例與當前的時間間隔。本文進行了實驗并設(shè)置K=10,β=0.8。
在最開始的共同配送案例推理過程中,也許不能獲得足夠量的相似案例作為推理的根據(jù),這時用SVM、多決策樹綜合技術(shù)等分類算法預(yù)測新案例數(shù)據(jù)的類別,輔助CBR的知識推理過程。
系統(tǒng)投入運行后,歷史案例持續(xù)存儲中的知識積累將導(dǎo)致案例庫中增加大量類似案例或重復(fù)案例,降低案例推理的效率。
設(shè)案例庫U=(e1,...,ei,...,ej),i∈[1,j],ei為某歷史案例,目標案例g與ei的相似度是ri屬于[0,1],s是專家定義的一個閾值,存儲案例有以下幾種情況[11]:
(1)任何si=0,i∈[1,j],新案例與案例庫中≥所有的案例不匹配,那么新的案例可以被添加到案例庫。
(2)存在si=1,i∈[1,j],新案例與某歷史案例完全相似,則新案例不加入案例庫。
(3)所有si<0,i∈[1,j],這時新案例可以加入到案例庫。
(4)存在si>0,i∈[1,j],把擁有max(si)的歷史案例的解決方案修改成新案例的解決案例。
通過基于案例推理的方法,我們推斷用戶需要面對新問題所需的不同加權(quán)知識主題。為了提高用戶接收知識的效率,本文就用戶在學(xué)習(xí)時的學(xué)習(xí)模式進行挖掘,推薦出符合用戶學(xué)習(xí)習(xí)慣的知識序列。
用戶在學(xué)習(xí)過程中一般會遵循一定的知識模式[12]。如果你正在學(xué)習(xí)新知識,你通常會遵循從淺到深的學(xué)習(xí)模式。本文從用戶訪問知識庫日志數(shù)據(jù)過程中采用Markov模型和序列模式算法挖掘知識工作者的學(xué)習(xí)模式,為用戶提供更合理的知識推薦。
馬爾可夫模型(Markov)是蘇聯(lián)數(shù)學(xué)家馬可夫于1906年至1912年提出的統(tǒng)計模型。它使用概率數(shù)學(xué)分析方法研究自然過程,并廣泛應(yīng)用于各種預(yù)測領(lǐng)域。本文運用Markov模型與個性化知識推薦相結(jié)合,經(jīng)知識項之間的轉(zhuǎn)移關(guān)系,考慮到參與者在學(xué)習(xí)時知識主題的聚集性,運用知識庫的元信息把知識學(xué)習(xí)日志按主題歸類,構(gòu)建基于主題的Markov模型,從而提升知識推薦的有效性。
4.1.1 知識序列的知識主題歸類。用戶通過知識庫搜索學(xué)習(xí)行為日志(TL)記錄了其每一條訪問行為,見表2。每條數(shù)據(jù)包括用戶在尋求共同配送解決方案依次學(xué)習(xí)的知識序列,記為<m1,m2,...,mn>,n為序列長度。將這些知識序列基于知識庫的元信息分為多個知識子序列,將每個子序列的知識項歸類到同一個知識主題中,并按照一定的學(xué)習(xí)順序排列。將知識庫中知識項合集用T表示,知識主題的合集用L表示。對于每個知識主題,得到相對的知識序列子集TLtl。
4.1.2 狀態(tài)與知識跳轉(zhuǎn)關(guān)系。在m階Markov模型中,知識序列中的一個狀態(tài)用m-state表示。給出序列<m1,m2,...,mn>,m階Markov模型的第j個狀態(tài)為<mj,mj+1,...,mj+n-1>,1≤j≤n-m+1。例如,知識序列s'=<m1,m2,m3>,一階Markov算法的狀態(tài)集為{m1,m2,m3>,二階Markov算法的狀態(tài)集為{<m1,m2>,<m2,m3>}。
跳轉(zhuǎn)關(guān)系是在用戶學(xué)習(xí)行為中,一種知識項跳轉(zhuǎn)自另一種知識項的時序關(guān)系。將這種跳轉(zhuǎn)關(guān)系記作mj→mi,表示用戶在學(xué)習(xí)知識項mj之后轉(zhuǎn)向mi的學(xué)習(xí)。對于起始的知識項,源狀態(tài)mj表示成。上述序列s'中存在跳轉(zhuǎn)關(guān)系→m1,m1→m2,m2→m3,<m1,m2>→m3}。
4.1.3 面向主題的Markov模型。為使得知識項的推薦更加具有連貫性和準確性,需通過在知識序列子集TLtl上單獨使用Markov模型,訓(xùn)練出面向主題的知識學(xué)習(xí)模型。系統(tǒng)需要根據(jù)用戶的學(xué)習(xí)行為,基于上下文信息預(yù)測學(xué)習(xí)者在當前學(xué)習(xí)狀態(tài)下最有可能學(xué)習(xí)的下一個知識項。用Qj表示用戶的當前學(xué)習(xí)狀態(tài),最有可能學(xué)習(xí)的下個知識項為mi,則P(mi|Qj)為在Qj學(xué)習(xí)狀態(tài)下,下一個學(xué)習(xí)知識項mi的跳轉(zhuǎn)概率。使用最大似然估計,跳轉(zhuǎn)概率P(mi|Qj)的計算方法為:
由于階數(shù)m變大,Markov算法中會加入更多的上下文信息,預(yù)測的有效性會相應(yīng)提高,同時數(shù)據(jù)出現(xiàn)的分散問題會使得預(yù)測的覆蓋率下降。采用1階模型和2階模型線性插值的方法,能使有效性和覆蓋率之間存有一定平衡,即:
式中設(shè)權(quán)重因子γ=0.5,即兩個模型的預(yù)測平均值。
在序列模式挖掘領(lǐng)域中有兩種經(jīng)典算法:GSP算法(Generalized Sequential Patterns)和PrefixSpan算法(Prefix-project Sequential Patten Mining)。由于PrefixSpan 模型不會有候選數(shù)列,且掃描原始數(shù)據(jù)時對原始數(shù)據(jù)庫進行分割,在分散和緊湊的數(shù)據(jù)集中都可以使用更高效的挖掘序列模型。因此本文運用PrefixSpan算法挖掘面向各個知識主題的頻繁序列模式。
在對知識主題的頻繁序列挖掘時,在已給出的知識主題tl下,在知識序列集合TLtl中挖掘頻繁序列。設(shè)M=<m1,m2,...,mp>為包含p個知識項的集合;一個知識序列S為知識項集的有序集合,記為序列元組S=<k1,k2,...,kn>,各個元素ki為知識集M的子集。定義序列X=<k1,k2,...,ki>S的子序列,S是X的超序列,序列X在S中的數(shù)量稱為X的支持度,記為Support(X)。給定一個正整數(shù)minSupport表示最小支持閾值,如果Support(X)≥minSupport,則稱序列X是頻繁序列。
輸入挖掘得到的頻繁序列模式,匹配用戶當前的知識學(xué)習(xí)順序,并預(yù)測學(xué)習(xí)者接下來可能學(xué)習(xí)的知識項。序列sa=<m1,m2,...,mn>表示參與者a最近學(xué)習(xí)的n條知識項組成的知識序列,KH=<h1,h2,...,hi>表示挖掘的頻繁序列模式集,pren(h)表示序列p的n項前綴。設(shè)知識序列sa與模式h匹配,當h的長度為n+1時,pren(h)為sa的子序列,第n+1條知識項成為備用的推薦知識。將推薦的可靠性,定義成序列h和前綴序列pren(h)的支持度比率:
推薦區(qū)域推薦給學(xué)習(xí)者的知識項的可靠性需要大于閾值minConfidence(h,sa)。
本文提出了一種基于知識模型挖掘的聯(lián)合分布式知識推薦系統(tǒng),記錄了學(xué)習(xí)者在知識庫中的學(xué)習(xí)行為。通過上下文信息對共同配送系統(tǒng)和知識管理系統(tǒng)日志進行集成,并使用案例推理的方法尋找相似的共同配送歷史案例,挖掘出用戶所需的知識主題;通過面向主題的Markov模型,挖掘出符合用戶學(xué)習(xí)習(xí)慣的知識序列,完成知識推薦。在日志集成過程中,本文使用的上下文信息為角色信息和實例描述,但在實際的共同配送方案設(shè)計過程中,需要考慮的上下文信息更為復(fù)雜,因此在未來的研究過程中需要考慮更多的共同配送元素。