如何在Flask Docker容器中启动stanfordcore nlp服务器

时间:2019-06-08 10:34:54

标签: docker containers

我创建了一个flask应用程序并将其部署在Docker容器上,并且在localhost:5000端口上运行良好,但是我的应用程序使用的是Stanfordcore nlp服务,我需要为此启动服务器或在sudo docker run时启动容器- p 9000:9000 nlpbox / corenlp,它正在端口9000上运行,但是我无法在我的flask apps容器内访问此URL。谁能告诉我如何在flask应用程序的相同容器内启动核心nlp服务器,或如何在该容器内访问该URL?

我已经开始创建一个Flask应用 将此Flask应用添加到Docker容器并构建并运行该容器 在命令提示符下启动stanfordcore nlp服务器

from pycorenlp import StanfordCoreNLP
import flask
from flask import Flask, request

app = flask.Flask(__name__)

nlps = StanfordCoreNLP('http://localhost:8000')

def getPositivityUsingSFCoreNLP(dep):
    sent=getPOSRemovedSent(dep)
    try:        
        res = nlps.annotate(sent,properties={'annotators': 'sentiment','outputFormat': 'json','timeout': 1000,})
        for s in res["sentences"]:
            return(s["sentiment"])
    except:
        pass
def getDependency(sent):    
    doc = nlpSpacy(sent)
    dep=[]
    for token in doc:
        dep.append([token.text, token.dep_, token.head.text, token.head.pos_,token.pos_,token.tag_,token.lemma_])
    return dep

@app.route('/checkAppreciationSentance', methods=['GET'])
def checkText()
    dep=getDependency(sent)
    sentiment=getPositivityUsingSFCoreNLP(dep)
    print(sentiment)


if __name__ == "__main__":
    app.run(debug=True)

0 个答案:

没有答案