Nltk——语料库

NLTK使用方法总结

NLTK(natural language toolkit)是一套基于python的自然语言处理工具集

安装与功能描述

首先,打开终端安装nltk。

pip install nltk

打开Python终端并输入以下内容来安装 NLTK 包

import nltk
nltk.download()

语言处理功能以及相应NLTK模块以及功能描述。

在这里插入图片描述

自带的语料库

在nltk.corpus包下,提供了几类标注好的语料库。见下表:
在这里插入图片描述

from nltk.corpus import brown
print(brown.categories())   #输出brown语料库的类别
print(len(brown.sents()))   #输出brown语料库的句子数量
print(len(brown.words()))   #输出brown语料库的词数量
 
'''
结果为:
['adventure', 'belles_lettres', 'editorial', 'fiction', 'government', 'hobbies', 
'humor', 'learned', 'lore', 'mystery', 'news', 'religion', 'reviews', 'romance', 
'science_fiction']
57340
1161192
'''

NLTk词频统计

NLTK 中的FreqDist( ) 类主要记录了每个词出现的次数,根据统计数据生成表格或绘图。其结构简单,用一个有序词典进行实现

在这里插入图片描述

词频统计功能实现:

import nltk
tokens=[ 'my','dog','has','flea','problems','help','please',
         'maybe','not','take','him','to','dog','park','stupid',
         'my','dalmation','is','so','cute','I','love','him'  ]
#统计词频
freq = nltk.FreqDist(tokens)
 
#输出词和相应的频率
for key,val in freq.items():
    print (str(key) + ':' + str(val))
 
#可以把最常用的5个单词拿出来
standard_freq=freq.most_common(5)
print(standard_freq)
 
#绘图函数为这些词频绘制一个图形
freq.plot(20, cumulative=False)

去除停用词

from nltk.corpus import stopwords
tokens=[ 'my','dog','has','flea','problems','help','please',
         'maybe','not','take','him','to','dog','park','stupid',
         'my','dalmation','is','so','cute','I','love','him'  ]
 
clean_tokens=tokens[:]
stwords=stopwords.words('english')
for token in tokens:
    if token in stwords:
        clean_tokens.remove(token)
 
print(clean_tokens)

分句与分词

分句

from nltk.tokenize import sent_tokenize
mytext = "Hello Adam, how are you? I hope everything is going well. Today is a good day, see you dude."
print(sent_tokenize(mytext))

分词

from nltk.tokenize import word_tokenize
mytext = "Hello Mr. Adam, how are you? I hope everything is going well. Today is a good day, see you dude."
print(word_tokenize(mytext))

nltk标记非英语语言文本

from nltk.tokenize import sent_tokenize
mytext = "Bonjour M. Adam, comment allez-vous? J'espère que tout va bien. Aujourd'hui est un bon jour."
print(sent_tokenize(mytext,"french"))

NLTK词干提取

单词词干提取就是从单词中去除词缀并返回词根。(比方说 working 的词干是 work。)搜索引擎在索引页面的时候使用这种技术,所以很多人通过同一个单词的不同形式进行搜索,返回的都是相同的,有关这个词干的页面。

词干提取的算法有很多,但最常用的算法是 **Porter 提取算法。NLTK 有一个 PorterStemmer 类,**使用的就是 Porter 提取算法。

from nltk.stem import PorterStemmer
porter_stemmer = PorterStemmer()
print(porter_stemmer.stem('working'))
#结果为:work 

LancasterStemmer

from nltk.stem import LancasterStemmer
lancaster_stemmer = LancasterStemmer()
print(lancaster_stemmer.stem('working'))
#结果为:work 

SnowballStemmer 提取非英语单词词干

SnowballStemmer 类,除了英语外,还可以适用于其他 13 种语言。支持的语言如下:

from nltk.stem import SnowballStemmer
print(SnowballStemmer.languages)
#结果为:
('danish', 'dutch', 'english', 'finnish', 'french', 'german', 'hungarian', 'italian', 'norwegian', 'porter', 'portuguese', 'romanian', 'russian', 'spanish', 'swedish')

NLTK词形还原

(1)词形还原与词干提取类似, 但不同之处在于词干提取经常可能创造出不存在的词汇,词形还原的结果是一个真正的词汇

from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
print(lemmatizer.lemmatize('increases'))
 
#结果为:increase

(2) 结果可能是同义词或具有相同含义的不同词语。有时,如果你试图还原一个词,比如 playing,还原的结果还是 playing。这是因为默认还原的结果是名词,如果你想得到动词,可以通过以下的方式指定。

from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
print(lemmatizer.lemmatize('playing', pos="v"))
 
#结果为:play

(3)实际上,这是一个非常好的文本压缩水平。最终压缩到原文本的 50% 到 60% 左右。结果可能是动词,名词,形容词或副词

from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
print(lemmatizer.lemmatize('playing', pos="v"))
print(lemmatizer.lemmatize('playing', pos="n"))
print(lemmatizer.lemmatize('playing', pos="a"))
print(lemmatizer.lemmatize('playing', pos="r"))
'''
结果为:
play
playing
playing
playing
'''

词性标注(POS Tag)

(1)词性标注是把一个句子中的单词标注为名词,形容词,动词等

import nltk
text=nltk.word_tokenize('what does the fox say')
print(text)
print(nltk.pos_tag(text))
 
'''
结果为:
['what', 'does', 'the', 'fox', 'say']
输出是元组列表,元组中的第一个元素是单词,第二个元素是词性标签
[('what', 'WDT'), ('does', 'VBZ'), ('the', 'DT'), ('fox', 'NNS'), ('say', 'VBP')]
'''

### 简化的词性标集记列表

简化的词性标记集列表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NLTK中的wordnet

wordnet 是为自然语言处理构建的数据库。它包括部分词语的一个同义词组和一个简短的定义

通过 wordnet可以得到给定词的定义和例句

from nltk.corpus import wordnet
syn = wordnet.synsets("pain")  #获取“pain”的同义词集
print(syn[0].definition())
print(syn[0].examples())
 
'''
结果为:
a symptom of some physical hurt or disorder
['the patient developed severe pain and distension']
'''

使用 wordnet来获得同义词

from nltk.corpus import wordnet
synonyms = []
for syn in wordnet.synsets('Computer'):
    for lemma in syn.lemmas():
        synonyms.append(lemma.name())
print(synonyms)
 
'''
结果为:
['computer', 'computing_machine', 'computing_device', 'data_processor', 'electronic_computer', 'information_processing_system', 'calculator', 'reckoner', 'figurer', 'estimator', 'computer']
'''

学习心得

复现论文,不要满足于就把代码给跑通,
要学会将各种函数啥都尝试一遍,全部将其跑通都行啦,
以及利用语料库,把该学习的模型都尝试一遍。
坚持把一两种框架都学透彻都行啦的样子与打算的,全部都将其搞定都行啦的回事与样子。

NLTK主要功能

在这里插入图片描述

  • 词频统计
  • 去除停用词
  • 分句和分词
  • 词干提取
  • 词干还原
  • 词性标注
  • wordnet
【自然语言处理】NLTK库的概念和作用
酒酿小圆子呀~
10-24 1504
Natural Language Toolkit (NLTK)是一个广泛使用的Python自然语言处理工具库,由Steven Bird、Edward Loper和Ewan Klein于2001年发起开发。NLTK的目的是为自然语言处理(NLP)提供一个完整的、易于使用的工具集,使研究人员、学生和开发人员能够更加轻松地进行NLP研究和开发。
nltk语料库下载
12-16
最近在学Python自然语言处理,要用到nltk这个库的各种内置语料库,然而我nltk.download()的时候下载不了,浪费了很多时间。特意分享给大家~
Python语言-NLTK
最新发布
精益求精
09-09 1078
NLTK(Natural Language Toolkit)是一个用于自然语言处理(NLP)的Python库,它为语言数据的处理、分析和建模提供了丰富的工具和资源。NLTK广泛应用于学术研究、工业界以及教育领域。以下是对NLTK的详细介绍,包括安装方法、主要特性、基本和高级功能,以及实际应用场景。Github地址:https://github.com/nltk/nltk
nltk使用方法总结
weixin_43758551的博客
08-28 1666
https://www.52nlp.cn/tag/nltk%E4%BB%8B%E7%BB%8D https://www.52nlp.cn/author/baiboy https://www.cnblogs.com/baiboy/p/nltk1.html https://www.cnblogs.com/chen8023miss/p/11458571.html https://zhuanlan.zhihu.com/p/98808960 https://blog.csdn.net/sunflower_sara/a
自然语言处理之NLTK快速掌握(python3)
算法探索之路
12-16 672
文章目录NLTK工具包安装分词Text对象停用词过滤掉停用词词性标注分块命名实体识别数据清洗实例 NLTK工具包安装 非常实用的文本处理工具,主要用于英文数据,历史悠久~ pip install nltk #命令窗口安装 缺少什么东西,就在nltk.download()中下载。运行此代码会出下如下界面。 选择All Packages 在里面选择下载自己用到的工具。 分词 Text...
NLTK使用教程(持续更新ing...)
诸神缄默不语的博客
07-11 2127
本文是NLTK包的简单使用教程。
自然语言处理库——NLTK
满腹的小不甘
05-09 6788
NLTK(www.nltk.org)是在处理预料库、分类文本、分析语言结构等多项操作中最长遇到的包。其收集的大量公开数据集、模型上提供了全面、易用的接口,涵盖了分词、词性标注(Part-Of-Speech tag, POS-tag)、命名实体识别(Named Entity Recognition, NER)、句法分析(Syntactic Parse)等各项 NLP 领域的功能。 ...
python训练自己中文语料库_自然语言处理——NLTK中文语料库语料库
weixin_39805883的博客
11-26 854
Python NLTK库中包含着大量的语料库,但是大部分都是英文,不过有一个Sinica(中央研究院)提供的繁体中文语料库,值得我们注意。在使用这个语料库之前,我们首先要检查一下是否已经安装了这个语料库。>>>import nltk>>>nltk.download()检查箭头所指的sinica_treebank是否安装,如果未安装,则首先要进行安装。安装完毕后就可以使用了import nltkfr...
nltk(3)——语料库
wang735019的专栏
12-29 7414
NLTK包含众多一系列的语料库,这些语料库可以通过nltk.package 导入使用。每一个语料库可以通过一个叫做“语料库读取器”的工具读取语料库,例如:nltk.corpus 每一个语料库都包含许多的文件或者是很多的文档。若要获取这些文件的列表,可以通过语料库的fileids()方法。 import nltk.corpus.brown    #导入brown语料库 brown.fileid
【ChatBot开发笔记】聊天机器人准备工作——初识NLTK库、语料与词汇资源
weixin_44524843的博客
03-07 658
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
python里的nltk库_Python 自然语言处理——nltk库入门之词性标注
weixin_36241311的博客
01-13 2189
nltk 自然语言处理库源自宾夕法尼亚大学计算机与信息科学系的计算机语言学课程,在数十名优秀的贡献者的帮助下不断壮大,成为最常用的自然语言处理库之一。下面列出了nltk库中的一些重要的模块——nltk.corpus————获取语料库。——————语料库和词典的标准化接口——nltk.tokenize,nltk.stem————字符串处理——————分词,句子分解,提取主干——nltk.colloc...
nltk_data nltk语料库下载
07-29
最近在学Python自然语言处理,要用到nltk这个库的各种内置语料库,然而我nltk.download()的时候经常下载一半就卡了,浪费了很多时间。特意分享给大家~
python训练自己中文语料库_Python nltk载入自己的中文语料库的两种方法 for Windows7...
weixin_39939276的博客
11-21 653
前提:把自己的语料库(sogou文本分类语料库)放在LTK_DATA/corpora/目录下;然后在命令行输入以下之后,即可看到所有的txt文件名列表了。第一种方法:BracketParseCorpusReader更适合已解析过的语料库from nltk.corpus import BracketParseCorpusReadercorpus_root =r"F:\nltk_data\corpor...
NLTK使用汇总
herosunly的博客
03-22 6763
0. 如何离线安装NLTK 1. LookupError: Resource not found. 2. 分句、分词和停用词 3. 词性标注和词形还原 4. 分句 5. N-gram
NLTK 的使用
tz_zs的博客
04-06 3870
____tz_zsnltk文档:http://www.nltk.org/nltk github:https://github.com/nltk/nltk《Natural Language Processing with Python》(需翻墙):http://www.nltk.org/book/Natural Language Toolkit,自然语言处理工具包文本预处理流程··NLTK 模块NL...
NLTK的使用
Strangemmm的博客
01-26 671
from nltk.book import * #使用nlp工具包 text1.concordance(“monstrous”) #搜索文本,看到词的上下文 text1.similar(“monstrous”)#搜索词的上下文,查找还有哪些词出现在相似的上下文中,以此判断该词在文中的意思 函数common_contexts允许我们研究两个或两个以上的词共同的上下文,如monstrous和very。我们必须用方括号和圆括号把这些词括起来,中间用逗号分割。 text2.common_contexts([“
【小沐学NLP】Python使用NLTK库的入门教程
爱看书的小沐
09-03 1万+
NLTK - 自然语言工具包 - 是一套开源Python。支持自然研究和开发的模块、数据集和教程 语言处理。NLTK 需要 Python 版本 3.7、3.8、3.9、3.10 或 3.11。NLTK是一个高效的Python构建的平台,用来处理人类自然语言数据。它提供了易于使用的接口,通过这些接口可以访问超过50个语料库和词汇资源(如WordNet),还有一套用于分类、标记化、词干标记、解析和语义推理的文本处理库,以及工业级NLP库的封装器和一个活跃的讨论论坛。
nltk包的安装以及使用
qyqyqyi的博客
07-08 2309
nltk包的安装以及使用
NLTK使用方法总结
热门推荐
Asia-Lee
01-07 3万+
目录 1. NLTK安装与功能描述 2. NLTK词频统计(Frequency) 3. NLTK去除停用词(stopwords) 4. NLTK分句和分词(tokenize) 5. NLTK词干提取 (Stemming) 6. NLTK词形还原(Lemmatization) 7.NLTK词性标注(POS Tag) 8. NLTK中的wordnet NLTK(natural...
写文章

热门文章

  • matlab2020a安装教程 11832
  • Pytorch-Lightning中的训练器--Trainer 8274
  • Visual Studio安装及下载 8161
  • LSTM和双向LSTM讲解及实践 7978
  • 自动语音识别(ASR)研究综述 5879

分类专栏

  • pytorch学习笔记 4篇
  • 论文写作思路总结 3篇
  • 情感分类比赛
  • 经典数据集 2篇
  • 基于TextCNN实现关系抽取任务(初级) 3篇
  • 文章阅读经验
  • 知识图谱 16篇
  • 图网路 8篇
  • 常用模块收集 8篇
  • 顶会期刊心得 3篇
  • Mysql数据库 2篇
  • 科大讯飞赛场 15篇
  • 数据处理方式 1篇
  • Eroor错误总结 1篇
  • PR基础知识 1篇
  • 论文创新及观点 19篇
  • 零样本概览前部分 26篇
  • 冲刺ACL罗列创新点及未来展望 5篇
  • Torch的使用及参数解释 17篇
  • 模块复现 27篇
  • 11 1篇
  • 冲刺ACL第一篇参考文献及模型解读 7篇
  • 研究领域探讨 12篇
  • 文本分类从入门到精通比赛 13篇
  • 周志华机器学习 14篇
  • 顶刊论文思维 3篇
  • 各种层技术收集——设计自己的模型 2篇
  • PYthon小白成长记 7篇
  • 注意力机制 4篇
  • RNN全部 3篇

最新评论

  • 零样本学习—Learning to detect unseen object classes by between-class attribute

    丨樱珏丨: 你好,想问一下博主,这个是在哪儿看的

  • 医疗实体及关系识别挑战赛

    Bing激凌: 您好!同求数据集!一位学生找不碎掉了表情包联系方式2233054933@qq.com

  • LSTM和双向LSTM讲解及实践

    weixin_40901147: 写得是真的好,很清晰。 细胞状态就纪录语境(主题)变迁的变量,隐藏状态就是纪录注意力信息的变量(语法,用词)。 新的细胞状态由新输入状态和过去的细胞状态隐藏状态决定,就是要细致分辨主题的变化,这是遗忘门和输入门的合作原理。 新的隐藏状态是由新的细胞状态(新主题)和新的输入状态决定,这是输出门的工作原理。这决定了此刻此句话的意思。 一个圆形相当于一个LSTM块。 双向LSTM就是,若干句话顺着读产生上文语境,反着读产生下文语境,分别有上文细胞状态列和下文细胞状态列,对应输入状态产生产生上文隐藏和下文隐藏状态,对应着上下文的特征。共同决定此处特征。

  • open-set recognition(OSR)开集识别

    qq_37441443: UKCS(unknown known classed)该怎么理解,能给个具体的例子吗

  • LSTM和双向LSTM讲解及实践

    境界面上的双曲线: 你可以去看一下CNN+LSTM的网络结构

大家在看

  • 中英双语酒店管理系统——pms系统,海外版
  • 论文 Python 实现WOA-CNN-BiGRU-Attention数据分类预测 64
  • 手环押金原路退回系统——足浴店——东方仙盟

最新文章

  • torch常用函数手册(10-20)
  • 第一章torch(1-10)页
  • Tensor张量介绍
2023年124篇
2022年146篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

big_matster

您的鼓励,是给予我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家玻璃钢大米雕塑吉林玻璃钢仿真水果雕塑厂家宜昌市玻璃钢雕塑定制广州水果玻璃钢雕塑市场曲阳玻璃钢花盆玻璃钢雕塑打磨讲解浙江玻璃钢金属雕塑图片常用玻璃钢花盆有哪些吉林欧式玻璃钢雕塑制作骑士马玻璃钢雕塑江西玻璃钢雕塑设计商场连廊美陈外墙德州玻璃钢彩绘雕塑定做价格遵义商场美陈模型商场春季美陈图片大全绍兴玻璃钢花盆哪里买玻璃钢花盆翻模技术新款玻璃钢园林雕塑兰州人物玻璃钢雕塑公司珠海玻璃钢雕塑报价表金门玻璃钢花盆花器周口锻铜玻璃钢景观雕塑玻璃钢雕塑定做厂家咨询西藏玻璃钢园林雕塑无机玻璃钢雕塑手绘玻璃钢柿子雕塑玻璃钢开业装饰雕塑荆门玻璃钢雕塑小品厂家宣城玻璃钢雕塑浮雕厂家商场美陈折纸香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化