Watson AlchemyLanguage - 如何设置CombinedCall的参数

时间:2016-09-15 09:14:31

标签: java ibm-cloud ibm-watson alchemyapi

不幸的是我无法正确标记此问题,因为AlchemyLanguage的标签尚不存在。 我正在尝试使用组合调用从Watson中检索多个提取。 发出对单个数据提取的调用按预期工作,但是当我尝试为组合调用设置params时,仅为每个提取返回null。 根据使用JSON的示例,似乎“提取”:“情绪”是必需的配对。

这些调用都不起作用:

params.put(AlchemyLanguage.EXTRACT, AlchemyLanguage.SENTIMENT);
params.put(AlchemyLanguage.EXTRACT, AlchemyEndPoints.AlchemyAPI.SENTIMENT);
params.put(AlchemyLanguage.EXTRACT, DocumentSentiment.class);
params.put(AlchemyLanguage.TARGET, AlchemyEndPoints.AlchemyAPI.SENTIMENT);
params.put(AlchemyLanguage.TARGET, DocumentSentiment.class);
params.put(AlchemyLanguage.TARGET, AlchemyLanguage.SENTIMENT);

CombinedResults results=service.getCombinedResults(params).execute();
System.out.println(results.getSentiment());

1 个答案:

答案 0 :(得分:0)

您需要使用extract参数作为键并列出您要使用的功能。

AlchemyLanguage service = new AlchemyLanguage();
service.setApiKey("API_KEY")
Map<String, Object> params = new HashMap<String, Object>();

params.put(AlchemyLanguage.EXTRACT, "authors,concepts,dates,doc-emotion,entities,feeds,keywords,pub-date,relations,typed-rels,doc-sentiment,taxonomy,title");

CombinedResults results=service.getCombinedResults(params).execute();
System.out.println(results);

有关如何配置extract参数中列出的每项功能的详细信息,请参阅API Reference