你如何解析一個包含自由文本,列表,表格,標題等的HTML頁面到句子中?例如解析HTML爲句子 - 如何處理表/列表/標題/等?
以this wikipedia page爲例。有/是:
- 自由文本:http://en.wikipedia.org/wiki/Neurotransmitter#Discovery
- 名單:http://en.wikipedia.org/wiki/Neurotransmitter#Actions
- 表:http://en.wikipedia.org/wiki/Neurotransmitter#Common_neurotransmitters
與蟒蛇NLTK亂搞後,我想測試一下這些不同的語料庫註釋方法(從http://nltk.googlecode.com/svn/trunk/doc/book/ch11.html#deciding-which-layers-of-annotation-to-include):
- 單詞標記:正文形式的文本不能明確標識其標記。除了傳統的拼寫版本之外,標記化和標準化版本可能是非常方便的資源。
- 句子分割:正如我們在第3章中看到的那樣,句子分割可能比看起來更難。因此一些語料庫使用明確的註釋來標記句子分段。
- 段落分割:段落和其他結構元素(標題,章節等)可能被明確註釋。
- 言語部分:文檔中每個單詞的句法分類。
- 句法結構:顯示句子組成結構的樹形結構。
- 淺語義:命名實體和共同註釋,語義角色標籤。
- 對話與話語:對話行爲標籤,修辭結構
一旦你打破一個文檔分成句子似乎很簡單。但是,你如何去分解那些來自維基百科頁面的HTML?我非常熟悉使用HTML/XML解析器並遍歷樹,我試圖剝離HTML標籤來獲取純文本,但是因爲在刪除HTML之後缺少標點符號,所以NLTK不會解析表格單元格,甚至正確列出。
是否有一些最佳做法或NLP解析這些東西的策略?或者你是否需要手動編寫特定於該單獨頁面的解析器?
只是在正確的方向尋找一些指針,真的想試試這個NLTK了!
您是否嘗試過在剝離的文本中使用Punkt(它在NLTK中實現)以查看是否可以讓您獲得任何位置? – dmh
我的非正式觀察是解析器通常在處理和表示顯示文本方面不好(而不是運行散文)。如果你找到或設計出一個好的解決方案,請在這裏跟進! – tripleee