如何解决POS标记性能降低我可以做一些预热吗?
最初的18秒是POS标记器从磁盘上解开到RAM中。如果要解决此问题,请在请求函数之外自行加载标记器。
import nltk.data, nltk.tag
tagger = nltk.data.load(nltk.tag._POS_TAGGER)
然后替换nltk.pos_tag
为tagger.tag
。代价是应用程序启动现在将花费+18秒。
解决方法
我正在使用NLTK在Web请求中对twitter的杂文进行POS标签。如您所知,Django会为每个请求实例化一个请求处理程序。
我注意到了这一点:对于一个请求(约200条推文),第一个推文需要〜18秒来标记,而所有后续推文都需要〜120毫秒来标记。我该怎么做才能加快流程?
我可以做一个“预热请求”,以便为每个请求加载模块数据吗?
class MyRequestHandler(BaseHandler):
def read(self,request): #this runs for a GET request
#...in a loop:
tokens = nltk.word_tokenize( tweet)
tagged = nltk.pos_tag( tokens)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。