2013-06-30 29 views
7

我正在研究一個項目,我並不完全知道如何處理。這個問題可以總結如下:通過任意文本體確定地理位置

  • 給定一個任意的文本主體(類似報告),確定報告的每個部分所指的地理位置。

地理位置範圍從州到縣(全部在美國),所以它們的數量是有限的,但每個報告通常包含對多個地點的引用。例如,報告的前5段可能是關於一個整體的狀態,然後接下來的5個是關於該州內的個別縣,或類似的情況。

我很好奇,解決這個問題的最好方法是什麼,或許是根據NLP或ML框架(Python或Java)的具體建議?

+1

你能提供一個輸入和期望輸出的例子嗎? – Blacksad

回答

6

我實際上可以在這裏提供一些幫助(我的研究是在地名解析領域)。

如果我理解正確,你正在尋找一種方法來(1)在文本中找到地名,(2)消除地名的地理參考的歧義,以及(3)在空間上研磨整個句子或段落。

有很多開源軟件包可以做#1。 Stanford Core NLP,OpenNLP

有幾個軟件包可以做#1和#2。 CLAVIN可能是目前唯一可以使用的開源應用程序。 Yahoo Placemaker花錢但可以做到。

真的沒有可以做#3的包。有一個名爲TEXTGROUNDER的新項目正在做一些名爲「文檔地理位置」的工作,但是當代碼可用時,它不會被設置爲在您自己的輸入文本上運行。我只建議你看看它,如果你渴望開始或參與一個試圖做這樣的事情的項目。

所有這三項任務仍然是正在進行的研究的一部分,根據源文本的細節可能會變得非常複雜。你沒有提供關於你的文章的很多細節,但希望這些信息可以幫助你。

+0

非常感謝您的建議! –

+0

你介意在mev.com與alex聯繫我進一步討論嗎? –

+0

我發送了一封電子郵件 – GrantD71

2

舊的問題,但它可能是有用的知道,Apache OpenNLP有一個名爲GeoEntityLinker的插件,並採取文檔文本和句子,提取實體(地名),在USGS和GeoNames gazateers(Lucene索引)上執行查找,通過幾種方式解決(或者至少嘗試)topopnymns,並且返回關於傳入的文檔中每個句子的得分記錄器條目。如果一切順利,它將與OpenNLP 1.6一起發佈....沒有太多文檔如果有的話。

這是OpenNLP Jira的門票: https://issues.apache.org/jira/i#browse/OPENNLP-579

這是源代碼:

http://svn.apache.org/viewvc/opennlp/addons/geoentitylinker-addon/

FYI:我主要的提交它的工作。

+0

你可以詳細瞭解這個嗎?我正在開發一個可以從這個工具中受益匪淺的項目。 – Rich

2

使用OpenNLP或GATE等標識提及的地理位置相當微不足道。之後的主要問題是,當您必須爲具有相同名稱的地方消歧時。例如,在美國有29個地方叫做「布裏斯托爾」。哪一個是正確的?

有幾種方法可以用來消除歧義。一個簡單的方法是收集文本中提到的所有位置的列表,獲取其潛在的經度/緯度,然後找到距離最小的集合。

我見過部署的更好的解決方案是從維基百科獲取所有引用地點的文章,將它們放入數據庫以獲得像Lucene這樣的文本,然後使用您的文本作爲查詢來查找候選人之間最有希望的位置。測量一些相似度分數。這個想法是,除了「布裏斯托爾」這個詞之外的文章中,還會提到一個河流名稱,一個人或者類似的東西。

+0

此外,地圖閱讀和閱讀地圖與人類完全不同(無論如何在英國)...... –

0

爲了完成這項任務,您需要一個帶標籤的訓練集。然後,您在該訓練集上訓練分類模型,並根據模型預測新文本的位置。 你可以看到所有的人都寫在上面這個示例代碼共同努力SCIKIT-學習:http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html

標記的訓練集:

您可以通過訓練集訓練一個分類,其中每一個受訓的樣本(一個段落,region_id)。 region_id可以是國家,地區或城市的ID。

訓練分類模型:

您建立單詞的袋各樣品的(例如對unigram)模型和在所述標記的訓練集訓練分類器(例如,邏輯迴歸與L1正規化)。你可以使用任何工具,但我建議在Python中使用SCIKIT-LEARN,這非常簡單和高效。

預測:

訓練結束後,給出一個段落或一段文字,訓練的模型是能夠找到它REGION_ID這是基於樣品中所用的字眼。

請記住調整開發集上的正則化參數以獲得良好結果(以防止過度擬合訓練樣本)。 http://www.aclweb.org/anthology/N15-1153

和相應的海報:使用文本

閱讀my paperthis one的地理位置 http://www.slideshare.net/AfshinRahimi2/geolocation-twittertextnetwork-48968497

而且我已經寫a tool稱爲Pigeo這正是這麼做的,並配有預訓練模式。 除了這些作品,還有許多關於基於文本的地理定位的其他研究論文,您可以找到。

相關問題