IBM Watson ToneAnalyzerV3 WatsonException: Error: Invalid JSON input, Code: 400
IBM Watson ToneAnalyzerV3 WatsonException: Error: Invalid JSON input, Code: 400
当我有短文本但当我给它一个较长的这种形式的文本时,下面的一组代码工作:https://pastebin.com/PLinyN65
import os
import json
from watson_developer_cloud import ToneAnalyzerV3
from glob import glob
with open(credentials.txt) as cred:
data = cred.readlines()
UserName = data[0]
PassWord = data[1]
tone_analyzer = ToneAnalyzerV3(
username=UserName,
password=PassWord,
version='2016-05-19')
pth = '../input/*.txt'
txtFiles = glob(pth)
for file in txtFiles:
baseName = os.path.basename(file)
name = baseName.split('.')
with open(file) as f:
txt = f.read()
with open('../output/{}.json'.format(name[0]), 'w') as outFile:
json.dump(tone_analyzer.tone(text=txt, sentences='false'), outFile, separators=(',', ': '), indent=2)
我收到错误:
WatsonException Traceback (most recent call last)
<ipython-input-6-d948e97e307e> in <module>()
8
9 with open('../output/{}.json'.format(name[0]), 'w') as outFile:
---> 10 json.dump(tone_analyzer.tone(text=txt, sentences='false'), outFile, separators=(',', ': '), indent=2)
11
12 print('{}\n'.format(name[0]))
/Library/Python/2.7/site-packages/watson_developer_cloud/tone_analyzer_v3.pyc in tone(self, text, tones, sentences)
51 data = {'text': text}
52 return self.request(method='POST', url='/v3/tone', params=params,
---> 53 json=data, accept_json=True)
/Library/Python/2.7/site-packages/watson_developer_cloud/watson_developer_cloud_service.pyc in request(self, method, url, accept_json, headers, params, json, data, files, **kwargs)
318 else:
319 error_message = self._get_error_message(response)
--> 320 raise WatsonException(error_message)
WatsonException: Error: Invalid JSON input, Code: 400
当我尝试在此网络链接上手动输入文本时:https://tone-analyzer-demo.mybluemix.net/
我收到错误:request entity too large
请告诉我如何从 ToneAnalyzerV3 获得 json 格式的所需音调分析分数。
查看 Tone Analyzer API Explorer,您可以看到每个请求可以处理的文本量有限制:
The Tone Analyzer service supports up to 128 KB of text, or about 1000
sentences. Sentences with less than three words cannot be analyzed.
您提供的文本为 165,743 字节 (168 KB),大于服务支持的大小。我试图在 API 资源管理器中输入上面提供的文本,但收到与上面相同的错误:
{
"code": 400,
"sub_code": "C00013",
"error": "Invalid JSON input"
}
作为解决方案,您需要使用小于 128 KB 文本最大值的文本输入。
当我有短文本但当我给它一个较长的这种形式的文本时,下面的一组代码工作:https://pastebin.com/PLinyN65
import os
import json
from watson_developer_cloud import ToneAnalyzerV3
from glob import glob
with open(credentials.txt) as cred:
data = cred.readlines()
UserName = data[0]
PassWord = data[1]
tone_analyzer = ToneAnalyzerV3(
username=UserName,
password=PassWord,
version='2016-05-19')
pth = '../input/*.txt'
txtFiles = glob(pth)
for file in txtFiles:
baseName = os.path.basename(file)
name = baseName.split('.')
with open(file) as f:
txt = f.read()
with open('../output/{}.json'.format(name[0]), 'w') as outFile:
json.dump(tone_analyzer.tone(text=txt, sentences='false'), outFile, separators=(',', ': '), indent=2)
我收到错误:
WatsonException Traceback (most recent call last)
<ipython-input-6-d948e97e307e> in <module>()
8
9 with open('../output/{}.json'.format(name[0]), 'w') as outFile:
---> 10 json.dump(tone_analyzer.tone(text=txt, sentences='false'), outFile, separators=(',', ': '), indent=2)
11
12 print('{}\n'.format(name[0]))
/Library/Python/2.7/site-packages/watson_developer_cloud/tone_analyzer_v3.pyc in tone(self, text, tones, sentences)
51 data = {'text': text}
52 return self.request(method='POST', url='/v3/tone', params=params,
---> 53 json=data, accept_json=True)
/Library/Python/2.7/site-packages/watson_developer_cloud/watson_developer_cloud_service.pyc in request(self, method, url, accept_json, headers, params, json, data, files, **kwargs)
318 else:
319 error_message = self._get_error_message(response)
--> 320 raise WatsonException(error_message)
WatsonException: Error: Invalid JSON input, Code: 400
当我尝试在此网络链接上手动输入文本时:https://tone-analyzer-demo.mybluemix.net/
我收到错误:request entity too large
请告诉我如何从 ToneAnalyzerV3 获得 json 格式的所需音调分析分数。
查看 Tone Analyzer API Explorer,您可以看到每个请求可以处理的文本量有限制:
The Tone Analyzer service supports up to 128 KB of text, or about 1000 sentences. Sentences with less than three words cannot be analyzed.
您提供的文本为 165,743 字节 (168 KB),大于服务支持的大小。我试图在 API 资源管理器中输入上面提供的文本,但收到与上面相同的错误:
{
"code": 400,
"sub_code": "C00013",
"error": "Invalid JSON input"
}
作为解决方案,您需要使用小于 128 KB 文本最大值的文本输入。