Как запустить stanfordcore nlp server в контейнере док-колбы - PullRequest
0 голосов
/ 08 июня 2019

Я создал приложение фляги и развернул его в контейнере Docker, и он отлично работает на порту localhost: 5000, но мое приложение использует службу Stanfordcore nlp, для которой мне нужно запустить сервер или запустить контейнер при запуске sudo docker -p 9000: 9000 nlpbox / corenlp, и он работает на порту 9000, но я не могу получить доступ к этому URL-адресу внутри моего контейнера приложений фляги.Может ли кто-нибудь сказать мне, как запустить основной 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...