1. 接口说明

以哈工大社会计算与信息检索研究中心研发的 “语言技术平台(LTP)” 为基础,为用户提供针对中文文本(简体)的关键词提取服务。关键词提取(Keyword Extraction) 是从文本中将与文本意义最相关的一些词抽取出来的技术。早期在全文搜索还未普及时,其在搜索检索领域扮演者不可或的角色,随着nlp的发展,关键词提取在文本聚类、分类、摘要等领域中继续起着重要的作用。

2. 接口地址

POST http://ltpapi.xfyun.cn/v1/ke HTTP/1.1
Content-Type:application/x-www-form-urlencoded; charset=utf-8

3. 请求参数

在 Http Request Header 中配置授权认证参数,见【接口描述-授权认证】。 其中 X-Param 为各配置参数组成的JSON串经BASE64编码之后的字符串,原始JSON串各字段说明如下:

参数 类型 必填 说明 示例
type string 服务类型,调用关键词提取功能固定为dependent dependent

X-Param生成示例:

原始JSON串:
{
    "type": "dependent"
}
BASE64编码(即X-Param):
ew0KICAgICJ0eXBlIjogImRlcGVuZGVudCINCn0=

在 Http Request Body 中配置以下参数:

参数 类型 必须 说明
text string 待分析文本(中文简体),长度限制为30000字节

文档所用的text参数示例:

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。

4. 返回值

返回值为json串,各字段如下:

参数 类型 说明
code string 结果码(具体见错误码)
data json对象 关键词提取结果
desc string 错误描述,会话成功为success
sid string 会话ID,用来唯一标识本次会话,如会话报错无法解决,可以通过工单提供 sid 给讯飞技术人员分析解决。

data中各字段说明如下:

标记 说明
word 关键词
score 候选词成为关键词的概率

注意:如果data中ke字段内容为空,则表示输入的文本过于简短或者意义不明确,导致引擎无法提取出关键字。

结果示例如下:

失败结果:

{
    "code": "10105",
    "desc": "illegal access|invalid X-Appid",
    "data": {},
    "sid": "ltp0000a744@ch78290eb1e128000100"
}

成功结果:

{
    "code": "0",
    "data": {
        "ke": [
            {
                "score": "0.598",
                "word": "计算机"
            },
            {
                "score": "0.590",
                "word": "自然"
            },
            {
                "score": "0.581",
                "word": "科学"
            },
            {
                "score": "0.570",
                "word": "语言学"
            },
            {
                "score": "0.570",
                "word": "领域"
            },
            {
                "score": "0.561",
                "word": "研究"
            },
            {
                "score": "0.561",
                "word": "处理"
            },
            {
                "score": "0.553",
                "word": "通信"
            },
            {
                "score": "0.550",
                "word": "人工智能"
            },
            {
                "score": "0.550",
                "word": "系统"
            }
        ]
    },
    "desc": "success",
    "sid": "ltp00000001@dx4a810f1a863f000100"
}

5. 调用示例

python脚本示例(python3)

说明:将脚本中TEXT, API_KEY, APPID, 换成相应的待分析文本,讯飞开放平台提供的apiKey,讯飞开放平台应用的appid即可,运行脚本可打印相应结果。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
import urllib.request
import urllib.parse
import json
import hashlib
import base64


def main():
    body = urllib.parse.urlencode({'text': 'TEXT'}).encode('utf-8')

    url = 'http://ltpapi.xfyun.cn/v1/ke'
    api_key = 'API_KEY'
    param = {"type": "dependent"}

    x_appid = 'APPID'
    x_param = base64.b64encode(json.dumps(param).replace(' ', '').encode('utf-8'))
    x_time = int(int(round(time.time() * 1000)) / 1000)
    x_checksum = hashlib.md5(api_key.encode('utf-8') + str(x_time).encode('utf-8') + x_param).hexdigest()
    x_header = {'X-Appid': x_appid,
                'X-CurTime': x_time,
                'X-Param': x_param,
                'X-CheckSum': x_checksum}
    req = urllib.request.Request(url, body, x_header)
    result = urllib.request.urlopen(req)
    result = result.read()
    print(result.decode('utf-8'))
    return


if __name__ == '__main__':
    main()
Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-11-03 10:26:45

results matching ""

    No results matching ""