如何从GZIP文件中读取NLTK语法?

时间:2017-04-17 21:30:07

标签: python nltk

如何将压缩语法文件加载到NLTK中?我可以加载一个未压缩的语法文件,使用:

import nltk
parser = nltk.load_parser('grammar.fcfg')

但由于我的语法文件接近100MB,我想加载更小的压缩版本,只有1MB,但是失败了:

import nltk
parser = nltk.load_parser('grammar.tar.gz')

ValueError: Could not determine format for file:///grammar.tar.gz based on its file extension; use the "format" argument to specify the format explicitly.

不幸的是,查看nltk.data.FORMATS并未列出任何压缩格式。

1 个答案:

答案 0 :(得分:1)

正如您可以通过the source of load_parser检查relies {{}}}来查看file:///个网址。

该功能使用ntlk.data.find自动检测GZip压缩数据by checking if the path ends with .gzreads it

但是,要实现这一目标,数据应直接打包gzip,而不是tar或其他任何内容。