Сначала я кодирую содержимое файла в предложения, а затем вызываю Stanford NER в каждом из предложений. Но этот процесс происходит очень медленно. Я знаю, буду ли я называть это содержимое всего файла, если будет быстрее, но я вызываю его в каждом предложении, так как хочу индексировать каждое предложение до и после распознавания сети.Как ускорить распознавание NE с помощью stanford NER с python nltk
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()
для каждого предложения, но есть ли способ, чтобы сделать его работать быстрее?
EDIT
Причина, по которой я хочу, чтобы пометить предложения отделить то, что я хочу писать предложения в файл (например, предложения индексации), так что при п помечен предложение на более позднем этапе, я могу получить необработанное предложение (я также делаю lemmatizing здесь)
формат файла:
(sent_number, orig_sentence, NE_and_lemmatized_sentence)
См также http://stackoverflow.com/questions/33676526/pos-tagger-is-incredibly-slow/33677051#33677051 – alvas
I не думайте, что это будет делать то, что я хочу, поскольку оно будет выводить помеченные предложения. то, что я хочу, это оригинальное предложение и не помеченные пары предложений, которые я напишу в файл в следующем формате: – KillBill
(sent_no, orig_sent, tagged_sent), например, 0, новый документ в королевскую женскую больницу, новый документ к королевскому королевству. Я не думаю, что ваш ответ позволяет мне это сделать? – KillBill