brendano / stanford_corenlp_pywrapper

151 stars 59 forks source link

Socket error loading NER annotator #17

Closed rlvoyer closed 9 years ago

rlvoyer commented 9 years ago

Hi there. Any idea what would be causing this:

In [4]: p=sockwrap.SockWrap("ner",corenlp_jars=["/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1.jar","/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1-models.jar"])
INFO:StanfordSocketWrap:Starting pipe subprocess, and waiting for signal it's ready, with command:  exec java -Xmx4g -cp '/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/lib/piperunner.jar:/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/lib/guava-13.0.1.jar:/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/lib/jackson-all-1.9.11.jar:/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1.jar:/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1-models.jar'     corenlp.PipeCommandRunner --server 12340  --mode ner
[Server] Using prebaked mode type: ner
[Server] Using output types: [pos, lemmas, ner, normner]
Adding annotator tokenize
TokenizerAnnotator: No tokenizer type provided. Defaulting to PTBTokenizer.
Adding annotator ssplit
Adding annotator pos
Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger ... done [2.4 sec].
Adding annotator lemma
Adding annotator ner
Loading classifier from edu/stanford/nlp/models/ner/english.all.3class.distsim.crf.ser.gz ... INFO:StanfordSocketWrap:socket error when making connection ([Errno 61] Connection refused)
INFO:StanfordSocketWrap:pausing before retry

Thanks for your help!

brendano commented 9 years ago

It's still loading the models and these messages are usually normal. What happens after this?

On Friday, February 20, 2015, Robert Voyer notifications@github.com wrote:

Hi there. Any idea what would be causing this:

In [4]: p=sockwrap.SockWrap("ner",corenlp_jars=["/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1.jar","/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1-models.jar"]) INFO:StanfordSocketWrap:Starting pipe subprocess, and waiting for signal it's ready, with command: exec java -Xmx4g -cp '/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/lib/piperunner.jar:/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/ lib/guava-13.0.1.jar:/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/lib/jackson-all-1.9.11.jar:/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1.jar:/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1-models.jar' corenlp.PipeCommandRunner --server 12340 --mode ner [Server] Using prebaked mode type: ner [Server] Using output types: [pos, lemmas, ner, normner] Adding annotator tokenize TokenizerAnnotator: No tokenizer type provided. Defaulting to PTBTokenizer. Adding annotator ssplit Adding annotator pos Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger ... done [2.4 sec]. Adding annotator lemma Adding annotator ner Loading classifier from edu/stanford/nlp/models/ner/english.all.3class.distsim.crf.ser.gz ... INFO:StanfordSocketWrap:socket error when making connection ([Errno 61] Connection refused) INFO:StanfordSocketWrap:pausing before retry

Thanks for your help!

— Reply to this email directly or view it on GitHub https://github.com/brendano/stanford_corenlp_pywrapper/issues/17.

-brendan [mobile]

rlvoyer commented 9 years ago

Hmm... I was afraid that maybe I wasn't patient enough, but it seems to be doing this forever:

INFO:StanfordSocketWrap:socket error when making connection ([Errno 22] Invalid argument)
INFO:StanfordSocketWrap:pausing before retry

It does look as though it gets past the default NER model, the MUC 7-class NER model, and the CONLL 4-class model, but then all I see is that socket connection error.

rlvoyer commented 9 years ago

It appears to behave normally if I stick to POS tagging, but I don't think it's recovering correctly from the timeout in the case of models that take a while to load:

In [4]: p=sockwrap.SockWrap("pos",corenlp_jars=["/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1.jar","/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1-models.jar"])
INFO:StanfordSocketWrap:Starting pipe subprocess, and waiting for signal it's ready, with command:  exec java -Xmx4g -cp '/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/lib/piperunner.jar:/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/lib/guava-13.0.1.jar:/Users/rlvoyer/Envs/glc_pypi_1.3/lib/python2.7/site-packages/stanford_corenlp_pywrapper/lib/jackson-all-1.9.11.jar:/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1.jar:/Users/rlvoyer/Code/stanford-corenlp-full-2015-01-30/stanford-corenlp-3.5.1-models.jar'     corenlp.PipeCommandRunner --server 12340  --mode pos
[Server] Using prebaked mode type: pos
[Server] Using output types: [pos, lemmas]
Adding annotator tokenize
TokenizerAnnotator: No tokenizer type provided. Defaulting to PTBTokenizer.
Adding annotator ssplit
Adding annotator pos
Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger ... done [1.6 sec].
Adding annotator lemma
[Server] Started socket server on port 12340

INFO:StanfordSocketWrap:Successful ping. The server has started.
INFO:StanfordSocketWrap:Subprocess is ready.
brendano commented 9 years ago

something is wrong. i dont know what. please provide more details like os and python versionwhat code youre running.

On Friday, February 20, 2015, Robert Voyer notifications@github.com wrote:

Hmm... I was afraid that maybe I wasn't patient enough, but it seems to be doing this forever:

INFO:StanfordSocketWrap:socket error when making connection ([Errno 22] Invalid argument) INFO:StanfordSocketWrap:pausing before retry

— Reply to this email directly or view it on GitHub https://github.com/brendano/stanford_corenlp_pywrapper/issues/17#issuecomment-75339297 .

-brendan [mobile]

rlvoyer commented 9 years ago

OS: OS X 10.10.2 Python version: 2.7.6 Java version: "1.8.0_31"

Oh, and I pulled your code from the master branch.

What other details would be useful to know?

rlvoyer commented 9 years ago

As a workaround, I made some changes to the sockwrap module to only startup the server if requested. This way, I was able to startup the server manually and then use the client code to connect to (but not relaunch) the server.

brendano commented 9 years ago

i saw this error too and this change seems to fix...