【发布时间】:2016-02-18 07:53:53
【问题描述】:
首先我将文件内容标记为句子,然后对每个句子调用 Stanford NER。但是这个过程真的很慢。我知道如果我在整个文件内容上调用它会更快,但是我在每个句子上调用它,因为我想在 NE 识别之前和之后索引每个句子。
st = NERTagger('stanford-ner/classifiers/english.all.3class.distsim.crf.ser.gz', 'stanford-ner/stanford-ner.jar')
for filename in filelist:
sentences = sent_tokenize(filecontent) #break file content into sentences
for j,sent in enumerate(sentences):
words = word_tokenize(sent) #tokenize sentences into words
ne_tags = st.tag(words) #get tagged NEs from Stanford NER
这可能是因为每个句子都调用了st.tag(),但是有什么办法让它跑得更快?
编辑
我想单独标记句子的原因是我想将句子写入文件(如句子索引),以便在稍后阶段给定 ne 标记的句子,我可以得到未处理的句子(我也是在这里做词形还原)
文件格式:
(sent_number, orig_sentence, NE_and_lemmatized_sentence)
【问题讨论】:
标签: python nlp nltk stanford-nlp named-entity-recognition