Um usuário relatou que esta frase lança AssertionError
ao usar a API DependencyParser
Stanford em NLTK para esta frase:
Apesar de todos os seus insights sobre o mundo dos sonhos da vida adolescente e sua expressão eletrônica por meio da cultura cibernética, o filme não dá trégua a quem busca extrair uma história coesa de seu tempo de execução de 2 horas e meia.
Código:
>>> 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
Possivelmente, pode ser como DependencyGraph
está lendo a saída ou que a saída de Stanford é inconsistente.
Mais detalhes sobre a configuração das ferramentas NLTK + Stanford estão em https://gist.github.com/alvations/e1df0ba227e542955a8a#stanford -parser
Olá @alvations. Alguma atualização sobre isso?
obrigado
@ hoavt-54 Acho que há uma maneira rápida de verificar se é o lado de Stanford ou o código DependencyGraph
que está causando o problema usando a nova interface de # 1249. Estarei um pouco ocupado hoje, mas talvez outra pessoa possa verificar e retomar o assunto.
Posso dar uma olhada, de alguma forma perdi esse problema.
@dimazest Olá, acabei de encontrar este erro. Como devo corrigir isso?
@tesslocl qual é a sua frase? Você tentou usar CoreNLP (nltk / parse / corenlp.py) em vez disso?
@dimazest que acabei de fazer e encontrei outro erro:
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)
Eu apenas alterei a parte StanfordDependencyParser e deixei o resto do código inalterado. Verifiquei os documentos e suponho que os métodos do CoreNLP sejam os mesmos, certo? A análise parece ter sucesso porque o erro está na próxima linha, onde faço um loop nos resultados da análise.
Você precisa iniciar um servidor cornlp, tente:
with CoreNLPServer(port=9000) as server:
parser = CoreNLPParser(url=server.url)
parser.parse(...)
Lamento pela documentação em falta e pela resposta da camisa, enquanto digito no meu telefone.
@dimazest Agradeço muito sua ajuda e respostas rápidas. Mas os erros permanecem :(
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
Tentei pesquisar no Google, mas não sei como funcionam os soquetes ...
você pode tentar outra porta: CoreNLPServer (port = 9001), por exemplo ou apenas CoreNLPServer (), então uma porta livre deve ser escolhida.
@dimazest Eu tentei 9001 até 9010 e também parênteses vazios e isto é o que eu obtenho todas as vezes:
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.
Considerando que estou na China, mantive minha VPN ligada enquanto o executava, mas ainda não tive sorte. Qual pode ser o meu problema aqui?
Você tem corenlp .jars? Você precisa ter um servidor corenlp rodando localmente.
Você pode executar este exemplo https://github.com/nltk/nltk/pull/1249#pullrequestreview -18096061
Tenho jars no diretório E:\classifier\stanford\stanford-corenlp-full-2016-10-31
e suponho que sejam estes aos quais você se refere:
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
E o diretório foi definido para a variável de ambiente CLASSPATH.
Posso executar o exemplo no prompt de comando do Windows e esta é a saída:
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
E quando eu executei esta linha server.start()
um alerta de segurança do Windows apareceu e eu estava pensando que era culpa do firewall o tempo todo, então fui para as configurações do firewall para permitir o binário Java (TM) Platform SE através do firewall. Achei que isso resolveria o problema, mas quando reabra o editor e executo o código, ainda recebo o mesmo erro:
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.
Depois de iniciar o servidor, você pode acessar http: // localhost : 9000 em seu navegador?
Você também pode iniciar o servidor sozinho, consulte https://stanfordnlp.github.io/CoreNLP/corenlp-server.html
Um está em execução e você pode acessá-lo por meio do navegador, você deve ser capaz de usar o analisador:
parser = CoreNLPParser(url='http://localhost:9000')
# and so on
Para descobrir isso, executo o exemplo no prompt de comando novamente, mas desta vez recebo o erro familiar
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.
... E eu não tenho ideia do que aconteceu entre eles. Não mudei nenhuma configuração.
Eu queria mover este projeto para o Linux há muito tempo, mas continuo recebendo o erro NLTK was unable to find ***.jar! Set the CLASSPATH environment variable
no Linux. Eu configurei CLASSPATH em /etc/environment
, /etc/profile
e ~/.bash_profile
e até tentei copiar esses potes para $JAVA_HOME/lib/
mas o problema persiste. Devo abrir outro problema?
Você consegue iniciar um servidor corenlp de um terminal (não de python), verifique https://stanfordnlp.github.io/CoreNLP/corenlp-server.html para mais detalhes?
# 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
Parecem não. Eu estou fazendo a coisa certa?
Finalmente consegui fazer esses módulos Stanford funcionarem no Linux. Com as mesmas linhas de código, o servidor CoreNLP parece iniciar sem problemas, mas recebo outros erros na linha em que faço um loop nos resultados da análise.
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 e Windows compartilham o mesmo hardware.
Ok, existem duas etapas envolvidas:
1) Inicie um processo CoreNLP Java. Existem duas maneiras, eu sugiro que você comece manualmente, que é usando o comando java -Xmx4g -cp ...
. Você conseguiu isso? Você deve conseguir acessar o servidor por meio de um navegador visitando http: // localhost: 9000. Você deve ver na saída do console, qual porta está sendo usada.
2) Assim que o servidor estiver em execução, você pode criar um cliente CoreNLP python parser = CoreNLPParser(url='http://localhost:9000')
. Como você mesmo iniciou o servidor CoreNLP Java, não precisa iniciá-lo na sessão Python (não execute server = CoreNLPServer()
)
As mensagens de erro postadas sugerem que o servidor CoreNLP Java não está funcionando.
Falhou:
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
E http: // localhost : 9000 mostra um erro ERR_CONNECTION_REFUSED
Você tentou com "*"
como um caminho de classe: j ava -mx4g -cp "*" ...
?
Olá, parece que também encontrei com este problema. Minha frase é:
'Talvez, um cabo de 2 7/2 pés?', E é de uma qualidade mais barata do que a parte do carregador que o micro usb se conecta ... '
E tentei descobrir, parece que o '/' causa esse erro.
@caisinong , você tentou usar a nova interface CoreNLP? Veja meus comentários acima.
@dimazest Desculpe pela demora. Eu acabei de fazer:
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
Consigo visitar http: // localhost : 9000 agora, mas voltando ao editor ainda estou recebendo este erro na linha que inicia o servidor:
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.
Depois de iniciar um servidor manualmente, você não precisa iniciar o servidor no código.
Mantenha o servidor em execução e instancie o analisador:
parser = CoreNLPParser(url='http://localhost:9000')
@dimazest O problema foi resolvido. Obrigado por sua ajuda e paciência o tempo todo!
Tenho experiência semelhante. Iniciar o servidor Stanford CorenNLP no código é confuso e deve ser usado apenas para fins de teste. Talvez devêssemos de alguma forma não expor isso ao usuário.
Estou feliz que as coisas estejam funcionando. Na verdade, o servidor deve ser iniciado fora do código Python.
Com patch e resolvido pela nova API CoreNLP =)
@dimazest Oi ... se o texto contém \
ou /
solução para Assertion Error
é usar apenas PNL principal? estou usando stanford-parser-full-2017-06-09
A frase usada para análise foi 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 Sim, use o nltk.parse.corenlp.CoreNLPParser
.
@alvations, muito obrigado: +1:
Comentários muito úteis
@dimazest O problema foi resolvido. Obrigado por sua ajuda e paciência o tempo todo!