API介绍

什么是API

Knowledge Works以REST API的方式对外提供服务。一站式解决您的语义分析诉求。从多个维度为您的应用场景提供海量背景知识。 API包括CN-dbpedia的知识图谱服务,probase/probase+为概念关系服务,短文本意图理解服务等,支持任何编程语言调用。

CN-DBpedia API

申明

If you want to cite our work, please use this publication:

Bo Xu, Yong Xu, Jiaqing Liang, Chenhao Xie, Bin Liang, Wanyun Cui, and Yanghua Xiao. CN-DBpedia: A Never-Ending Chinese Knowledge Extraction System. In International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, pp. 428-438. Springer, Cham, 2017.
api/cndbpedia/ment2ent
输入实体指称项名称(mention name),返回对应实体(entity)的列表,json格式。

请求参数

q:实体指称项名称(mention name);必填项
apikey:开发者的访问密钥;可选项(注:不加访问密钥会存在访问限制)

返回字段

status:本次API访问状态,如果成功返回“ok”,如果失败返回“fail”
ret: 返回entity name list

URL

http://shuyantech.com/api/cndbpedia/ment2ent?q=**
http://shuyantech.com/api/cndbpedia/ment2ent?q=**&apikey=**

Example

http://shuyantech.com/api/cndbpedia/ment2ent?q=红楼梦
api/cndbpedia/avpair
输入实体名,返回实体全部的三元组知识

请求参数

q:实体名称(entity name);必填项
apikey:开发者的访问密钥;可选项(注:不加访问密钥会存在访问限制)

返回字段

status:本次API访问状态,如果成功返回“ok”,如果失败返回“fail”
ret: 返回attribute-value pair list, 每个pair也是一个list ([attribute, value])

URL

http://shuyantech.com/api/cndbpedia/avpair?q=**
http://shuyantech.com/api/cndbpedia/avpair?q=**&apikey=**

Example

http://shuyantech.com/api/cndbpedia/avpair?q=复旦大学
api/cndbpedia/value
给定实体名和属性名,返回属性值

请求参数

q:实体名称(entity name);必填项
attr:属性名称(attribute name);必填项
apikey:开发者的访问密钥;可选项(注:不加访问密钥会存在访问限制

返回字段

status:本次API访问状态,如果成功返回“ok”,如果失败返回“fail”
ret: 返回value list

URL

http://shuyantech.com/api/cndbpedia/value?q=**&attr=**
http://shuyantech.com/api/cndbpedia/value?q=**&attr=**apikey=**

Example

http://shuyantech.com/api/cndbpedia/value?q=复旦大学&attr=英文名称

CN-Probase API

api/mention2entity
输入实体名称(mention),返回对应实体(entity)的列表,json格式。

请求参数

q:实体指称项名称(mention name);必填项
apikey:开发者的访问密钥;可选项(注:不加访问密钥会存在访问限制)

返回字段

status:本次API访问状态,如果成功返回“ok”,如果失败返回“fail”
ret: 返回entity name list

URL

http://shuyantech.com/api/cndbpedia/ment2ent?q=**
http://shuyantech.com/api/cndbpedia/ment2ent?q=**&apikey=**

Example

http://shuyantech.com/api/cnprobase/ment2ent?q=刘德华
api/getConcept
输入实体,返回实体对应概念列表,json格式。

请求参数

q:实体名称(entity name);必填项
apikey:开发者的访问密钥;可选项(注:不加访问密钥会存在访问限制)

返回字段

status:本次API访问状态,如果成功返回“ok”,如果失败返回“fail”
count:概念数量
pagesize:每次请求最多返回的概念数量
ret: 返回concept list,list中每个元素的格式[概念, 权重]

URL

http://shuyantech.com/api/cnprobase/concept?q=**
http://shuyantech.com/api/cnprobase/concept?q=**&apikey=**

Example

http://shuyantech.com/api/cnprobase/concept?q=刘德华
api/getEntity
输入概念,返回概念对应实体列表,json格式。默认返回前50个。

请求参数

q:概念(concept);必填项
start:控制翻页;可选项
apikey:开发者的访问密钥;可选项(注:不加访问密钥会存在访问限制)

返回字段

status:本次API访问状态,如果成功返回“ok”,如果失败返回“fail”
count:实体数量
pagesize:每次请求最多返回的实体数量
ret: 返回entity list,list中每个元素的格式[实体, 权重]

URL

http://shuyantech.com/api/cnprobase/entity?q=**
http://shuyantech.com/api/cnprobase/entity?q=**&apikey=**

Example

http://shuyantech.com/api/cnprobase/entity?q=男演员

Probaseplus API

简介

Probase是一个由微软亚洲研究院发布的一个英文Taxonomy( 官方主页链接 )。 其中包含有千万级别的概念和实体,以及千万级别的从语料中抽取的IsA关系:如apple isA fruit。 利用它,可以查询一个词的概念(上位词),如查询apple的概念,可以得到fruit,company等等。 或者查询一个词的包含实体(下位词),如查询physicist的实体,可以得到einstein,newton等等。 这样的查询在许多自然语言处理、语义分析中起到重要的作用。如有句子提及newton时,我们可以知道这句话是在描述一个person,或是描述一个physicist。 我们在Probase的基础上,进行了两个方面的工作:
  • 我们基于原来的Probase,在上面做自动的Inference,从而生成了一大批没有在语料中观测到,但是是正确的IsA关系。例如steve jobs isA billionaire,einstein isA revolutionary thinker。
  • 我们利用中文语料、Probase等多个数据源,生成了一个中文版的Taxonomy:CN-Probase,用于支持在中文处理相似的查询。
以上一些工作所生成的一个更大、更完整、包含中文的Taxonomy,我们命名为ProbasePlus。

(目前仅供测试使用,正式调用请联系shawyh@fudan.edu.cn)
pbapi/getconcepts
输入一个英文或中文的实体或概念名,返回其概念列表,返回格式为json格式。
输入参数:kw-待查询的实体名或概念名,start-从第floor(start/50)*50个概念开始显示,用于翻页,默认为50个一页。如start=50会返回第50-100个概念。
返回值:一个json格式的utf-8编码字符串,numcon-该查询词在Probase/CN-Probase中所属的概念个数,concept-该查询词当页概念及权值的列表,按权值从大到小排序。

URL

http://knowledgeworks.cn:20314/probaseplus/pbapi/getconcepts?kw=**&start=**

Example

查询apple的第50-100个概念(第二页)
http://knowledgeworks.cn:20314/probaseplus/pbapi/getconcepts?kw=apple&start=50
返回值:{"numcon": 2784, "concept": [["computer manufacturer", 19.0], ["healthy food", 18.0], ...]}
表示apple在Probase中有2784个概念,其中权值从大到小排第51个概念为computer manufacturer。

查询 航空母舰 的第1-50个概念(第一页)
http://knowledgeworks.cn:20314/probaseplus/pbapi/getconcepts?kw=航空母舰&start=0
返回值:{"numcon": 73, "concept": [["船", 15], ...]}
表示航空母舰在CN-Probase中有73个概念,最具有代表性的概念是 船。
pbapi/getentities
输入一个英文或中文的概念名,返回其包含的实体列表,返回格式为json格式。
输入参数:kw-待查询的概念名,start-从第floor(start/50)*50个概念开始显示,用于翻页,默认为50个一页。如start=50会返回第50-100个实体。
返回值:一个json格式的utf-8编码字符串,nument-该查询词在Probase/CN-Probase中包含的实体个数,entity-该查询词当页包含实体及权值的列表,按权值从大到小排序。

URL

http://knowledgeworks.cn:20314/probaseplus/pbapi/getentities?kw=**&start=**

Example

查询scientist的第1-50个实体(第一页)
http://knowledgeworks.cn:20314/probaseplus/pbapi/getentities?kw=scientist&start=0
返回值:{"entity": [["galileo", 57.0], ["newton", 49.0], ...], "nument": 2157}
表示scientist在Probase中有2157个实体,其中权值从大到小前2个实体为galileo和newton。

查询 水果 的第1-50个实体(第一页)
http://knowledgeworks.cn:20314/probaseplus/pbapi/getentities?kw=水果&start=0
返回值:{"entity": [["苹果", 2100], ["香蕉", 1321], ...], "nument": 1060}
表示水果在CN-Probase中有1060个实体,如 苹果,香蕉 等。

Shorttext Parsing API

api/shorttext
目前仅供测试使用,正式调用请联系shawyh@fudan.edu.cn
输入英文字符串,返回短文本解析的json

URL

http://knowledgeworks.cn:9999/?p=**

Example

http://knowledgeworks.cn:9999/?p=side%20effects%20b12

Super V Code API

简介

知识工场强势推出“超级验证码”:一款基于机器语言认知和知识图谱的新一代验证码。以自然语言理解和问答为呈现形式,超级验证码给出常识性文本描述和对应问题,让用户在限定时间内在文本中找出答案,答对即验证通过。
(目前版本仅供测试使用,正式调用请联系徐波博士xubo@fudan.edu.cn)
验证码流程图
api/newquest
向验证码服务提供方请求验证码服务,验证码服务提供方提供JSON格式的验证码

请求参数说明:

返回参数说明:

名称 类型 说明
qid String 验证码问题ID
qtext string 验证码问题
optionlist List 选项列表,列表从0开始计数

URL

http://knowledgeworks.cn:8866/api/newquest
api/answer
请求验证码服务提供方验证用户提交的答案是否正确,验证码服务提供方以JSON格式返回答案的相关信息。

请求参数说明:

名称 类型 必填 说明
qid string Yes 验证码问题ID
option int Yes 从optionlist中选择一个答案,用答案在列表的位置表示(从0开始计数)

返回参数说明:

名称 类型 说明
qresult int {0, 1},1为正确,0为错误
errortype string 当qresult为0时,返回验证码错误类型
qcertificate string 当qresult为1时,返回正确的证书

URL

http://knowledgeworks.cn:8866/api/answer?qid=****&option=****
api/verify
请求验证码服务提供方验证用户提交的证书是否正确,验证码服务提供方以JSON格式返回证书的相关信息。

请求参数说明:

名称 类型 必填 说明
qid string Yes 验证码问题ID
qcertificate string Yes 验证码问题的证书

返回参数说明:

名称 类型 说明
certificatecode int {0, 1},1为正确,0为错误

URL

http://knowledgeworks.cn:8866/api/verify?qid=****&qcertificate=****