python自然语言处理评论_python自然语言处理——学习笔记:Chapter3纠错
2017-12-06更新:很多代碼執行結果與書中不一致,是因為python的版本不一致。如果發現有問題,可以參考英文版:
第三章,P87有一段處理html的代碼:
>>>raw =nltk.clean_html(html)>>>tokens =nltk.word_tokenize(raw)>>>tokens
可是我們執行會有如下錯誤:
>>> raw =nltk.clean_html(html)
Traceback (most recent call last):
File"", line 1, in File"/Library/Python/2.7/site-packages/nltk/util.py", line 356, inclean_htmlraise NotImplementedError ("To remove HTML markup, use BeautifulSoup's get_text() function")
NotImplementedError: To remove HTML markup, use BeautifulSoup's get_text() function
根據官方網站:介紹http://www.nltk.org/_modules/nltk/util.html
def clean_html(html):
raise NotImplementedError ("To remove HTML markup, use BeautifulSoup's get_text() function")
[docs]def clean_url(url):
raise NotImplementedError ("To remove HTML markup, use BeautifulSoup's get_text() function")
網站:http://stackoverflow.com/questions/10524387/beautifulsoup-get-text-does-not-strip-all-tags-and-javascript介紹:
以后的版本,似乎不支持clean_html()和clean_url()這兩個函數
Support for clean_html and clean_url will be dropped for future versions of nltk. Please use BeautifulSoup for now...it's very unfortunate.
有關處理HTML 的內容,可以使用http://www.crummy.com/software/BeautifulSoup/上的Beautiful Soup 軟件包。
安裝:sudo pip install beautifulsoup4
之后替換書上的代碼:
from __future__ importdivisionimportnltk, re, pprintfrom urllib importurlopenfrom bs4 importBeautifulSoupdefread_html():
url= "http://news.bbc.co.uk/2/hi/health/2284783.stm"html=urlopen(url).read()
soup=BeautifulSoup(html)
text=soup.get_text()printtext
tokens=nltk.word_tokenize(text)printtokensdefmain():
read_html()if __name__ == '__main__':
main()
上述腳本文件可以獨立運行,運行結果與書上一致
總結
以上是生活随笔為你收集整理的python自然语言处理评论_python自然语言处理——学习笔记:Chapter3纠错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 15拆分成3个不同的自然数_15个小时搜
- 下一篇: while0表示什么意思_轮胎上的各种字