问题描述
我正在尝试使用 Watson NLP 和 JS 创建关键字分析。
我尝试了以下代码行,但结果显示 ReferrenceError{}
,我不知道如何使其工作..
var keywords=response.result.keywords;
print(keywords);
createElement("h3","Main keywords of this synopsis");
nbkeywords = 3;
createP("Keywords in this synopsis are:");
createP(keywords[i].text);
}
解决方法
这是来自 Watson NLU API (reference) 的关键字功能的 JSON 响应示例:
{
"usage": {
"text_units": 1,"text_characters": 1536,"features": 1
},"keywords": [
{
"text": "curated online courses","sentiment": {
"score": 0.792454
},"relevance": 0.864624,"emotions": {
"sadness": 0.188625,"joy": 0.522781,"fear": 0.12012,"disgust": 0.103212,"anger": 0.106669
}
},{
"text": "free virtual server","sentiment": {
"score": 0.664726
},"relevance": 0.864593,"emotions": {
"sadness": 0.265225,"joy": 0.532354,"fear": 0.07773,"disgust": 0.090112,"anger": 0.102242
}
}
],"language": "en","retrieved_url": "https://www.ibm.com/us-en/"
}
表示 JSON 响应中的“关键字”键是一个包含其他 JSON 对象的数组。要打印您需要循环此数组的所有关键字,如下所示,使用“for”语句:
var keywords = response.result.keywords;
...
createElement("h3","Main keywords of this synopsis");
createP("Keywords in this synopsis are:");
var numberOfKeywords = keywords.length;
for (var i = 0; i < numberOfKeywords; i++) {
createP(keywords[i].text);
}
在 Watson NLU 官方文档中,有一些 Javascript 示例也可以帮助您理解服务 API。见https://cloud.ibm.com/apidocs/natural-language-understanding?code=node#keywords。
希望这个回答对您有所帮助。