史雅涓, 樸春慧, 顏嘉麒(.石家莊鐵道大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 石家莊 050043;.南京大學(xué) 信息管理學(xué)院,江蘇 南京 003)
大數(shù)據(jù)時代的來臨意味著數(shù)據(jù)同物質(zhì)及能源一樣,成為人類社會發(fā)展所必需的戰(zhàn)略性資源。作為公共服務(wù)的主要提供者,政府有責(zé)任向公眾公開政府信息,保障公眾的知情權(quán);同時,作為公共數(shù)據(jù)資源的最大所有者,政府也有義務(wù)向社會開放數(shù)據(jù)資源,充分利用政府?dāng)?shù)據(jù)的巨大優(yōu)勢。不僅如此,政府在維持社會正常運(yùn)行、保證個體生存發(fā)展的前提下,也應(yīng)給予相關(guān)組織或部門分享部分政府?dāng)?shù)據(jù)的權(quán)利。當(dāng)下各級政府部門都在積極部署政務(wù)云平臺,以推動政務(wù)信息系統(tǒng)整合共享建設(shè)進(jìn)程[1]。政務(wù)云環(huán)境下的公民隱私信息保護(hù)問題也成為政府部門和公眾難以忽視的焦點問題[2]。在政府?dāng)?shù)據(jù)共享過程中,就存在著隱私泄露的可能。從政策角度分析,目前我國現(xiàn)行政策中有對個人隱私保護(hù)的說明,但是缺乏系統(tǒng)性和可執(zhí)行性[3]。從共享方式角度分析,難以找到絕對可信的數(shù)據(jù)資源共享平臺,以作為政府部門間數(shù)據(jù)共享的媒介。從技術(shù)角度分析,用于數(shù)據(jù)共享的匿名隱私保護(hù)技術(shù)存在著大量的信息損失,造成數(shù)據(jù)可用性差,直接影響了部門之間數(shù)據(jù)的使用。因此,對于政府機(jī)構(gòu)而言,迫切需要找到合適的方法以解決數(shù)據(jù)發(fā)布共享過程中存在的隱私泄露問題。
目前,針對政府?dāng)?shù)據(jù)發(fā)布共享情境下的隱私保護(hù)研究相對較少。針對政府?dāng)?shù)據(jù)共享發(fā)布過程中出現(xiàn)的隱私泄露風(fēng)險,大多數(shù)研究都集中于分析現(xiàn)有的隱私風(fēng)險、完善相應(yīng)法律制度。對于政府?dāng)?shù)據(jù)發(fā)布共享場景下的具體應(yīng)用框架及適用的隱私保護(hù)方法關(guān)注度不足。因此,對于政府機(jī)構(gòu)而言,迫切需要找到合適的方法以解決數(shù)據(jù)共享過程中存在的隱私泄露問題。
政府作為政務(wù)數(shù)據(jù)的采集者、政務(wù)信息的擁有者以及政務(wù)工作的管理者,掌握了大量有價值的數(shù)據(jù),在大數(shù)據(jù)浪潮中具有天然的信息優(yōu)勢。在我國,隨著電子政務(wù)的普及應(yīng)用,基于政府門戶網(wǎng)站的數(shù)據(jù)發(fā)布已廣為人知,但政府?dāng)?shù)據(jù)共享尚處于起步初期,很多概念及策略仍處在探索階段。政府?dāng)?shù)據(jù)共享是指在行政單位范圍內(nèi),對內(nèi)共享不適合向社會開放的、有價值的數(shù)據(jù)。政府?dāng)?shù)據(jù)共享增強(qiáng)了政府部門間數(shù)據(jù)融合,提升了原有數(shù)據(jù)價值,從而達(dá)到提高政府工作質(zhì)量的目的。
與英國等發(fā)達(dá)國家相比,我國政府?dāng)?shù)據(jù)共享尚處于初級階段,還處在較低水平,數(shù)據(jù)共享過程仍存在著諸多問題。為促進(jìn)政府?dāng)?shù)據(jù)開放共享發(fā)展,解決開放共享過程中出現(xiàn)的各種問題,我國政府出臺了一系列相關(guān)法律法規(guī)來保證數(shù)據(jù)的安全性與隱私性。例如,《中華人民共和國網(wǎng)絡(luò)安全法》于2016年11月由全國人大常委會審議通過,該法律的頒布,表明出國家對于數(shù)據(jù)安全與隱私保護(hù)的重視程度,有助于推動政府?dāng)?shù)據(jù)資源開放共享進(jìn)程、加快技術(shù)創(chuàng)新步伐、提高經(jīng)濟(jì)發(fā)展水平[4];2017年5月,國務(wù)院印發(fā)了《政務(wù)信息系統(tǒng)整合共享實施方案》,其中明確提出要盡快完善個人隱私信息保護(hù)的法律法規(guī),保障政務(wù)資源使用中的個人隱私[5]。
由于政府?dāng)?shù)據(jù)種類繁多,針對不同的應(yīng)用場景,數(shù)據(jù)共享的程度、發(fā)揮的作用也不盡相同。政府?dāng)?shù)據(jù)通常包含大量的個人相關(guān)數(shù)據(jù),例如,個人的收入、納稅、房產(chǎn)、信用、違法違規(guī)記錄等,這些信息均可被視為個人敏感信息。若這些敏感信息發(fā)生泄露,會給個人、企業(yè)甚至國家?guī)砭薮蟮陌踩{。因此,本文研究政府?dāng)?shù)據(jù)共享中的公民隱私保護(hù)技術(shù)解決方案,探尋合理的數(shù)據(jù)共享方法,以此減輕了公民隱私顧慮,更好地促進(jìn)政府?dāng)?shù)據(jù)共享的發(fā)展。針對政府?dāng)?shù)據(jù)共享中存在的隱私泄露風(fēng)險,研究人員從法律、管理、信息技術(shù)等層面上都進(jìn)行了探討分析。張曉娟等[6]分析了美國政府在隱私保護(hù)立法方面的措施,為進(jìn)一步完善我國個人隱私保護(hù)相關(guān)法律體系提供了思路。劉凌等[7]針對政府?dāng)?shù)據(jù)開放過程中存在的隱私泄露問題,通過總結(jié)分析國內(nèi)外研究現(xiàn)狀,提出了一種先導(dǎo)性的政府?dāng)?shù)據(jù)隱私保護(hù)分析框架。王芳等[8]分析了政府?dāng)?shù)據(jù)跨部門共享中出現(xiàn)的問題及其產(chǎn)生原因,從政策角度提出了隱私保護(hù)問題的解決方案。黃如花等[9]使用內(nèi)容分析法分析了國家政策文件,發(fā)現(xiàn)我國政府?dāng)?shù)據(jù)開放共享政策尚未形成完整體系,仍需進(jìn)一步完善個人隱私保護(hù)政策。
雖然上述方法進(jìn)一步明確了政府?dāng)?shù)據(jù)共享發(fā)布中存在著隱私泄露風(fēng)險的事實。但是,并未根據(jù)政府?dāng)?shù)據(jù)開放共享中的具體應(yīng)用場景,從技術(shù)角度給出可靠的實施方案,單純的背景分析及政策指向難以打消公民的隱私顧慮。
隱私保護(hù)技術(shù)是指利用技術(shù)手段處理原始數(shù)據(jù)集,確保攻擊者即便獲取到相關(guān)背景知識,依舊不能識別出目標(biāo)個體的敏感信息。在數(shù)據(jù)發(fā)布共享中,因為難以預(yù)估攻擊者所了解的背景知識多少,所以并沒有絕對安全的隱私保護(hù)技術(shù)。在數(shù)據(jù)發(fā)布共享中,研究應(yīng)用隱私保護(hù)方法的主要目的是:在不泄露隱私的基礎(chǔ)上,盡可能地提高數(shù)據(jù)的準(zhǔn)確性。
常用的隱私保護(hù)技術(shù)可以分為以下3類[10]。
(1)基于數(shù)據(jù)加密的技術(shù)。通常是利用加密技術(shù)對個體敏感屬性進(jìn)行相應(yīng)處理[11-12]。由于政府信息發(fā)布或數(shù)據(jù)共享的原則是盡可能地提供原始數(shù)據(jù),這種方式一般并不適合于政府?dāng)?shù)據(jù)發(fā)布共享場景。
(2)基于數(shù)據(jù)失真的技術(shù)。通常采用擾動失真的方式對敏感屬性進(jìn)行處理,例如添加噪聲[13-14]、交換[15]、隨機(jī)化[16]等。這種方式在一定程度上保持了數(shù)據(jù)的統(tǒng)計特性,經(jīng)常被應(yīng)用于統(tǒng)計領(lǐng)域。對于政府?dāng)?shù)據(jù)發(fā)布場景,該方式能夠滿足公眾對政府?dāng)?shù)據(jù)知情權(quán)的需要。
(3)基于限制的發(fā)布技術(shù)。通常是采用降低發(fā)布精度的方式處理敏感數(shù)據(jù)集,例如數(shù)據(jù)泛化[17]、隱匿[18]、聚類[19]等。該類技術(shù)主要集中于研究數(shù)據(jù)匿名化方法。對于政府?dāng)?shù)據(jù)共享場景,該方式保證了數(shù)據(jù)的原有特性,更適合于政府部門間使用。
分析政府?dāng)?shù)據(jù)共享中存在的隱私泄露風(fēng)險,構(gòu)建基于政務(wù)云+霧計算的政府?dāng)?shù)據(jù)共享隱私保護(hù)框架,提出了基于中心點聚類的K 匿名數(shù)據(jù)共享方法,進(jìn)一步減輕了公民隱私顧慮,提高了共享數(shù)據(jù)質(zhì)量,進(jìn)而促進(jìn)了政府?dāng)?shù)據(jù)共享更快更好地發(fā)展。
政務(wù)云+霧計算模式,簡單來說,就是充分利用政務(wù)云與霧計算優(yōu)勢,整合兩者資源,相互協(xié)作共同推進(jìn)政府?dāng)?shù)據(jù)公開,提升政府治理水平。政務(wù)云+霧計算模式主要分成3個部分:
(1)用戶層是由第三方社會組織、企業(yè)、公眾所擁有的智能終端和這些智能終端產(chǎn)生的海量數(shù)據(jù)所構(gòu)成。一般來說,認(rèn)為政府機(jī)關(guān)采集數(shù)據(jù)是可信的,數(shù)據(jù)采集存儲過程不存在隱私泄露現(xiàn)象。
(2)政府霧層是由政府目前擁有的大量軟硬件設(shè)備所組成。政府各部門通過其自身設(shè)備優(yōu)勢,建立本部門政府霧服務(wù)器,管理其自身業(yè)務(wù),并向政務(wù)云層提供資源整合共享的支持。政府霧層提供數(shù)據(jù)存儲、計算、隱私保護(hù)的功能,在霧層不僅可以對接收到的用戶層數(shù)據(jù)進(jìn)行本地實時分析處理,而且可以在部門內(nèi)部直接進(jìn)行數(shù)據(jù)隱私處理,降低隱私數(shù)據(jù)泄露風(fēng)險。
(3)政務(wù)云層接收來自霧層隱私數(shù)據(jù)庫的數(shù)據(jù),并進(jìn)行整體性分析處理。政務(wù)云層既可以滿足政府機(jī)構(gòu)對于高性能計算的要求,又能促進(jìn)公共服務(wù)水平。例如在政務(wù)云層,政府部門可以利用云的高性能服務(wù)器分析處理大量政府?dāng)?shù)據(jù),輔助人工決策;可以將數(shù)據(jù)進(jìn)行發(fā)布公開,彌補(bǔ)之前的公眾與政府間的數(shù)據(jù)不對稱現(xiàn)象;可以提供多種應(yīng)用服務(wù),簡化傳統(tǒng)辦事流程、方便解決民生問題。
對于政府機(jī)構(gòu)來說,使用政務(wù)云+霧計算模式的優(yōu)勢在于:充分利用政府內(nèi)部現(xiàn)有設(shè)備資源,減少大量購買高性能設(shè)備的支出;充分利用相互協(xié)作的多方終端或者邊緣設(shè)備共同執(zhí)行計算或存儲功能,減少政務(wù)云對于高帶寬、高性能的需求,提高了數(shù)據(jù)處理效率,降低政務(wù)云建設(shè)成本;充分利用霧計算提供的隱私保護(hù)功能,提高政府?dāng)?shù)據(jù)發(fā)布共享的安全性與隱私性,有助于增強(qiáng)政府公信力。
因此,利用政務(wù)云+霧計算模式有助于政府解決信息化建設(shè)過程中存在的諸多問題。例如,自媒體時代的發(fā)展,促使互聯(lián)網(wǎng)已成為了網(wǎng)民發(fā)表意見的集散地,為保障國家安全、維護(hù)政府形象、促進(jìn)民生改善,政府必須及時了解輿情發(fā)展動態(tài)以判斷未來發(fā)展趨勢。此時,實時性就成為了政府輿情監(jiān)測的關(guān)鍵。通過使用政務(wù)云+霧計算模式,利用霧計算在政府本地就可以對輿情信息進(jìn)行過濾、匯總,并對事件進(jìn)行實時的處理。后續(xù)再將統(tǒng)計數(shù)據(jù)傳輸給政務(wù)云端,借助云平臺強(qiáng)大的計算能力對多方信息進(jìn)行大數(shù)據(jù)分析,幫助預(yù)測輿情發(fā)展趨勢,指導(dǎo)政府下一步?jīng)Q策。
基于現(xiàn)有的政務(wù)云平臺基礎(chǔ)架構(gòu),結(jié)合霧計算的思想以及隱私保護(hù)的需求,設(shè)計了政務(wù)云+霧模式的隱私保護(hù)政府?dāng)?shù)據(jù)共享框架,如圖1所示。政府?dāng)?shù)據(jù)共享層面上的隱私服務(wù)只涉及政府霧層部分。由于政府部門共享的數(shù)據(jù)多為不宜向社會開放的、有價值的、高敏感性的數(shù)據(jù),當(dāng)其它部門未妥善利用該數(shù)據(jù)時,可能造成隱私信息的泄露。為防止這種現(xiàn)象的發(fā)生,也需要在政府霧層對共享數(shù)據(jù)進(jìn)行隱私化處理。當(dāng)數(shù)據(jù)隱私保護(hù)后,政府部門就可以通過霧霧鏈接直接進(jìn)行數(shù)據(jù)共享。
圖1 政務(wù)云+霧模式的隱私保護(hù)政府?dāng)?shù)據(jù)發(fā)布共享框架
利用霧霧鏈接不單可以使政府方便地處理本部門事務(wù),還能將各部門聯(lián)系在一起,幫助提高業(yè)務(wù)協(xié)同處理能力及辦事效率。霧計算的使用改變了原有的政府?dāng)?shù)據(jù)共享方式,新的方式不再基于數(shù)據(jù)資源共享平臺,而是利用政府霧鏈接關(guān)系直接共享數(shù)據(jù)。這一共享方式,需要政府著重考慮隱私保護(hù)問題。
原有的政府?dāng)?shù)據(jù)共享方式在面對敏感信息保護(hù)方面,主要依托一個前提假設(shè),即數(shù)據(jù)資源共享發(fā)布平臺能夠保證不會泄露或竊取用戶信息。然而,無論是從政策還是技術(shù)角度分析,都沒有絕對安全、隱私的數(shù)據(jù)資源共享發(fā)布平臺。借助于政務(wù)霧服務(wù),政府部門不再需要數(shù)據(jù)資源共享平臺作為媒介,部門之間可以利用霧霧鏈接快速共享傳播各類信息事務(wù)。與此同時隱私保護(hù)技術(shù)的加入避免了公民隱私信息泄露,保證了關(guān)鍵信息傳遞的及時性和隱私性。從長遠(yuǎn)來看,政府部門間的霧霧鏈接共享方式需要尋求可靠、安全的隱私保護(hù)方法及實現(xiàn)方式,以達(dá)到隱私保護(hù)數(shù)據(jù)共享的目的。圖2為基于霧層的隱私保護(hù)政府?dāng)?shù)據(jù)共享流程。
圖2 基于霧層的隱私保護(hù)政府?dāng)?shù)據(jù)共享流程
具體來說,基于霧層的隱私保護(hù)政府?dāng)?shù)據(jù)共享流程包括:
(1)政府通過對其數(shù)據(jù)庫查詢,挑選符合政策和法律規(guī)范的擬發(fā)布數(shù)據(jù);
(2)利用隱私保護(hù)服務(wù)器執(zhí)行數(shù)據(jù)共享隱私保護(hù)算法,并將得到共享數(shù)據(jù)存于隱私保護(hù)數(shù)據(jù)庫中;
(3)依照申請情況,利用霧霧鏈接將數(shù)據(jù)共享給其它政府部門。
通過分析基于霧層的隱私保護(hù)政府?dāng)?shù)據(jù)共享流程,有助于確立政府?dāng)?shù)據(jù)共享機(jī)制。假設(shè)政府?dāng)?shù)據(jù)共享過程涉及2個實體,數(shù)據(jù)資源提供者與數(shù)據(jù)資源需求者都為政府行政部門。數(shù)據(jù)資源需求者要向數(shù)據(jù)資源提供者申請所需共享數(shù)據(jù),在審核通過后,數(shù)據(jù)資源提供者就可在其隱私數(shù)據(jù)庫查找所需數(shù)據(jù)表,并將所查數(shù)據(jù)涵蓋的數(shù)據(jù)表統(tǒng)一共享給數(shù)據(jù)資源需求者。如圖3為政府?dāng)?shù)據(jù)共享機(jī)制。
由于政府?dāng)?shù)據(jù)種類較多,每個種類的作用也不盡相同。相同的數(shù)據(jù)應(yīng)用于不同的場景中,在含義上也可能發(fā)生變化。針對政府?dāng)?shù)據(jù)的特殊性,將政府?dāng)?shù)據(jù)集屬性定為3類:(1)標(biāo)識符屬性,例如納稅人姓名、身份證號、銀行卡號碼等能直接識別出特定個人的屬性集合;(2)敏感屬性,例如企業(yè)年收入、購房人購房支出、納稅人納稅金額等個人不愿對外披露的敏感屬性集合;(3)非敏感屬性,上述屬性之外的所有屬性集合。
圖3 政府?dāng)?shù)據(jù)共享機(jī)制
基于中心點聚類的K 匿名數(shù)據(jù)共享方法主要分為3個步驟。
Step 1:數(shù)據(jù)屬性預(yù)處理。利用中心點聚類算法將敏感屬性與非敏感屬性按照相關(guān)度大小劃分開,使得相關(guān)度較大的非敏感屬性劃分為一組,并且選取較少數(shù)量的非敏感屬性與敏感屬性劃分為一組。數(shù)據(jù)屬性預(yù)處理在降低數(shù)據(jù)維度提高算法執(zhí)行效率的同時,可以有效平衡數(shù)據(jù)隱私性與可用性之間的關(guān)系,為后續(xù)數(shù)據(jù)共享算法奠定基礎(chǔ)。
Step 2:基于中心點的記錄相似度聚類算法。通過使用聚類技術(shù),利用Gower’s系數(shù)計算記錄間的距離,可將數(shù)據(jù)記錄劃分成若干個簇,并使得同簇記錄間具有較高的相似度、異簇記錄間具有較高的差異性。由于同簇記錄相似程度高,記錄之間對應(yīng)屬性值更為接近,后續(xù)對各簇進(jìn)行K 匿名處理時,可以降低屬性泛化程度,保證數(shù)據(jù)的可用性。
Step 3:K 匿名簇共享算法。使用泛化技術(shù)對未完全符合K 匿名要求的簇進(jìn)行處理,得到完全K 匿名簇,并將匿名數(shù)據(jù)以數(shù)據(jù)表的形式存于隱私數(shù)據(jù)庫中。根據(jù)政府其它部門數(shù)據(jù)共享需求,在本部門隱私數(shù)據(jù)庫中篩選所需屬性列對應(yīng)的數(shù)據(jù)表,并將所查屬性覆蓋的所有數(shù)據(jù)表統(tǒng)一共享給需求部門。
數(shù)據(jù)屬性預(yù)處理需要考慮兩方面的問題,一是如何對屬性列進(jìn)行劃分,二是如何選取合適的劃分?jǐn)?shù)量。
3.1.1 數(shù)據(jù)屬性列劃分
選取K中心點聚類算法作為數(shù)據(jù)屬性列劃分方法。K 中心點聚類算法的實現(xiàn)很大程度上取決于距離的計算。若使用K中心點聚類算法對政府?dāng)?shù)據(jù)屬性進(jìn)行劃分,就需要找到合適的指標(biāo)以衡量數(shù)據(jù)屬性之間的距離。借助克萊姆相關(guān)系數(shù)來衡量2個屬性間相關(guān)度的大小,并根據(jù)相關(guān)度與距離的關(guān)系,得到屬性間距離??巳R姆相關(guān)系數(shù)被設(shè)計衡量2個分類型屬性相關(guān)性的強(qiáng)弱,取值范圍為[0,1][20]。克萊姆系數(shù)越靠近1,代表2個分類屬性的相關(guān)性越強(qiáng),越靠近0相關(guān)性越弱。其中克萊姆相關(guān)系數(shù)的計算公式為
式中,R、C 分別為2個分類型屬性的枚舉數(shù)值;n為數(shù)據(jù)量;x2為pearson卡方統(tǒng)計量。因此,結(jié)合數(shù)據(jù)隱私性和可用性的雙重需求,本章利用K 中心點聚類算法實現(xiàn)數(shù)據(jù)屬性列劃分的具體流程如下。
Step 1:計算各屬性列間相關(guān)度的大小。若政府?dāng)?shù)據(jù)中存在連續(xù)型屬性,則需要預(yù)先對該屬性進(jìn)行離散化處理,即將連續(xù)型屬性按照屬性值大小劃分為多個大小相等的區(qū)間段。此時,每個區(qū)間段都可看作分類型屬性的取值,繼續(xù)利用克萊姆相關(guān)系數(shù)進(jìn)行計算即可。
Step 2:找到與敏感屬性列相關(guān)度最高的屬性列,并將兩者合并為一個集合。
Step 3:利用K 中心點聚類算法對剩余屬性列進(jìn)行劃分。其中,距離的計算方法為D=1-V,即克萊姆相關(guān)系數(shù)越小,距離越大,越難劃分至一個集合中。
3.1.2 選取合適的劃分?jǐn)?shù)量
在使用K 中心點算法進(jìn)行聚類時,需要事先給出聚類個數(shù),即K 值。由于屬性劃分?jǐn)?shù)直接影響著后續(xù)操作的順利進(jìn)行,找到相應(yīng)的評判指標(biāo),確定劃分?jǐn)?shù)量是十分必要的。本節(jié)通過選用輪廓系數(shù)值判斷聚類效果,幫助確定劃分?jǐn)?shù)量。輪廓系數(shù)可對任意距離進(jìn)行度量(如歐式距離、馬氏距離等),對于數(shù)據(jù)屬性列劃分所采用的距離計算方式也同樣適用。輪廓系數(shù)通過分析內(nèi)聚度和分離度這2個因素來實現(xiàn)聚類效果的判斷[21]。利用輪廓系數(shù),有助于找到聚類數(shù)目下最優(yōu)聚類結(jié)果。在實際應(yīng)用中,為盡可能地保護(hù)數(shù)據(jù)的原始性,k值的取值一般也不會很大,通過簡單判斷就可得到最優(yōu)k值。為避免出現(xiàn)局部最優(yōu)解的情況,所有出現(xiàn)的值都需要多次運(yùn)行K 中心點算法,并且計算每一個k值對應(yīng)的平均輪廓系數(shù),最后選擇擁有最大輪廓系數(shù)的k值作為最終劃分?jǐn)?shù)。
因此,通過數(shù)據(jù)屬性預(yù)處理,將原始數(shù)據(jù)表按照最優(yōu)屬性劃分的方法進(jìn)行了劃分,得到了多張屬性相關(guān)度最高的數(shù)據(jù)表。
根據(jù)上一步操作得到了多張屬性關(guān)聯(lián)度最高的數(shù)據(jù)表,以其中一張數(shù)據(jù)表為例,介紹如何對表中記錄進(jìn)行聚類以滿足K 匿名的初步要求。其余多張數(shù)據(jù)表均可依照下述方法進(jìn)行處理。
依然使用中心點聚類算法解決政府?dāng)?shù)據(jù)記錄相似度聚類問題?;谥行狞c的記錄相似度聚類算法核心思想是:將包含k條記錄的數(shù)據(jù)表,利用聚類技術(shù)聚成多個簇,使得每個簇中的記錄數(shù)目至少為k條,且要求各簇內(nèi)部記錄差距最小。因此,基于中心點的記錄相似度聚類算法實現(xiàn)過程主要分為以下2個步驟:
Step 1:結(jié)合有效的記錄距離度量方式,利用中心點聚類算法產(chǎn)生各簇;
Step 2:判斷簇中的記錄數(shù)目,對并不滿足數(shù)目要求的簇進(jìn)行調(diào)整。
3.2.1 基于Gower’s系數(shù)的政府記錄聚類
政府?dāng)?shù)據(jù)種類較多,同一數(shù)據(jù)表中可能同時含有數(shù)值型屬性及分類型屬性。常見的相似度計算方法都是針對單一屬性的,對于數(shù)值型屬性,通常使用常見的距離計算方法進(jìn)行直接度量;對于分類型屬性,一般借助分類樹進(jìn)行度量,即需要根據(jù)屬性值建立準(zhǔn)確語義關(guān)系。對于政府?dāng)?shù)據(jù)來說,很難通過語義關(guān)系建立政府?dāng)?shù)據(jù)分類樹,常用的度量方式并不完全滿足政府?dāng)?shù)據(jù)的需求。因此,針對政府?dāng)?shù)據(jù)的特點,采用Gower’s廣義相異系數(shù)來解決政府混合型數(shù)據(jù)度量問題。
Gower’s廣義相異系數(shù),簡稱Gower’s系數(shù),被設(shè)計描述不同類型變量下樣本間的距離[22]。利用Gower’s廣義相異系數(shù)可獲得記錄間距離,具體實現(xiàn)步驟為:首先,計算各類型變量的均值與標(biāo)準(zhǔn)差,其中分類型變量需根據(jù)屬性值劃分為二分變量(即0/1變量)后再進(jìn)行計算;然后,標(biāo)準(zhǔn)化各類型變量值,數(shù)值型屬性是對應(yīng)值減去平均值再除以標(biāo)準(zhǔn)差,分類型屬性以同樣方式標(biāo)準(zhǔn)化后再乘以補(bǔ)償系數(shù)(補(bǔ)償0/1編碼),其中補(bǔ)償系數(shù)為;最后,根據(jù)歐式距離計算標(biāo)準(zhǔn)化后2條記錄間的距離,其中,歐式距離的計算
式中,xi、yi分別為2條記錄對應(yīng)標(biāo)準(zhǔn)化值;n為屬性數(shù)量。
利用Gower’s系數(shù)度量記錄間距離,結(jié)合中心點聚類算法思想就可對政府?dāng)?shù)據(jù)記錄進(jìn)行聚類操作。此過程需要預(yù)先設(shè)定聚類數(shù)目m,結(jié)合K 匿名對簇中的記錄條數(shù)的要求,將含有n 條記錄的政府?dāng)?shù)據(jù)聚類數(shù)定為m=[n/k]。由于已介紹過中心點聚類算法的實現(xiàn)過程,此處就不再進(jìn)行贅述。
3.2.2 簇記錄數(shù)目調(diào)整
計算各簇記錄數(shù)目,當(dāng)簇中記錄數(shù)大于k 時,將距離簇中心較遠(yuǎn)的記錄取出,存于補(bǔ)給數(shù)組中備用;當(dāng)簇中記錄數(shù)小于k時,加入補(bǔ)給數(shù)組中距離簇中心最近的記錄;若各簇記錄數(shù)都等于k條后,補(bǔ)給數(shù)組中仍存在記錄,則需分別計算各簇中心點與補(bǔ)給數(shù)組記錄之間的距離,并將記錄分別分派至最近的簇中。
政府?dāng)?shù)據(jù)在經(jīng)過基于中心點的記錄相似度聚類算法處理后,得到了不少于K 條記錄的簇。然而這些簇并不全滿足于K 匿名的要求,這是因為K 匿名要求簇中的每條記錄是無法區(qū)分的。因此,仍需對聚類得到的各簇進(jìn)行泛化處理。
常見的泛化方式都主要依托于泛化格的構(gòu)建,同構(gòu)建分類樹一樣,政府?dāng)?shù)據(jù)也難以準(zhǔn)確構(gòu)建泛化格,且基于泛化格的泛化方式很容易造成大量的信息損失。比如當(dāng)前聚類簇在工作類型的屬性值為{為私人機(jī)構(gòu)工作,為私人家庭工作},根據(jù)泛化格可能將其劃分為非政府工作類型,這樣無疑加大了信息的損失,使得數(shù)據(jù)難以再次利用。
因此,需對現(xiàn)有泛化方式進(jìn)行重新的定義,使其更加適合于政府?dāng)?shù)據(jù)。具體泛化方式為:對于數(shù)值型屬性,將其最大區(qū)間作為泛化值進(jìn)行共享,即當(dāng)前簇中該屬性的最大值與最小值區(qū)間,如[1,25];對于離散型變量,將其屬性值集合作為泛化值進(jìn)行共享,即當(dāng)前聚類簇中該屬性所含值的集合,如{為私人機(jī)構(gòu)工作,為私人家庭工作,為政府部門工作}。
K 匿名簇共享算法,不僅需要保證數(shù)據(jù)符合K 匿名的要求,還需要實現(xiàn)政府?dāng)?shù)據(jù)共享功能。因此,K匿名簇共享算法的實現(xiàn)過程主要分為以下2個步驟。
Step 1:簇記錄屬性泛化。作為基于中心點聚類的K 匿名數(shù)據(jù)共享方法的最后一步,通過前兩步已得到了多張初步滿足K 匿名條件的數(shù)據(jù)表。K 匿名簇共享算法只需按照上述泛化方式對表進(jìn)行處理,就可得到多張滿足K 匿名條件的數(shù)據(jù)表。
Step 2:政府?dāng)?shù)據(jù)共享方式。當(dāng)政府相關(guān)部門根據(jù)數(shù)據(jù)資源目錄提出資源共享請求并通過審核后,本部門需要根據(jù)其所需屬性列,找到對應(yīng)存儲這些屬性的K 匿名數(shù)據(jù)表(可能涉及一至多張),并將所查數(shù)據(jù)覆蓋的所有數(shù)據(jù)表統(tǒng)一共享給所需部門。
為驗證所提算法的有效性,使用Kaggle提供的菲律賓家庭收入支出數(shù)據(jù)集,對提出的基于中心點聚類的K 匿名數(shù)據(jù)共享方法進(jìn)行分析。使用Incognito算法作為對比實驗,Incognito算法是經(jīng)典的K 匿名隱私保護(hù)算法,且其應(yīng)用范圍相當(dāng)廣泛,具有較高的參考價值。
假設(shè)以下屬性為政府需求部門所需屬性列,其中Household Head Sex(戶主性別)、Main Source of Income(收入來源)、Household Head Age(戶主年齡)、Household Head Class of Worker(工作類型)、Household Head Marital Status(婚姻狀態(tài))、Type of Household(房屋類型)為非敏感屬性,Household Head Occupation(戶主工作)為敏感屬性。上述屬性中只有Household Head Age為數(shù)值型屬性,其余都為分類型屬性。
通過計算信息損失量來分析共享數(shù)據(jù)質(zhì)量,信息損失程度高則數(shù)據(jù)質(zhì)量相對較低。一般情況下,信息損失程度可以通過數(shù)據(jù)處理前后發(fā)生的變化分析?;谥行狞c聚類的K 匿名數(shù)據(jù)共享算法最終是否可用,在很大程度上取決于該算法造成的信息損失大小。
所提算法涉及的數(shù)據(jù)屬性預(yù)處理部分僅僅是對數(shù)據(jù)表進(jìn)行劃分處理,并未影響屬性的使用,而且根據(jù)KMedoid-based KADS算法所提出的數(shù)據(jù)共享方式分析,也不存在屬性間的信息損失。因此,即使政府需求部門所需屬性列可能分散在共享數(shù)據(jù)庫中的多個表中,仍可以將所需屬性列看作一張數(shù)據(jù)表,統(tǒng)一計算信息損失量。將本文涉及的信息損失進(jìn)行定義。
設(shè)T*是政府需求部門所需數(shù)據(jù)表T 經(jīng)過隱私處理得到的匿名數(shù)據(jù)表,t是匿名表中的一個簇,|t|是該簇中含有的記錄數(shù),|T*|是匿名數(shù)據(jù)表含有簇的個數(shù),A 代表數(shù)值型屬性列,B 代表分類型屬性列。a1,…,an代表簇中含有數(shù)值型屬性列,a1,…,an在簇t上的信息損失為
式中,aimax、aimin分別為當(dāng)前數(shù)值型屬性在簇t上的最大值、最小值;|Ai|為當(dāng)前數(shù)值型屬性在T*上的區(qū)間差值。
b1,…,bm代表簇中含有分類型屬性列,b1,…,bm在簇t上的信息損失為
式中,bjsum 為當(dāng)前分類型屬性在簇t上含有的不同值個數(shù);|Bj|為當(dāng)前分類型屬性在匿名數(shù)據(jù)集上的含有的不同值個數(shù)。因此,對于簇t來說,其匿名處理產(chǎn)生的信息損失為
對于整個匿名數(shù)據(jù)表T*來說,其信息損失量為
圖4顯示了不同k 值下,2種算法信息損失情況。根據(jù)對比實驗可以看出,提出的KMedoid-based KADS算法在所有的k值下都顯示出較小的損失量。這是因為KMedoid-based KADS算法保證了每個簇中記錄的相似性,降低了泛化程度,提高了數(shù)據(jù)的可用性。從圖中還可以觀察出2個算法的信息損失程度都隨著k值的增加而增大,這是因為k值數(shù)目的提高會導(dǎo)致簇中記錄條數(shù)增加,從而需要更多泛化處理。
圖5顯示了k=15下隨非敏感屬性數(shù)量增加,信息損失量的變化情況。從圖中可以觀察出,在各個數(shù)值下KMedoid-based KADS算法都顯示出較高的優(yōu)勢。這是因為Incognito算法使用的全域泛化方式過于拘謹(jǐn),造成了較大的信息損失。從圖中還可以看出,隨著非敏感屬性數(shù)量的增加,信息損失量的數(shù)量也在逐漸升高。這是因為無論是哪一種算法都不可避免地使用泛化技術(shù),非敏感屬性數(shù)量增多,需要泛化的位置增加,相應(yīng)的數(shù)據(jù)可用性也會降低。
圖4 不同k值下的信息損失量
圖5 不同非敏感屬性下的信息損失量
隨著公共數(shù)據(jù)開放共享的日益普及,公民隱私保護(hù)已成為政府?dāng)?shù)據(jù)共享領(lǐng)域關(guān)注的熱點問題。然而,目前政府在數(shù)據(jù)共享方面上都存在著不同程度的隱私泄露風(fēng)險。研究如何在保護(hù)公民隱私的基礎(chǔ)上有效提高數(shù)據(jù)的可用性尤為重要。本文構(gòu)建了基于政務(wù)云+霧計算模式的隱私保護(hù)政府?dāng)?shù)據(jù)共享框架,研究了基于中心點聚類的K 匿名數(shù)據(jù)共享方法。通過與經(jīng)典匿名Incognito算法進(jìn)行實驗比較,所提出的KMedoid-based KADS算法能有效減少信息損失量,提高數(shù)據(jù)共享質(zhì)量。
下一步的研究可以結(jié)合政府同部門跨層級資源共享需求,研究在霧層實現(xiàn)跨層級數(shù)據(jù)共享中的隱私保護(hù)總體解決方案,進(jìn)一步完善基于中心點聚類的K 匿名數(shù)據(jù)共享方法,使其可以適應(yīng)不同的共享需求。