我试图弄清楚为什么我无法读取从nltk模块下载的english.pickle文件的内容。
我首先使用以下代码下载了nltk文件:
import nltk
nltk.download('punkt')然后我在我的主目录中的punkt文件中查找,找到了english.pickle文件。我使用以下代码读取python中的文件:
import pickle
with open('english.pickle', 'rb') as file:
x = pickle.load(file)但是,当我运行变量x(它应该存储pickled数据)时,我不能像从任何其他pickled文件中那样从检索数据。
相反,我只获取对象名称和id:
<nltk.tokenize.punkt.PunktParameters at 0x7f86cf6c0cd0>问题是我需要访问文件的内容,并且我不能迭代,因为它是不可迭代的。
有没有人遇到过同样的问题?
发布于 2020-09-21 21:03:25
您已经下载了punkt标记器,其文档说明如下:
此标记器通过使用无监督算法为缩写词、搭配和开始句子的单词构建模型,将文本划分为句子列表。在使用它之前,它必须在目标语言的大量明文集合上进行训练。
在此之后:
with open('english.pickle', 'rb') as file:
x = pickle.load(file)您应该有一个nltk.tokenize.punkt.PunktSentenceTokenizer对象。您可以调用该对象上的方法来执行标记化。例如:
>>> x.tokenize('This is a test. I like apples. The cow is blue.')
['This is a test.', 'I like apples.', 'The cow is blue.']https://stackoverflow.com/questions/63992651
复制相似问题