魏 瑾,李偉華,潘 煒
(西北工業(yè)大學(xué),陜西 西安 710129)
決策支持系統(tǒng)(decision support system,DSS)是一個基于計算機用于支持業(yè)務(wù)或組織決策活動的信息系統(tǒng)。DSS是運用計算機、數(shù)據(jù)庫、多媒體、網(wǎng)絡(luò)、類人智能提供輔助決策手段和工具,將決策這樣的人類思維活動轉(zhuǎn)變?yōu)闆Q策計算和思維的結(jié)合。
傳統(tǒng)的決策支持包括三個方面:一是需要得力的輔助決策機構(gòu),如顧問機構(gòu)、參事機構(gòu)等;其次,決策理論方法,需要正確的理論指導(dǎo);三是需要使用現(xiàn)代化的手段和工具。隨著計算機、通信、專家系統(tǒng)等技術(shù)的迅速發(fā)展,給決策活動帶來了新的格局,決策支持使決策活動朝著程序化、科學(xué)化方向發(fā)展。
決策支持系統(tǒng)在國內(nèi)外各領(lǐng)域得到了深入的研究。國內(nèi),有關(guān)大學(xué)、研究所分別研制了“分布式多媒體智能決策支持系統(tǒng)平臺”、“基于客戶/服務(wù)器的決策支持系統(tǒng)”、“智能決策系統(tǒng)開發(fā)平臺IDSDP”、“基于主體的智能協(xié)同決策支持系統(tǒng)”等;快速開發(fā)平臺為開發(fā)實際問題的決策支持系統(tǒng)提供快速開發(fā)環(huán)境,產(chǎn)生了一批應(yīng)用成果。
但是,傳統(tǒng)的決策支持系統(tǒng)存在一定的局限性,主要包括:(1)獲取用于決策的知識的難度較大。傳統(tǒng)的基于規(guī)則的決策支持,例如專家系統(tǒng),依賴專家的領(lǐng)域知識來形成規(guī)則進而進行決策,形成規(guī)則的不確定性較多,如專家對行業(yè)的理解偏差,歸納總結(jié)的能力。(2)決策支持系統(tǒng)的靈活性和適應(yīng)性較低。如果影響決策的某種因素發(fā)生變化,已有的決策系統(tǒng)就無法進行準確的判斷。(3)知識協(xié)同和相關(guān)性較差。正確的決策需要多種知識對于決策的關(guān)聯(lián)作用,解決決策群體之間的協(xié)同問題。
決策支持是跨管理、人工智能、網(wǎng)絡(luò)等多個學(xué)科的綜合應(yīng)用智能系統(tǒng)。新型的決策支持系統(tǒng)需要考慮引入專家系統(tǒng)、自然語言理解尤其是知識庫系統(tǒng)的研究;提升決策的快速反應(yīng)和自動化以提高時效性;實現(xiàn)知識的共享、關(guān)聯(lián)及繼承性[1]。
知識圖譜本質(zhì)上是語義網(wǎng)絡(luò),是一種基于圖的數(shù)據(jù)結(jié)構(gòu),由節(jié)點(point)和邊(edge)組成。在知識圖譜里,每個節(jié)點表示現(xiàn)實世界中存在的“實體”,每條邊為實體與實體之間的“關(guān)系”。知識圖譜是關(guān)系的最有效的表示方式。通俗地講,知識圖譜就是把所有不同種類的信息(heterogeneous information)連接在一起而得到的一個關(guān)系網(wǎng)絡(luò)。知識圖譜提供了從“關(guān)系”的角度去分析問題的能力。
知識圖譜示意如圖1所示。
圖1 知識圖譜示意
在構(gòu)建知識圖譜的過程中,有幾個關(guān)鍵組成部分:
·知識的抽?。盒畔⒃粗饕獊碜詢煞N方式:一種是業(yè)務(wù)領(lǐng)域本身的數(shù)據(jù),這部分數(shù)據(jù)通常包含在數(shù)據(jù)庫表并以結(jié)構(gòu)化的方式存儲以及業(yè)務(wù)系統(tǒng)中以半結(jié)構(gòu)化或非結(jié)構(gòu)化存在;另一種是網(wǎng)絡(luò)上公開、抓取的數(shù)據(jù),這些數(shù)據(jù)通常是非結(jié)構(gòu)化的數(shù)據(jù)。
·知識圖譜的存儲:一種是基于RDF的存儲;另一種是基于圖數(shù)據(jù)庫的存儲。RDF一般以三元組的方式來存儲數(shù)據(jù)而且不包含屬性信息。圖數(shù)據(jù)庫一般以屬性圖為基本的表示形式,所以實體和關(guān)系可以包含屬性。RDF存儲的優(yōu)點是數(shù)據(jù)的發(fā)布以及共享,圖數(shù)據(jù)庫的優(yōu)點是高效的圖查詢和搜索。
當(dāng)前,知識圖譜的應(yīng)用目前集中在搜索、推薦、問答、解釋和輔助決策等方面[2]。知識圖譜在認知領(lǐng)域已經(jīng)得到了很多應(yīng)用,例如在語義搜索方面,Google和百度使用知識圖譜應(yīng)用在新一代的搜索引擎中。在人機交互和問答系統(tǒng)領(lǐng)域,有聊天機器人微軟小冰和Apple公司的Siri等。在決策支持方面,IBM在Watson Health中使用了知識圖譜進行臨床領(lǐng)域的決策支持[3]。此外,越來越多的企業(yè)將知識圖譜作為云平臺或數(shù)據(jù)中臺的基礎(chǔ)數(shù)據(jù)服務(wù)提供給上層應(yīng)用消費。
綜合知識圖譜的應(yīng)用場景和傳統(tǒng)決策支持系統(tǒng)的局限性,提出了一種基于知識圖譜的智能決策支持技術(shù),使用知識圖譜代替了傳統(tǒng)決策支持系統(tǒng)的決策模型。通過構(gòu)建面向領(lǐng)域的知識圖譜、基于知識圖譜的決策模型建模,面向特定問題進行決策分析。
文中提出的基于知識圖譜的智能決策支持總體架構(gòu)分為四個層次結(jié)構(gòu),如圖2所示。
·基礎(chǔ)層:為上層的分析提供基礎(chǔ)平臺能力,包括存儲能力、計算資源分配能力、實時處理能力等。其中結(jié)構(gòu)化數(shù)據(jù)的存儲使用關(guān)系型數(shù)據(jù)庫PostgreSql,非結(jié)構(gòu)化數(shù)據(jù)(如圖片、語音、視頻、網(wǎng)頁索引等)的存儲使用開源的HDFS分布式文件系統(tǒng)。圖文件存儲使用JanusGraph圖數(shù)據(jù)庫提出圖存儲和索引的能力。
·數(shù)據(jù)層:數(shù)據(jù)源主要來源于四部分:(1)通用的行業(yè)知識來源于互聯(lián)網(wǎng)的公開資料;(2)文獻資料提供領(lǐng)域內(nèi)的公開專業(yè)知識包含一些領(lǐng)域內(nèi)的語義和語料信息;(3)行業(yè)積累的信息主要是指行業(yè)內(nèi)的歷史數(shù)據(jù)信息,例如存儲在專業(yè)系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu)化信息,持久化存儲在存儲系統(tǒng)或光盤的行業(yè)視頻、音頻信息等;(4)領(lǐng)域?qū)<页恋淼膶<倚畔ⅲㄟ^對專家信息的收集和整理獲得。
數(shù)據(jù)采集是指對各種數(shù)據(jù)源,不同數(shù)據(jù)類型采取的特定采集技術(shù)。對于互聯(lián)網(wǎng)的數(shù)據(jù)采用網(wǎng)絡(luò)爬蟲的技術(shù)進行收集和整理。對文獻資料多采用人工錄入的方式。對于結(jié)構(gòu)化數(shù)據(jù),使用數(shù)據(jù)倉庫分層處理模式。對于領(lǐng)域?qū)<抑R使用訪談、歸納等信息抽取方式。
數(shù)據(jù)處理是通過對采集后的數(shù)據(jù)進行加工處理獲取構(gòu)建知識圖譜所需的各種信息,包括:數(shù)據(jù)詞典、語義庫、語料庫、通用知識庫、領(lǐng)域知識庫、規(guī)則庫、關(guān)系表。
數(shù)據(jù)存儲是將數(shù)據(jù)處理后的數(shù)據(jù)按各自的形式存儲在存儲系統(tǒng)中。
圖2 總體結(jié)構(gòu)
分析層:與傳統(tǒng)的決策支持系統(tǒng)不同,文中除了基于規(guī)則的決策外,還提供了基于知識關(guān)聯(lián)分析、基于圖譜索引的決策。在分析層,通過自然語言處理等技術(shù)構(gòu)建知識圖譜,并在知識圖譜之上建立決策模型。在問題分析和求解過程中,根據(jù)問題的類型使用不同的決策模型以達到最優(yōu)的問題求解。
知識圖譜的構(gòu)建是分析層的重要部分,圖譜構(gòu)建的質(zhì)量直接決定了上層應(yīng)用的效果。知識圖譜可以將多源異構(gòu)的數(shù)據(jù)匯聚到一起[4]。在文中背景下的電信領(lǐng)域,領(lǐng)域知識圖譜的構(gòu)建比起通用知識圖譜,更加依賴于結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)去構(gòu)建行業(yè)領(lǐng)域的圖譜網(wǎng)絡(luò)。在知識圖譜構(gòu)建中,主要包括領(lǐng)域內(nèi)知識表示建模、實體識別與實體鏈接、關(guān)系事件抽取、隱性關(guān)系發(fā)現(xiàn)等技術(shù)[5]。
·應(yīng)用層:分析層向上通過APIs接口提供應(yīng)用級別的決策能力開放。
如圖2所示,基于知識圖譜的智能決策系統(tǒng)的建立主要有四個過程:數(shù)據(jù)的采集、預(yù)處理和數(shù)據(jù)加工;面向特定領(lǐng)域的知識圖譜的構(gòu)建[6];基于特定領(lǐng)域知識圖譜的決策模型的構(gòu)建;問題分析及智能決策。
數(shù)據(jù)采集技術(shù)通過對數(shù)據(jù)進行提取、轉(zhuǎn)換、加載,最終挖掘數(shù)據(jù)的潛在價值,給知識圖譜的構(gòu)建和決策建模提供數(shù)據(jù)支持。從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,按照預(yù)先定義好的數(shù)據(jù)模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中,最后對數(shù)據(jù)倉庫中的數(shù)據(jù)進行數(shù)據(jù)分析和處理。由于采集的數(shù)據(jù)類型各異,對于不同種類的數(shù)據(jù)進行數(shù)據(jù)分析,必須通過提取技術(shù)。將復(fù)雜格式的數(shù)據(jù),進行數(shù)據(jù)提取,從數(shù)據(jù)原始格式中提取(extract)出需要的數(shù)據(jù)。對于數(shù)據(jù)提取后的數(shù)據(jù),由于數(shù)據(jù)源頭的采集可能存在不準確性,所以必須進行數(shù)據(jù)清洗,對于那些不正確的數(shù)據(jù)進行過濾、剔除。針對不同的應(yīng)用場景,對數(shù)據(jù)進行分析的工具或者系統(tǒng)不同,還需要對數(shù)據(jù)進行數(shù)據(jù)轉(zhuǎn)換(transform)操作,將數(shù)據(jù)轉(zhuǎn)換成不同的數(shù)據(jù)格式,最終按照預(yù)先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載(load)到數(shù)據(jù)平臺中。數(shù)據(jù)采集加工流程如圖3所示。
·行業(yè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)采集:由于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)常存放在Oracle或者MySql等傳統(tǒng)數(shù)據(jù)庫中,因此需要使用工具將數(shù)據(jù)導(dǎo)入到大數(shù)據(jù)平臺中。文中使用Apache Sqoop進行數(shù)據(jù)轉(zhuǎn)換,將結(jié)構(gòu)化數(shù)據(jù)存儲(如關(guān)系數(shù)據(jù)庫、企業(yè)數(shù)據(jù)倉庫和NoSQL系統(tǒng))導(dǎo)入到分布式文件系統(tǒng)HDFS上,并將表填入Hive中。Hive是建立在Hadoop之上的開源數(shù)據(jù)倉庫。Hive支持使用類似SQL的聲明性語言(HiveQL)表示的查詢。
圖3 數(shù)據(jù)采集加工流程
通用知識采集:通過網(wǎng)絡(luò)爬蟲和一些網(wǎng)站平臺提供的公共API等方式從互聯(lián)網(wǎng)上獲取通用的行業(yè)數(shù)據(jù)。這樣就將非結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù)的網(wǎng)頁數(shù)據(jù)從網(wǎng)頁中提取出來。并將其提取、清洗、轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù),將其存儲為統(tǒng)一的本地文件數(shù)據(jù)。
在數(shù)據(jù)采集和加工后,將加工后的數(shù)據(jù)分為兩類:一類為知識相關(guān)的數(shù)據(jù),用于構(gòu)建知識圖譜,包括行業(yè)數(shù)據(jù)和通用數(shù)據(jù)、知識描述的語義庫和語料庫[7];另一類為間接數(shù)據(jù),用于從知識進行索引,包括索引結(jié)構(gòu)、索引元數(shù)據(jù)、索引存儲和索引的數(shù)據(jù)存儲。這兩類數(shù)據(jù)都統(tǒng)一存儲和管理在數(shù)據(jù)平臺中。
知識圖譜的構(gòu)建由知識表示、知識抽取、知識推理三個主要部分構(gòu)成[7]。
·知識表示:文中用兩種三元組來表示實體之間的關(guān)系以及實體的屬性。用Ei表示第i個實體,Ej表示第j個實體,Ei和Ej之間的關(guān)系用Rij表示,那么三元組(Ei,Rij,Ej)表示為實體Ei和Ej之間的聯(lián)系。
用Ax表示實體Ei的第x個屬性名稱,Vx表示該屬性對應(yīng)的值。那么三元組(Ei,Ax,Vx)表示為實體Ei的第x個屬性描述,同理三元組(Ei,Ay,Vy)表示實體Ei的第y個屬性描述。
基于這兩類三元組,知識圖譜就可以描述為多個實體關(guān)系網(wǎng),如圖4所示,多實體之間通過關(guān)聯(lián)關(guān)系組成了一個知識圖譜網(wǎng)絡(luò)。網(wǎng)絡(luò)的節(jié)點表示實體,實體分別與其他實體之間產(chǎn)生關(guān)系,并且通過屬性三元組表示實體的各種屬性。
圖4 基于三元組表示知識圖譜結(jié)構(gòu)
知識抽?。褐R抽取[8]的目標是從預(yù)處理后的數(shù)據(jù)中識別知識圖譜的實體以及實體之間的關(guān)系,從而構(gòu)建本體[4],建立知識圖譜。文中提出的知識抽取方法的過程為:
(1)根據(jù)數(shù)據(jù)詞典標注領(lǐng)域數(shù)據(jù)。為了解決非結(jié)構(gòu)化文本信息難于抽取實體的問題,首先通過數(shù)據(jù)字典對領(lǐng)域數(shù)據(jù)進行標注,獲得標注數(shù)據(jù)集,以二元組(datai,labelj)表示datai對應(yīng)的標簽為labelj。其中datai為數(shù)據(jù)詞典樣本中提取的數(shù)據(jù),labelj表示樣本的標簽,文中表示為“實體”、“屬性名”、“屬性值”、“關(guān)系”等。例如:(電話號碼:實體)。
(2)基于規(guī)則判斷和機器學(xué)習(xí)算法識別數(shù)據(jù)中的實體及實體的屬性。基于規(guī)則判斷用于簡單實體的抽取,如存放于數(shù)據(jù)倉庫中的結(jié)構(gòu)化數(shù)據(jù)。
對于大量的非結(jié)構(gòu)化文本數(shù)據(jù),采用LSTM深度學(xué)習(xí)的方法識別實體及屬性(見圖5)。實體識別分為兩部分:模型訓(xùn)練過程:以標注的領(lǐng)域數(shù)據(jù)作為樣本數(shù)據(jù),使用LSTM算法進行訓(xùn)練,獲得文本分類模型;實體識別過程:使用訓(xùn)練好的模型對非結(jié)構(gòu)化的文本數(shù)據(jù)進行識別和分類,分類的結(jié)果即為各實體三元組(E,A,V),其中E表示實體名,A表示實體的屬性名,V表示該屬性值。
圖5 基于LSTM深度學(xué)習(xí)的實體識別
(3)關(guān)系抽取的過程類似于實體識別。在已獲得實體列表的基礎(chǔ)上,基于規(guī)則和啟發(fā)式算法對關(guān)系和屬性進行抽取[9]。最終將實體和相關(guān)實體通過關(guān)系連接組合,獲得實體關(guān)系三元組(Ei,Rij,Ej)。
·知識推理是指根據(jù)知識圖譜中的已有知識,推斷出新的、未知知識,即潛在知識的挖掘和發(fā)現(xiàn)[10],如圖6所示。
圖6 知識推理示意
實體E1和E2之間有關(guān)聯(lián),E2和E3有另外一種關(guān)聯(lián),知識推理的目的就是判斷E1和E3之間是否存在關(guān)聯(lián)關(guān)系。在知識推理方面,使用基于規(guī)則技術(shù)[11](規(guī)則或模版、一階謂詞邏輯推理)。
提出的智能決策模型分別為基于規(guī)則的決策支持[12]和基于關(guān)聯(lián)分析的決策模型。
·基于規(guī)則的決策支持。
基于規(guī)則的決策支持有兩個過程:(1)規(guī)則策略的建立。由領(lǐng)域?qū)<腋鶕?jù)領(lǐng)域知識庫建立規(guī)則策略,并通過樣本數(shù)據(jù)驗證規(guī)則的準確性和有效性[13];(2)決策過程。決策者根據(jù)建立的規(guī)則對問題進行分析和判斷,最終得到?jīng)Q策推理的結(jié)果。規(guī)則的描述根據(jù)規(guī)則引擎的不同,一般使用表達式if(…),then。其中if可使用算術(shù)操作符、邏輯操作符及其他,操作符可以組合使用。
·基于關(guān)聯(lián)分析的決策模型。
基于規(guī)則的決策能夠針對具體的單一事件進行推理決策,但是在現(xiàn)實行為中,不同個體之間的協(xié)同以及群體性特征往往會影響決策的準確性。因此,引入關(guān)聯(lián)分析顯得尤為重要。聚類實體群決策見圖7。
圖7 聚類實體群決策
基于關(guān)聯(lián)關(guān)系的決策算法如下:
步驟一:基于K-Means的實體群聚類。
根據(jù)K-Means方法,在知識圖譜中對有關(guān)聯(lián)的實體進行聚類。算法如下:
Repeat
{
fori=1 to m
①c(i):=argmink|E(i)-μk|2
fork=1 toK
}
①是計算每個實體E(i)到每個中心節(jié)點μk最近的距離,將此實體劃分到該中心節(jié)點對應(yīng)的實體群中。
②是對每個實體群C(k)重新計算中心節(jié)點。
不斷的重復(fù)①和②,最終得到實體群的聚類。
步驟二:基于實體群獲得關(guān)聯(lián)實體關(guān)系。
當(dāng)存在(Ej,Ejk,Ek),且Ei與Ek同屬一個實體群,獲得Ei對Ej的決策。
在對問題進行分析求解時,首先對問題進行識別和分類,通過對問題的識別,決定是采用模型求解還是采用推理機求解。如果采用模型,則由模型自動搜索數(shù)據(jù),產(chǎn)生結(jié)果;如果采用推理機,則由推理機掃描知識庫(規(guī)則和事實),產(chǎn)生結(jié)果[14]。
電信詐騙是一種低成本、高回報的犯罪,犯罪團伙通過撥打詐騙電話,發(fā)送短信等方式騙取受害人財產(chǎn)。當(dāng)前電信反欺詐已成為電信領(lǐng)域的一個重要的研究內(nèi)容。
傳統(tǒng)的電信反欺詐往往是通過單一的規(guī)則判斷進行,例如來電號碼是否被標記為詐騙電話。這種識別方法在現(xiàn)實中的準確率并不高,容易出現(xiàn)漏報誤報情況。文中使用基于知識圖譜的智能決策分析,能夠通過關(guān)系網(wǎng)絡(luò)識別詐騙團伙,進而從群體關(guān)聯(lián)的角度識別詐騙電話。
·根據(jù)實體關(guān)系構(gòu)建知識圖譜。
在反欺詐領(lǐng)域,設(shè)定實體為每個電話號碼個體,實體之間的聯(lián)系有多種,包括電話主叫/被叫、短信、來源地、號碼同一注冊人等。在運營商數(shù)據(jù)中,根據(jù)實體之間的聯(lián)系搭建號碼實體關(guān)系知識圖譜。
·根據(jù)K-Means聚類詐騙團伙。
根據(jù)文中算法對號碼進行聚類,假如號碼A和號碼B同屬一個實體群,并且號碼A對C的通話被規(guī)則判斷為欺詐電話,那么根據(jù)算法可以計算出B對C的通話是否為欺詐電話。反欺詐決策示意如圖8所示。
圖8 反欺詐決策示意
文中提出了基于知識圖譜的智能決策技術(shù),介紹了從實體識別、知識圖譜構(gòu)建到聚類分析、決策模型構(gòu)建等技術(shù)和方法。能夠結(jié)合傳統(tǒng)決策支撐基于規(guī)則判斷的方法和知識圖譜對問題進行分析和求解。充分考慮了現(xiàn)實環(huán)境中多實體相關(guān)性對決策的影響。
知識圖譜是描述現(xiàn)實世界的組織結(jié)構(gòu),通過引入知識圖譜,能夠以更易于理解并且更符合現(xiàn)實環(huán)境的方式進行決策建模。領(lǐng)域知識圖譜目前在很多行業(yè)中發(fā)揮了越來越重要的作用,技術(shù)上的挑戰(zhàn)也有不斷的進展。文中提出的方法目前對領(lǐng)域知識圖譜的知識推理還沒有做深入研究,未來需要結(jié)合領(lǐng)域知識對知識圖譜的構(gòu)建、知識推理方法進行研究,以更好地支撐特定領(lǐng)域、行業(yè)的智能決策。