python自然语言处理——学习笔记:Chapter3纠错

Posted SonoFelice——棣琦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python自然语言处理——学习笔记:Chapter3纠错相关的知识,希望对你有一定的参考价值。

第三章,P87有一段处理html的代码:

>>>raw = nltk.clean_html(html)
>>>tokens = nltk.word_tokenize(raw)
>>>tokens

可是我们执行会有如下错误:

>>> raw = nltk.clean_html(html)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/nltk/util.py", line 356, in clean_html
    raise NotImplementedError ("To remove HTML markup, use BeautifulSoup‘s get_text() function")
NotImplementedError: To remove HTML markup, use BeautifulSoups 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__ import division
import nltk, re, pprint
from urllib import urlopen
from bs4 import BeautifulSoup


def read_html():
    url = "http://news.bbc.co.uk/2/hi/health/2284783.stm"
    html = urlopen(url).read()
    soup = BeautifulSoup(html)
    text = soup.get_text()
    print text
    tokens = nltk.word_tokenize(text)
    print tokens


def main():
    read_html()


if __name__ == __main__:
    main()

上述脚本文件可以独立运行,运行结果与书上一致

 









以上是关于python自然语言处理——学习笔记:Chapter3纠错的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5 自然语言处理学习笔记

NLP自然语言处理学习笔记二(初试)

Python 2.7 学习笔记 异常处理

Python 2.7 学习笔记 中文处理

22Python基础学习笔记1

Python学习笔记 - day1 - Python概述及安装