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

本文介绍了自然语言处理(NLP)的基本概念,并通过Python的NLTK库展示了如何开始NLP开发,包括安装NLTK、抓取网页内容、分析词频,从而揭示网页主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

以下内容由公众号:AIRX社区(国内领先的AI、AR、VR技术学习与交流平台) 整理

什么是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 nltk
nltk.download()

NLTK downloader将显示选择需要安装哪些包:

 

2、获取网页文字内容

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

import urllib.request
response =  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 BeautifulSoup
soup = BeautifulSoup(html,'html5lib')
text = soup.get_text(strip = True)
print(text)

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

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

 

3、统计词频

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

from nltk.corpus import stopwords
sr= 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)

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

关于更多机器学习、人工智能、增强现实资源和技术干货,可以关注公众号:AIRX社区,共同学习,一起进步!

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值