如何使用 watson discovery 新闻服务从 JSON 数据生成摘要

How to generate summary from JSON data Using watson discovery news servies

如何通过 python

使用发现新闻服务从 json 生成类似 IBM 的摘要
qopts = {'nested':'(enriched_text.entities)','filter':'(enriched_text.entities.type::Person)','term':'(enriched_text.entities.text,count:10)','filter':'(enriched_text.concepts.text:infosys)','filter':'(enriched_text.concepts.text:ceo)'}
my_query = discovery.query('system', 'news', qopts)  
print(json.dumps(my_query, indent=2))

这个查询是否适合寻找 Infosys 的首席执行官? 输出以大 json 格式显示我如何识别答案或创建摘要,如前十名首席执行官或人员。 如何通过 python 使用发现新闻服务从 json 生成摘要。我触发查询然后输出变大 json 格式..如何从那个 json 文件中找到正确的摘要我的查询是否正确

我认为这里有两个问题。

  1. 为了回答像 "Who is the CEO of Infosys?" 这样的问题,我会使用 natural_language_query 参数,如下所示:

    qopts = {'natural_language_query':'Who is the CEO of Infosys?','count':'5'}
    response = discovery.query(environment_id='system',collection_id='news',query_options=qopts)
    print(json.dumps(response,indent=2))
    
  2. 为了使用聚合,它们必须在单个 aggregation 参数中指定,并在查询选项中结合 filter 聚合,如下所示:

    qopts = {'aggregation': 'nested(enriched_text.entities).filter(enriched_text.entities.type::Person).term(enriched_text.entities.text,count:10)', 'filter':'enriched_text.entities:(text:Infosys,type:Company)','count':'0'}
    response = discovery.query(environment_id='system',collection_id='news',query_options=qopts}
    print(json.dumps(response,indent=2))
    

请注意,聚合 chained/combined 带有 . 符号。