资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

接入知识图谱

前言

开发者还可以使用Taskflow接入知识图谱。目前需要开发者在资源调用节点使用编程模式处理,后续我们会推出可视化版本。

调用函数

svc_hooks.call_kg(kg_id, kg_query)

函数入参

  • kg_id:知识图谱的id。

    • 示例:K2608,平台中在知识图谱卡片中显示,位置如下图所示。

知识图谱ID

  • kg_query:知识图谱的查询语句。

    • 示例:g.has('name',MATCH,'百度').limit(10).with('*')
    • 参考文档

函数返回值

  • 返回值格式为json类型。将返回值赋值给全局变量后,即可通过Python字典的操作语法来提取数据了。

    • 返回示例:
    {"message":"Success","code":0,"result":[{"_type":"vertex","_id":5704253544,"name":["百度"],"公司地址":["北京上地十街"],"创始人":["李彦宏"],"type_edge_number":[1],"data_version":["106112562"],"edge_number":[1],"sid":["bf93c93f981108e2f9d5246cf2aabd58106112562"],"创立时间":["1999"],"@fromfile":["企业知识图谱12k条.xlsx.html"],"type":["公司机构"]},{"_type":"vertex","_id":5620367466,"name":["百度"],"公司地址":["北京上地十街"],"创始人":["李彦宏"],"type_edge_number":[1],"data_version":["106112562"],"edge_number":[1],"sid":["42566823ed4a3f0755834162249dbbb7106112562"],"创立时间":["1999"],"@fromfile":["企业知识图谱4.xlsx.html"],"type":["公司机构"]}],"_extra":{"entity-num":2,"return-num":2}}

完整编程示例

  • 通过知识图谱查询百度公司所在的地区,并将完整结果赋值到全局变量kg_res中,将所在地区赋值到全局变量location中。
  • 这里要注意的是,目前Taskflow支持python 2.7.3的语法,当dictionary中key为中文时,需要在前面添加u进行转义,否则结果识别会出错。
def process():
    kg_id = 'K2608'
    kg_query = 'g.has(\'name\',MATCH,\'百度\').limit(10).with(\'*\')'
    svc_vars['kg_res'] = svc_hooks.call_kg(kg_id, kg_query) //
    svc_vars['location'] = svc_vars['kg_res']['result'][0][u'所属地区']

使用知识图谱的数据

  • 取到知识图谱的返回值并赋值给全局变量后,可以在后续的编程操作中使用该变量。
  • 也可以在对话答复节点中动态引用该变量。具体操作见对话答复配置