Nltk: CoreNLPNERTagger выдает HTTPError: 500 Ошибка сервера: внутренняя ошибка сервера для URL: ......

Созданный на 25 апр. 2018  ·  22Комментарии  ·  Источник: nltk/nltk

Привет,

Я использую nltk v3.2.5 и пытаюсь использовать CoreNLPNERTagger как с Stanford CoreNLP v3.9.1 (последняя версия), так и с v3.8.0. Однако они оба выдают ошибку HTTPError: 500 Server Error.

Код
"" "
из nltk.tag.stanford импортировать CoreNLPPOSTagger, CoreNLPNERTagger
CoreNLPPOSTagger (url = 'http: // localhost: 9000') .tag ('Какая воздушная скорость у порожней ласточки?'. Split ())
CoreNLPNERTagger (url = 'http: // localhost: 9000') .tag ('Рами Эйд учится в Университете Стоуни-Брук в Нью-Йорке.'. Split ())
"" "

CoreNLPPOSTagger смог дать ожидаемый результат, поэтому, думаю, я правильно настроил сервер. Сообщение об ошибке для CoreNLPNERTagger:

"" "

HTTPError Traceback (последний вызов последним)
в()
----> 1 CoreNLPNERTagger (url = 'http: // localhost: 9000') .tag ('Рами Эйд учится в Университете Стоуни-Брук в Нью-Йорке.'. Split ())

~ \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ nltk \ tag \ stanford.py в теге (себя, предложение)
229
230 def tag (я, предложение):
-> 231 return self.tag_sents ([предложение]) [0]
232
233 def raw_tag_sents (я, предложения):

~ \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ nltk \ tag \ stanford.py в tag_sents (я, предложения)
225 # Преобразование списка (list (str)) -> list (str)
226 предложений = ('' .join (слова) для слов в предложениях)
-> 227 список возврата (self.raw_tag_sents (предложения))
228
229

~ \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ nltk \ tag \ stanford.py в raw_tag_sents (сам, предложения)
242 default_properties ['аннотаторы'] + = self.tagtype
243 для предложения в предложениях:
-> 244 tagged_data = self.api_call (предложение, свойства = default_properties)
245 assert len ​​(tagged_data ['предложения']) == 1
246 # Тэгерам нужно возвращать только одно лучшее предложение.

~ \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ nltk \ parse \ corenlp.py в api_call (self, data, properties)
249)
250
-> 251 response.raise_for_status ()
252
253 вернуть response.json ()

~ \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ requests \ models.py в raise_for_status (self)
933
934, если http_error_msg:
-> 935 поднять HTTPError (http_error_msg, response = self)
936
937 def close (self):

HTTPError: 500 Ошибка сервера: внутренняя ошибка сервера для url: http: // localhost : 9000 /? Properties =% 7B% 22outputFormat% 22% 3A +% 22json% 22% 2C +% 22annotators% 22% 3A +% 22tokenize% 2Cssplit% 2Cner% 22% 2C +% 22ssplit.isOneSentence% 22% 3A +% 22true% 22% 7D
"" "
Может ли кто-нибудь указать, что здесь произошло? Спасибо!

resolved stanford api

Все 22 Комментарий

Привет,

вы видите какие-либо ошибки в журнале CoreNLP?

да.

CoreNLPPOSTagger работал нормально, без ошибок. Сообщение об ошибке при запуске CoreNLPNERTagger:
"" "
[pool-1-thread-1] INFO CoreNLP - [/ 0: 0: 0: 0: 0: 0: 0: 1: 52437] API-вызов с аннотаторами tokenize, ssplit, pos, lemma, ner
Рами Эйд учится в Университете Стоуни Брук в Нью-Йорке.
[pool-1-thread-1] ИНФОРМАЦИЯ edu.stanford.nlp.pipeline.StanfordCoreNLP - Добавление токенизатора аннотатора
[pool-1-thread-1] ИНФОРМАЦИЯ edu.stanford.nlp.pipeline.TokenizerAnnotator - Тип токенизатора не указан. По умолчанию PTBTokenizer.
[pool-1-thread-1] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Добавление аннотатора ssplit
[pool-1-thread-1] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Добавление позиции аннотатора
[pool-1-thread-1] ИНФОРМАЦИЯ edu.stanford.nlp.tagger.maxent.MaxentTagger - Загрузка тега POS из edu / stanford / nlp / models / pos-tagger / english-left3words / english-left3words-distsim.tagger. .. done [0,7 сек].
[pool-1-thread-1] ИНФОРМАЦИЯ edu.stanford.nlp.pipeline.StanfordCoreNLP - Добавление леммы аннотатора
[pool-1-thread-1] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Добавление аннотатора
[pool-1-thread-1] INFO edu.stanford.nlp.ie.AbstractSequenceClassifier - Загрузка классификатора из edu / stanford / nlp / models / ner / english.all.3class.distsim.crf.ser.gz ... выполнено [1,1 сек].
[pool-1-thread-1] INFO edu.stanford.nlp.ie.AbstractSequenceClassifier - Загрузка классификатора из edu / stanford / nlp / models / ner / english.muc.7class.distsim.crf.ser.gz ... выполнено [0,5 сек].
[pool-1-thread-1] INFO edu.stanford.nlp.ie.AbstractSequenceClassifier - Загрузка классификатора из edu / stanford / nlp / models / ner / english.conll.4class.distsim.crf.ser.gz ... выполнено [0,6 сек].
[pool-1-thread-1] INFO edu.stanford.nlp.time.JollyDayHolidays - Инициализация JollyDayHoliday для SUTime из пути к классам edu / stanford / nlp / models / sutime / jollyday / Holidays_sutime.xml как sutime.binder.1.
edu.stanford.nlp.util.ReflectionLoading $ ReflectionLoadingException: ошибка при создании edu.stanford.nlp.time.TimeExpressionExtractorImpl
в edu.stanford.nlp.util.ReflectionLoading.loadByReflection (ReflectionLoading.java:38)
в edu.stanford.nlp.time.TimeExpressionExtractorFactory.create (TimeExpressionExtractorFactory.java:60)
в edu.stanford.nlp.time.TimeExpressionExtractorFactory.createExtractor (TimeExpressionExtractorFactory.java:43)
в edu.stanford.nlp.ie.regexp.NumberSequenceClassifier.(NumberSequenceClassifier.java:86)
в edu.stanford.nlp.ie.NERClassifierCombiner.(NERClassifierCombiner.java:135)
на edu.stanford.nlp.pipeline.NERCombinerAnnotator.(NERCombinerAnnotator.java:131)
в edu.stanford.nlp.pipeline.AnnotatorImplementations.ner (AnnotatorImplementations.java:68)
в edu.stanford.nlp.pipeline.StanfordCoreNLP.lambda $ getNamedAnnotators $ 44 (StanfordCoreNLP.java:546)
в edu.stanford.nlp.pipeline.StanfordCoreNLP.lambda $ null $ 69 (StanfordCoreNLP.java:625)
на edu.stanford.nlp.util.Lazy $ 3.compute (Lazy.java:126)
на edu.stanford.nlp.util.Lazy.get (Lazy.java:31)
на edu.stanford.nlp.pipeline.AnnotatorPool.get (AnnotatorPool.java:149)
в edu.stanford.nlp.pipeline.StanfordCoreNLP.construct (StanfordCoreNLP.java:495)
на edu.stanford.nlp.pipeline.StanfordCoreNLP.(StanfordCoreNLP.java:201)
на edu.stanford.nlp.pipeline.StanfordCoreNLP.(StanfordCoreNLP.java:194)
на edu.stanford.nlp.pipeline.StanfordCoreNLP.(StanfordCoreNLP.java:181)
в edu.stanford.nlp.pipeline.StanfordCoreNLPServer.mkStanfordCoreNLP (StanfordCoreNLPServer.java:366)
в edu.stanford.nlp.pipeline.StanfordCoreNLPServer.access 800 долларов (StanfordCoreNLPServer.java:50)
в edu.stanford.nlp.pipeline.StanfordCoreNLPServer $ CoreNLPHandler.handle (StanfordCoreNLPServer.java:851)
в jdk.httpserver / com.sun.net.httpserver.Filter $ Chain.doFilter (неизвестный источник)
в jdk.httpserver / sun.net.httpserver.AuthFilter.doFilter (неизвестный источник)
в jdk.httpserver / com.sun.net.httpserver.Filter $ Chain.doFilter (неизвестный источник)
в jdk.httpserver / sun.net.httpserver.ServerImpl $ Exchange $ LinkHandler.handle (неизвестный источник)
в jdk.httpserver / com.sun.net.httpserver.Filter $ Chain.doFilter (неизвестный источник)
на jdk.httpserver / sun.net.httpserver.ServerImpl $ Exchange.run (неизвестный источник)
в java.base / java.util.concurrent.ThreadPoolExecutor.runWorker (неизвестный источник)
в java.base / java.util.concurrent.ThreadPoolExecutor $ Worker.run (неизвестный источник)
в java.base / java.lang.Thread.run (Неизвестный источник)
Вызвано: edu.stanford.nlp.util.MetaClass $ ClassCreationException: MetaClass не смог создать общедоступный edu.stanford.nlp.time.TimeExpressionExtractorImpl (java.lang.String, java.util.Properties) с args [sutime, {} ]
в edu.stanford.nlp.util.MetaClass $ ClassFactory.createInstance (MetaClass.java:237)
в edu.stanford.nlp.util.MetaClass.createInstance (MetaClass.java:382)
в edu.stanford.nlp.util.ReflectionLoading.loadByReflection (ReflectionLoading.java:36)
... еще 27
Вызвано: java.lang.reflect.InvocationTargetException
в java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод)
в java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance (неизвестный источник)
в java.base / jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance (неизвестный источник)
в java.base / java.lang.reflect.Constructor.newInstance (Неизвестный источник)
в edu.stanford.nlp.util.MetaClass $ ClassFactory.createInstance (MetaClass.java:233)
... еще 29
Вызвано: java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException
в de.jollyday.util.CalendarUtil.(CalendarUtil.java:42)
в de.jollyday.HolidayManager.(HolidayManager.java:66)
в de.jollyday.impl.DefaultHolidayManager.(DefaultHolidayManager.java:46)
в edu.stanford.nlp.time.JollyDayHolidays $ MyXMLManager.(JollyDayHolidays.java:148)
в java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод)
в java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance (неизвестный источник)
в java.base / jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance (неизвестный источник)
в java.base / java.lang.reflect.Constructor.newInstance (неизвестный источник)
в java.base / java.lang.Class.newInstance (Неизвестный источник)
в de.jollyday.caching.HolidayManagerValueHandler.instantiateManagerImpl (HolidayManagerValueHandler.java:60)
в de.jollyday.caching.HolidayManagerValueHandler.createValue (HolidayManagerValueHandler.java:41)
в de.jollyday.caching.HolidayManagerValueHandler.createValue (HolidayManagerValueHandler.java:13)
в de.jollyday.util.Cache.get (Cache.java:51)
в de.jollyday.HolidayManager.createManager (HolidayManager.java:168)
в de.jollyday.HolidayManager.getInstance (HolidayManager.java:148)
в edu.stanford.nlp.time.JollyDayHolidays.init (JollyDayHolidays.java:57)
на edu.stanford.nlp.time.Options.(Options.java:119)
в edu.stanford.nlp.time.TimeExpressionExtractorImpl.init (TimeExpressionExtractorImpl.java:44)
в edu.stanford.nlp.time.TimeExpressionExtractorImpl.(TimeExpressionExtractorImpl.java:39)
... еще 34
Вызвано: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
в java.base / jdk.internal.loader.BuiltinClassLoader.loadClass (неизвестный источник)
в java.base / jdk.internal.loader.ClassLoaders $ AppClassLoader.loadClass (неизвестный источник)
в java.base / java.lang.ClassLoader.loadClass (Неизвестный источник)
... еще 53
"" "

Спасибо.

edu.stanford.nlp.util.ReflectionLoading$ReflectionLoadingException:
  Error creating edu.stanford.nlp.time.TimeExpressionExtractorImpl

Это похоже на ключевую ошибку на стороне CoreNLP.

Вы пытались пометить предложение через веб-интерфейс на http: // localhost : 9000?

Привет Дмитрий,

Спасибо за указание на это. Я думаю, это на стороне CoreNLP. Я попробовал несколько текстов с именами людей, и ни один из них на тот момент не работал в живом демо. Но я помню, что на прошлой неделе работал демо-сайт.

В дальнейшем, если NLTK предоставляет только оболочки для CoreNLP, то пользователям придется беспокоиться о сервере. Как вы думаете, было бы неплохо, если бы мы сохранили StanfordNERTagger или что-то подобное в новой версии? Спасибо.

На самом деле, мы должны просто отказаться от Стэнфордских API в NLTK и использовать только https://github.com/stanfordnlp/python-stanford-corenlp

Но это потребует некоторой работы, чтобы очистить, обернуть, объединить API с объектами NLTK и протестировать. Кто-нибудь готов принять вызов?

@hexingren Пожалуйста, попробуйте следующее с NLTK v3.3.

Используйте новый интерфейс CoreNLPParser .

Сначала обновите свой NLTK:

pip3 install -U nltk

Тогда еще в терминале:

wget http://nlp.stanford.edu/software/stanford-corenlp-full-2018-02-27.zip
unzip stanford-corenlp-full-2018-02-27.zip
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -preload tokenize,ssplit,pos,lemma,ner,parse,depparse -status_port 9000 -port 9000 -timeout 15000 &

python3

Наконец, запустите Python:

>>> from nltk.parse import CoreNLPParser
>>> parser = CoreNLPParser(url='http://localhost:9000')
>>> list(parser.parse(['house', ')', 'is', 'in', 'York', 'Avenue']))
[Tree('ROOT', [Tree('S', [Tree('NP', [Tree('NN', ['house']), Tree('-RRB-', ['-RRB-'])]), Tree('VP', [Tree('VBZ', ['is']), Tree('PP', [Tree('IN', ['in']), Tree('NP', [Tree('NNP', ['York']), Tree('NNP', ['Avenue'])])])])])])]

>>> tagger = CoreNLPParser(url='http://localhost:9000', tagtype='ner')
>>> tokens = 'Rami Eid is studying at Stony Brook University in NY'.split()
>>> tagger.tag(tokens)
[('Rami', 'PERSON'), ('Eid', 'PERSON'), ('is', 'O'), ('studying', 'O'), ('at', 'O'), ('Stony', 'ORGANIZATION'), ('Brook', 'ORGANIZATION'), ('University', 'ORGANIZATION'), ('in', 'O'), ('NY', 'STATE_OR_PROVINCE')]

Вы все еще получаете сообщение об ошибке?

Закрытие вопроса как решенного на данный момент =)
Пожалуйста, откройте, если возникнут дополнительные вопросы.

Возникла похожая ошибка

@ Bisht9887 не


HTTPError Traceback (последний вызов последним)
в()
22 отпечатка (м)
23
---> 24 name_extracter ()

в name_extracter ()
18 name_details = совпадение [1]
19 токенов = name_details.split ()
---> 20 result = tagger.tag (токены)
21 м в результате:
22 отпечатка (м)

~ \ Anaconda3 \ lib \ site-packages \ nltk \ parse \ corenlp.py в теге (себя, предложение)
380 ('без нагрузки', 'JJ'), ('проглотить', 'VB'), ('?', '.')]
381 "" "
-> 382 return self.tag_sents ([предложение]) [0]
383
384 def raw_tag_sents (я, предложения):

~ \ Anaconda3 \ lib \ site-packages \ nltk \ parse \ corenlp.py в tag_sents (сам, предложения)
359 # Преобразование списка (list (str)) -> list (str)
360 предложений = ('' .join (слова) для слов в предложениях)
-> 361 return [предложения [0] для предложений в self.raw_tag_sents (предложения)]
362
363 def tag (я, предложение):

~ \ Anaconda3 \ lib \ site-packages \ nltk \ parse \ corenlp.py в(.0)
359 # Преобразование списка (list (str)) -> list (str)
360 предложений = ('' .join (слова) для слов в предложениях)
-> 361 return [предложения [0] для предложений в self.raw_tag_sents (предложения)]
362
363 def tag (я, предложение):

~ \ Anaconda3 \ lib \ site-packages \ nltk \ parse \ corenlp.py в raw_tag_sents (сам, предложения)
399 default_properties ['аннотаторы'] + = self.tagtype
400 для предложения в предложениях:
-> 401 tagged_data = self.api_call (предложение, свойства = default_properties)
402 yield [[(token ['word'], token [self.tagtype]) для токена в tagged_sentence ['tokens']]
403 для tagged_sentence в tagged_data ['предложения']]

~ \ Anaconda3 \ lib \ site-packages \ nltk \ parse \ corenlp.py в api_call (self, data, properties)
255)
256
-> 257 response.raise_for_status ()
258
259 вернуть response.json ()

~ \ Anaconda3 \ lib \ site-packages \ requests \ models.py в raise_for_status (self)
933
934, если http_error_msg:
-> 935 поднять HTTPError (http_error_msg, response = self)
936
937 def close (self):

HTTPError: 500 Ошибка сервера: внутренняя ошибка сервера для url: http: // localhost : 9000 /? Properties =% 7B% 22outputFormat% 22% 3A +% 22json% 22% 2C +% 22annotators% 22% 3A +% 22tokenize% 2Cssplit% 2Cner% 22% 2C +% 22ssplit.isOneSentence% 22% 3A +% 22true% 22% 7D

Данные в некотором роде такие. Итак, у меня есть около 400 текстовых файлов с данными, подобными показанным ниже. Я разбираю каждый текстовый файл и каждую строку и передаю текст после «имени пациента:» в NER.

Имя пациента: Джонни, Рик Выполнено: Срок сдачи: 21 марта 2018 г .; Последнее обновление: Morgan;
Имя пациента: Уэс Конте.
имя пациента: Комфорт, Джон;
Имя пациента: Освальд, Энди Выполнено: Срок сдачи: 12 марта 2014 г .; Последнее обновление: Рассел, Уайт;
имя пациента: Дуглас, Дэвид Срок выполнения: 23 мая 2015 г .; Последнее обновление: Поттер, Алиса;
Имя пациента: Холл, Ариана
имя пациента: Бивер, Джейден
имя пациента: Освальд, Скотт;
имя пациента: Грин, Роберт;
имя пациента: Освальд, Скотт;
имя пациента: Холл, Роб
Имя пациента: Brain Burleth, 10 ноября 2013 г., 6:55 по центральноевропейскому времени.
Имя пациента: Грейс Джонсон, 11 мая 2011 г., 20:54 CST

@hexingren знаете ли вы, какая строка вызвала ошибку? Перед tagger.tag(tokens) добавьте строку print(tokens) .


В связи с характером набора данных я надеюсь, что предыдущий образец анонимизирован. Или, по крайней мере, изменились на какие-то вымышленные имена.

Кстати, если данные структурированы так, как показано выше, на самом деле нет необходимости в NER; P

@alvations : Спасибо! Проблема была решена, так как в NER были переданы некоторые пустые токены, поэтому теперь я поставил для них проверку.
Кроме того, данные не так структурированы, как я показал выше. Он очень неструктурированный, иначе я бы использовал регулярное выражение или что-то еще :). Я просто поместил здесь простой ясный образец.

В апреле я больше не пробовал эту оболочку, но меня вдохновила эта ветка . Это как-то связано с ner.useSUTime в старой версии.

@hexingren Нет никаких проблем, когда я запускал код с https://github.com/nltk/nltk/issues/2010#issuecomment -415300057 через корпус большого размера.

@hexingren Не могли бы вы быстро проверить свои данные и посмотреть,

Проблема, которую поднимал связана с пустой строкой. В этом случае я думаю, что API не работает. @dimazest Может быть, нам следует поймать пустые строки и вернуть пустые Tree() или [] ?

@alvations Дополнительные данные не использовались. Я пробовал пример кода в NLTK v3.2.5, и он не работал на моей машине. Если этот пример кода теперь работает в версии 3.3, это прекрасно! Спасибо.

Он должен работать в v3.3. Вот обновленные документы https://github.com/nltk/nltk/wiki/Stanford-CoreNLP-API-in-NLTK =)
Не стесняйтесь снова открыть это, если проблема повторится.

  1. Кажется, что вещи, передаваемые в парсер, не должны быть пустыми.
    https://stackoverflow.com/questions/52031337/stanfords-corenlp-name-entity-recogniser-throwing-error-500-server-error-inter
  2. И если вы запустите станфордский сервер с опцией -timeout , обратите внимание, что параметр должен быть больше, например -timeout 90000 , потому что кажется, что сервер может вызвать некоторую ошибку соединения, когда он долго анализирует токены. время.

@alvations @dimazest Я также сталкиваюсь с аналогичной проблемой error requests.exceptions.HTTPError: 500 Ошибка сервера: внутренняя ошибка сервера для url: http: // localhost : 9000 /? properties =% 7B% 22annotators% 22% 3A +% 22tokenize% 2Cssplit % 2Cner% 22% 2C +% 22ssplit.isOneSentence% 22% 3A +% 22true% 22% 2C +% 22outputFormat% 22% 3A +% 22json% 22% 7D.

И я должен согласиться с @JohnnyLim , что я наблюдаю, когда я отправляю текст в виде списка, в котором было более 100 элементов списка. Он немедленно выдал ошибку, но когда я отправил первые 5 элементов списка, он выдал ошибку после печати результата для первых 4 элементов списка.

Ниже приведена полная ошибка, которую я получил, когда запустил теггер NER с API. НЛТК == 3.4.

java.util.concurrent.TimeoutException
в java.util.concurrent.FutureTask.get (FutureTask.java:205)
в edu.stanford.nlp.pipeline.StanfordCoreNLPServer $ CoreNLPHandler.handle (StanfordCoreNLPServer.java:866)
в com.sun.net.httpserver.Filter $ Chain.doFilter (Filter.java:79)
на sun.net.httpserver.AuthFilter.doFilter (AuthFilter.java:83)
в com.sun.net.httpserver.Filter $ Chain.doFilter (Filter.java:82)
на sun.net.httpserver.ServerImpl $ Exchange $ LinkHandler.handle (ServerImpl.java:675)
в com.sun.net.httpserver.Filter $ Chain.doFilter (Filter.java:79)
на sun.net.httpserver.ServerImpl $ Exchange.run (ServerImpl.java:647)
в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
в java.lang.Thread.run (Thread.java:748)
Отслеживание (последний вызов последний):
Файл "SEC_Entity_Extraction.py", строка 27, в
tagged_text = ner_tagger.tag (text.split ())
Файл "/mnt/c/Users/17200391/Desktop/Python/text/lib/python3.5/site-packages/nltk/parse/corenlp.py", строка 366, в теге
return self.tag_sents ([предложение]) [0]
Файл "/mnt/c/Users/17200391/Desktop/Python/text/lib/python3.5/site-packages/nltk/parse/corenlp.py", строка 345, в tag_sents
return [предложения [0] для предложений в self.raw_tag_sent (предложения)]
Файл "/mnt/c/Users/17200391/Desktop/Python/text/lib/python3.5/site-packages/nltk/parse/corenlp.py", строка 345, в
return [предложения [0] для предложений в self.raw_tag_sent (предложения)]
Файл "/mnt/c/Users/17200391/Desktop/Python/text/lib/python3.5/site-packages/nltk/parse/corenlp.py", строка 387, в raw_tag_sents
tagged_data = self.api_call (предложение, свойства = default_properties)
Файл "/mnt/c/Users/17200391/Desktop/Python/text/lib/python3.5/site-packages/nltk/parse/corenlp.py", строка 250, в api_call
response.raise_for_status ()
Файл "/mnt/c/Users/17200391/Desktop/Python/text/lib/python3.5/site-packages/requests/models.py", строка 940, в raise_for_status
поднять HTTPError (http_error_msg, response = self)
request.exceptions.HTTPError: 500 Ошибка сервера: внутренняя ошибка сервера для url: http: // localhost : 9000 /? properties =% 7B% 22annotators% 22% 3A +% 22tokenize% 2Cssplit% 2Cner% 22% 2C +% 22ssplit.isOneSentence% 22% 3A +% 22true% 22% 2C +% 22outputFormat% 22% 3A +% 22json% 22% 7D

Не могли бы вы сообщить, есть ли какое-либо решение этой проблемы, потому что я планирую использовать теггер NER для гораздо большего количества текста и сначала просто пробовать какой-то POC. Любой вклад в этом отношении приветствуется.

Добавляя к этому, когда я в графическом интерфейсе для API я получил эту ошибку «Запрос CoreNLP истекло время ожидания. Ваш документ может быть слишком длинным.».

Спасибо,
нмакарун

Я обновил вики-страницу https://github.com/nltk/nltk/wiki/Stanford-CoreNLP-API-in-NLTK/_compare/3d64e56bede5e6d93502360f2fcd286b633cbdb9...f33be8b06094daec7d634f1437a

хотя, возможно, стоит поместить эту информацию в документацию NLTK, чтобы избежать разброса документации по нескольким источникам.

Не понимаю, почему вы говорите, что проблема решена. У меня не работает. Я использовал эту ссылку: https://stackoverflow.com/questions/52031337/stanfords-corenlp-name-entity-recogniser-throwing-error-500-server-error-inter

и, к сожалению, это совершенно бесполезно. Я все еще получаю сообщение об ошибке.

Он работает для любых других операций с тегами (например, с тегами pos), и он работает для всего остального. Я также не думаю, что это имеет какое-либо отношение к тексту, так как теги нер не работают вообще для любого текста и предложений. Я уверен, что правильно выполнил инструкции по загрузке сервера: java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer \

-preload tokenize, ssplit, pos, lemma, ner, parse, depparse \
-status_port 9000 -port 9000 -timeout 15000 &

и проблем с загрузкой не было.

Вот код, который я использовал:

tagger = CoreNLPParser (url = 'http: // localhost: 9000', tagtype = 'ner')
text = 'Отель находится на лучшем участке Пикадилли, недалеко от центра Мейфэр, между Гайд и Грин-парками и в нескольких кварталах от Королевской академии и станции метро Green Park.'

токены = text.split ()
если токены:
result = tagger.tag (токены)
для m в результате:
печать (м)

Вот что у меня получилось:


HTTPError Traceback (последний вызов последним)
в
6 токенов = name_details.split ()
7 если жетоны:
----> 8 result = tagger.tag (токены)
9 м в результате:
10 отпечатков (м)

/Applications/anaconda3/lib/python3.7/site-packages/nltk/parse/corenlp.py в теге (себя, предложение)
366 ('порожний', 'JJ'), ('ласточка', 'VB'), ('?', '.')]
367 "" "
-> 368 return self.tag_sents ([предложение]) [0]
369
370 def raw_tag_sents (я, предложения):

/Applications/anaconda3/lib/python3.7/site-packages/nltk/parse/corenlp.py в tag_sents (я, предложения)
345 # Преобразование списка (list (str)) -> list (str)
346 предложений = ('' .join (слова) для слов в предложениях)
-> 347 return [предложения [0] для предложений в self.raw_tag_sents (предложения)]
348
349 def tag (я, предложение):

/Applications/anaconda3/lib/python3.7/site-packages/nltk/parse/corenlp.py в(.0)
345 # Преобразование списка (list (str)) -> list (str)
346 предложений = ('' .join (слова) для слов в предложениях)
-> 347 return [предложения [0] для предложений в self.raw_tag_sents (предложения)]
348
349 def tag (я, предложение):

/Applications/anaconda3/lib/python3.7/site-packages/nltk/parse/corenlp.py в raw_tag_sents (сам, предложения)
387 default_properties ['аннотаторы'] + = self.tagtype
388 для предложения в предложениях:
-> 389 tagged_data = self.api_call (предложение, свойства = default_properties)
390 yield [
391 [

/Applications/anaconda3/lib/python3.7/site-packages/nltk/parse/corenlp.py в api_call (self, data, properties, timeout)
250)
251
-> 252 response.raise_for_status ()
253
254 вернуть response.json ()

/Applications/anaconda3/lib/python3.7/site-packages/requests/models.py в raise_for_status (self)
938
939, если http_error_msg:
-> 940 поднять HTTPError (http_error_msg, response = self)
941
942 def close (self):

HTTPError: 500 Ошибка сервера: внутренняя ошибка сервера для url: http: // localhost : 9000 /? Properties =% 7B% 22outputFormat% 22% 3A +% 22json% 22% 2C +% 22annotators% 22% 3A +% 22tokenize% 2Cssplit% 2Cner% 22% 2C +% 22ssplit.isOneSentence% 22% 3A +% 22true% 22% 7D

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

Chris00 picture Chris00  ·  3Комментарии

vezeli picture vezeli  ·  3Комментарии

libingnan54321 picture libingnan54321  ·  3Комментарии

talbaumel picture talbaumel  ·  4Комментарии

ndvbd picture ndvbd  ·  4Комментарии