王小婷
摘要:電子郵件系統(tǒng)是可支持關(guān)鍵詞搜索的電子郵件數(shù)據(jù)集。但隨著用戶功能需求的增加,除了對信息的基本搜索,該系統(tǒng)還應(yīng)支持其他復(fù)雜查詢,如查找相似話題郵件以及郵件內(nèi)容中提及的最火爆的關(guān)鍵詞等。該文目的是通過使用語義網(wǎng)技術(shù),如RDF、OWL以及數(shù)據(jù)挖掘技術(shù)建立一種機制,以豐富電子郵件系統(tǒng)功能來支持復(fù)雜查詢。
關(guān)鍵詞:語義網(wǎng);電子郵件系統(tǒng);RDF;OWL;PROV
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2017)25-0045-03
1 概述
電子郵件已被視為便捷實用的通信工具,其本身包含可用于找出消息或參與者之間的關(guān)系隱性和顯性數(shù)據(jù)。電子郵件系統(tǒng)是電子郵件的數(shù)據(jù)集,并且可以支持關(guān)鍵詞搜索,如作者和主題等。除了對信息的基本搜索,電子郵件系統(tǒng)還應(yīng)該支持其他復(fù)雜查詢,如提取郵件內(nèi)容高頻詞,查找相似內(nèi)容以及相關(guān)消息聚類結(jié)果等。
本文采用語義網(wǎng)技術(shù),如RDF和PROV,創(chuàng)建一個工具來分析公共電子郵件檔案。分析在這個郵件系統(tǒng)中的參與者的影響,并找出流行的消息主題和消息的聚類結(jié)果,以提高對公共電子郵件檔案的綜合使用效率。
本文擬找出以下問題的答案:
(1) 參與者發(fā)送消息頻率的排序是什么?
通過消息頻率的總數(shù)來確定排名順序,消息頻率越大表示參與者具有更高的排名。從某種程度上來說,排名順序反映參與者的重要性。重要參與者的消息相對而言更值得信賴。
(2) 電子郵件討論主題的順序是什么?
該問題擬找出話題參與者對什么內(nèi)容更加感興趣。往往熱門話題反映了與會者在某一時間段的重點。
(3) 與這封郵件內(nèi)容相似的郵件有哪些?
該問題幫助用戶獲得關(guān)于與之郵件主題更多的信息。
(4) 該郵件系統(tǒng)大部分主要討論了什么內(nèi)容?
電子郵件歸檔的消息可聚成不同的組。每個群集組都有不同的特點。進而可以探尋出在一定時間段參與者所討論的信息關(guān)于什么內(nèi)容。
2 Provenance概述
Provenance一詞最初來自于藝術(shù)領(lǐng)域,用來定義藝術(shù)品的可追溯性[1]。后指實體、對象和人或所涉及數(shù)據(jù)生成過程中任何其他的動態(tài)信息。這為分析生產(chǎn)經(jīng)營活動過程中對象之間的關(guān)系提供了便捷方法。隨著互聯(lián)網(wǎng)的快速發(fā)展以及信息的指數(shù)增長,很難在網(wǎng)絡(luò)大量數(shù)據(jù)中標(biāo)識原始源。為了滿足這種需求,Provenance被提出。
2.1 PROV家族
Provenance不僅是一個概念,它已經(jīng)被W3C PROV工作組探討并提出了一套PROV系列文件來介紹Provenance以及目前所使用的標(biāo)準(zhǔn)。PROV依賴于資源描述框架(RDF)和XML的表達。PROV涵蓋本體語匯,以及多個層次。一共包含12個文件,4個建議文檔和8個標(biāo)注文件。
PROV-DM是基于開放Provenance模型的數(shù)據(jù)模型并且通過區(qū)分類型以及關(guān)系來定義核心結(jié)構(gòu)。其基本類型為實體(Entity),代理(Agent)和活動(Activity)。在PROV數(shù)據(jù)模型中有兩種結(jié)構(gòu),一是核心結(jié)構(gòu),另一種是擴展的結(jié)構(gòu)。PROV的核心結(jié)構(gòu)關(guān)注的重點是實體從活動過程中所涉及的信息轉(zhuǎn)化的本質(zhì),以及代理對實體生成的影響。除了核心信息,PROV擴展結(jié)構(gòu)提供了額外信息來豐富核心結(jié)構(gòu)。它提供了產(chǎn)生實體的活動過程的詳細說明并且表明了代理和活動之間的關(guān)聯(lián)關(guān)系,如一個實體的生成時間,以及一個代理在一個活動的作用。該文檔提供了一個基礎(chǔ)指南和實例來講解如何從自然人類語言建立PROV數(shù)據(jù)模型。
PROV-O包含類、屬性和限制,這些都可以通過OWL2 Web本體語言來表達PROV數(shù)據(jù)模型(PROV-DM)。本文介紹如何映射PROV數(shù)據(jù)模型為PROV本體使得其便于在應(yīng)用程序中使用的本體。
PROV-CONSTRAINTS定義了一組約束來確保對象和PROV實例的關(guān)系都符合標(biāo)準(zhǔn),以便于進行推理、驗證和安全分析。這份文件是用于驗證Provenance并保證其有效性的基本方針。
PROV-N為Provenance通信提供了人類可以理解的表達形式,它包括一套語法,使PROV數(shù)據(jù)模型的實例被編碼成不同種語言。
上述四個文件是其中PROV系列文件的核心部分,描述了PROV的本質(zhì)和建立應(yīng)用程序的PROV數(shù)據(jù)模型的核心知識。除核心文件,其他文件是PROV的補充文件,以此豐富PROV的充分使用和發(fā)展。
PROV家族的文件為后續(xù)建立的RDF模型的標(biāo)準(zhǔn)和指南。后續(xù)RDF模型的設(shè)計是基于PROV-DM和PROV-O文件,并應(yīng)用Provenance到RDF模型來設(shè)計的實體,代理,活動以及相互之間的關(guān)系。
2.2 PROV核心關(guān)系
PROV核心關(guān)系在圖1中所示,每個關(guān)系的描述以下:
wasDerivedFrom:此關(guān)系表示從一個實體到另一實體或新實體的轉(zhuǎn)換生成。
wasGeneratedBy:此關(guān)系表示一個活動產(chǎn)生新的實體。
wasAttributedTo:此關(guān)系表明一個實體是歸因于一個代理。
wasInformedBy:此關(guān)系在兩個不同活動之間使用,一個活動使用另一個活動的發(fā)生過程。
wasAssociatedWith:此關(guān)系是一個代理和活動之間使用。代理負責(zé)該活動。
used:這個關(guān)系用于實體和活動之間,表明了一個活動使用實體的情況。
ActedOnBehalfOf:這種關(guān)系為責(zé)任的分配。代理人的行為代表了另一種代理行為。
上述核心關(guān)系是讓所有的實體,代理和活動結(jié)合起來并形成模型的關(guān)鍵,并找出彼此之間的聯(lián)系。為了擴展電子郵件系統(tǒng)的查詢功能,上述核心關(guān)系均用于建立系統(tǒng)模型。endprint
3 方法以及實現(xiàn)
為了提高郵件系統(tǒng)檢索能力,探尋所研究對象的關(guān)系來解決所提出的問題。首先,從數(shù)據(jù)集捕獲數(shù)據(jù)并將數(shù)據(jù)進行聚類分析;隨后,將其轉(zhuǎn)換成PROV模型生成RDF數(shù)據(jù)集,形成基本模型;最后,利用SPAQRL語句查詢并分析。
3.1 數(shù)據(jù)采集
該項目的實施的第一步是從電子郵件系統(tǒng)中捕獲數(shù)據(jù)。由于訪問限制,研究只集中在電子郵件系統(tǒng)的公共部分。該電子郵件系統(tǒng)中包含有多個主題,針對于每一個主題有不同頻率的郵件往來。針對于任何一份郵件,都有鏈接鏈路到同一主題下前一封以及后一封郵件,并指明作者、日期、郵件內(nèi)容等。因此,我們可以提煉出關(guān)于郵件的基本信息以及郵件間的關(guān)系。
其中郵件信息包含郵件題目、發(fā)信人信息、發(fā)信日期、郵件編號、收信人信息、抄送者信息、郵件內(nèi)容。郵件關(guān)系中包含有下一封郵件、前一封郵件、同主題的下一封郵件、郵件回復(fù)。
分析所述電子郵件歸檔文件的結(jié)構(gòu)后,利用該結(jié)構(gòu)順序獲取相關(guān)信息形成數(shù)據(jù)集并保存至XML文件中,每一封郵件由該郵件URI唯一標(biāo)識。該數(shù)據(jù)集用于后續(xù)對郵件信息處理以及RDF模型的生成。
3.2 相似度計算和數(shù)據(jù)聚類
該相似度計算采用SimHash算法。在每封電子郵件抓取形成的數(shù)據(jù)集中,應(yīng)用SimHash算法來計算一封郵件信息和除它本身以外其他郵件內(nèi)容的相似程度。該算法通過計算SimHash串之間的漢明距離來判斷相似性的程度。
數(shù)據(jù)聚類部分的計算是基于所述標(biāo)題和每封電子郵件消息的內(nèi)容。該項目采用是K-means算法、STC和Lingo算法分別進行聚類。數(shù)據(jù)聚類的所有過程在Carrot2文檔聚類工作臺中進行。Carrot2是一個支持將一組文件分為不同類別的自動聚類平臺。它是由Java實現(xiàn),并通過REST接口支持跨平臺。除了支持K-means算法,STC和Lingo算法,它同時也提供了聚類部件,以獲得來自各種來源的數(shù)據(jù),如Solr,Lucence和用戶自己的XML文件。Carrot2的另一個特征是,它不僅提供了聚類功能,而且還提供了可視化界面演示集群,以及單獨的對象和各簇之間的關(guān)系。
3.3 RDF模型設(shè)計
該步驟是設(shè)計基于此電子郵件歸檔的關(guān)系和數(shù)據(jù)的RDF模型。由于大量的消息數(shù)據(jù),該部分僅使用部分數(shù)據(jù)進行模型演示,并由ProvTranslator生成SVG圖形。根據(jù)W3C文檔標(biāo)準(zhǔn),實體顯示為橢圓形,活動表示為矩形節(jié)點和代理為八角形。RDF模型設(shè)計的過程是明確該電子郵件系統(tǒng)數(shù)據(jù)集中實體,代理,活動和屬性等各個部分,用PRO思想描述數(shù)據(jù)。
1) 實體
該模型包含有兩個實體。其一是含在同一個時間段內(nèi)所有消息的消息集合的實體。另一個實體是單封郵件信息。
(1) 某時間段內(nèi)郵件集實體
圖2展示出了單個集合的PROV圖。用數(shù)字打表的實體是表示該集合內(nèi)某封郵件。其包含以下核心屬性:
pro:hadMember:表明一個郵件集和各消息成員之間的從屬關(guān)系
ex:hadMessagesNumber: 它顯示郵件集所具有的郵件數(shù)目
(2) 每封郵件實體
每封郵件均是由一個活動產(chǎn)生,同時具有發(fā)送人和收件人兩個代理,以及與其它消息的關(guān)系。核心屬性如下所示:
ex:clusterDocumentID: 表明該郵件的聚類唯一標(biāo)識ID
ex:KmeansClusterGroupTitle: 采用Kmeans算法聚類后所歸屬類的類名
ex:KmeansClusterGroupID:采用Kmeans算法聚類后所歸屬類的ID
ex:LingoClusterGroupTitle:采用Lingo算法聚類后所歸屬類的類名
ex:LingoClusterGroupID: 采用Lingo算法聚類后所歸屬類的ID
ex:STCClusterGroupTitle: 采用STC算法聚類后所歸屬類的類名
ex:STCClusterGroupID: 采用STC算法聚類后所歸屬類的ID
foaf:PrimaryTopic:郵件名
rdfs:label: 表明郵件唯一標(biāo)識ID
ex:hadRepliesNumber: 表明當(dāng)前郵件所具有的回復(fù)總數(shù)
ex:hadSimilar: 是否具有相似信息,以及相關(guān)權(quán)重數(shù)值
prov:wasGeneratedBy: 表明產(chǎn)生該郵件的活動
prov:wasAttributedTo: 表明與當(dāng)前郵件相關(guān)的代理信息
prov:wasDerivedFrom: 表明當(dāng)前郵件是否為回復(fù)某一郵件
2) 代理
在該模型中,有兩種代理,分別為個體和組織。組織代理具有以下特性:
foaf:name: 表示代理名稱
foaf:mbox: 表示代理郵件地址
個體代理具有以下特性:
foaf:familyName: 表示該代理的姓
foaf:givenName: 表示該代理的名
3) 活動
該模型中共有兩種類型的活動。一種是發(fā)送消息活動;另一種則是回復(fù)消息活動。這兩種活動都具有以下特性:
prov:qualifiedAssociation: 該屬性表明了活動和代理之間的具體信息
prov:agent: 表明具體代理信息
prov:hadRole: 表明代理角色是發(fā)信人、收信人還是抄送者
3.4 生成RDF文件
在形成RDF模型后,執(zhí)行的最后一部是產(chǎn)生可以使用SPARQL查詢的RDF文件。本項目最終將所有數(shù)據(jù)以及關(guān)系按照Turtle語法進行輸出。endprint
4 測試
分析了實現(xiàn)部分后,使用SPARQL查詢找到的概述部分問題的答案。由于數(shù)據(jù)量過大,所有查詢測試僅使用部分數(shù)據(jù)。
4.1 SPARQL查詢和結(jié)果
1) 參與者發(fā)送消息頻率的排序是什么?
通過消息頻率的總數(shù)來確定排名順序,消息頻率越大表示參與者具有更高的排名。從某種程度上來說,排名順序反映參與者的重要性。重要參與者的消息相對而言更值得信賴。該問題測試結(jié)果如圖5所示,結(jié)果由影響度從高到低排名。
2) 電子郵件討論主題的順序是什么?
該問題擬找出話題參與者對什么內(nèi)容更加感興趣。往往熱門話題反映了與會者在某一時間段的重點。該問題測試結(jié)果如圖6所示,結(jié)果中主題由URL代表并按照熱門程度由高到低排序。
3) 與這封郵件內(nèi)容相似的郵件有哪些?
該問題幫助用戶獲得關(guān)于與之郵件主題更多的信息。該問題測試結(jié)果如圖7所示,指明了與某郵件相似的其他郵件,郵件均由URL表示。
4) 該郵件系統(tǒng)大部分主要討論了什么內(nèi)容?
電子郵件歸檔的消息可聚成不同的組。每個群集組都有不同的特點。進而可以探尋出在一定時間段參與者所討論的信息關(guān)于什么內(nèi)容。該問題測試結(jié)果如圖8所示。
5 結(jié)論
結(jié)合語義網(wǎng)技術(shù),尤其是PROV,相似度計算和數(shù)據(jù)聚類,該項目旨在建立一個科學(xué)實用的機制來分析公共電子郵件存檔。 RDF模型在這個項目的設(shè)計是成功的,因為它包含的數(shù)據(jù)信息以及關(guān)系,可應(yīng)用于通過發(fā)布頻率,找出通過郵件頻率,話題線程排序參與者的排名順序,通過消息對排名順序的相似程度以及每個群集組的成員,并通過郵件的總數(shù)量決定群集組的排名順序。
這個項目在于它為郵件系統(tǒng)建立了支持復(fù)雜的查詢的機制,這大大提高了用戶體驗度。同時,也能提高電子郵件檔案的利用率,使得用戶能夠迅速而準(zhǔn)確地找到相關(guān)數(shù)據(jù)。另外,該機制需要進一步優(yōu)化以解決時間復(fù)雜度問題,以實現(xiàn)更好的效果。
參考文獻:
[1] Luc M.The foundations for provenance on the web[J]. Foundations and Trends in Web Science, 2010,2: 99-241.endprint