首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从nltk模块读取english.pickle文件?

如何从nltk模块读取english.pickle文件?
EN

Stack Overflow用户
提问于 2020-09-21 20:51:35
回答 1查看 146关注 0票数 0

我试图弄清楚为什么我无法读取从nltk模块下载的english.pickle文件的内容。

我首先使用以下代码下载了nltk文件:

代码语言:javascript
复制
import nltk
nltk.download('punkt')

然后我在我的主目录中的punkt文件中查找,找到了english.pickle文件。我使用以下代码读取python中的文件:

代码语言:javascript
复制
import pickle
with open('english.pickle', 'rb') as file:
    x = pickle.load(file)

但是,当我运行变量x(它应该存储pickled数据)时,我不能像从任何其他pickled文件中那样从检索数据。

相反,我只获取对象名称和id:

代码语言:javascript
复制
<nltk.tokenize.punkt.PunktParameters at 0x7f86cf6c0cd0>

问题是我需要访问文件的内容,并且我不能迭代,因为它是不可迭代的。

有没有人遇到过同样的问题?

EN

回答 1

Stack Overflow用户

发布于 2020-09-21 21:03:25

您已经下载了punkt标记器,其文档说明如下:

此标记器通过使用无监督算法为缩写词、搭配和开始句子的单词构建模型,将文本划分为句子列表。在使用它之前,它必须在目标语言的大量明文集合上进行训练。

在此之后:

代码语言:javascript
复制
with open('english.pickle', 'rb') as file:
    x = pickle.load(file)

您应该有一个nltk.tokenize.punkt.PunktSentenceTokenizer对象。您可以调用该对象上的方法来执行标记化。例如:

代码语言:javascript
复制
>>> x.tokenize('This is a test. I like apples. The cow is blue.')
['This is a test.', 'I like apples.', 'The cow is blue.']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63992651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档