之前您重定向我到另一个计算器页面,因为我知道有关于加快词性标注了几个问题,我已经通过浏览并加快了我的代码这里的建议:Slow performance of POS tagging. Can I do some kind of pre-warming?如何加快慢POS标记?
我使用Python 3.6。我有包含约100,000个词的列表已经使用nltk进行了标记。这些都是非常重要的名单,所以我知道标记所有这些单词本质上需要一定的时间。我外装打标签,如下所示:
def tag_wordList(tokenizedWordList):
from nltk.tag.perceptron import PerceptronTagger
tagger=PerceptronTagger() # load outside
for words in tokenizedWordList:
taggedList = tagger.tag(tokenizedWordList) # add POS to words
return taggedList
采取这一步骤已经加快东西了显著量,但要打通100,000的话,它仍然以超过15小时(和它仍然运行)。该代码可以在较小的一组数据上正常工作。我相信我尝试将列表转换为一个没有太大改进的集合,尽管我会再次尝试以获得更好的效果。任何人有任何提高效率的其他技巧?
我强烈推荐spacy。它会和NLTK一样精确,速度也更快:https://spacy.io/docs/api/ – mbatchkarov
等待,如果你将完整列表传递给'tagger.tag',为什么还要有for循环? – entrophy
@entrophy好赶上!我直到现在才注意到并修复了它。谢谢! –