簡體   English   中英

斯坦福語音標記器的一部分給出了屬性錯誤

[英]Stanford part of speech tagger gives Attribute error

我嘗試了不同的教程來學習在Python中使用斯坦福語言標記的一部分。 目前,我正在使用以下代碼使用Stanford標記程序進行Pos標記。 但是,我得到AttributeError 我的代碼如下:

import nltk
from nltk.tag.stanford import StanfordPOSTagger
english_postagger = StanfordPOSTagger('/home/szk/Downloads/NL2API/NL2API/tutorials/postags/stanford-postagger-2018-10-16/models/english-bidirectional-distsim.tagger', '/home/szk/Downloads/NL2API/NL2API/tutorials/postags/stanford-postagger-2018-10-16/stanford-postagger.jar')
english_postagger.tag('this is stanford postagger in nltk for python users'.split())

錯誤跟蹤如下:

Traceback (most recent call last):
  File "stanfordpostag.py", line 4, in <module>
    english_postagger.tag('this is stanford postagger in nltk for python users'.split())
  File "/home/szk/Downloads/NL2API/NL2API/newv/local/lib/python2.7/site-packages/nltk/tag/stanford.py", line 93, in tag
    return sum(self.tag_sents([tokens]), [])
  File "/home/szk/Downloads/NL2API/NL2API/newv/local/lib/python2.7/site-packages/nltk/tag/stanford.py", line 116, in tag_sents
    cmd, classpath=self._stanford_jar, stdout=PIPE, stderr=PIPE
  File "/home/szk/Downloads/NL2API/NL2API/newv/local/lib/python2.7/site-packages/nltk/internals.py", line 112, in java
    subprocess_output_dict = {'pipe': subprocess.PIPE, 'stdout': subprocess.STDOUT, 'devnull': subprocess.DEVNULL}
AttributeError: 'module' object has no attribute 'DEVNULL'

希望有人可以提供解決方案。

我不知道為什么,這並不工作-它仍然打算-但是從NLTK 3.2.3版本向前,用你討論的新的斯坦福CoreNLP服務器接口這里已經開好很多(速度和可擴展性的原因): HTTPS ://github.com/nltk/nltk/wiki/Stanford-CoreNLP-API-in-NLTK

所以您可以嘗試一下。 遵循這些說明很好,但是可以在所有地方替換當前的2018-10-05 CoreNLP版本,而不是說明中引用的先前版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM