通过网络使用Stanford CoreNLP

时间:2017-12-12 17:49:40

标签: python stanford-nlp

每当我需要使用Stanford CoreNLP时,我通常会下载并在本地计算机上启动它。在某些情况下,我无法真正安装它(一些限制)。我想知道是否可以使用:

http://nlp.stanford.edu:8080/corenlp/

我用pycorenlp包装器尝试了它并且它不起作用:

from pycorenlp import StanfordCoreNLP
nlp_st = StanfordCoreNLP('http://nlp.stanford.edu:8080/corenlp/')
parser_output = nlp_st.annotate('Grass is green.', properties={
          'annotators': 'tokenize,ssplit,pos,depparse,parse,ner',
          'outputFormat': 'json'})

这是它返回的内容:

'\n\n\n\n<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">\n<head>\n    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>\n\n    <link href="http://nlp.stanford.edu/nlp.css" rel="stylesheet" \n          type="text/css" />\n  <title>Stanford CoreNLP</title>\n<style type="text/css">\n<!--\n#Footer {\nposition: relative;\nbottom: 0px;\n}\n-->\n</style>\n\n  <link rel="icon" type="image/x-icon" href="/ner/favicon.ico" />\n  <link rel="shortcut icon" type="image/x-icon" \n        href="/ner/favicon.ico" />\n\n</head>\n<body>\n\n<div>\n<h1>Stanford CoreNLP</h1>\n<FORM name="myform" METHOD="POST" ACTION="process" accept-charset="UTF-8">\n  <table>\n    <tr><td>\n      Output format:\n      \n      <select name="outputFormat">\n        <option value="visualise"  >Visualise</option>\n        <option value="pretty"  >Pretty print</option>\n        <option value="xml"  >XML</option>\n        <option value="json"  >JSON</option>\n        <option value="conll"  >CoNLL</option>\n      </select>\n    </td></tr>\n  \n    <tr><td colspan=2>\n      <br>Please enter your text here:<br><br>\n      <textarea valign=top name="input" \n                style="width: 400px; height: 8em" rows=31 cols=7></textarea>\n    </td></tr>\n\n    <tr><td align=left>\n      <input type="submit" name="Process"/>\n        <input type="button" value="Clear"\n               onclick="this.form.elements[\'input\'].value=\'\'"/>\n    </td></tr>\n  </table>\n</FORM>\n</div>\n  <div id="Footer">\r\n    Copyright &copy; 2015, \r\n    <a href="http://nlp.stanford.edu/software/corenlp.shtml">Stanford University</a>, All Rights Reserved.\r\n  </div>\r\n</body>\r\n</html>\r\n'

我应该将它与post和get方法一起使用吗?什么是正确的格式?

1 个答案:

答案 0 :(得分:1)

请不要以编程方式点击斯坦福服务器!他们没有为任何实际的流量设置,而且实际上只用于演示。您应该可以在云上轻松设置一些Docker镜像(例如,motizz88/corenlp),记录在:https://stanfordnlp.github.io/CoreNLP/corenlp-server.html#docker

  

如果在docker下运行服务器,则必须将容器的端口9000发布到主机。给出如下命令:docker run -p 9000:9000 --name coreNLP --rm -i -t motiz88 / corenlp。如果,当转到localhost:9000 /时,您会看到错误此站点无法访问。 localhost拒绝连接,那么这就是你没有做到的!