基于短文本的食源性疾病事件探测技术
祝天剛1,2,郭旦懷1,王學(xué)志1,黎建輝1,周園春1
1. 中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190; 2. 中國(guó)科學(xué)院大學(xué),北京 100049
摘要:微博數(shù)據(jù)是短文本事件探測(cè)的典型數(shù)據(jù)源,由于微博內(nèi)容的多樣性、稀疏性和碎片性,現(xiàn)有事件探測(cè)方法使用的數(shù)據(jù)源單一且噪聲較大,在時(shí)空信息的發(fā)現(xiàn)上粒度過(guò)大,導(dǎo)致結(jié)果的準(zhǔn)確性差。因此,在事件探測(cè)算法上提出動(dòng)態(tài)上下文窗口算法,構(gòu)建候選微博進(jìn)行事件探測(cè),提高了事件探測(cè)的效率和精度。并提出利用微博內(nèi)容發(fā)現(xiàn)特定事件地理位置信息的算法,提高了事件時(shí)空信息的獲取精度。最后應(yīng)用于食源性疾病事件的自動(dòng)探測(cè)中,相比以往的事件探測(cè)方法,擴(kuò)大了數(shù)據(jù)來(lái)源,且時(shí)間和空間維度上的準(zhǔn)確性得到顯著提高。
關(guān)鍵詞:短文本;事件探測(cè);時(shí)空信息;微博;食源性疾病
中圖分類號(hào):TP399 ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
doi: 10.11959/j.issn.2096-0271.2016022
Foodborne diseases event detection based on short text
ZHU Tiangang 1,2 , GUO Danhuai 1 , WANG Xuezhi 1 , LI Jianhui 1 , ZHOU Yuanchun 1
1. Computer Network Information Center, Chinese Academy of Science, Beijing 100190, China
2. University of the Chinese Academy of Sciences, Beijing 100049, China
Abstract: MicroBlog is a typical short text data source for event detection. Because of diversity, sparsity and debris in MicroBlog content, using existing event detection method is ineffective, and the event spatio-temporal information is inaccurate. To the end, a dynamic context window algorithm was proposed, improved the efficiency and precision of event detection of foodborne diseases based on MicroBlog. Moreover, an algorithm was developed which can get spatio-temporal information from MicroBlog more accurate. Finally, extensive experiments on event detection of foodborne diseases show the proposed method can help to expand the data source and improve the accuracy of time and space dimension.
Key words: short text, event detection, spatio-temporal information, MicroBlog, foodboorne disease
1? 引言
隨著互聯(lián)網(wǎng)的全面普及,大量的數(shù)據(jù)隨之產(chǎn)生[1,2],經(jīng)常為人提及的“信息爆炸”迅速具體化為“數(shù)據(jù)爆炸”。每一名互聯(lián)網(wǎng)用戶,不僅可以是互聯(lián)網(wǎng)信息的瀏覽者,同時(shí)也是互聯(lián)網(wǎng)信息的制造者[3]。大量數(shù)據(jù)的涌現(xiàn)可以充分豐富人們的信息來(lái)源,但是人們獲得高質(zhì)量信息的難度大大增加[4]。這一問(wèn)題在短文本領(lǐng)域表現(xiàn)更為突出。從大量繁雜的短文本數(shù)據(jù)中找到有價(jià)值的信息,即基于短文本的事件探測(cè),目前正成為文本領(lǐng)域最熱的研究話題之一。
微博數(shù)據(jù)作為一種典型的短文本數(shù)據(jù),成為了基于短文本事件探測(cè)的典型數(shù)據(jù)來(lái)源。每個(gè)人能隨時(shí)隨地、方便快捷地將發(fā)生在自身或身邊的事通過(guò)微博共享給整個(gè)網(wǎng)絡(luò)。因此微博數(shù)據(jù)除了擁有短文本數(shù)據(jù)的特點(diǎn)之外,還具有數(shù)據(jù)量大、內(nèi)容豐富且轉(zhuǎn)換快、群體性強(qiáng)和有時(shí)序性等典型特點(diǎn)[5,6]。微博的大數(shù)據(jù)量、廣覆蓋度和高活躍度等特性使其數(shù)據(jù)本身蘊(yùn)含豐富的有價(jià)值的事件。微博數(shù)據(jù)也成了短文本分析的高質(zhì)量數(shù)據(jù)[7,8]。
食源性疾病是指通過(guò)攝食而進(jìn)入人體的有毒有害物質(zhì)(包括生物性病原體)等致病因子所造成的疾病,目前已經(jīng)成為我國(guó)食品安全的頭等問(wèn)題。隨著人們生活水平的不斷提高,對(duì)食源性疾病的關(guān)注程度也迅速增長(zhǎng)。微博作為人們?nèi)粘I钪芯W(wǎng)絡(luò)社交的最主要手段之一,大量的數(shù)據(jù)中含有各種有關(guān)食源性疾病的信息[9]。從微博數(shù)據(jù)中,利用短文本數(shù)據(jù)事件探測(cè)的關(guān)鍵技術(shù)發(fā)現(xiàn)食源性疾病事件,不僅擁有很高的可行性,而且具有很大的價(jià)值。
本文以基于微博數(shù)據(jù)的食源性疾病事件探測(cè)為例,對(duì)基于短文本的事件探測(cè)關(guān)鍵技術(shù)進(jìn)行了研究和實(shí)踐。以微博作為數(shù)據(jù)源,利用其數(shù)據(jù)量大、內(nèi)容豐富且實(shí)時(shí)性強(qiáng)等特點(diǎn),對(duì)引起人們廣泛關(guān)注的食源性疾病進(jìn)行事件探測(cè)。其中包括兩個(gè)重要部分:一是從大量的微博數(shù)據(jù)中,發(fā)現(xiàn)有關(guān)某特定食源性疾病事件,并抽取出合適的關(guān)鍵詞來(lái)描述該事件;二是確定食源性疾病事件后,找到該事件的時(shí)空信息。
?
2? 相關(guān)工作
在文本挖掘領(lǐng)域,基于短文本的事件發(fā)現(xiàn)占有極重要的位置。隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來(lái),“碎片化”已經(jīng)成為現(xiàn)在互聯(lián)網(wǎng)數(shù)據(jù)的一個(gè)最典型特點(diǎn)[10],其中最具代表性的莫過(guò)于微博數(shù)據(jù)。由于微博數(shù)據(jù)本身的特點(diǎn),事件發(fā)生的時(shí)間可以直接獲取,事件的兩個(gè)重要要素(即事件的關(guān)鍵詞[11,12]和事件發(fā)生[13]的地點(diǎn))則成為基于微博數(shù)據(jù)的事件發(fā)現(xiàn)這一問(wèn)題的研究重點(diǎn)。
隨著互聯(lián)網(wǎng)時(shí)代的到來(lái)和廣泛普及,微博的使用用戶越來(lái)越多,微博的功能也越來(lái)越豐富。微博不僅可以方便用戶在任何時(shí)候獲取世界各地的信息,還使每一個(gè)微博用戶成為一個(gè)信息提供者,甚至是新聞發(fā)布者。人們頻繁地、實(shí)時(shí)地發(fā)布信息,使得微博成為發(fā)現(xiàn)事件的一個(gè)重要信息來(lái)源[14-17],基于微博數(shù)據(jù)的事件探測(cè),可以幫助人們解決越來(lái)越多的問(wèn)題。例如眾多體育賽事的戰(zhàn)況,可以在微博中近乎實(shí)時(shí)地獲得[18,19];通過(guò)實(shí)時(shí)分析Twitter數(shù)據(jù),在偵測(cè)地震事件中其響應(yīng)速度甚至超過(guò)了任何一家傳統(tǒng)媒體[20-22]。但是,利用微博數(shù)據(jù)對(duì)人們?nèi)找骊P(guān)心的食源性疾病事件進(jìn)行探測(cè)、分析的相關(guān)研究還比較少。主要面臨如下兩方面的挑戰(zhàn):一是微博內(nèi)容比較短、信息噪音比較大[23,24]、主題變化快[25,26],每條微博最多只能寫140個(gè)字,而且用戶比較隨意,導(dǎo)致微博內(nèi)容中會(huì)有大量短語(yǔ)、簡(jiǎn)略語(yǔ)等,與標(biāo)準(zhǔn)的語(yǔ)句略有不同,噪聲較大[27-29],而且微博有很高的實(shí)時(shí)性[30,31],導(dǎo)致相鄰微博可能完全表達(dá)不同主題的事件[32,33];二是事件地理位置信息難以獲取[34],微博數(shù)據(jù)中食源性疾病事件的地理位置信息數(shù)據(jù)可以通過(guò)用戶簽到信息獲取,但是這類數(shù)據(jù)十分稀疏[35],而通過(guò)其他途徑獲取事件地理位置信息則十分困難[36]。
針對(duì)上述挑戰(zhàn),本文提出了動(dòng)態(tài)上下文窗口算法,構(gòu)建候選微博集合,擴(kuò)充了較高質(zhì)量數(shù)據(jù)源來(lái)進(jìn)行事件探測(cè),提高了事件探測(cè)的效率和精度;又提出利用微博內(nèi)容發(fā)現(xiàn)特定事件地理位置信息的算法,提高了事件時(shí)空信息的獲取精度。
?
3 ?微博數(shù)據(jù)的食源性疾病事件探測(cè)
基于微博數(shù)據(jù)的食源性疾病事件探測(cè)主要需要解決兩個(gè)問(wèn)題:一是從微博數(shù)據(jù)中發(fā)現(xiàn)食源性疾病事件;二是確定食源性疾病事件時(shí)空信息。針對(duì)這兩個(gè)問(wèn)題,本文提出了新的方法,即動(dòng)態(tài)確定事件的上下文微博來(lái)發(fā)現(xiàn)食源性疾病事件;利用指定微博內(nèi)容結(jié)合輔助數(shù)據(jù),準(zhǔn)確獲取事件時(shí)空信息。本節(jié)將對(duì)這兩個(gè)方法進(jìn)行詳細(xì)的介紹。
3.1 ?數(shù)據(jù)預(yù)處理
盡管微博數(shù)據(jù)量很大,很有價(jià)值,但是其中含有的噪音數(shù)據(jù)也很多。為了能夠更好地進(jìn)行后續(xù)實(shí)驗(yàn)、研究,需要對(duì)微博數(shù)據(jù)進(jìn)行一定的過(guò)濾等預(yù)處理工作。抓取的是從2014年8-10月北京用戶的新浪微博,并從中進(jìn)行篩選。從北京市疾病防控中心獲得食源性疾病的癥狀表現(xiàn)描述詞,然后通過(guò)領(lǐng)域?qū)<?#xff0c;即醫(yī)院相關(guān)門診醫(yī)生對(duì)該詞表中的詞進(jìn)行選擇并口語(yǔ)化,最終得到一份描述食源性疾病的關(guān)鍵詞詞表,共32個(gè)詞(吞咽困難、口干、虛脫、腹部不適、脹痛、脹氣、血尿、昏迷等)。在篩選微博時(shí),用最基本的字符串匹配方式,如果一條微博中含有食源性疾病關(guān)鍵詞表中的一個(gè)或多個(gè)詞,那么該微博用戶的最近200條微博就被選取留下。按照這種規(guī)則,選取了共93萬(wàn)戶左右的用戶,他們的微博中至少含有一個(gè)食源性疾病關(guān)鍵詞。這些用戶的微博總共9500多萬(wàn)條。這樣篩選過(guò)的微博都是與食源性疾病相關(guān)的微博,篩選過(guò)的微博用戶都是與食源性疾病有關(guān)的用戶。
為了避免微博營(yíng)銷賬戶、“僵尸”賬戶等非真實(shí)賬戶的負(fù)面影響,利用SVM[37]算法訓(xùn)練分類器,根據(jù)微博賬戶分類特征(關(guān)注數(shù)、粉絲數(shù)、個(gè)人描述長(zhǎng)度、微博總數(shù)、平均轉(zhuǎn)發(fā)數(shù)、平均點(diǎn)贊數(shù)、平均評(píng)論數(shù)、微博平均長(zhǎng)度、微博發(fā)布時(shí)間段、平均@數(shù)、微博平均鏈接數(shù)),對(duì)微博數(shù)據(jù)進(jìn)行過(guò)濾,得到占總量31%左右的微博數(shù)據(jù)。對(duì)過(guò)濾后得到的微博數(shù)據(jù)進(jìn)行分詞,并建立詞向量等,為進(jìn)行食源性疾病事件探測(cè)做準(zhǔn)備。
為了更準(zhǔn)確地利用微博數(shù)據(jù)進(jìn)行食源性疾病事件探測(cè),本文還使用了其他外部數(shù)據(jù)作為輔助。通過(guò)對(duì)食源性疾病本身特點(diǎn)和發(fā)病人群的分析發(fā)現(xiàn),大部分食源性疾病事件的發(fā)生通常都是人們?cè)谀筹埖昃筒秃蟆6谖⒉┲?#xff0c;人們通常不會(huì)準(zhǔn)確寫出飯店的地理位置,而是會(huì)直接提及飯店名。為了從微博數(shù)據(jù)中獲取準(zhǔn)確的時(shí)間、地理位置信息,利用大眾點(diǎn)評(píng)網(wǎng)(www.dianping.com)上的飯店信息數(shù)據(jù)作為輔助數(shù)據(jù)。其中含有大量商戶信息,包括商戶地理位置信息。另外,在用戶的微博內(nèi)容中還有可能提及街道名、地名等行政區(qū)劃名稱,雖然口語(yǔ)化嚴(yán)重,但仍然可以為事件地理位置的確定提供重要線索。利用博雅信息網(wǎng)上北京地區(qū)的行政區(qū)劃信息,可以準(zhǔn)確地確定微博內(nèi)容中提及的地理位置信息,從而大大提高食源性疾病事件探測(cè)中事件地理位置發(fā)現(xiàn)的準(zhǔn)確性。
3.2 ?發(fā)現(xiàn)食源性疾病事件關(guān)鍵詞
由于微博本身具有數(shù)據(jù)量大、實(shí)時(shí)性高、碎片性強(qiáng)、話題轉(zhuǎn)換快等缺點(diǎn),單條微博所含信息量太小,很難完成食源性疾病事件探測(cè)。擴(kuò)展數(shù)據(jù)來(lái)源就成為提高事件探測(cè)準(zhǔn)確率的必要手段[38]。利用上下文窗口方法選定更多的微博作為事件候選微博。假設(shè)一名用戶微博的時(shí)間序列為S={T1,T2,…,Tk,…,T200}。Tk為這名用戶含有食源性疾病關(guān)鍵詞的一條微博。如果簡(jiǎn)單地采取關(guān)鍵詞字符串匹配的方法選擇微博,只有Tk這條微博會(huì)被選出,但是其他相關(guān)微博也可能含有有關(guān)食源性疾病的其他重要信息,如地理位置等。為了避免這種狀況發(fā)生,一般方法是設(shè)置上下文窗口選取多條微博,構(gòu)成候選微博集,從而擴(kuò)充數(shù)據(jù)源,可用式(1)表示。
C={Tk-i+1, Tk-i+2,…, Tk,…, Tk+j} (0<i<k, k<j<200)????????????? (1)
C表示利用固定上下文窗口得到的候選微博集,上下文窗口為[TP,TQ],即將Tk之前的P條微博到Tk之后的Q條微博,加入候選微博集中。具體過(guò)程如算法1所示。
算法1? 固定上下文窗口算法。
輸入:一名微博用戶按時(shí)間排序的微博序列S;微博上下文窗口上界P;微博上下文窗口下界Q;食源性疾病所在微博Tk。
輸出:候選微博序列C。
初始化參數(shù)C←空;
push Tk into C
for i=1 to Pdo
push Tk-i into C
end for
push Tk into C
for j=1 to Q do
push Tk+j into C
end for
return C
利用固定上下文窗口算法,雖然可以有效擴(kuò)充微博數(shù)據(jù)來(lái)源,避免數(shù)據(jù)稀疏帶來(lái)的事件探測(cè)不準(zhǔn)確的問(wèn)題,但所選微博之間沒(méi)有任何語(yǔ)義關(guān)系,由于微博內(nèi)容主題變換極快,導(dǎo)致上、下界之間的候選微博很可能并不是描述食源性疾病事件,形成明顯的噪聲數(shù)據(jù),最后影響食源性疾病事件探測(cè)的結(jié)果。
為了解決以上問(wèn)題,設(shè)計(jì)了動(dòng)態(tài)設(shè)定上下文窗口算法。微博的上下文窗口依據(jù)微博之間的語(yǔ)義相似度,通過(guò)計(jì)算微博詞向量之間的余弦值計(jì)算,兩個(gè)向量之間的余弦值越大,相似度越高。具體過(guò)程如算法2所示。
算法2? 動(dòng)態(tài)上下文窗口算法。
輸入:一名微博用戶按時(shí)間排序的微博序列S;衰減率η;微博相似度閾值U;微博上下文窗口上屆P;微博上下文窗口下屆Q;食源性疾病所在微博Tk。
輸出:候選微博序列C。
初始化參數(shù)T←Tk,C←空
push Tk into C
for i=1 to Pdo
???????? if Sim(T,Tk-i) > U
?????????????????? push Tk-i into C
?????????????????? T←T+Tk-i
?????????????????? U←U×η
???????? else
?????????????????? break
??? end if
end for
for j=1 to Pdo
???????? ?if Sim(T,Tk+j) > U
?????????????????? push Tk+j into C
?????????????????? T←T+Tk+j
?????????????????? U←U×η
???????? ?else
?????????????????? break
???????? ?end if
end for
return
動(dòng)態(tài)下文窗口構(gòu)建候選微博集的方法,在確定食源性疾病關(guān)鍵詞所在微博Tk后,分別向前、向后利用微博間的文本相似性來(lái)確定上下文窗口。每一條微博與它本身到Tk之間所有的微博之和(即微博分詞結(jié)果的并集)求相似度,如果相似度大于一定閾值U,這條微博就會(huì)被選入候選微博集。以此類推,最終會(huì)動(dòng)態(tài)確定上下文窗口,并得到候選微博集。該算法在選定候選微博時(shí),充分考慮了微博間的語(yǔ)義關(guān)系,保證所選出的微博與食源性疾病事件有很大的相關(guān)性。在有效避免了微博數(shù)據(jù)稀疏性缺點(diǎn)的同時(shí),也避免了過(guò)多的噪音微博被選入,從而提高了食源性疾病事件探測(cè)的準(zhǔn)確率。
從文本中提取關(guān)鍵詞,最常見且簡(jiǎn)單易實(shí)現(xiàn)的方法是利用TF/IDF的方法,本文的實(shí)驗(yàn)選擇該方法作為基準(zhǔn)。但是,這種方法僅僅考慮了詞語(yǔ)的統(tǒng)計(jì)性質(zhì),并沒(méi)有考慮詞與詞之間的出現(xiàn)關(guān)系,會(huì)忽略掉低頻詞語(yǔ)的影響。這顯然不適合微博文本短、詞語(yǔ)多變性強(qiáng)這一特點(diǎn)。
TextRank是基于詞圖模型的關(guān)鍵詞抽取算法,不需要提前對(duì)語(yǔ)料進(jìn)行訓(xùn)練,保證了該算法的簡(jiǎn)潔、有效,可以廣泛應(yīng)用。TextRank的思想來(lái)源于信息檢索中著名的PageRank算法,通過(guò)把文本分割成若干組成單元并建立圖模型,利用投票機(jī)制對(duì)文本中的重要成分進(jìn)行排序,即可獲取按重要程度排序的關(guān)鍵詞。TextRank算法僅利用單篇較短文本本身的信息即可實(shí)現(xiàn)關(guān)鍵詞的抽取。
3.3? 發(fā)現(xiàn)食源性疾病事件地理位置信息
通過(guò)微博數(shù)據(jù)獲得食品安全事件后,還希望獲得關(guān)于該事件多維度的更全面的信息。其中,事件發(fā)生的時(shí)間和地點(diǎn)是最關(guān)注的。由于每條微博都有其發(fā)出時(shí)間,所以獲取事件的時(shí)間并不難,而獲取事件發(fā)生的地點(diǎn)相對(duì)較難。微博數(shù)據(jù)中,用戶的個(gè)人注冊(cè)信息含有地理位置,但該地理位置信息通常是區(qū)縣級(jí)別,這一級(jí)的地理位置信息粒度明顯太大,精度太低。而移動(dòng)端的微博還有簽到信息,可以精確地反映用戶發(fā)表微博的地點(diǎn)。但是簽到信息數(shù)據(jù)過(guò)于稀疏,很難說(shuō)明問(wèn)題。
本文提出了一種通過(guò)微博內(nèi)容來(lái)獲取事件地理位置信息的方法。通過(guò)對(duì)人們?nèi)粘P袨楹臀⒉?shù)據(jù)的分析不難發(fā)現(xiàn),人們?cè)谖⒉┥媳磉_(dá)食品安全事件時(shí),微博很大可能會(huì)包含食源地點(diǎn)信息,如飯店名或食物名。利用大眾點(diǎn)評(píng)網(wǎng)中關(guān)于飯店名和位置的數(shù)據(jù),結(jié)合食物名在百度地圖API上返回的數(shù)據(jù),通過(guò)設(shè)計(jì)的相近點(diǎn)算法,便可以最大程度上獲取用戶食品安全事件的地理位置信息。圖1是獲取食品安全事件地理位置的流程。
圖 1?? 事件地理位置信息發(fā)現(xiàn)流程
經(jīng)過(guò)對(duì)食源性疾病候選微博的內(nèi)容進(jìn)行分析發(fā)現(xiàn),微博中所含有關(guān)地理位置的信息主要包括:飯店名、食物名、直接地理位置信息和用戶注冊(cè)的地理位置信息。其中,飯店名可以通過(guò)大眾點(diǎn)評(píng)數(shù)據(jù)找到地理位置信息,如“麥當(dāng)勞”。而食物名可以通過(guò)百度地圖API檢索,找到所含該食物的飯店名及其地理位置信息,如食物名“水煮魚”可以找到“沸騰魚鄉(xiāng)”這個(gè)飯店。將這兩種飯店地理位置信息統(tǒng)稱為A,這是用戶飲食發(fā)生的具體地理位置,A可能有多個(gè)地理位置。微博內(nèi)容中直接含有的地理位置信息,如“中關(guān)村”,可以通過(guò)博雅地名網(wǎng)(http://www.tcmap.com.cn/beijing/)提供的北京市行政區(qū)劃數(shù)據(jù)來(lái)找到該詞的準(zhǔn)確地理位置信息。將這類地理位置稱為B,這是用戶可能活動(dòng)的具體地理位置,B可能有多個(gè)地理位置。將微博用戶注冊(cè)信息中的地理位置信息稱為C,這是用戶可能活動(dòng)的地理位置信息,粒度比較大,通常為區(qū)縣級(jí)別,如“海淀區(qū)”,C只有一個(gè)地理位置。一個(gè)用戶的食源性疾病候選微博中,一定含有C,而A和B可能含有,也可能不含有。根據(jù)微博中含有的A、B、C這3類信息,可以相對(duì)準(zhǔn)確地找到食源性疾病事件的地理位置信息。
當(dāng)拿到一個(gè)用戶的食源性疾病候選微博數(shù)據(jù)時(shí),一定含有C類信息,而A、B類信息則不確定。本文根據(jù)不同情況,設(shè)計(jì)了不同的算法來(lái)發(fā)現(xiàn)事件的地理位置信息。如果微博數(shù)據(jù)中同時(shí)含有A類和B類信息,那么,利用計(jì)算相近距離的方法確定事件的最終地理位置信息。如算法3,計(jì)算A中地理位置與B中地理位置的距離,找到距離最近的兩點(diǎn)Ai和Bj,Ai為最終的地理位置信息。
算法3 ?事件地理位置發(fā)現(xiàn)算法1。
輸入:微博所含的3類地理位置信息A、B、C。
輸出:地理位置信息Location。
初始化參數(shù)Location←空,D←Max
if A≠? && B≠?
???????? for Ai in Ado
???????? ? if DISTANCE(Ai,Bj) < D
?????????????????? D = DISTANCE(Ai,Bj)
?????????????????? Location = Ai
???????? ? end if
???????? end for
end for
return Location
當(dāng)微博中只含有A而沒(méi)有B時(shí),尋找A中屬于C的地理位置信息作為事件發(fā)生的地理位置信息。也就是說(shuō),微博中含有多個(gè)(或一個(gè))飯店地理位置信息,而沒(méi)有直接地理位置信息,但是該用戶注冊(cè)信息中含有地理位置信息C,這是該用戶注冊(cè)的行政區(qū)域。選擇屬于該行政區(qū)域內(nèi)的飯店地理位置信息作為事件發(fā)生的地理位置,算法4描述了這一過(guò)程。
算法4 ?事件地理位置發(fā)現(xiàn)算法2。
輸入:微博所含的3類地理位置信息A、B、C。
輸出:地理位置信息Location。
初始化參數(shù)Location←空
if A≠? && B= ?
???????? if Ai ∈ C
???????? ? Location = Ai
???????? end if
end if
return Location
當(dāng)微博中只含有B而沒(méi)有A時(shí),尋找B中屬于C的地理位置信息作為事件發(fā)生的地理位置信息。也就是說(shuō),微博中含有多個(gè)(或一個(gè))用戶的直接地理位置信息,而沒(méi)有飯店地理位信息,但是該用戶注冊(cè)信息中含有地理位置信息C,這是該用戶注冊(cè)的行政區(qū)域。選擇屬于該行政區(qū)域內(nèi)的用戶直接地理位置信息作為事件發(fā)生的地理位置信息。當(dāng)微博中不含有A,也不含有B時(shí),直接利用C來(lái)代表事件發(fā)生的地理位置信息。
利用這種方法,盡可能地利用了候選微博數(shù)據(jù)中的地理位置信息來(lái)確定事件發(fā)生的地理位置。
?
4 ?實(shí)驗(yàn)
4.1? 數(shù)據(jù)預(yù)處理
本文所使用的微博數(shù)據(jù)為北京市在2014年8-10月產(chǎn)生的所有含有食源性疾病關(guān)鍵詞的新浪微博數(shù)據(jù)。這個(gè)數(shù)據(jù)集中一共包含933 313個(gè)微博用戶,每個(gè)用戶200條新浪微博,共9 500萬(wàn)條微博,將近80 GB的數(shù)據(jù)。為過(guò)濾營(yíng)銷賬號(hào)和“僵尸”賬號(hào),利用微博用戶的關(guān)注、粉絲比、微博總數(shù)量等作為篩選條件,選出真正的個(gè)人微博賬戶及他們的微博,符合條件的微博占31%。對(duì)這些數(shù)據(jù)分詞,并建立詞向量。
抓取了外部數(shù)據(jù)進(jìn)行輔助實(shí)驗(yàn)。抓取了大眾點(diǎn)評(píng)網(wǎng)上北京地區(qū)餐飲數(shù)據(jù),包括飯店名和飯店地理位置,共160 429條數(shù)據(jù),還抓取了博雅地名網(wǎng)上北京地名及行政區(qū)劃數(shù)據(jù),共305個(gè)地名。
4.2? 發(fā)現(xiàn)食源性疾病事件關(guān)鍵詞
本文的實(shí)驗(yàn)共分為4組:固定上下文窗口獲取候選微博,分別利用TF/IDF算法和TextRank算法抽取食品安全事件關(guān)鍵詞;利用動(dòng)態(tài)上文窗口法確定食品安全事件候選微博,分別利用TF/IDF算法和TextRank算法抽取食品安全事件關(guān)鍵詞。對(duì)這4種方法的實(shí)驗(yàn)結(jié)果進(jìn)行了比較。
主要的評(píng)價(jià)指標(biāo)是事件發(fā)現(xiàn)的準(zhǔn)確率。隨機(jī)選擇了一部分?jǐn)?shù)據(jù),通過(guò)人工標(biāo)注,先找出其中的食品安全事件關(guān)鍵詞,以此代表食品安全事件。如果算法找出的事件關(guān)鍵詞有80%以上與人工標(biāo)注的事件關(guān)鍵詞相同,就代表事件關(guān)鍵詞準(zhǔn)確。對(duì)上述4種方法進(jìn)行實(shí)驗(yàn),根據(jù)不同方法得到的結(jié)果與人工標(biāo)注結(jié)果的對(duì)比,得到不同方法的準(zhǔn)確率,其比較結(jié)果見表1和表2。
表1展示了固定上下文窗口獲取候選微博,分別利用TF/IDF算法和TextRank算法抽取食品安全事件關(guān)鍵詞的實(shí)驗(yàn)結(jié)果。可以明顯看出,TextRank算法在關(guān)鍵詞抽取的準(zhǔn)確率上,明顯高出TF/IDF算法。
表 1?? 固定上下文窗口,不同關(guān)鍵詞抽取算法的結(jié)果
表2展示了動(dòng)態(tài)上下文窗口獲取候選微博,分別利用TF/IDF算法和TextRank算法抽取食品安全事件關(guān)鍵詞的實(shí)驗(yàn)結(jié)果。同樣,TextRank算法在關(guān)鍵詞抽取的準(zhǔn)確率上,明顯高出TF/IDF算法。
表 2??? 動(dòng)態(tài)上下文窗口,不同關(guān)鍵詞抽取算法的結(jié)果
4.3 ?發(fā)現(xiàn)食源性疾病事件地理位置信息
本文還實(shí)現(xiàn)了利用相近點(diǎn)確定地理位置信息的方法,利用用戶的微博內(nèi)容,結(jié)合大眾點(diǎn)評(píng)網(wǎng)、百度地圖API、博雅地名網(wǎng)等數(shù)據(jù),盡可能地確定食品安全事件發(fā)生的地理位置信息,從而對(duì)傳統(tǒng)的事件地理位置信息的獲取提供強(qiáng)有力的補(bǔ)充。本實(shí)驗(yàn)主要對(duì)同時(shí)包含上文中提到的A、B、C 3類信息的微博數(shù)據(jù)進(jìn)行相近點(diǎn)算法驗(yàn)證。這樣的數(shù)據(jù)大概占所有數(shù)據(jù)的13%,同時(shí)含有A、C類地理信息的數(shù)據(jù)占19%。同時(shí)含有B、C類地理信息的數(shù)據(jù)占16%,只含有C類地理信息的數(shù)據(jù)占52%,如圖2所示。
圖 2?? 3 類地理位置信息分布
主要評(píng)價(jià)指標(biāo)是地理位置信息發(fā)現(xiàn)的準(zhǔn)確率。選擇了一部分同時(shí)包含上文提到的A、B、C3類地理信息的微博數(shù)據(jù),人工標(biāo)注出事件的地理位置,然后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,得到算法的準(zhǔn)確率,見表3。表3是事件地理位置發(fā)現(xiàn)的實(shí)驗(yàn)結(jié)果,將人工標(biāo)注數(shù)據(jù)分為500條、1 000條、1 500條、2 000條、2 500和3 000條6組數(shù)據(jù),分別統(tǒng)計(jì)準(zhǔn)確率。
表 3? 事件地理位置信息實(shí)驗(yàn)結(jié)果
本節(jié)全面介紹了基于微博數(shù)據(jù)的食源性疾病事件探測(cè)實(shí)驗(yàn)相關(guān)內(nèi)容,包括數(shù)據(jù)預(yù)處理、實(shí)驗(yàn)過(guò)程和實(shí)驗(yàn)結(jié)果。通過(guò)分析得知,利用動(dòng)態(tài)上下文窗口算法,可以更準(zhǔn)確地選取微博,擴(kuò)充數(shù)據(jù)來(lái)源。實(shí)驗(yàn)結(jié)果顯示,在該算法基礎(chǔ)上抽取事件關(guān)鍵詞,準(zhǔn)確率明顯提高。而在充分利用了微博內(nèi)容數(shù)據(jù)和外部輔助數(shù)據(jù)之后,也得到了更多的食源性疾病事件地理位置信息,其準(zhǔn)確率在65%左右。
?
5? 結(jié)束語(yǔ)
本文基于新浪微博數(shù)據(jù)對(duì)食源性疾病事件探測(cè)進(jìn)行了深入研究,提出了面向短文本數(shù)據(jù)挖掘的事件探測(cè)方法,并應(yīng)用于食源性疾病事件的自動(dòng)探測(cè)中,相比以往的事件探測(cè)方法,擴(kuò)大了數(shù)據(jù)來(lái)源,時(shí)間和空間維度上的準(zhǔn)確性得到顯著提高。在下一步工作中,將融合微博用戶好友關(guān)系、微博評(píng)論內(nèi)容等多源數(shù)據(jù)進(jìn)行食源性疾病事件探測(cè)的研究。
參考文獻(xiàn):
[1] 中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心. 第32次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告[R], 北京: 中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心, 2013.
CNNIC. The 32th Chinese Internet Development Report[R], Beijing: CNNIC, 2013.
[2] 祝華新, 單學(xué)剛, 胡江春, 等. 2011年中國(guó)互聯(lián)網(wǎng)輿情分析報(bào)告[R]. [出版地不詳: 出版者不詳], 2011.
ZHU H X, SHAN X G, HU J C, et al. 2011 China Internet Public Opinion Analysis Report[R]. [S.l.:s.n.], 2011.
[3] LI R, LEI K H, KHADIWALA R, et al. [3] LI R, LEI K H, KHADIWALA R, et al. and analysis system[C]// IEEE 28th International Conference on Data Engineering (ICDE), April 1-5, 2012, Arlington, Virginia, USA. New Jersey: IEEE Press, 2012: 1273-1276.
[4] GUPTA M, LI R, CHANG K C C. Towards a social media analytics platform: event detection and user profiling for twitter[C]// The 23rd International World Wide Web Conference, April 7-11, 2014, Seoul, Korea. [S.l: s.n.], 2014: 193-194.
[5] LI C, SUN A, DATTA A. Twevent: segment-based event detection from tweets[C]// The 21st ACM International Conference on Information and Knowledge Management, Oct 29-Nov 2, 2012, Maui, USA. New York: ACM Press, 2012: 155-164.
[6] LEE K, AGTAWAL A, CHOUDHARY A. Real-time disease surveillance using twitter data: demonstration on flu and cancer[C]// The 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, August 11-14, 2013, Chicago, USA. New York: ACM Press, 2013: 1474-1477.
[7] 黃永光, 劉挺, 車萬(wàn)翔, 等. 面向變異短文本的快速聚類算法[J]. 中文信息學(xué)報(bào), 2007, 21(2): 63-68.
HUANG Y G, LIU T, CHE W X, et al. A fast clustering algorithm for abnormal and short texts[J]. Journal of Chinese Information Processing, 2007, 21(2): 63-68.
[8] 楊震, 段立娟, 賴英旭. 基于字符串相似性聚類的網(wǎng)絡(luò)短文本輿情熱點(diǎn)發(fā)現(xiàn)技術(shù)[J]. 北京工業(yè)大學(xué)學(xué)報(bào), 2010, 36(5): 669-673.
YANG Z, DUAN L J, LAI Y X. Online public opinion hotspot detection and analysis based on short text clustering using string distance[J]. Journal of Beijing University of Technology, 2010, 36(5): 669-673.
[9] 徐君飛, 張居作. 2001-2010 年中國(guó)食源性疾病暴發(fā)情況分析[J]. 中國(guó)農(nóng)學(xué)通報(bào), 2012, 28(27): 313-316.
XU J F, ZHANG J Z. Analysis of foodborne disease outbreaks in China between 2001 and 2010[J]. Chinese Agricultural Science Bulletin, 2012, 28 (27):313-316.
[10] PARKER J, WEI Y, YATES A, et al. A framework for detecting public health trends with Twitter[C]// The 2013 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining, Aug 25-28, 2013, Niagara Falls, Canada. New Jersey: IEEE Press, 2013: 556-563.
[11] PETROVI? S, OSBORNE M, LAVRENKO V. Streaming first story detection with application to Twitter[C]// Human Language Technologies: The Annual Conference of the North American Chapter of the Association for Computational Linguistics, June 2, 2010, Rochester, NY, USA. [S.l: s.n.], 2010: 181-189.
[12] M ATH IOU DA K IS M, KOU DAS N. Twittermonitor: trend detection over the twitter stream[C]// The 2010 ACM SIGMOD International Conference on Management of Data, June 6-11, 2010, Indianapolis, USA. New York: ACM Press, 2010: 1155-1158.
[13] MARCHETTE D J, HOHMAN E . Tracking Disease Outbreaks Using Twitter[R]. [S.l: s.n.], 2014.
[14] CHENG Z, CAVERLEE J, LEE K. You are where you tweet: a content-based approach to geo-locating twitter users[C]// The 19th ACM International Conference on Information and Knowledge Management, October 26-30, 2010, Toronto, Canada. New York: ACM Press, 2010: 759-768.
[15] CULOTTA A. Towards detecting influenza epidemics by analyzing Twitter messages[C]// The 1st Workshop on Social Media Analytics, July 25, 2010, Washington DC, USA. [S.l: s.n.], 2010: 115-122.
[16] THOM D, BOSCH H, KRüGER R, et al. Using large scale aggregated knowledge for social media location discovery[C]//IEEE 47th Hawaii International Conference on System Sciences (HICSS), January 6-9, 2014,Washington DC, USA. New Jersey: IEEE Press, 2014: 1464-1473.
[17] MAHMUD J, NICHOLS J, DREWS C. Where is this tweet from?Inferring home locations of Twitter users[C]// The 6th International AAAI Conference on Weblogs and Social Media, June 4-8, 2012, Dublin, Ireland. Palo Alto: AAAI Press, 2012: 511-514.
[18] PAUL M J, DREDZE M. You are what you tweet: analyzing Twitter for public health[C]// The 6th International AAAI Conference on Weblogs and Social Media, June 4-7, 2011, Barcelona, Spain. Palo Alto: AAAI Press, 2011: 265-272.
[19] SIGNORINI A, SEGRE A M, POLGREEN P M. The use of Twitter to track levels of disease activity and public concern in the US during the influenza A H1N1 pandemic[J]. PLoS One, 2011, 6(5): e19467.
[20] HARRIS J K, MANSOUR R, CHOUCAIR B, et al. Health department use of social media to identify foodborne illness-Chicago, Illinois, 2013-2014[J]. MMWR Morb Mortal Wkly Rep, 2014, 63(32): 681-685.
[21] PAUL M, DREDZE M. A model for mining public health topics from Twitter[D]. Baltimore: The Johns Hopkins University, 2011.
[22] IMRAN M, CASTILLO C, DIAZ F, et al. Processing social media messages in mass emergency: a survey[J]. arXiv Preprint, 2014, arXiv:1407.7071.
[23] SAYYADI H, HURST M, MAYKOV A. Event detection and tracking in social streams[C]//The 3rd International AAAI Conference on Weblogs and Social Media, May 17-20, 2009, San Jose, California, USA. Palo Alto: AAAI Press, 2009: 1-4.
[24] SCALLAN E, HOEKSTRA R M, ANGULO F J, et al. Foodborne illness acquired in the United States-major pathogens[J]. Emerging Infectious Diseases, 2011, 17(1): 1339-40.
[25] ALVANAKI F, SEBASTIAN M, RAMAMRITHAM K, et al. EnBlogue: emergent topic detection in web 2.0 streams[C]// The 2011 ACM SIGMOD International Conference on Management of Data, June 12-16, 2011, Athens, Greece. New York: ACM Press, 2011: 1271-1274.
[26] PAL A, COUNTS S. Identifying topical authorities in microblogs[C]// The 4th ACM International Conference on Web Search and Data Mining, February 9-12, 2011, Hong Kong, China. New York: ACM Press, 2011: 45-54.
[27] CHEW C, EYSENBACH G. Pandemics in the age of Twitter: content analysis of tweets during the 2009 H1N1 outbreak[J]. PLoS One, 2010, 5(11): e14118.
[28] WENG J, LEE B S. Event detection in Twitter[C]// The 6th International AAAI Conference on Weblogs and Social Media, June 4-7, 2012, Barcelona, Spain. Palo Alto: AAAI Press, 2011: 401-408.
[29] YANG Y, PIERCE T, CARBONELL J. A study of retrospective and on-line event detection[C]//The 21st Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, New York, USA. New York: ACM Press, 1998: 28-36.
[30] HUTWAGNER L C, MALONEY E K, BEAN N H, et al. Using laboratory-based surveillance data for prevention: an algorithm for detecting Salmonella outbreaks[J ]. Emerging Infectious Diseases, 1997, 3(3): 395.
[31] STERN L, LIGHTFOOT D. Automated outbreak detection: a quantitative retrospective analysis[J]. Epidemiology and Infection, 1999, 122(1): 103-110.
[32] CHUNARA R, ANDREWS J R, BROWNSTEIN J S. Social and news media enable estimation of epidemiological patterns early in the 2010 Haitian cholera outbreak[J]. The American Journal of Tropical Medicine and Hygiene, 2012, 86(1): 39-45.
[33] POLGREEN P M, CHEN Y, PENNOCK D M, et al. Using internet searches for influenza surveillance[J]. Clinical Infectious Diseases, 2008, 47(11): 1443-1448.
[34] ARAMAKI E, MASKAWA S, MORITA M. Twitter catches the flu: detecting influenza epidemics using Twitter[C]// The Conference on Empirical Methods in Natural Language Processing, July 27-31, 2011, Edinburgh, UK. [S.l: s.n.], 2011: 1568-1576.
[35] BUSANI L, SCAVIA G, LUZZI I, et al. Laboratory surveillance for prevention and control of foodborne zoonoses[J].Annali Dell’ Istituto Superiore Di Sanità, 2005, 42(4): 401-404.
[36] COLLIER N, DOAN S, KAWAZOE A, et al. BioCaster: detecting public health rumors with a web-based text mining system[J]. Bioinformatics, 2008, 24(24): 2940-2941.
[37] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[J]. arXiv Preprint, 2013, arXiv:1310.4546.
[38] 劉知遠(yuǎn). 基于文檔主題結(jié)構(gòu)的關(guān)鍵詞抽取方法研究[D]. 北京: 清華大學(xué), 2011.
LIU Z Y. Research on keyword extraction using document topical structure[D]. Beijing: Tsinghua University, 2011.
祝天剛(1988-),男,中國(guó)科學(xué)院大學(xué)碩士生,主要研究方向?yàn)閿?shù)據(jù)挖掘。
郭旦懷(1973-),男,博士,中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心副研究員、碩士生導(dǎo)師,主要研究方向?yàn)楹A繒r(shí)空數(shù)據(jù)挖掘、大數(shù)據(jù)可視分析。
王學(xué)志(1979-),男,中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心副研究員,主要研究方向?yàn)楹A繒r(shí)空數(shù)據(jù)處理與分析。
黎建輝(1973-),男,博士,中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心研究員、博士生導(dǎo)師,主要研究方向?yàn)榇髷?shù)據(jù)管理、大數(shù)據(jù)分析與處理。
周園春(1975-),男,博士,中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心研究員、博士生導(dǎo)師,主要研究方向?yàn)閿?shù)據(jù)挖掘、大數(shù)據(jù)分析與處理。
總結(jié)
以上是生活随笔為你收集整理的基于短文本的食源性疾病事件探测技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OBJECT_ID 与objectpro
- 下一篇: 【计算机网络】TCP三次握手