Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >NLTK中没有ne_chunk的pos_tag

NLTK中没有ne_chunk的pos_tag
EN

Stack Overflow用户
提问于 2017-05-28 23:42:58
回答 2查看 3.2K关注 0票数 5

我试图在nltk中使用ne_chunk和pos_tag对一个句子进行分块。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from nltk import tag
from nltk.tag import pos_tag
from nltk.tree import Tree
from nltk.chunk import ne_chunk

sentence = "Michael and John is reading a booklet in a library of Jakarta"
tagged_sent = pos_tag(sentence.split())

print_chunk = [chunk for chunk in ne_chunk(tagged_sent) if isinstance(chunk, Tree)]

print print_chunk

这就是结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Tree('GPE', [('Michael', 'NNP')]), Tree('PERSON', [('John', 'NNP')]), Tree('GPE', [('Jakarta', 'NNP')])]

我的问题是,是否可以不包括pos_tag (如上面的NNP ),而只包括树'GPE',‘人’?什么叫“GPE”?

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-29 01:33:35

命名实体块将为您提供一棵同时包含块和标记的树。你不能改变这一点,但你可以把标签拿出来。从你的tagged_sent开始

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chunks = nltk.ne_chunk(tagged_sent)
simple = []
for elt in chunks:
    if isinstance(elt, Tree):
        simple.append(Tree(elt.label(), [ word for word, tag in elt ]))
    else:
        simple.append( elt[0] )

如果只想要块,请在上面省略else:子句。您可以修改代码以任意方式包装代码块。我使用nltk Tree将更改保持在最低限度。注意,一些块由多个单词组成(尝试在示例中添加"New“),因此块的内容必须是一个列表,而不是一个元素。

PS。"GPE“代表”地缘政治实体“(显然是一个愚蠢的错误)。您可以在nltk书这里中看到“常用标记”的列表。

票数 4
EN

Stack Overflow用户

发布于 2017-05-29 02:37:50

使用标记对https://stackoverflow.com/a/31838373/610569上的代码进行轻微的修改很可能是您所需要的。

是否可以不包括pos_tag (如上面的NNP ),而只包括Tree 'GPE','PERSON'?

是的,只需遍历Tree =)参见如何遍历NLTK树对象?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> from nltk import Tree, pos_tag, ne_chunk
>>> sentence = "Michael and John is reading a booklet in a library of Jakarta"
>>> tagged_sent = ne_chunk(pos_tag(sentence.split()))
>>> tagged_sent
Tree('S', [Tree('GPE', [('Michael', 'NNP')]), ('and', 'CC'), Tree('PERSON', [('John', 'NNP')]), ('is', 'VBZ'), ('reading', 'VBG'), ('a', 'DT'), ('booklet', 'NN'), ('in', 'IN'), ('a', 'DT'), ('library', 'NN'), ('of', 'IN'), Tree('GPE', [('Jakarta', 'NNP')])])

>>> from nltk.sem.relextract import NE_CLASSES
>>> ace_tags = NE_CLASSES['ace']

>>> for node in tagged_sent:
...     if type(node) == Tree and node.label() in ace_tags:
...         words, tags = zip(*node.leaves())
...         print node.label() + '\t' +  ' '.join(words)
... 
GPE Michael
PERSON  John
GPE Jakarta

GPE是什么意思?

GPE的意思是“地缘政治实体”

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44237087

复制
相关文章
自然语言处理| NLTK库的详解
自然语言处理(natural language processing)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
润森
2019/08/29
6.9K0
自然语言处理| NLTK库的详解
NLP项目:使用NLTK和SpaCy进行命名实体识别
命名实体识别(NER)是信息提取的第一步,旨在在文本中查找和分类命名实体转换为预定义的分类,例如人员名称,组织,地点,时间,数量,货币价值,百分比等。NER用于自然语言处理(NLP)的许多领域,它可以帮助回答许多现实问题,例如:
AiTechYun
2018/09/26
7.3K0
NLP项目:使用NLTK和SpaCy进行命名实体识别
Python文本预处理:步骤、使用工具及示例
本文将讨论文本预处理的基本步骤,旨在将文本信息从人类语言转换为机器可读格式以便用于后续处理。此外,本文还将进一步讨论文本预处理过程所需要的工具。
AI科技大本营
2019/05/06
1.6K0
Python文本预处理:步骤、使用工具及示例
基于word文档,使用Python输出关键词和词频,并将关键词的词性也标注出来
前几天在有个粉丝问了个问题,大概意思是这样的:基于Python代码,要求输出word文档中的关键词和词频,并且将关键词的词性也标注出来,最终输出一个Excel文件,一共3列,列名分别是关键词、词频和词性。
前端皮皮
2023/08/17
2670
基于word文档,使用Python输出关键词和词频,并将关键词的词性也标注出来
基于word文档,使用Python输出关键词和词频,并将关键词的词性也标注出来
前几天在有个粉丝问了个问题,大概意思是这样的:基于Python代码,要求输出word文档中的关键词和词频,并且将关键词的词性也标注出来,最终输出一个Excel文件,一共3列,列名分别是关键词、词频和词性。
Python进阶者
2023/08/31
2770
基于word文档,使用Python输出关键词和词频,并将关键词的词性也标注出来
nlp词性标注的作用
词性标注 – 除了语法关系,句中单词的位置(词性)标记也蕴含着信息,词的位置定义了它的用途和功能。宾夕法尼亚大学提供了一个完整的位置标记列表。下方代码则使用了NLTK库来对输入的文本进行词性标注。
py3study
2020/01/19
1.5K0
数据科学和人工智能技术笔记 五、文本预处理
词干提取通过识别和删除词缀(例如动名词)同时保持词的根本意义,将词语简化为词干。 NLTK 的PorterStemmer实现了广泛使用的 Porter 词干算法。
ApacheCN_飞龙
2022/12/02
6050
NLTK 的安装
Natural Language Toolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库。
崔哥
2023/10/23
2940
机器学习基础——朴素贝叶斯做文本分类代码实战
朴素贝叶斯的核心本质是假设样本当中的变量服从某个分布,从而利用条件概率计算出样本属于某个类别的概率。一般来说一个样本往往会含有许多特征,这些特征之间很有可能是有相关性的。为了简化模型,朴素贝叶斯模型假设这些变量是独立的。这样我们就可以很简单地计算出样本的概率。
TechFlow-承志
2020/03/05
1.4K0
机器学习基础——朴素贝叶斯做文本分类代码实战
NLTK FreqDist
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/15
2970
NLTK FreqDist
使用 Python 和 TFIDF 从文本中提取关键词
关键词提取是从简明概括长文本内容的文档中,自动提取一组代表性短语。关键词是一个简短的短语(通常是一到三个单词),高度概括了文档的关键思想并反映一个文档的内容,清晰反映讨论的主题并提供其内容的摘要。
数据STUDIO
2022/05/24
4.5K0
使用 Python 和 TFIDF 从文本中提取关键词
学习笔记CB002:词干提取、词性标注、中文切词、文档分类
英文词干提取器,import nltk,porter = nltk.PorterStemmer(),porter.stem('lying') 。
利炳根
2018/02/13
2K0
关于nltk的相关配置
安装方法 使用环境为Python 3.x, 下载数据集需要梯子... Linux sudo pip install nltk Windows pip install nltk 下载nltk的相关数据集 打开终端 0x01 输入: python 0x02 输入: import nltk 0x03 输入: nltk.download() 选择all -> download
ITJoker
2022/06/14
3200
[scikit-learn 机器学习] 4. 特征提取
通常使用 one-hot 编码,产生2进制的编码,会扩展数据,当数据值种类多时,不宜使用
Michael阿明
2020/07/13
9860
[scikit-learn 机器学习] 4. 特征提取
NLTK相关知识介绍
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
6390
NLTK相关知识介绍
Natural Language Toolkit(NLTK)
Natural Language Toolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库。
easyAI
2019/12/18
1.2K0
NLTK基础 | What? NLTK也能进行命名实体识别!
在上一篇<NLTK基础 | 一文轻松使用NLTK进行NLP任务(附视频)>中,简单介绍了NLTK的安装和使用。大家都知道命名实体识别作为NLP几大基础任务之一,在工业界应用也是非常广泛。那么NLTK包能不能进行命名实体识别呢?下面将详细介绍NLTK如何出色的完成命名实体识别任务!
提莫在线发育
2020/04/16
1.1K0
NLTK学习笔记(二)
词意消歧 在词意消歧中,我们要算出特定上下文中的词被赋予的是哪个意思。 思考存在歧义的词 serve 和 dish: (1) a. serve: help with food or drink; hold an office; put ball into play b. dish: plate; course of a meal; communications device 在包含短语 he served the dish 的句子中,你可以知道 serve 和 dish 都用的是它们与食 物相关的含义。在短
NateHuang
2018/03/14
6740
NLTK学习笔记(一)
len(text)  #单词个数 set(text)  #去重 sorted(text) #排序 text.count('a') #数给定的单词的个数 text.index('a') #给定单词首次出现的位置 FreqDist(text) #单词及频率,keys()为单词,*[key]得到值  FreqDist(text).plot(50,cumulative=True) #画累积图  ps:使用这个需要安装Matplotlib bigrams(text) #所有的相邻二元组 text.collocatio
NateHuang
2018/03/14
9140
NLTK 基础知识总结
NLTK,全称Natural Language Toolkit,自然语言处理工具包,是NLP研究领域常用的一个Python库,由宾夕法尼亚大学的Steven Bird和Edward Loper在Python的基础上开发的一个模块,至今已有超过十万行的代码。这是一个开源项目,包含数据集、Python模块、教程等;
村雨遥
2022/06/15
6200
NLTK 基础知识总结

相似问题

中的nltk pos_tag错误

12

NLTK:柠檬和pos_tag

13

NLTK 3 POS_TAG抛出UnicodeDecodeError

511

NLTK pos_tag模块返回LookupError

12

如何优化NLTK pos_tag操作?

112
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文