2009-12-23 120 views
1

我想這一點:斯坦福POS惡搞在Java中

Sentence<TaggedWord> taggedString = MaxentTagger.tagStringTokenized("here is a string to tag"); 

這給了我:

Error: \u\nlp\data\pos-tagger\wsj3t0-18-left3words\left3words-wsj-0-18.tagger (The system cannot find the path specified)

我使用的是斯坦福大學的POS tagger

我能做些什麼來克服這個問題?

+0

下載斯坦福標記器的完整包,那裏你會發現模型,例如,left3words ... tagger。 – Skarab

回答

4

看來你首先得實例化一個惡搞傳遞包含的文件:

new MaxentTagger("models/left3words-wsj-0-18.tagger"); 

這是爲以後使用標記方法非常討厭的是靜態的:

MaxentTagger.tagStringTokenized("here is a string to tag"); 

我也必須通過-Xmx256m以使其在該設置下運行。

+2

是的,這是非常討厭的,但這已被修復現在:-)。第3版有一個非常乾淨的API!你現在應該用MaxentTagger tagger = new MaxentTagger(args [0]); String ans = tagger.tagString(「這是一個要標記的字符串。」); –

2

這是說它無法找到該路徑。那麼,它是否存在於你的機器上?

請注意,斜槓是反斜槓 - 您的操作系統是否支持反斜槓作爲文件分隔符?

另外請注意,這是一個絕對路徑 - 是否有意?

如果一切正常,文件是否存在?

編輯:如果沒有,你應該在這裏下載它(http://github.com/tiendung/ruby-nlp/blob/master/left3words-wsj-0-18.tagger),把它放在系統指定的路徑中,看看會發生什麼。

+0

它不存在,但我不知道我應該從哪裏得到它。我下載了這個:http://nlp.stanford.edu/software/tagger.shtml所以我認爲所有的文件將包括在內:S – Lilz

+0

添加了一個URL到我的回覆 – danben