來(lái)做粗過(guò)濾。
[0042] b)因?yàn)楹?jiǎn)稱(chēng)詞包含于全稱(chēng),所W我們就在該關(guān)鍵字關(guān)聯(lián)的value中順序遍歷所有 地理全稱(chēng)詞,判斷地理全稱(chēng)詞是否包含當(dāng)前待檢查的名詞中的每一字,若包含則該名詞為 簡(jiǎn)稱(chēng)詞,將當(dāng)前簡(jiǎn)稱(chēng)詞通過(guò)唯一id號(hào)與該全稱(chēng)詞進(jìn)行關(guān)聯(lián),并補(bǔ)充到簡(jiǎn)稱(chēng)詞庫(kù)中;遍歷結(jié)束 后若未找到,則表示當(dāng)前待檢查名詞不是地理名詞的簡(jiǎn)稱(chēng)詞,舍棄掉并循環(huán)判斷下一個(gè)名 詞。
[0043] 具體實(shí)現(xiàn)的過(guò)程見(jiàn)偽代碼。
[0044] 輸入:微博文本中的名詞序列Cn
[0045] 輸出:地理位置詞序列Na
[0046] Procedure discover_geo(Cn)
[0047] begin
[004引 1 .hashl =new HashMap<location, Id〉
[0049] 2.hash2=new HashMap<first,collection〉
[0050] 3.for i^Ountil n do
[0051] 4.begin
[0052] 5. i扣ashl. con1:ains(Ci)then
[0053] 6. Nk^Ci,id
[0054] 7. break
[0化5] 8. else
[0056] 9. begin
[0化7] 10. i 扣 ash2.con1:ains(Ci.first〇)then
[005引 11. whilejXcollection.length do
[0059] 12. begin
[0060] 13. ifcollection 包含 Ci 中的每個(gè)字1:hen
[0061] 14. Nk^Ci,id
[0062] 15. end
[0063] 16. end
[0064] 17. end
[00化]18. re1:u;rn Na
[0066] end.
[0067] .地理位置詞判定
[0068] 從微博文本中抽取出地理位置詞之后,我們發(fā)現(xiàn)存在Ξ種情況,該條微博中只存 在一個(gè)地理詞或者微博中出現(xiàn)了多個(gè)候選地理位置詞數(shù)或者微博文本中缺失地理詞。
[0069] 一)該條微博只出現(xiàn)一個(gè)地理位置詞
[0070] 我們默認(rèn)其就是該條微博中所描述事件的發(fā)生的地理位置詞。
[0071] 二)該條微博中出現(xiàn)的多個(gè)候選地理位置詞
[0072] a)若多個(gè)地理詞之間僅存在包含關(guān)系,如四川議川
[0073] 根據(jù)每個(gè)地理詞的id號(hào),匹配其前綴來(lái)判斷所屬關(guān)系,然后輸出最細(xì)粒度的地理 名詞議川。
[0074] b)若多個(gè)地理詞之間不存在任何包含關(guān)系,如議川,成都
[0075] C)匹配每個(gè)地理詞的id號(hào),若不相同,則表示地理詞之間不存在包含關(guān)系。因此對(duì) 每個(gè)地理詞都設(shè)定一個(gè)距離值。
[0076] ?設(shè)定距離值:記錄地理詞在微博中的索引keyIndex[i],W及所有關(guān)鍵字在微博 中的索引geoIndex[kKk=l,2,…J),采用如下距離值公式計(jì)算距離值。
[0077]
[0078] 其中,Dis化ncei表示的是第i個(gè)地理詞的距離值,geoindexi表示第i個(gè)地理位置詞 在該微博中的索引位置,key Indexk表示第k個(gè)事件關(guān)鍵字在該微博中的索引位置。
[0079] ?修改距離值:若在事件關(guān)鍵詞和地理位置實(shí)體之間存在標(biāo)點(diǎn)符號(hào),則根據(jù)啟發(fā) 式規(guī)則適當(dāng)增大其距離值。
[0080] 微博雖然是短文本,且表達(dá)方式口語(yǔ)化,但是用戶(hù)發(fā)布的內(nèi)容同樣也是使用標(biāo)點(diǎn) 符號(hào)來(lái)表示句子之間的停頓,而標(biāo)點(diǎn)符號(hào)中的點(diǎn)號(hào):句號(hào)、問(wèn)號(hào)、感嘆號(hào)、逗號(hào)、頓號(hào)、分號(hào)和 冒號(hào)主要是表示口語(yǔ)中不同長(zhǎng)短的停頓,運(yùn)里本文將其主要分為兩種,一種是逗號(hào)、頓號(hào)、 分號(hào)和冒號(hào)等在句子內(nèi)部需要停頓時(shí)使用的點(diǎn)號(hào);另一種是句號(hào)、問(wèn)好、嘆號(hào)等在一個(gè)句子 表述結(jié)束時(shí)使用的點(diǎn)號(hào)。
[0081] 根據(jù)中文的描述語(yǔ)言習(xí)慣,用戶(hù)在描述事件時(shí)描述了若干個(gè)句子(每個(gè)句子之間 用句號(hào)等點(diǎn)號(hào)分隔),那各個(gè)句子之間的關(guān)聯(lián)性相對(duì)于每個(gè)句子內(nèi)部中的關(guān)聯(lián)性都會(huì)偏低; 而每個(gè)句子中的的若干短句間(用逗號(hào)等點(diǎn)號(hào)將句子分成若干個(gè)短句)的關(guān)聯(lián)性又會(huì)若于 短句內(nèi)部中的關(guān)聯(lián)性。也就是說(shuō)在同一句子同一短句中描述的地理位置詞與事件關(guān)鍵字的 關(guān)聯(lián)性越大,在同一句子中描述的地理位置詞與事件關(guān)鍵字的關(guān)聯(lián)性次之,而關(guān)聯(lián)性最弱 的就是不同句子之間分別描述了地理位置詞和事件關(guān)鍵字。
[0082] 根據(jù)W上的運(yùn)種特質(zhì),本文修改的地理位置詞的距離值,即若在事件關(guān)鍵詞和地 理位置實(shí)體之間存在標(biāo)點(diǎn)符號(hào),標(biāo)點(diǎn)符號(hào)為第一種類(lèi)型增加〇,若標(biāo)點(diǎn)符號(hào)為第二種類(lèi)型增 加 2Χα,其中α為參數(shù)。
[0083] d)其他情況:即有些地理詞之間存在包含關(guān)系,有些地理詞之間則不存在包含關(guān) 系,如
[0084] 四川議川,成都。
[0085] 因?yàn)榇嬖诎P(guān)系的地理詞是事件發(fā)生的地點(diǎn)的概率更大,因此我們根據(jù)2)中的 方法計(jì)算距離值之后,在修改距離值時(shí)采用啟發(fā)式的規(guī)則減少存在包含關(guān)系的地理詞的距 離值,且同樣只保留最細(xì)粒度的地理詞,其他情況則不變。若多個(gè)地理詞之間存在包含關(guān) 系,則根據(jù)W下的公式修改最細(xì)粒度的地理詞的距離值,并舍棄包含關(guān)系中的其他地理詞。
[0086] Dis1:ancei = Distancei-0
[0087] 其中Distancei表示的是第i個(gè)地理詞的距離值,β為參數(shù),修改完距離值之后,我 們又發(fā)現(xiàn)運(yùn)樣一個(gè)問(wèn)題,有些距離值為正數(shù),有些距離值為負(fù)數(shù),本文采用W下的公式來(lái)平 移距離值,
[008引
[0089] 其中,η代表地理位置詞的個(gè)數(shù),Distancei,Distancek分別代表第i,k個(gè)地理詞的 距離值,我們選取距離值最大的地理位置詞代表事件發(fā)生的地理位置。
[0090] Ξ)該條微博中缺失地理詞
[0091] 若文本中不存在地理位置詞,我們則使用與微博用戶(hù)相關(guān)的其它地理位置信息來(lái) 推斷事件發(fā)生的地理位置:一個(gè)是用戶(hù)注冊(cè)時(shí)的地理位置,另一個(gè)是微博發(fā)布時(shí)用戶(hù)的位 置信息。由于運(yùn)兩種地理位置表示的是用戶(hù)位置而非事件位置,運(yùn)些位置信息可能與事件 發(fā)生的位置無(wú)關(guān),比如在事件發(fā)生之后,用戶(hù)可w通過(guò)網(wǎng)絡(luò)、電話(huà)、郵件等渠道獲取了事件 相關(guān)的信息,從而發(fā)布了一條描述或評(píng)論該事件的微博,運(yùn)兩種地理位置信息就不能代表 事件發(fā)生的地理位置;第二種情況是,事件發(fā)生時(shí)用戶(hù)就在發(fā)生地或者發(fā)生地附近,而運(yùn)時(shí) 的微博或用戶(hù)的地理位置就可W替代文本中本需要有的地理位置信息成為我們判定事件 發(fā)生的地理位置的有效數(shù)據(jù)。
[0092] 為了解決該問(wèn)題該問(wèn)題,本文提出了基于微博用戶(hù)的可信度與微博發(fā)布內(nèi)容可信 度的缺失地理位置推斷方法。
[0093] 1)微博用戶(hù)的可信度
[0094] 隨著微博用戶(hù)的迅速發(fā)展,產(chǎn)生了一批大V用戶(hù),運(yùn)些大V用戶(hù)在互聯(lián)網(wǎng)上發(fā)揮著 越來(lái)越大的影響力。一般來(lái)講,粉絲數(shù)大于10萬(wàn)的用戶(hù)就被稱(chēng)為是大V用戶(hù)。中國(guó)社科院發(fā) 布的2014《社會(huì)藍(lán)皮書(shū)》中顯示,新浪微博、騰訊微博中,擁有10萬(wàn)W上粉絲的用戶(hù)已超過(guò)了 1.9萬(wàn)個(gè)。大V用戶(hù)為了維護(hù)自身的影響力,對(duì)自己發(fā)布的微博信息通常會(huì)斟字酌句,確定了 事件發(fā)生才會(huì)發(fā)布相關(guān)信息,W防發(fā)布了虛假信息。因此當(dāng)用戶(hù)為大V用戶(hù)時(shí),發(fā)布的信息 的可信度更高。
[0095] 2)微博內(nèi)容的可信度
[0096] 大V用戶(hù)發(fā)布的信息可信度較高,但是大V用戶(hù)僅1.9萬(wàn)個(gè)。因此,本文基于微博數(shù) 據(jù)的其他信息來(lái)判斷微博文本內(nèi)容的可信度。
[0097] a)用戶(hù)注冊(cè)的地理位置與微博發(fā)布地點(diǎn)的經(jīng)締度信息接近。當(dāng)用戶(hù)注冊(cè)地理位置 與微博發(fā)布地點(diǎn)的距離接近時(shí),用戶(hù)在當(dāng)前時(shí)間段內(nèi)很可能正在用戶(hù)平時(shí)的生活區(qū)域內(nèi), 而相對(duì)于其他區(qū)域發(fā)生的事件用戶(hù)更關(guān)注當(dāng)?shù)氐臒狳c(diǎn)事件,因此在此種情況下,該微博的 可信度相對(duì)較高。
[0098] b)微博文本的轉(zhuǎn)發(fā)數(shù)較高。一條微博的轉(zhuǎn)發(fā)量在一定程度上代表了微博內(nèi)容受關(guān) 注的程度,同時(shí)第一手的事件信息更能引起微博大眾的廣泛關(guān)注,而在事件發(fā)生地的用戶(hù) 能夠更快的發(fā)現(xiàn)事件發(fā)生的細(xì)節(jié)并發(fā)布到微博上,因此轉(zhuǎn)發(fā)數(shù)越高,用戶(hù)在事件發(fā)生地的 概率就越高。
[0099] .群體事件爆發(fā)點(diǎn)定位
[0100] -)為了將文本地理詞轉(zhuǎn)換成經(jīng)締度信息,我們采用調(diào)用新浪微博提供的公共接 口的方法來(lái)實(shí)現(xiàn),但是仍然面臨兩個(gè)問(wèn)題:
[0101 ] 1)新浪微博接口訪(fǎng)問(wèn)頻次有權(quán)限設(shè)置,只允許1000次/分鐘
[0102] 2)每次訪(fǎng)問(wèn)都會(huì)有一定的反應(yīng)時(shí)間,因此速度會(huì)受到限制
[0103] 因此我們根據(jù)已有的地理位置詞全稱(chēng)及簡(jiǎn)稱(chēng)詞詞典,提前訪(fǎng)問(wèn)并獲取所有的經(jīng)締 度信息,W地理詞,地理詞等級(jí),地理詞id號(hào),經(jīng)