首页 > 解决方案 > Treetaggerwrapper python中的参数文件无效

问题描述

我已经通过 PyPI 为 python 安装了 TreeTaggerwrapper。我已将treetaggerwrapper.py 和treetaggerpoll.py 放在Treetagger 目录中。我还将english.par 文件放在'lib' 子目录中。当我启动标记器对象时,出现以下错误。

tagger= treetaggerwrapper.TreeTagger(TAGLANG='en')
----> 1 tagger= treetaggerwrapper.TreeTagger(TAGLANG='en')

c:\users\kj\appdata\local\programs\python\python36\lib\site-packages\treetaggerwrapper.py in __init__(self, **kargs)
   1000         logger.debug("Using treetaggerwrapper.py from %s", osp.abspath(__file__))
   1001         self._set_language(kargs)
-> 1002         self._set_tagger(kargs)
   1003         self._set_preprocessor(kargs)
   1004         # Note: TreeTagger process is started later, when really needed.

c:\users\kj\appdata\local\programs\python\python36\lib\site-packages\treetaggerwrapper.py in _set_tagger(self, kargs)
   1087                              self.tagparfile)
   1088                 raise TreeTaggerError("TreeTagger parameter file invalid: " + \
-> 1089                                       self.tagparfile)
   1090         logger.info("tagparfile=%s", self.tagparfile)
   1091 

TreeTaggerError: TreeTagger parameter file invalid: english-utf8.par

当我使用“tag-english”从 cmd 访问树标记器时,我得到了输出。有人能指出这里有什么问题吗?我已将 treetagger 目录添加到 PATH。

标签: pythonparsinginstallationpart-of-speech

解决方案


不久前我遇到了同样的问题。显然,treetaggerwrapper 期望参数文件具有类似 english-utf8.par 的名称。但是如果你只是提取了从TreeTagger下载的参数文件,之后没有修改它们,很可能它们被称为english.par之类的东西。

您可以更改代码中的预期文件名,也可以更改参数文件的名称以匹配代码。(参数文件应该已经用utf8编码,所以你不需要改变编码,只需要改变名字)


推荐阅读