2012-12-23 27 views
2

我有300k + html文檔,我想從中提取郵政地址。數據是不同的結構,所以正則表達式不會工作。這是什麼叫,通過NLP從HTML中提取地址

我已經做了一堆關於Python的NLP和NLTK的閱讀,但是我仍然在從這裏開始苦苦掙扎。

此方法是否稱爲詞性標註或分塊/部分分析?我找不到任何關於如何實際標記頁面的文檔,以便我可以對它進行培訓,甚至可以培訓我應該培訓的內容。

所以我的問題;

  • 這種方法叫做什麼?
  • 我如何標記一些文件來訓練從
+0

你是在談論尋找郵政地址? – Barmar

+0

是的,這是正確的,例如http://web.cs.dal.ca/~zyu/research/Thesis.pdf – Wizzard

+3

你可以發佈一些示例輸入? –

回答

1

蘋果稱之爲他們的軟件,這是否「數據檢測」(注意,它的專利 - 他們贏得了injunction對HTC的Android手機在這一點)。更一般地說,我認爲這個應用程序被稱爲Information Extraction

1

將文本從HTML頁面中除去(除非有一種方法可以從HTML中識別地址文本,例如具有特定類的div),然後構建一組與所使用的地址格式相匹配的規則。

如果在幾個國家有郵政地址,那麼格式可能會有明顯的不同,但在一個國家內,格式是一樣的(有些調整),或者它是無效的。

例如,在美國,地址是3或4行(包括該人)。通常有一個郵政編碼(5個數字後面跟着4個)。其他國家有不同格式的郵政編碼。

除非您的目標對所有地址都是100%的準確性,否則您可能應該在任務的預算內儘可能多地提取地址。

它似乎並不像NLP任務,除非你想使用命名實體識別找到城市,國家等

1

你的任務是叫信息提取,但是這是一個非常,非常寬泛的概念。幸運的是你的任務更有限(街道地址),但是你不會提供很多信息:

  1. 什麼國家的地址在?東京的地址與克利夫蘭的地址非常不同。如果您對有限數量的國家/地區的地址感興趣,那麼您的成功機率會更好 - 您可以從每個國家開發解決方案。如果我們正在談論非常有限的號碼,您可以編碼識別器manually

  2. 我們在討論什麼樣的網頁?它們是一個隨機集合,還是可以將它們分組成有限數量的網站和格式?地址在哪裏出現? (即,在那裏你可以用它來零上他們的任何上下文線索?)

我帶你去一個更壞的情況是問題2:該頁面是完全不同的,並且地址可以在任何地方。不知道藝術的狀態是什麼,但我會把它看作是一個塊狀問題。

要獲得任何體面的結果,您需要一套訓練集。至少,收集來自相同位置的地址,並且採用與您要提取的地址相同的樣式(非正式,不完整,完整)。然後,你可以嘗試哄騙體面的表現(可能是後期處理)。

PS。我不會放棄HTML標記。它包含有關可能有用的文檔結構的信息。在添加html標記之前,我會添加結構標記(段落,重點,標題,列表,顯示)。

1

Qn:哪個NLP任務與此任務密切相關?

答案:檢測郵政地址的任務可以被視爲Name-Entity Recognition(NER)任務。但我建議在html上(即你的輸入數據)簡單地查看sequence labeling的任務,然後執行一些標準的機器學習classification

問題:如何標記一些文件作爲培訓數據?

的:你可以做的是:

  1. 標籤每個單詞或每行 egin n面或Ø utside
  2. 選擇supervised classification方法
  3. 決定什麼功能(這裏有一些提示:Feature selection
  4. 建立模型(基本上只運行與配置 功能分類軟件)
  5. 瞧,輸出應該給你Ø,則直接刪除標記的所有實例Ø你將被留下的線/地址是