Я просмотрел много ответов на варианты этой проблемы, но все еще не могу заставить свой код работать.
Я пытаюсь использовать службу текстовой аналитики MS Azure, и когда я вставляю пример кода (включая 2/3 примеров предложений), он работает так, как вы могли ожидать. Однако мой вариант использования требует, чтобы такой же анализ проводился на сотнях ответов на опрос с произвольным текстом, поэтому вместо того, чтобы вставлять каждое предложение, я хотел бы использовать файл JSON, содержащий эти ответы в качестве входных данных, передайте его в Azure для анализа и получения результата JSON.
Код, который я использую, и ответ, который он дает, показаны ниже (обратите внимание, что последний бит ответа ID 2 был отключен перед сообщением об ошибке).
key = "xxxxxxxxxxx"
endpoint = "https://blablabla.cognitiveservices.azure.com/"
import json
with open(r'example.json', encoding='Latin-1') as f:
data = json.load(f)
print (data)
import os
from azure.cognitiveservices.language.textanalytics import TextAnalyticsClient
from msrest.authentication import CognitiveServicesCredentials
def authenticateClient():
credentials = CognitiveServicesCredentials(key)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint, credentials=credentials)
return text_analytics_client
import requests
# pprint is used to format the JSON response
from pprint import pprint
import os
subscription_key = "xxxxxxxxxxxxx"
endpoint = "https://blablabla.cognitiveservices.azure.com/"
entities_url = "https://blablabla.cognitiveservices.azure.com/text/analytics/v2.1/entities/"
documents = data
headers = {"Ocp-Apim-Subscription-Key": subscription_key}
response = requests.post(entities_url, headers=headers, json=documents)
entities = response.json()
pprint(entities)
[{'ID': 1, 'text': 'собака съела мою домашнюю работу', {'ID': 2, 'text': 'кошка села на
{'code': 'BadRequest', 'innerError': {'code': 'InvalidRequestBodyFormat', 'message': 'Неверный формат тела запроса. Убедитесь, что запрос json '' сериализован правильно и нет '' нулевых членов. '},' Message ':' Invalid request '}