Как подключиться к серверу CoreNLP с помощью пароля пользователя?

#python #stanford-nlp

#python #stanford-nlp

Вопрос:

Я создал сервер CoreNLP в Google App Engine и ввел там имя пользователя и пароль, используя следующие свойства: -порт **** -имя пользователя пользователяпередача пароля.

И из Python я узнал, как передать имя пользователя и пароль в свойствах.

Сначала я создаю объект NLP, используя следующую функцию и передавая URL:

 sNLP = StanfordCoreNLP(serverurl)
 

Затем я вызываю аннотацию с данными и свойством, а мое имя пользователя и пароль указаны в реквизитах.

 props: {
    "annotators": "pos,sentiment",
    "pipelineLanguage": "en",
    "outputFormat": "json",
    "username": "**user**",
    "password": "***pass***",
    "maxCharLength": -1
}

sNLP.annotate(data, props)
 

перед предоставлением аутентификации он работал нормально, но после этого я не получаю никакого ответа от сервера.

Так должен ли я передавать имя пользователя и пароль при создании объекта sNLP? Если да, то как? Я не нашел никакой документации, связанной с этим.

Ответ №1:

Решение для этого скоро появится в следующем выпуске нашего кода на Python, который должен появиться очень скоро, хотя его нет в текущей версии.

pip install stanfordnlp

Репозиторий здесь: https://github.com/stanfordnlp/stanfordnlp

Если вы клонируете это, проверяете dev и запускаете pip install -e . , вы можете получить последний dev код ветки.

Пример:

 from stanfordnlp.server import CoreNLPClient

with CoreNLPClient(annotators="tokenize,ssplit,pos", memory="4G", server_id='my_server_id', username='user-1234', password='1234') as client:
    ann = client.annotate('Hello World!', output_format='text', username='user-1234', password='1234')
    print(ann)
 

Если вы хотите попробовать другие решения, обратите внимание, что для этого кода устанавливается значение auth a requests.auth.HTTPBasicAuth(username, password) при выполнении POST-запроса с requests библиотекой.