关键词抽取和文本摘要(抽取式)

关键词抽取和文本摘要服务基于textrank算法,适用于针对文档抽取关键词或者摘要。

说明

本服务由NLP自学习平台提供,直接调用API即可使用。

服务开通与资源包购买

使用前,请确认是否已经开通服务,开通后可购买资源包。

服务调用与调试

模型调用文档参考:模型调用

SDK示例文档参考:SDK示例

调试

您可以在OpenAPI开发者门户中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI开发者门户可以自动生成SDK代码示例。

通过环境变量配置访问凭证(AKSK)

  1. 说明:

    1. 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。

    2. 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄露风险,在此提供通过配置环境变量的方式来保存和访问aksk

  2. Linux和macOS系统配置方法

    export NLP_AK_ENV=<ACCESS_KEY_ID>
    export NLP_SK_ENV=<ACCESS_KEY_SECRET>

    其中<ACCESS_KEY_ID>替换为已准备好的AccessKey ID,<access_key_secret>替换为AccessKey Secret,AccessKey ID和AccessKey Secret的获取方式见步骤二:获取账号的AccessKey

  3. Windows系统配置方法

    1. 新建环境变量文件,添加环境变量NLP_AK_ENVNLP_SK_ENV,并写入已准备好的AccessKey ID和AccessKey Secret。

    2. 重启Windows系统。

Java代码示例

/**
 * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
 * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
 * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
 */
String accessKeyId = System.getenv("NLP_AK_ENV");
String accessKeySecret = System.getenv("NLP_SK_ENV");
DefaultProfile defaultProfile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId,accessKeySecret);
IAcsClient client = new DefaultAcsClient(defaultProfile);
Map<String, Object> obj = new HashMap<String, Object>();
obj.put("query","别把油烟机拆下来洗,一块小肥皂,几分钟擦干净,简单又实用大家好,我是深圳小哥帮的小哥,专注分享家居生活妙招,欢迎关注!之前小哥跟大家聊过专业保洁人员清洗油烟机的方法,好多朋友留言说他们没有专门的清洁工具,还是分享日常一些、不用拆洗的小窍门好一些,为此小哥一边想方法一边测试,终于可以分享几个实用的妙招,快速去油垢,一起来学习吧!家用肥皂+卫生纸惊不惊喜!意不意外!你们以为我要说什么小苏打,油烟机清洗剂之类吗,不可鞥!说了是比较日常方法,肥皂卫生间家家有,经过小哥亲测,用剩的肥皂碾压成糊糊,用废旧牙刷或者直接上手,涂抹在油烟机上,用温水!几分钟后上面的油垢会自动溶解,再用卫生纸擦拭,完全不用拆油烟机,擦完就干干净净!洗洁精+白醋很多主妇其实都用过洗洁精来清洗油烟机,可能不得要领,清洁程度不一,小哥个人建议用清洁精+白醋,用来擦洗油烟机的面板和油盒,清洗油盒时,需要将油盒拿下来浸泡在洗洁精的温水中,浸泡半个小时左后,用抹布擦拭,可以看到明显效果!这两个方法都是日常在家就能操作的,不需要买很多工具,需要清洗油烟机的朋友们可以试一下哦~");
obj.put("top_k",msgs);
obj.put("type","keyword_extraction");
RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("NLP-textrank");
request.setPredictContent(JSON.toJSONString(obj));
RunPreTrainServiceResponse response = client.getAcsResponse(request);
System.out.println(response.getPredictResult());

Python代码示例

# 安装依赖
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-nlp-automl
# -*- coding: utf8 -*-
import json
import os

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdknlp_automl.request.v20191111 import RunPreTrainServiceRequest

/**
 * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
 * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
 * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
 */
access_key_id = os.environ['NLP_AK_ENV']
access_key_secret = os.environ['NLP_SK_ENV']

# Initialize AcsClient instance
client = AcsClient(
  access_key_id,
  access_key_secret,
  "cn-hangzhou"
);
content = {
    "query": "别把油烟机拆下来洗,一块小肥皂,几分钟擦干净,简单又实用大家好,我是深圳小哥帮的小哥,专注分享家居生活妙招,欢迎关注!之前小哥跟大家聊过专业保洁人员清洗油烟机的方法,好多朋友留言说他们没有专门的清洁工具,还是分享日常一些、不用拆洗的小窍门好一些,为此小哥一边想方法一边测试,终于可以分享几个实用的妙招,快速去油垢,一起来学习吧!家用肥皂+卫生纸惊不惊喜!意不意外!你们以为我要说什么小苏打,油烟机清洗剂之类吗,不可鞥!说了是比较日常方法,肥皂卫生间家家有,经过小哥亲测,用剩的肥皂碾压成糊糊,用废旧牙刷或者直接上手,涂抹在油烟机上,用温水!几分钟后上面的油垢会自动溶解,再用卫生纸擦拭,完全不用拆油烟机,擦完就干干净净!洗洁精+白醋很多主妇其实都用过洗洁精来清洗油烟机,可能不得要领,清洁程度不一,小哥个人建议用清洁精+白醋,用来擦洗油烟机的面板和油盒,清洗油盒时,需要将油盒拿下来浸泡在洗洁精的温水中,浸泡半个小时左后,用抹布擦拭,可以看到明显效果!这两个方法都是日常在家就能操作的,不需要买很多工具,需要清洗油烟机的朋友们可以试一下哦~",
  "top_k": 5,
  "type": "keyword_extraction"
}
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('NLP-textrank')
request.set_PredictContent(json.dumps(content))
# Print response
response = client.do_action_with_exception(request)
resp_obj = json.loads(response)
predict_result = json.loads(resp_obj['PredictResult'])
print(predict_result)

PredictContent内容示例

{
  "query": "别把油烟机拆下来洗,一块小肥皂,几分钟擦干净,简单又实用大家好,我是深圳小哥帮的小哥,专注分享家居生活妙招,欢迎关注!之前小哥跟大家聊过专业保洁人员清洗油烟机的方法,好多朋友留言说他们没有专门的清洁工具,还是分享日常一些、不用拆洗的小窍门好一些,为此小哥一边想方法一边测试,终于可以分享几个实用的妙招,快速去油垢,一起来学习吧!家用肥皂+卫生纸惊不惊喜!意不意外!你们以为我要说什么小苏打,油烟机清洗剂之类吗,不可鞥!说了是比较日常方法,肥皂卫生间家家有,经过小哥亲测,用剩的肥皂碾压成糊糊,用废旧牙刷或者直接上手,涂抹在油烟机上,用温水!几分钟后上面的油垢会自动溶解,再用卫生纸擦拭,完全不用拆油烟机,擦完就干干净净!洗洁精+白醋很多主妇其实都用过洗洁精来清洗油烟机,可能不得要领,清洁程度不一,小哥个人建议用清洁精+白醋,用来擦洗油烟机的面板和油盒,清洗油盒时,需要将油盒拿下来浸泡在洗洁精的温水中,浸泡半个小时左后,用抹布擦拭,可以看到明显效果!这两个方法都是日常在家就能操作的,不需要买很多工具,需要清洗油烟机的朋友们可以试一下哦~",
  "top_k": 5,
  "type": "keyword_extraction"
}

PredictResult内容示例

{
  "keywords_or_summaries": [
    "油烟机",
    "小哥",
    "清洗",
    "肥皂",
    "分享"
  ],
  "scores": [
    0.20365885857353325,
    0.2007197193667164,
    0.19899930843706187,
    0.19868134965414105,
    0.19794076396854748
  ]
}

入参说明

参数

说明

query

必填,待抽取的文档内容

top_k

必填,要抽取的关键词数量(type=keyword_extraction时)或者句子的数量(type=text_summarization时)

type

选填,type=keyword_extraction时表示关键词抽取,type=text_summarization时表示摘要抽取,默认为keyword_extraction

出参说明

参数

说明

keywords_or_summaries

抽取到的关键词或者摘要句子列表,按照权重从高到低排序

scores

对应关键词或者句子的权重值