2021-02-21 13:48:41
函数来查找和加载NLTK资源文件,如语料库、语法和保存的处理对象。资源文件使用URL标识,例如 nltk:corpora/abc/rural.txt 或 http://nltk.org/sample/toy.cfg . 支持以下URL协议:
file:path :指定路径为的文件 path . 可以使用相对路径和绝对路径。http://host/path :指定存储在Web服务器上的文件 host 在路径上 path .nltk:path :指定存储在NLTK数据包中的文件 path . NLTK将在指定的目录中搜索这些文件 nltk.data.path .
如果未指定协议,则默认协议 nltk: 将被使用。
此模块提供可用于访问资源文件的函数,给定其URL: load() 加载给定资源,并将其添加到资源缓存;以及 retrieve() 将给定资源复制到本地文件。
nltk.data.AUTO_FORMATS = {'cfg': 'cfg', 'fcfg': 'fcfg', 'fol': 'fol', 'json': 'json', 'logic': 'logic', 'pcfg': 'pcfg', 'pickle': 'pickle', 'text': 'text', 'txt': 'text', 'val': 'val', 'yaml': 'yaml'}从文件扩展名到格式名的字典映射,当format=“auto”决定给定资源URL的格式时,由load()使用。
nltk.data.BufferedGzipFile(*args, **kwargs)A GzipFile 子类以与旧的nltk版本兼容。
使用 GzipFile 因为它还可以在所有支持的Python版本中进行缓冲。
@不推荐:使用gzip.gzip文件相反,因为它也使用缓冲区。
nltk.data.FORMATS = {'cfg': 'A context free grammar.', 'fcfg': 'A feature CFG.', 'fol': 'A list of first order logic expressions, parsed with nltk.sem.logic.Expression.fromstring.', 'json': 'A serialized python object, stored using the json module.', 'logic': 'A list of first order logic expressions, parsed with nltk.sem.logic.LogicParser. Requires an additional logic_parser parameter', 'pcfg': 'A probabilistic CFG.', 'pickle': 'A serialized python object, stored using the pickle module.', 'raw': 'The raw (byte string) contents of a file.', 'text': 'The raw (unicode string) contents of a file. ', 'val': 'A semantic valuation, parsed by nltk.sem.Valuation.fromstring.', 'yaml': 'A serialized python object, stored using the yaml module.'}
描述由nltk的load()方法支持的格式的字典。键是格式名,值是格式描述。
nltk.data.FileSystemPathPointer(**kwargs)[源代码]基类:nltk.data.PathPointer, str
一种路径指针,用于标识可通过给定的绝对路径直接访问的文件。
file_size()[源代码]返回此路径指针指向的文件的大小(字节)。
IOError -- 如果此指针指定的路径不包含可读文件。
join(fileid)[源代码]返回一个新的路径指针,该指针从由该指针标识的路径开始,然后按照 fileid . 的路径组件 fileid 应该用正斜杠分隔,而不管底层文件系统的路径分隔符是什么。
open(encoding=None)[源代码]返回可查找的只读流,该流可用于读取此路径指针标识的文件的内容。
IOError -- 如果此指针指定的路径不包含可读文件。
nltk.data.GzipFileSystemPathPointer(**kwargs)[源代码]基类:nltk.data.FileSystemPathPointer
一个子类 FileSystemPathPointer 它标识位于给定绝对路径的gzip压缩文件。 GzipFileSystemPathPointer 适用于大型gzip压缩pickle对象的高效加载。
open(encoding=None)[源代码]返回可查找的只读流,该流可用于读取此路径指针标识的文件的内容。
IOError -- 如果此指针指定的路径不包含可读文件。
nltk.data.GzipFileSystemPathPointer(**kwargs)[源代码]基类:nltk.data.FileSystemPathPointer
一个子类 FileSystemPathPointer 它标识位于给定绝对路径的gzip压缩文件。 GzipFileSystemPathPointer 适用于大型gzip压缩pickle对象的高效加载。
open(encoding=None)[源代码]返回可查找的只读流,该流可用于读取此路径指针标识的文件的内容。
IOError -- 如果此指针指定的路径不包含可读文件。
nltk.data.GzipFileSystemPathPointer(**kwargs)[源代码]基类:nltk.data.FileSystemPathPointer
一个子类 FileSystemPathPointer 它标识位于给定绝对路径的gzip压缩文件。 GzipFileSystemPathPointer 适用于大型gzip压缩pickle对象的高效加载。
open(encoding=None)[源代码]返回可查找的只读流,该流可用于读取此路径指针标识的文件的内容。
IOError -- 如果此指针指定的路径不包含可读文件。
nltk.data.LazyLoader(**kwargs)[源代码]基类:object
nltk.data.OpenOnDemandZipFile(**kwargs)[源代码]基类:zipfile.ZipFile
一个子类 zipfile.ZipFile 它在不使用文件指针时关闭文件指针;当需要从zipfile读取数据时重新打开文件指针。这对于减少同时访问许多zip文件时打开的文件句柄的数量非常有用。 OpenOnDemandZipFile 必须使用文件名而不是类似文件的对象构造(以允许重新打开)。 OpenOnDemandZipFile 是只读的(即 write() 和 writestr() 已禁用。
read(name)[源代码]返回名称的文件字节。
write(*args, **kwargs)[源代码]NotImplementedError -- OpenOnDemandZipFile是只读的
writestr(*args, **kwargs)[源代码]NotImplementedError -- OpenOnDemandZipFile是只读的
nltk.data.PathPointer[源代码]基类:object
“path pointers”的抽象基类,由NLTK的数据包用于标识特定路径。存在两个子类: FileSystemPathPointer 标识可通过给定绝对路径直接访问的文件。 ZipFilePathPointer 标识包含在zipfile中的文件,可以通过读取该zipfile来访问该文件。
file_size()[源代码]返回此路径指针指向的文件的大小(字节)。
IOError -- 如果此指针指定的路径不包含可读文件。
join(fileid)[源代码]返回一个新的路径指针,该指针从由该指针标识的路径开始,然后按照 fileid . 的路径组件 fileid 应该用正斜杠分隔,而不管底层文件系统的路径分隔符是什么。
open(encoding=None)[源代码]返回可查找的只读流,该流可用于读取此路径指针标识的文件的内容。
IOError -- 如果此指针指定的路径不包含可读文件。
nltk.data.SeekableUnicodeStreamReader(**kwargs)[源代码]基类:object
将源字节流自动编码为Unicode(如 codecs.StreamReader )但仍然支持 seek() 和 tell() 操作正确。这与 codecs.StreamReader 提供 破碎的 seek() 和 tell() 方法。
这门课的动机是 StreamBackedCorpusView ,广泛利用 seek() 和 tell() ,并且需要能够处理Unicode编码的文件。
注意:这个类需要无状态解码器。据我所知,这不会导致任何Python内置的Unicode编码出现问题。
char_seek_forward(offset)[源代码]向前移动读取指针 offset 字符。
close()[源代码]关闭基础流。
discard_line()[源代码]linebuffer使用的缓冲区 readline() 保留已被读取但尚未被返回的字符 read() 或 readline() . 这个缓冲区由一个Unicode字符串列表组成,其中每个字符串对应一行。列表的最后一个元素可能是完整的行,也可能不是完整的行。注意,linebuffer的存在使得 tell() 操作更复杂,因为它必须回溯到缓冲区的开头,以确定底层字节流中的正确文件位置。
next()[源代码]从基础流返回下一个解码行。
read(size=None)[源代码]读到 size 字节,使用该读卡器的编码对其进行解码,并返回生成的Unicode字符串。
size (int) -- 要读取的最大字节数。如果未指定,则读取尽可能多的字节。
unicode
readline(size=None)[源代码]读取一行文本,使用该读卡器的编码对其进行解码,然后返回生成的Unicode字符串。
size (int) -- 要读取的最大字节数。如果之前没有遇到换行符 size 字节已被读取,则返回的值可能不是完整的文本行。
readlines(sizehint=None, keepends=True)[源代码]读取此文件的内容,使用此读取器的编码对其进行解码,并将其作为Unicode行的列表返回。
list(unicode)
sizehint -- 忽略。
keepends -- 如果为false,则去掉换行符。
seek(offset, whence=0)[源代码]将流移动到新的文件位置。如果读卡器正在维护任何缓冲区,那么它们将被清除。
offset -- 字节计数偏移量。
whence -- 如果为0,则偏移量是从文件开始的偏移量(偏移量应为正),如果为1,则偏移量是从当前位置开始的偏移量(偏移量可以为正或负);如果为2,则偏移量是从文件结束的偏移量(偏移量通常应为负)。
tell()[源代码]返回基础字节流上的当前文件位置。如果此读卡器维护任何缓冲区,则返回的文件位置将是这些缓冲区开头的位置。
xreadlines()[源代码]回归自我
nltk.data.clear_cache()[源代码]从资源缓存中删除所有对象。参见:Load()
nltk.data.find(resource_name, paths=None)[源代码]通过搜索路径中的目录和zip文件来查找给定的资源,其中无或空字符串指定绝对路径。返回相应的路径名。如果找不到给定的资源,则引发 LookupError ,其消息提供指向NLTK下载程序安装说明的指针。
压缩文件处理:
如果
resource_name包含具有.zip扩展名,然后假设它是一个zipfile;剩下的路径组件用于查看zipfile内部。如果
nltk.data.path有一个.zip扩展名,则假定为zipfile。如果最初找不到不包含任何zipfile组件的给定资源名,则
find()将再次尝试查找该资源,方法是替换每个组件 p 在道路上与 p.zip/p . 例如,这允许find()映射资源名称corpora/chat80/cities.pl指向zip文件路径指针corpora/chat80.zip/chat80/cities.pl.使用时
find()要定位zipfile中包含的目录,资源名称必须以正斜杠字符结尾。否则,find()将找不到目录。
resource_name (str or unicode) -- 要搜索的资源的名称。资源名是POSIX样式的相对路径名,例如 corpora/brown . 目录名将自动转换为平台相应的路径分隔符。
str
nltk.data.load(resource_url, format='auto', cache=True, verbose=False, logic_parser=None, fstruct_reader=None, encoding=None)[源代码]从NLTK数据包加载给定的资源。当前支持以下资源格式:
pickle
json
yaml
cfg(上下文无关语法)
pcfg(概率CFG)
fcfg(基于特征的CFG)
fol(一阶逻辑公式)
logic(逻辑公式由给定的逻辑分析器解析)
val(一阶逻辑模型的估值)
text(文件内容为Unicode字符串)
raw(原始文件内容作为字节字符串)
如果未指定格式, load() 将尝试根据资源名的文件扩展名确定格式。如果失败了, load() 将提高 ValueError 例外。
对于所有文本格式(除 pickle , json , yaml 和 raw ,它尝试使用utf-8解码原始内容,如果这不起作用,它将尝试使用iso-8859-1(拉丁语-1),除非 encoding 指定。
resource_url (str) -- 指定从何处加载资源的URL。默认协议是“nltk:”,它在nltk数据包中搜索文件。
cache (bool) -- 如果为true,请将此资源添加到缓存中。如果load()在其缓存中找到资源,则它将从缓存中返回该资源,而不是加载它。
verbose (bool) -- 如果为真,则在加载资源时打印消息。从缓存中检索资源时不显示消息。
logic_parser (LogicParser) -- 将用于分析逻辑表达式的分析器。
fstruct_reader (FeatStructReader) -- 将用于分析FCFG的功能结构的分析器。
encoding (str) -- 输入的编码;仅用于文本格式。
nltk.data.path = ['/home/bk/nltk_data', '/tmp/vpy_rst_x/nltk_data', '/tmp/vpy_rst_x/share/nltk_data', '/tmp/vpy_rst_x/lib/nltk_data', '/usr/share/nltk_data', '/usr/local/share/nltk_data', '/usr/lib/nltk_data', '/usr/local/lib/nltk_data']NLTK数据包可能驻留的目录列表。在数据包中查找资源时,将按顺序检查这些目录。请注意,这允许用户在自己的资源版本中替换资源(例如,在其主目录的~/nltk_data下)。
nltk.data.retrieve(resource_url, filename=None, verbose=True)[源代码]将给定的资源复制到本地文件。如果未指定文件名,则使用URL的文件名。如果已经有一个名为 filename 然后举起一个 ValueError .
resource_url (str) -- 指定从何处加载资源的URL。默认协议是“nltk:”,它在nltk数据包中搜索文件。
nltk.data.show_cfg(resource_url, escape='##')[源代码]写出语法文件,忽略转义和空行。
resource_url (str) -- 指定从何处加载资源的URL。默认协议是“nltk:”,它在nltk数据包中搜索文件。
escape (str) -- 指示要忽略的行的预结束字符串
想要了解NLTK,请点击这里
想要了解安装NLTK,请点击这里