Пользователь сообщил, что это предложение выдает и AssertionError
при использовании Стэнфордского DependencyParser
API в NLTK для этого предложения:
Несмотря на все свое понимание мира мечты подростковой жизни и его электронное выражение через кибер-культуру, фильм не дает права никому, кто хочет вытянуть связную историю из его продолжительности продолжительностью 2 1/2 часа.
Код:
>>> from nltk.parse.stanford import StanfordDependencyParser >>> dep_parser=StanfordDependencyParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
>>> sent = 'for all of its insights into the dream world of teen life , and its electronic expression through cyber culture , the film gives no quarter to anyone seeking to pull a cohesive story out of its 2 1/2-hour running time . '
>>> dep_parser.raw_parse(sent)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/nltk/parse/stanford.py", line 132, in raw_parse
return next(self.raw_parse_sents([sentence], verbose))
File "/Library/Python/2.7/site-packages/nltk/parse/stanford.py", line 150, in raw_parse_sents
return self._parse_trees_output(self._execute(cmd, '\n'.join(sentences), verbose))
File "/Library/Python/2.7/site-packages/nltk/parse/stanford.py", line 91, in _parse_trees_output
res.append(iter([self._make_tree('\n'.join(cur_lines))]))
File "/Library/Python/2.7/site-packages/nltk/parse/stanford.py", line 339, in _make_tree
return DependencyGraph(result, top_relation_label='root')
File "/Library/Python/2.7/site-packages/nltk/parse/dependencygraph.py", line 84, in __init__
top_relation_label=top_relation_label,
File "/Library/Python/2.7/site-packages/nltk/parse/dependencygraph.py", line 328, in _parse
assert cell_number == len(cells)
AssertionError
Возможно, причина в том, что DependencyGraph
читает выходные данные или что выходные данные Стэнфорда противоречивы.
Более подробная информация о настройке инструментов NLTK + Stanford находится на https://gist.github.com/alvations/e1df0ba227e542955a8a#stanford -parser
Привет, @alvations Есть новости по этому
Спасибо
@ hoavt-54 Я думаю, что есть быстрый способ проверить, является ли причиной проблемы Стэнфордская сторона или код DependencyGraph
используя новый интерфейс из # 1249. Сегодня я буду немного занят, но, возможно, кто-нибудь еще сможет это проверить и вернуться к этому вопросу.
Могу посмотреть, я как-то пропустил эту проблему.
@dimazest Здравствуйте, я только что столкнулся с этой ошибкой. Как мне это исправить?
@tesslocl, какое у тебя предложение? Вы пытались вместо этого использовать CoreNLP (nltk / parse / corenlp.py)?
@dimazest Я только что сделал, и я столкнулся с другой ошибкой:
Traceback (most recent call last):
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 386, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 382, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\Admin\Anaconda3\lib\http\client.py", line 1198, in getresponse
response.begin()
File "C:\Users\Admin\Anaconda3\lib\http\client.py", line 297, in begin
version, status, reason = self._read_status()
File "C:\Users\Admin\Anaconda3\lib\http\client.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "C:\Users\Admin\Anaconda3\lib\socket.py", line 576, in readinto
return self._sock.recv_into(b)
socket.timeout: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\adapters.py", line 423, in send
timeout=timeout
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 649, in urlopen
_stacktrace=sys.exc_info()[2])
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\packages\urllib3\util\retry.py", line 347, in increment
raise six.reraise(type(error), error, _stacktrace)
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\packages\urllib3\packages\six.py", line 686, in reraise
raise value
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 600, in urlopen
chunked=chunked)
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 388, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 308, in _raise_timeout
raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value)
requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=9000): Read timed out. (read timeout=60)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\classifier\feature_extraction.py", line 473, in <module>
print(feature_extraction(test_file_id))
File "E:\classifier\feature_extraction.py", line 146, in feature_extraction
for line in dep_parse:
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 279, in raw_parse_sents
parsed_data = self.api_call(sentence, properties=default_properties)
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 247, in api_call
timeout=60,
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\sessions.py", line 535, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "C:\Users\Admin\Anaconda3\lib\site-packages\requests\adapters.py", line 499, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=9000): Read timed out. (read timeout=60)
Я изменил только часть StanfordDependencyParser, а остальную часть кода оставил без изменений. Я проверил документацию и полагаю, что методы в CoreNLP такие же, верно? Парсинг кажется успешным, потому что ошибка находится в следующей строке, где я перебираю результаты синтаксического анализа.
Вам нужно запустить сервер Cornlp, попробуйте:
with CoreNLPServer(port=9000) as server:
parser = CoreNLPParser(url=server.url)
parser.parse(...)
Прошу прощения за отсутствующую документацию и за ответ в рубашке, поскольку я печатаю на своем телефоне.
@dimazest Я очень ценю вашу помощь и быстрые ответы. Но ошибки прилипают :(
Traceback (most recent call last):
File "E:\classifier\feature_extraction.py", line 474, in <module>
print(feature_extraction(test_file_id))
File "E:\classifier\feature_extraction.py", line 135, in feature_extraction
with CoreNLPServer(port=9000) as server:
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 81, in __init__
try_port(port)
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 35, in try_port
sock.bind(('', port))
OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted
Я пробовал погуглить, но не знаю, как работают сокеты ...
вы можете попробовать другой порт: CoreNLPServer (port = 9001), например, или просто CoreNLPServer (), тогда следует выбрать свободный порт.
@dimazest Я пробовал от 9001 до 9010, а также пустую скобку, и это то, что я получаю каждый раз:
Traceback (most recent call last):
File "E:\classifier\feature_extraction.py", line 509, in <module>
print(feature_extraction(test_file_id))
File "E:\classifier\feature_extraction.py", line 136, in feature_extraction
with CoreNLPServer() as server:
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 170, in __enter__
self.start()
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 149, in start
'Could not connect to the server.'
nltk.parse.corenlp.CoreNLPServerError: Could not connect to the server.
Учитывая, что я нахожусь в Китае, я оставил свой VPN включенным во время его запуска, но все равно не повезло. В чем может быть моя проблема?
У вас есть corenlp .jars? Вам необходимо, чтобы сервер corenlp работал локально.
Можете ли вы запустить этот пример https://github.com/nltk/nltk/pull/1249#pullrequestreview -18096061
У меня есть банки в каталоге E:\classifier\stanford\stanford-corenlp-full-2016-10-31
и я полагаю, что это те, на которые вы ссылаетесь:
stanford-corenlp-3.7.0.jar
stanford-corenlp-3.7.0-javadoc.jar
stanford-corenlp-3.7.0-models.jar
stanford-corenlp-3.7.0-sources.jar
И каталог был установлен в переменную среды CLASSPATH.
Я могу запустить пример в командной строке Windows, и вот результат:
Python 3.5.3 |Anaconda custom (64-bit)| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from nltk.parse.corenlp import *
>>> global server
>>> server = CoreNLPServer()
>>> server.start()
>>> parser = CoreNLPParser(url='http://localhost:9000')
>>> sent = 'the quick brown fox jumps over the lazy dog'
>>> parser.raw_parse(sent)
<list_iterator object at 0x000001F0EFED69E8>
>>> fox_parsed = next(parser.raw_parse(sent))
>>> fox_parsed.pretty_print()
ROOT
|
NP
_______________|_________
| NP
| _________|___
| | PP
| | ________|___
NP NP | NP
____|__________ | | _______|____
DT JJ JJ NN NNS IN DT JJ NN
| | | | | | | | |
the quick brown fox jumps over the lazy dog
И когда я запустил эту строку server.start()
всплывает предупреждение о безопасности Windows, и я все это время думал, что это ошибка брандмауэра, поэтому я перешел в настройки брандмауэра, чтобы разрешить двоичный файл Java (TM) Platform SE через брандмауэр. Я думал, что это решит проблему, но когда я снова открываю редактор и запускаю код, я все равно получаю ту же ошибку:
Traceback (most recent call last):
File "E:\classifier\feature_extraction.py", line 503, in <module>
print(feature_extraction(test_file_id))
File "E:\classifier\feature_extraction.py", line 130, in feature_extraction
with CoreNLPServer() as server:
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 170, in __enter__
self.start()
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 149, in start
'Could not connect to the server.'
nltk.parse.corenlp.CoreNLPServerError: Could not connect to the server.
После запуска сервера можно ли получить доступ к http: // localhost : 9000 в браузере?
Вы также можете запустить сервер самостоятельно, см. Https://stanfordnlp.github.io/CoreNLP/corenlp-server.html
Если он запущен, и вы можете получить к нему доступ через браузер, вы должны иметь возможность использовать парсер:
parser = CoreNLPParser(url='http://localhost:9000')
# and so on
Чтобы выяснить это, я снова запускаю пример в командной строке, но на этот раз получаю знакомую ошибку
Python 3.5.3 |Anaconda custom (64-bit)| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from nltk.parse.corenlp import *
>>> global server
>>> server = CoreNLPServer()
>>> server.start()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 149, in start
'Could not connect to the server.'
nltk.parse.corenlp.CoreNLPServerError: Could not connect to the server.
>>> server.start()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Admin\Anaconda3\lib\site-packages\nltk\parse\corenlp.py", line 149, in start
'Could not connect to the server.'
nltk.parse.corenlp.CoreNLPServerError: Could not connect to the server.
... И я понятия не имею, что произошло между ними. Никакой конфигурации я не менял.
Я давно хотел перенести этот проект на Linux, но все время получаю ошибку NLTK was unable to find ***.jar! Set the CLASSPATH environment variable
в Linux. Я установил CLASSPATH в /etc/environment
, /etc/profile
и ~/.bash_profile
и даже попытался скопировать эти банки в $JAVA_HOME/lib/
но проблема не исчезла. Стоит ли открывать еще один вопрос?
Можете ли вы запустить сервер corenlp с терминала (не с python), проверьте https://stanfordnlp.github.io/CoreNLP/corenlp-server.html для получения дополнительной информации?
# Run the server using all jars in the current directory (e.g., the CoreNLP home directory)
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
E:\classifier\stanford\stanford-corenlp-full-2016-10-31>java -mx4g -cp "E:\classifier\stanford\stanford-corenlp-full-2016-10-31" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
Error: Could not find or load main class edu.stanford.nlp.pipeline.StanfordCoreNLPServer
E:\classifier\stanford\stanford-corenlp-full-2016-10-31>java -Xmx4g -cp "E:\classifier\stanford\stanford-corenlp-full-2016-10-31" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-chinese.properties -port 9000 -timeout 15000
Error: Could not find or load main class edu.stanford.nlp.pipeline.StanfordCoreNLPServer
E:\classifier\stanford\stanford-corenlp-full-2016-10-31>java -mx4g -cp "E:\classifier\stanford\stanford-corenlp-full-2016-10-31" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -timeout 15000
Error: Could not find or load main class edu.stanford.nlp.pipeline.StanfordCoreNLPServer
Кажется, нет. Правильно ли я делаю?
Я наконец заставил эти Стэнфордские модули работать в Linux. С теми же строками кода сервер CoreNLP, кажется, запускается без проблем, но я получаю другие ошибки в строке, где я перебираю результаты анализа.
Traceback (most recent call last):
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/connection.py", line 141, in _new_conn
(self.host, self.port), self.timeout, **extra_kw)
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py", line 83, in create_connection
raise err
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py", line 600, in urlopen
chunked=chunked)
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py", line 356, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/home/tesslo/anaconda3/lib/python3.5/http/client.py", line 1107, in request
self._send_request(method, url, body, headers)
File "/home/tesslo/anaconda3/lib/python3.5/http/client.py", line 1152, in _send_request
self.endheaders(body)
File "/home/tesslo/anaconda3/lib/python3.5/http/client.py", line 1103, in endheaders
self._send_output(message_body)
File "/home/tesslo/anaconda3/lib/python3.5/http/client.py", line 934, in _send_output
self.send(msg)
File "/home/tesslo/anaconda3/lib/python3.5/http/client.py", line 877, in send
self.connect()
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/connection.py", line 166, in connect
conn = self._new_conn()
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/connection.py", line 150, in _new_conn
self, "Failed to establish a new connection: %s" % e)
requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.HTTPConnection object at 0x7f110a9c4940>: Failed to establish a new connection: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/adapters.py", line 438, in send
timeout=timeout
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py", line 649, in urlopen
_stacktrace=sys.exc_info()[2])
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/packages/urllib3/util/retry.py", line 388, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
requests.packages.urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=9000): Max retries exceeded with url: /?properties=%7B%22annotators%22%3A+%22tokenize%2Cpos%2Clemma%2Cssplit%2Cdepparse%22%2C+%22outputFormat%22%3A+%22json%22%2C+%22ssplit.isOneSentence%22%3A+%22true%22%7D (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f110a9c4940>: Failed to establish a new connection: [Errno 111] Connection refused',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/media/tesslo/classifier/feature_extraction.py", line 503, in <module>
print(feature_extraction(test_file_id))
File "/media/tesslo/classifier/feature_extraction.py", line 142, in feature_extraction
for line in dep_parse:
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/nltk/parse/corenlp.py", line 279, in raw_parse_sents
parsed_data = self.api_call(sentence, properties=default_properties)
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/nltk/parse/corenlp.py", line 247, in api_call
timeout=60,
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/sessions.py", line 565, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/sessions.py", line 518, in request
resp = self.send(prep, **send_kwargs)
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/sessions.py", line 639, in send
r = adapter.send(request, **kwargs)
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/requests/adapters.py", line 502, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=9000): Max retries exceeded with url: /?properties=%7B%22annotators%22%3A+%22tokenize%2Cpos%2Clemma%2Cssplit%2Cdepparse%22%2C+%22outputFormat%22%3A+%22json%22%2C+%22ssplit.isOneSentence%22%3A+%22true%22%7D (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f110a9c4940>: Failed to establish a new connection: [Errno 111] Connection refused',))
FYI Linux и Windows используют одно и то же оборудование.
Хорошо, есть два шага:
1) Запустите процесс CoreNLP Java. Есть два способа, я предлагаю вам начать вручную, используя команду java -Xmx4g -cp ...
. Вам это удалось? У вас должна быть возможность получить доступ к серверу через браузер, посетив http: // localhost: 9000. В выводе консоли вы должны увидеть, какой порт используется.
2) После запуска сервера вы можете создать клиент CoreNLP python parser = CoreNLPParser(url='http://localhost:9000')
. Поскольку вы сами запустили Java-сервер CoreNLP, вам не нужно запускать его в сеансе python (не запускайте server = CoreNLPServer()
)
Сообщения об ошибках, которые вы публикуете, предполагают, что сервер CoreNLP Java не запущен.
Это не удалось:
tesslo<strong i="6">@TLU</strong>:/media/tesslo/classifier/stanford/stanford-corenlp-full-2016-10-31$ java -mx4g -cp "/media/tesslo/classifier/stanford/stanford-corenlp-full-2016-10-31" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
Error: Could not find or load main class edu.stanford.nlp.pipeline.StanfordCoreNLPServer
tesslo<strong i="7">@TLU</strong>:/media/tesslo/classifier/stanford/stanford-corenlp-full-2016-10-31$ java -Xmx4g -cp "/media/tesslo/classifier/stanford/stanford-corenlp-full-2016-10-31" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-chinese.properties -port 9000 -timeout 15000
Error: Could not find or load main class edu.stanford.nlp.pipeline.StanfordCoreNLPServer
tesslo<strong i="8">@TLU</strong>:/media/tesslo/classifier/stanford/stanford-corenlp-full-2016-10-31$ java -mx4g -cp "/media/tesslo/classifier/stanford/stanford-corenlp-full-2016-10-31" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -timeout 15000
Error: Could not find or load main class edu.stanford.nlp.pipeline.StanfordCoreNLPServer
И http: // localhost : 9000 показывает ошибку ERR_CONNECTION_REFUSED
Вы пробовали это с "*"
в качестве пути к классам: j ava -mx4g -cp "*" ...
?
Привет, похоже, я тоже столкнулся с этой проблемой. Мое предложение:
«Может быть, шнур длиной 2 21/2 фута?», U «И он более дешевого качества, чем та часть зарядного устройства, к которой подключается micro usb ...»
И я попытался выяснить, похоже, что '/' вызывает эту ошибку.
@caisinong Вы пробовали использовать новый интерфейс CoreNLP? См. Мои комментарии выше.
@dimazest Извините за задержку. Я только что сделал:
tesslo<strong i="7">@TLU</strong>:/media/tesslo/classifier/stanford/stanford-corenlp-full-2016-10-31$ java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
[main] INFO CoreNLP - --- StanfordCoreNLPServer#main() called ---
[main] INFO CoreNLP - setting default constituency parser
[main] INFO CoreNLP - warning: cannot find edu/stanford/nlp/models/srparser/englishSR.ser.gz
[main] INFO CoreNLP - using: edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz instead
[main] INFO CoreNLP - to use shift reduce parser download English models jar from:
[main] INFO CoreNLP - http://stanfordnlp.github.io/CoreNLP/download.html
[main] INFO CoreNLP - Threads: 2
[main] INFO CoreNLP - Starting server...
[main] INFO CoreNLP - StanfordCoreNLPServer listening at /0:0:0:0:0:0:0:0:9000
Сейчас я могу посетить http: // localhost : 9000, но, возвращаясь к редактору, я все еще получаю эту ошибку в строке, запускающей сервер:
Traceback (most recent call last):
File "/media/tesslo/classifier/feature_extraction.py", line 503, in <module>
print(feature_extraction(test_file_id))
File "/media/tesslo/classifier/feature_extraction.py", line 130, in feature_extraction
with CoreNLPServer() as server:
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/nltk/parse/corenlp.py", line 170, in __enter__
self.start()
File "/home/tesslo/anaconda3/lib/python3.5/site-packages/nltk/parse/corenlp.py", line 149, in start
'Could not connect to the server.'
nltk.parse.corenlp.CoreNLPServerError: Could not connect to the server.
После того, как вы запустили сервер вручную, вам не нужно запускать сервер в коде.
Оставьте сервер включенным и создайте экземпляр парсера:
parser = CoreNLPParser(url='http://localhost:9000')
@dimazest Проблема решена. Спасибо за вашу помощь и терпение все это время!
У меня есть подобный опыт. Запуск сервера Stanford CorenNLP в коде беспорядочный и должен использоваться только в целях тестирования. Может, нам как-то не стоит раскрывать это пользователю.
Я рада, что все работает. Действительно, сервер должен запускаться вне кода Python.
Исправлено и решено новым CoreNLP API =)
@dimazest Привет ... если текст содержит \
или /
решение для Assertion Error
должно использовать только Core NLP? я использую stanford-parser-full-2017-06-09
Предложение, использованное для синтаксического анализа, было Iraqi security forces drove Islamic State fighters from the centre of a town just south of the militants\' main stronghold of Mosul on Saturday and reached within a few km (miles) of an airport on the edge of the city, a senior commander said.
@ kavin26 Да, используйте nltk.parse.corenlp.CoreNLPParser
.
@alvations огромное спасибо: +1:
Самый полезный комментарий
@dimazest Проблема решена. Спасибо за вашу помощь и терпение все это время!