как ускорить распознавание NE с помощью Stanford NER с помощью Python NLTK
Сначала я разбиваю содержимое файла на предложения, а затем вызываю 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)