斯坦福分析器現在是'線程安全的'截至version 2.0(02.03.2012)。我目前正在運行命令行工具,並不知道如何通過線程化程序來使用我的多個內核。斯坦福分析器多線程使用
在過去,這個問題已經被回答爲「斯坦福分析器不是線程安全的」,正如常見問題解答所說。我希望能夠找到一個已經成功穿越最新版本的人。
我試過使用-t標誌(-t10和-tLLP),因爲那是我在我的搜索中可以找到的所有東西,但都拋出錯誤。
我發出了一個命令的一個例子是:
java -cp stanford-parser.jar edu.stanford.nlp.parser.lexparser.LexicalizedParser \
-outputFormat "oneline" ./grammar/englishPCFG.ser.gz ./corpus > corpus.lex
你好,我想用API編程而不是使用命令行。你的意思是沒有必要手動分割語料庫,LexicalizedParser會照顧分割和合並工作嗎?所以多線程對程序員來說是透明的? – Matt 2012-06-19 22:17:50
它不透明。這意味着您可以同時對不同的句子調用LexicalizedParser的parseTree()或apply()方法,並且它可以正常工作,但它在2.0版之前並未使用。你如何做到這一點取決於你,但顯而易見的現代Java方法是不分割語料庫,但建立一個Executor服務,並有一堆解析器Executor同時運行。 – 2012-06-20 15:32:12
謝謝,我在看你的NLP在線課程。這也有很大幫助!尊重。 – Matt 2012-06-20 18:14:53