TexSmart API共分三类,即文本理解API,文本匹配API以及文本图谱API,下面介绍文本匹配API的使用方式。
该API支持通过HTTP-POST方式访问,API地址为 https://texsmart.qq.com/api/match_text
输入的post-data需要是JSON格式,输出也是JSON格式。
推荐使用Postman来查看API的结果。
{ "text_pair_list": [ {"str1":"你好","str2":"你好吗?"}, {"str1":"我你","str2":"你我"}, {"str1":"我","str2":"我我我"}, ], "options":{"alg":"esim"}, "echo_data":{"id":123} }调用API的示例代码: Python代码 | Java代码 | C++代码 | C#代码
{ "header":{"time_cost_ms":1.185,"time_cost":0.001185,"core_time_cost_ms":1.111,"ret_code":"succ"}, "res_list":[ {"score":0.723794}, {"score":0.838658}, {"score":0.853867} ] }其中,header给出的是一些说明API调用的辅助信息(耗时、错误码等),res_list给出了三个句子对匹配的得分。
输入JSON对象支持的字段说明如下:
字段名称 | 数据类型 | 字段说明 |
---|---|---|
text_pair_list | list | 输入的句子对列表 |
options | JSON Object | 选项信息,主要用来指定文本匹配所采用的算法。
alg字段可以选择esim或者linkage |
echo_data | JSON Object | 作为这个字段值的JSON对象可以由用户自由定义,服务将在输出中以echo方式原封不动地返回此对象的内容。
用户可以用这个字段来记录当前request的标识信息 |
输出JSON对象的各个字段说明如下:
字段名称 | 数据类型 | 字段说明 |
---|---|---|
header | JSON Object | 调用执行后返回的辅助信息
time_cost_ms字段:处理请求所花的时间,以毫秒(ms)计算。 time_cost字段:处理请求所花的时间,以秒来计算。 core_time_cost_ms字段:处理核心模块所花的时间,以毫秒(ms)来计算。 ret_code字段:返回码,"succ"表示成功,其它为错误码。常见错误码包括: error.invalid_request_format: 请求格式不合法(比如不是JSON格式) error.timeout: 超时 error.busy: 服务忙(正在处理其它请求) error.too_long_text: 文本长度超过限额(长度限定8192个字符) |
res_list | JSON 列表 | 输出的结果。
该结果是一个JSON的列表,每个JSON给出对应输入句子对的匹配得分。 |
# -*- coding: utf8 -*- import json import http.client obj = { "text_pair_list": [ {"str1":"你好","str2":"你好吗?"}, {"str1":"我你","str2":"你我"}, {"str1":"我","str2":"我我我"}, ], "options":{"alg":"esim"}, "echo_data":{"id":123} } req_str = json.dumps(obj) conn = http.client.HTTPSConnection("texsmart.qq.com") conn.request("POST", "/api/match_text", req_str) response = conn.getresponse() res_str = response.read().decode('utf-8') print(res_str)示例代码2(需要安装requests包):
# -*- coding: utf8 -*- import json import requests obj = { "text_pair_list": [ {"str1":"你好","str2":"你好吗?"}, {"str1":"我你","str2":"你我"}, {"str1":"我","str2":"我我我"}, ], "options":{"alg":"esim"}, "echo_data":{"id":123} } reg_str = json.dumps(obj).encode() url = "https://texsmart.qq.com/api/match_text" r = requests.post(url, data=reg_str).json() ret_code = r["header"]["ret_code"] while ret_code != "succ": r = requests.post(url, data=reg_str).json() ret_code = r["header"]["ret_code"] print(r)
[TBD]
[TBD]
[TBD]
TexSmart是腾讯AI Lab自然语言处理团队所构建的一个自然语言文本理解系统,用以对中文和英文两种语言的文本进行词法、句法和语义分析。 除了支持分词、词性标注、命名实体识别(NER)、句法分析、语义角色标注等常见功能外,TexSmart还提供细粒度命名实体识别、语义联想、深度语义表达等特色功能。