WatsonException:错误:无效请求:“text”的格式无效,代码:400

2024-04-26 22:30:17 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试从ibmblumex运行自然语言理解时,遇到以下错误

WatsonException: Error: invalid request: 'text' is in invalid format, Code: 400

这是我的密码

^{pr2}$

这就是句子的样子

["' فينو الاهبل ابن الاهبل '",
 "' على المصرييييين وجمالهم ربنا يحميهم لينك 6 '",
 "' منشن دول كتير اوى ودمهم خفيف العمارة اللي انا فيها كلها سوريين والءطفال عسل '",
 "' انا بعد كده خلى اللى يوعنى بحاجه همضى على وصل امانه علشان اضمن انو مش يخون '",
 "' انا هنتحر '",
 "' في حفظ الله يا ريس لينك 9 '",
 "' يا عيون عطشان عطشانة سهر يا قلوب تعبانة تعبانة سفر كتروا من الحب تلاقوا تلاقوا في الضلمة ءلف قمر '",
 "' زهقنا من اسامي اكونتات البنات على مواقع التواصل الاجتماعي زي مثلا شروق الشمس و الذهب الءزرق و ءي بطيخ و السلام '",
 "' منشن 793 حمد الله ع السلامة '",
 "' منشن07 ءحا مين '",
 "' لما تشوف حد واحشك كان بقالك كتير مشفتوش '"]

如何通过IBM Blumex上的python sdk在上运行情感分析服务 提前谢谢


Tags: textinformat密码isrequest错误code
2条回答

我相信natural_language_understanding.analyze()期望{}是一个字符串。从文档(https://www.ibm.com/watson/developercloud/natural-language-understanding/api/v1/?python#post-analyze)中:

The "text" attribute accepts plain text.

你给它一个单子。此外,您的列表中有额外的引号,这使得它很难简单地连接为一个单一的字符串。在

您可以尝试用ast.literal_eval()来计算数组的各个元素,然后将结果连接到一个字符串中。在

import ast

text = ' '.join([ast.literal_eval(i) for i in sen])

这将把你的句子数组变成一个字符串:

' فينو الاهبل ابن الاهبل على المصرييييين وجمالهم ربنا يحميهم لينك 6 منشن دول كتير اوى ودمهم خفيف العمارة اللي انا فيها كلها سوريين والءطفال عسل انا بعد كده خلى اللى يوعنى بحاجه همضى على وصل امانه علشان اضمن انو مش يخون انا هنتحر في حفظ الله يا ريس لينك 9 يا عيون عطشان عطشانة سهر يا قلوب تعبانة تعبانة سفر كتروا من الحب تلاقوا تلاقوا في الضلمة ءلف قمر زهقنا من اسامي اكونتات البنات على مواقع التواصل الاجتماعي زي مثلا شروق الشمس و الذهب الءزرق و ءي بطيخ و السلام منشن 793 حمد الله ع السلامة منشن07 ءحا مين لما تشوف حد واحشك كان بقالك كتير مشفتوش '

如果要分别分析每个元素,则需要对每个元素调用natural_language_understanding.analyze(),方法如下:

^{pr2}$

在分析文本或网页时,自然语言理解会自动检测源语言,并在响应中返回相应的ISO 639-1代码。为了使自动语言检测发挥最佳效果,建议您使用至少包含100个字符的文本。在

就像@MarküM说的,你需要设置语言,看看这是否有帮助。在

例如,在发送给分析的sentence中,您需要使用以下示例:

{
  "text": "...X, Y, Z, now I know my A, B, Cs",
  "features": {
    "semantic_roles": {}
  },
  "language": "en"
}

注意:一个好主意是翻译成英语来使用这个API的更多特性。在

注意这个答案只是一个补充。在

  • 您可以看到Watson NLU文档Supported languages.
  • 请参阅要在JSON对象here内设置的参数。在
  • 请参见example使用cURL设置语言以获得一些基本示例。在

相关问题 更多 >