nlp自然语言处理_NLP系列|使用Python轻松开始自然语言处理开发

AIRX全新技术专栏--NLP(自然语言处理)开发

5e9edd46eedfe6e84ae1ebdaf8889b6d.png

什么是NLP ?自然语言处理(NLP)是关于开发能够理解人类语言的应用程序和服务。一些NLP的实际例子比如:词典翻译、聊天机器人、情绪分析等。

以下是自然语言处理(NLP)的一些成功应用:

  • 搜索引擎:如谷歌,雅虎等。谷歌搜索引擎知道你是一个技术人员,所以它会显示与你相关的结果。
  • 像Facebook新闻这样的社交网站。news feed算法使用自然语言处理了解你的兴趣,并显示相关的广告和帖子。
  • 语音引擎,比如苹果Siri。
  • 垃圾邮件过滤器,如谷歌垃圾邮件过滤器。这不仅仅是普通的垃圾邮件过滤,现在垃圾邮件过滤器了解邮件内容,看看它是不是垃圾邮件。

1、如何使用Python从NLP开始?

自然语言工具包(NLTK)是最流行的自然语言处理(NLP)库,它是用Python编写的,并且NLTK也非常容易学习,在本NLP教程中,我们将使用Python NLTK库。在开始安装NLTK之前,我假设你已经了解一些Python基础知识。

安装nltk,如果你使用的是Windows或Linux或Mac,可以使用pip安装NLTK:

$ pip install nltk

要检查NLTK是否安装正确,可以打开python终端并输入以下内容:

Import nltk

如果一切顺利,这意味着你已经成功安装了NLTK库。一旦你安装了NLTK,你应该通过运行以下代码来安装NLTK包:

import nltknltk.download()
417bac4a82f9c327017ac62fd1e06fb3.png

2、获取网页文字内容

在这里,我们将学习如何在Python中使用NLTK与web识别页面有关的内容。首先,我们将抓取一个页面并分析文本,以了解该页面是关于什么的。urllib模块将帮助我们抓取网页:

import urllib.requestresponse =  urllib.request.urlopen('https://en.wikipedia.org/wiki/SpaceX')html = response.read()print(html)

从这个链接可以很清楚地看出,页面是关于SpaceX的,现在让我们看看我们的代码是否能够正确识别页面的上下文。我们将使用Beautiful Soup,这是一个用于从HTML和XML文件中提取数据的Python库。我们将使用beautiful soup来清理HTML标记的网页文本。

from bs4 import BeautifulSoupsoup = BeautifulSoup(html,'html5lib')text = soup.get_text(strip = True)print(text)
4d7f776c7678f105fc1911f96e15fcff.png

现在我们已经从抓取的web页面中获得了文本,让我们将文本转换为tokens:

tokens = [t for t in text.split()]print(tokens)
ea587f417d7e997e03ae2f31eb78c3bf.png

3、统计词频

nltk提供了一个函数FreqDist(),它将为我们完成这项工作。此外,我们将删除一些词(a, at, the, for等)从我们的网页,因为我们不需要他们来妨碍我们的词频计数。我们将为网页中出现频率最高的单词绘制图表,以便清楚地了解网页的上下文:

from nltk.corpus import stopwordssr= stopwords.words('english')clean_tokens = tokens[:]for token in tokens:    if token in stopwords.words('english'):        clean_tokens.remove(token)freq = nltk.FreqDist(clean_tokens)for key,val in freq.items():    print(str(key) + ':' + str(val))freq.plot(20, cumulative=False)
91bc5bd23bb09937235a214cbb268d75.png
e08204fd267a82ac39159190e18c39f2.png

代码已经正确地识别出该网页谈论的是SpaceX。你同样可以识别新闻文章、博客等。现在我们已经成功地迈出了学习NLP的第一步,接下来我们会更深入的了解NLP~

关注我,私信“AR干货”,即可获得AR开发资料包和AR行业书籍报告!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值