首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nltk,自然语言处理的基础库!

话说那些年我用Nltk踩过的坑

有一说一, 自然语言处理 这玩意儿可不是个简单活。要是没有现成的工具库,光是分词就够你喝一壶的。还好Python有个叫 NLTK 的神器,帮我们搞定了不少麻烦事。

1.

装个NLTK有点费劲

import nltk

nltk.download('punkt')  # 分词用的

nltk.download('averaged_perceptron_tagger')  # 词性标注

nltk.download('stopwords')  # 停用词

装完库还不够,这几个数据包也得下载,不然分分钟给你报错。不过也就第一次麻烦点,后面就舒服了。

2.

分词玩起来

from nltk.tokenize import word_tokenize

text = “Python真是太好玩了!自然语言处理太有意思了。”

tokens = word_tokenize(text)

print(tokens)

温馨提示:中文分词可得用jieba,NLTK主要是英文好使。

3.

去掉那些没用的词

from nltk.corpus import stopwords

from nltk.tokenize import word_tokenize

text = “I am learning Python and it is fun”

stop_words = set(stopwords.words('english'))

tokens = word_tokenize(text)

filtered = [w for w in tokens if w not in stop_words]

print(filtered)

停用词就像个垃圾过滤器,把“is”、“am”这种水分词给删掉,剩下有营养的。

4.

给词打个标签

from nltk.tag import pos_tag

text = “Python is amazing”

tokens = word_tokenize(text)

tagged = pos_tag(tokens)

print(tagged)  # 输出带词性标注的结果

词性标注可有意思了,能看出来哪些是名词(NN),哪些是动词(VB)。写个情感分析啥的特别好使。

5.

数一数词频

from nltk import FreqDist

text = “Python Python Python NLP NLP testing”

fdist = FreqDist(word_tokenize(text))

print(fdist.most_common(2))  # 看看最常见的两个词

统计词频就跟查户口似的,谁出现得多一目了然。

写爬虫的时候配上这些招儿,文本分析不要太溜。关键是NLTK上手快,不用自己造轮子,这工具是真顶。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OYi1HWg_bEOZUAG-UWiHmhEQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券