如何将压缩语法文件加载到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
并未列出任何压缩格式。
答案 0 :(得分:1)
正如您可以通过the source of load_parser
检查relies {{}}}来查看file:///
个网址。
该功能使用ntlk.data.find
自动检测GZip压缩数据by checking if the path ends with .gz
和reads it。
但是,要实现这一目标,数据应直接打包gzip
,而不是tar
或其他任何内容。