Ein Benutzer hat berichtet, dass dieser Satz bei Verwendung der Stanford-API DependencyParser
in NLTK für diesen Satz AssertionError
auslöst:
Trotz all seiner Einblicke in die Traumwelt des Teenagerlebens und seines elektronischen Ausdrucks durch die Cyberkultur gibt der Film niemandem ein Viertel, der eine zusammenhängende Geschichte aus seiner zweieinhalbstündigen Laufzeit herausholen möchte.
Code:
>>> 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
Möglicherweise liest DependencyGraph
die Ausgabe oder die Stanford-Ausgabe ist inkonsistent.
Weitere Informationen zum Setup für NLTK + Stanford-Tools finden Sie unter https://gist.github.com/alvations/e1df0ba227e542955a8a#stanford -parser
Hallo @alvations Irgendwelche Updates dazu?
Vielen Dank
@ hoavt-54 Ich denke, es gibt eine schnelle Möglichkeit zu überprüfen, ob es sich um die Stanford-Seite oder den DependencyGraph
-Code handelt, der das Problem mithilfe der neuen Schnittstelle von # 1249 verursacht. Ich werde heute ein wenig beschäftigt sein, aber vielleicht kann jemand anderes es überprüfen und darauf zurückkommen.
Ich kann mal schauen, irgendwie habe ich dieses Problem verpasst.
@ Dimazest Hallo, ich bin gerade auf diesen Fehler
@ Tesslocl Was ist dein Satz? Haben Sie versucht, stattdessen CoreNLP (nltk / parse / corenlp.py) zu verwenden?
@dimazest Ich habe es gerade getan und bin auf einen anderen Fehler
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)
Ich habe nur den StanfordDependencyParser-Teil geändert und den Rest des Codes unverändert gelassen. Ich habe die Dokumente überprüft und ich nehme an, dass die Methoden in CoreNLP dieselben sind, habe ich Recht? Das Parsen scheint erfolgreich zu sein, da sich der Fehler in der nächsten Zeile befindet, in der ich die Analyseergebnisse durchlaufe.
Sie müssen einen cornlp-Server starten, versuchen Sie:
with CoreNLPServer(port=9000) as server:
parser = CoreNLPParser(url=server.url)
parser.parse(...)
Es tut mir leid für die fehlende Dokumentation und für eine Antwort auf ein Hemd, während ich auf meinem Telefon tippe.
@dimazest Ich
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
Ich habe versucht, es zu googeln, aber ich weiß nicht, wie Steckdosen funktionieren ...
Sie können einen anderen Port ausprobieren: CoreNLPServer (Port = 9001), zum Beispiel oder nur CoreNLPServer (), dann sollte ein freier Port ausgewählt werden.
@dimazest Ich habe 9001 bis 9010 und auch leere Klammern ausprobiert und das bekomme ich jedes Mal:
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.
Da ich in China bin, habe ich mein VPN während des Betriebs eingeschaltet gelassen, aber immer noch kein Glück. Was könnte mein Problem hier sein?
Haben Sie corenlp .jars? Sie benötigen einen lokal laufenden Corenlp-Server.
Können Sie dieses Beispiel ausführen https://github.com/nltk/nltk/pull/1249#pullrequestreview -18096061
Ich habe Gläser unter dem Verzeichnis E:\classifier\stanford\stanford-corenlp-full-2016-10-31
und ich nehme an, dass dies diejenigen sind, auf die Sie sich beziehen:
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
Das Verzeichnis wurde auf die Umgebungsvariable CLASSPATH festgelegt.
Ich kann das Beispiel in der Windows-Eingabeaufforderung ausführen und dies ist die Ausgabe:
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
Und als ich diese Zeile server.start()
ausführte, wurde eine Windows-Sicherheitswarnung angezeigt, und ich dachte, es sei die ganze Zeit die Schuld der Firewall. Deshalb ging ich zu den Firewall-Einstellungen, um Java (TM) Platform SE-Binärdateien durch die Firewall zuzulassen. Ich dachte, dies würde das Problem lösen, aber wenn ich den Editor erneut öffne und den Code ausführe, wird immer noch der gleiche Fehler angezeigt:
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.
Können Sie nach dem Start des Servers in Ihrem Browser auf http: // localhost : 9000 zugreifen?
Sie können den Server auch selbst starten, siehe https://stanfordnlp.github.io/CoreNLP/corenlp-server.html
Wenn es ausgeführt wird und Sie über den Browser darauf zugreifen können, sollten Sie den Parser verwenden können:
parser = CoreNLPParser(url='http://localhost:9000')
# and so on
Um das herauszufinden, führe ich das Beispiel erneut an der Eingabeaufforderung aus, aber diesmal erhalte ich den bekannten Fehler
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.
... und ich habe keine Ahnung, was dazwischen passiert ist. Ich habe keine Konfiguration geändert.
Ich wollte dieses Projekt schon vor langer Zeit auf Linux verschieben, aber unter Linux wird immer wieder der Fehler NLTK was unable to find ***.jar! Set the CLASSPATH environment variable
angezeigt. Ich habe CLASSPATH auf /etc/environment
, /etc/profile
und ~/.bash_profile
und sogar versucht, diese Gläser auf $JAVA_HOME/lib/
kopieren, aber das Problem bleibt bestehen. Soll ich eine andere Ausgabe eröffnen?
Können Sie einen Corenlp-Server von einem Terminal aus starten (nicht von Python)? Weitere Informationen finden Sie unter 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
Sieht nicht so aus. Mache ich das richtig?
Ich bekomme endlich diese Stanford-Module, um unter Linux zu arbeiten. Mit den gleichen Codezeilen scheint der CoreNLP-Server ohne Probleme zu starten, aber ich erhalte andere Fehler in der Zeile, in der ich die Analyseergebnisse durchlaufe.
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',))
Zu Ihrer Information Linux und Windows teilen sich die gleiche Hardware.
Ok, es gibt zwei Schritte:
1) Starten Sie einen CoreNLP-Java-Prozess. Es gibt zwei Möglichkeiten, ich schlage vor, manuell zu starten, nämlich den Befehl java -Xmx4g -cp ...
. Hast du es geschafft? Sie sollten über einen Browser auf den Server zugreifen können, indem Sie http: // localhost: 9000 besuchen. Sie sollten in der Konsolenausgabe sehen, welcher Port verwendet wird.
2) Sobald der Server ausgeführt wird, können Sie einen CoreNLP-Python-Client parser = CoreNLPParser(url='http://localhost:9000')
erstellen. Da Sie den CoreNLP-Java-Server selbst gestartet haben, müssen Sie ihn nicht innerhalb der Python-Sitzung starten (führen Sie nicht server = CoreNLPServer()
).
Die von Ihnen veröffentlichten Fehlermeldungen deuten darauf hin, dass der CoreNLP-Java-Server nicht ausgeführt wird.
Es ging schief:
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
Und http: // localhost : 9000 zeigt einen ERR_CONNECTION_REFUSED-Fehler an
Haben Sie es mit "*"
als Klassenpfad versucht: j ava -mx4g -cp "*" ...
?
Hallo zusammen, anscheinend bin ich auch auf dieses Problem gestoßen. Mein Satz lautet:
"Vielleicht ein 2 21/2 Fuß Kabel?", Und es ist von billigerer Qualität als der Teil des Ladegeräts, an den der Micro-USB-Anschluss angeschlossen ist ... "
Und ich habe versucht herauszufinden, es scheint, dass das '/' diesen Fehler verursacht.
@caisinong haben Sie versucht, die neue CoreNLP-Schnittstelle zu verwenden? Siehe meine Kommentare oben.
@ Dimazest Entschuldigung für die Verzögerung. Ich habe gerade getan:
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
Ich kann jetzt http: // localhost : 9000 besuchen, aber zurück zum Editor erhalte ich immer noch diesen Fehler in der Zeile, in der der Server gestartet wird:
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.
Sobald Sie einen Server manuell gestartet haben, müssen Sie
Lassen Sie den Server laufen und instanziieren Sie den Parser:
parser = CoreNLPParser(url='http://localhost:9000')
@ Dimazest Das Problem wurde gelöst. Vielen Dank für Ihre Hilfe und Geduld die ganze Zeit!
Ich habe ähnliche Erfahrungen. Das Starten des Stanford CorenNLP-Servers im Code ist unübersichtlich und sollte nur zu Testzwecken verwendet werden. Vielleicht sollten wir das dem Benutzer irgendwie nicht aussetzen.
Ich bin froh, dass die Dinge funktionieren. In der Tat sollte der Server außerhalb von Python-Code gestartet werden.
Gepatcht und behoben durch neue CoreNLP API =)
@dimazest Hi ... wenn der Text \
oder /
Lösung für Assertion Error
soll nur Core NLP verwendet werden? Ich benutze stanford-parser-full-2017-06-09
Der zum Parsen verwendete Satz war 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 Ja, bitte verwenden Sie die nltk.parse.corenlp.CoreNLPParser
.
@alvations vielen Dank: +1:
Hilfreichster Kommentar
@ Dimazest Das Problem wurde gelöst. Vielen Dank für Ihre Hilfe und Geduld die ganze Zeit!