幽默分类

幽默多指令人发笑的品质或者具有发笑的能力,它是一种特殊的语言表达方式,是生活中活跃气氛、化解尴尬的重要元素。幽默分类任务旨在通过分析幽默的内容,预测不同幽默的类型(谐音、协议、反转)。

说明

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

服务开通与资源包购买

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

服务调用与调试

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

SDK示例文档参考:SDK示例

调试

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

不同幽默示例:

例1:谐音幽默:高考考完后,心知考得不怎么样,就对父亲如实说了考试成绩不理想,父亲无奈的说:“不行的话,就复读吧。” 这时坐在一旁的爷爷生气的说:“考不上就考不上,服什么毒啊?!没出息!!!”

例2:谐义幽默:爸爸带儿子上街,路边的音响播放一首爱情歌曲,儿子跟着学唱,爸爸制止道:“不要唱,这歌不健康。” 儿子好奇地问:“怎么,唱这个会感冒吗?”

例3:反转幽默:周老先生剃光了胡子回家。邻家的女孩子见了,说道:周伯伯!看你的脸,简直不像老头子了。 老周乐极,你说我像一个少年人么? 女孩:不是,我说你的脸,简直像一个老姑娘!

通过环境变量配置访问凭证(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);
String content = "高考考完后,心知考得不怎么样,就对父亲如实说了考试成绩不理想,父亲无奈的说:不行的话,就复读吧。这时坐在一旁的爷爷生气的说:考不上就考不上,服什么毒啊?!没出息!!!";
RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("Humor-Analysis");
request.setPredictContent(content);
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 = "高考考完后,心知考得不怎么样,就对父亲如实说了考试成绩不理想,父亲无奈的说:不行的话,就复读吧。这时坐在一旁的爷爷生气的说:考不上就考不上,服什么毒啊?!没出息!!!"
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('Humor-Analysis')
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)

PredictResult内容示例

{
 "RequestId": "F96B5C70-680C-5DF1-8305-F420A9A86CA6",
 "PredictResult": "{\"类型\":[{\"score\":0.9955,\"key\":\"谐音\"},{\"score\":0.0043,\"key\":\"谐义\"},{\"score\":0.0003,\"key\":\"反转\"}]}"
}

入参说明

参数

说明

content

待检测的文本样例

出参说明

参数

说明

key

预定义的幽默类型(谐音、谐义、反转)

score

置信度得分