有什么办法可以更有效地使用Standford Tagger吗?
每个调用NLTK的包装器都会为每个分析的字符串启动一个新的java实例,这非常非常慢,特别是当使用更大的外语模型时…
http://www.nltk.org/api/nltk.tag.html#module-nltk.tag.stanford
解决方法
找到解决方案.可以在servlet模式下运行POS Tagger,然后通过HTTP连接.完善.
http://nlp.stanford.edu/software/pos-tagger-faq.shtml#d
例
在后台启动服务器
nohup java -mx1000m -cp /var/stanford-postagger-full-2014-01-04/stanford-postagger.jar edu.stanford.nlp.tagger.maxent.MaxentTaggerServer -model /var/stanford-postagger-full-2014-01-04/models/german-dewac.tagger -port 2020 >& /dev/null &
调整防火墙仅限于从localhost访问端口2020
iptables -A INPUT -p tcp -s localhost --dport 2020 -j ACCEPT iptables -A INPUT -p tcp --dport 2020 -j DROP
用wget测试
wget http://localhost:2020/?die welt ist schön
关机服务器
pkill -f stanford
恢复iptable设置
iptables -D INPUT -p tcp -s localhost --dport 2020 -j ACCEPT iptables -D INPUT -p tcp --dport 2020 -j DROP