您好,欢迎使用北京谛听机器人自然语言处理服务。本文档主要针对JAVA开发者,描述北京谛听机器人 自然语言处理接口服务的相关技术内容。如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
在开放平台控制台内提交工单,
-
接口名称 | 接口能力简要描述 |
转为拼音 | 将符合标准的汉语转为汉语拼音 |
提取关键词 | 提取内容的关键关键词 |
自动摘要(关键句个数) | 查询词汇的词,实现文本的可计算 |
提取词语 | 句话最大限度的找出新词并提取出来 |
对文本进行分词 | 对文本进行分词 |
提取短语_短语个数 | 提取短语的个数短语个数 |
使用JAVA SDK开发骤如下:
-
在官方网站下载JAVA SDK压缩包。
将下载的aip-java-sdk-version.zip解压后,复制到工程文件夹中。
新建文件xx.java
引入AipNlp.java
新建xx.java
AipNlp是自然语言处理的JAVA SDK客户端,为使用自然语言处理的开发人员提供了一系列的交互方法。
参考如下代码新建一个ServiceTests.java:
package com.diting.aip;
import com.diting.aip.nlp.AipNlp;
import org.json.JSONObject;
public class ServiceTests {
//设置APPID/AK/SK
public static final String APP_ID = "你的appID";
public static final String API_KEY = "你的appKey";
public static final String SECRET_KEY = "你的secretKey";
public void getPinYin() {
// 初始化一个AipNlp
AipNlp client = new AipNlp(APP_ID, API_KEY, SECRET_KEY);
// 可选:设置网络连接参数
client.setConnectionTimeoutInMillis(2000);
client.setSocketTimeoutInMillis(60000);
// 调用接口
String text = "谛听AI是一家高科技公司";
//有些字没有拼音(如标点),是否保留它们的拼音(true用none表示,false用原字符表示)
boolean remainNone = false;
//分隔符
String separator = ",";
JSONObject res = client.convertToPinyin(text, remainNone, separator);
System.out.println(res.toString());
}
}
在上面代码中,常量APP_ID,API_KEY与SECRET_KEY是在创建完用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,在AI服务控制台中的应用列表中查看。
配置AipNlp
如果用户需要配置NlpApi的网络请求参数(一般不需要配置),可以在构造AipNlp之后调用接口设置参数,目前只支持以下参数:
接口 | 说明 |
setConnectionTimeoutInMillis | 建立连接的超时时间(单位:毫秒) |
setSocketTimeoutInMillis | 通过打开的连接传输数据的超时时间(单位:毫秒) |
文字转拼音接口用户输入一句符合汉语标准的语句,词,短语,转化为汉语拼音、
String text = "谛听AI是一家高科技公司";
//有些字没有拼音(如标点),是否保留它们的拼音(true用none表示,false用原字符表示)
boolean remainNone = false;
//分隔符
String separator = ",";
JSONObject res = client.convertToPinyin(text, remainNone, separator);
文字转拼音 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 待转换的内容 |
separator | 是 | string | 分隔符 如:。??!!;; |
remainNone | 是 | string | 是否保留标点 |
文字转拼音 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data.text | 是 | 转换的结果 |
文字转拼音 返回示例
{
"msg": "success",
"code": 200,
"data": {"text":"di?ting?A?I?shi?yi?jia?gao?ke?ji?gong?si"}
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然";
size = 5;//数量
JSONObject jsonObject = client.extractKeyword(text, 5);
提取关键字 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 待提取的内容 |
size | 是 | int | 提取的关键字数量 |
提取关键字 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
提取关键字 返回示例
{
"msg": "success",
"code": 200,
"data": "[自然, 人机, 语言, 有限公司, 交互]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然";
size = 5;//数量
JSONObject jsonObject = client.extractKeyword(text, 5);
提取词语 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 待提取的内容 |
size | 是 | int | 需要提取词语的数量 |
remainNone | 是 | boolean | 是否只提取词典中没有的词语 |
提取词语 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
提取词语 返回示例
{
"msg": "success",
"code": 200,
"data": "[自然, 人机, 语言, 公司, 交互]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然";
algorithmConsts = AlgorithmConsts.MAXIMUM_MATCHING;;//算法
JSONObject jsonObject = client.seg(text, algorithmConsts );
分词 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 待提取的内容 |
algorithm | 否 | string | 指定算法,null默认双向最大匹配算法 |
分词 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
分词 返回示例
{
"msg": "success",
"code": 200,
"data": "[谛听, 机器人, 有限公司, 人机, 自然语言, 交互, 变得, 流畅, 自然]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然";
algorithmConsts = AlgorithmConsts.MAXIMUM_MATCHING;;//算法
JSONObject jsonObject = client.segWithStopWords(text, algorithmConsts );
分词 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 待提取的内容 |
algorithm | 否 | string | 指定算法,null默认双向最大匹配算法 |
分词 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
分词 返回示例
{
"msg": "success",
"code": 200,
"data": "[北京, 谛听, 机器人, 有限公司, 让, 人机, 自然语言, 交互, 变得, 更加, 流畅, 自然]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然";
size= 5;//数量
JSONObject jsonObject = client.extractPhrase(text, size);
提取短语 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 待提取的内容 |
size | 是 | int | 词语数量 |
提取短语 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
提取短语 返回示例
{
"msg": "success",
"code": 200,
"data": "[交互变得, 人机自然, 北京谛听, 变得更加, 更加流畅, 机器人有限公司, 流畅自然, 自然语言, 语言交互, 谛听机器人]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然";
size= 5;//数量
JSONObject jsonObject = client.extractWords(text, size);
提取词语 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 待提取的内容 |
size | 是 | int | 词语数量 |
提取词语 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
提取词语 返回示例
{
"msg": "success",
"code": 200,
"data": "[人机, 自然, 北京, 谛听, 流畅]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。";
size = 1;//数量
separator = ":[,。] ";
JSONObject jsonObject = client.extractSummary(text, size,separator);
自动摘要 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 长文本 |
size | 是 | int | 摘要的个数 |
separator | 是 | string | 分割目标文档时的句子分割符,正则格式, 如:[。??!!;;] |
自动摘要 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
自动摘要 返回示例
{
"msg": "success",
"code": 200,
"data": "[北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。";
size = 1;//数量
separator = ":[,。] ";
JSONObject jsonObject = client.extractSummaryLength(text, size,separator);
自动摘要 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 长文本 |
size | 是 | int | 关键句个数 |
separator | 是 | string | 分割目标文档时的句子分割符,正则格式, 如:[。??!!;;] |
自动摘要 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
自动摘要 返回示例
{
"msg": "success",
"code": 200,
"data": "[北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。";
size = 1;//数量
JSONObject jsonObject = client.extractSummaryNum(text, size);
自动摘要 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 长文本 |
size | 是 | int | 关键句个数 |
自动摘要 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
自动摘要 返回示例
{
"msg": "success",
"code": 200,
"data": "[让人机自然语言交互变得更加流畅自然]"
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然。";
size = 20;//长度
JSONObject jsonObject = client.getSummary(text, size);
自动摘要 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 长文本 |
size | 是 | int | 关键句长度 |
自动摘要 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
自动摘要 返回示例
{
"msg": "success",
"code": 200,
"data": {"text": "让人机自然语言交互变得更加流畅自然。"}
}
text = "陆小凤";
JSONObject jsonObject = client.segSurname(text);
人名获取姓氏 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 文本 |
人名获取姓氏 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
人名获取姓氏 返回示例
{
"msg": "success",
"code": 200,
"data": "陆"
}
text = "陆小凤";
JSONObject jsonObject = client.name(text);
人名判定 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 文本 |
人名判定 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
人名判定 返回示例
{
"msg": "success",
"code": 200,
"data": true
}
text = "陆";
JSONObject jsonObject = client.surname(text);
判断百家姓 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 文本 |
判断百家姓 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
判断百家姓 返回示例
{
"msg": "success",
"code": 200,
"data": true
}
text = "北京諦聽機器人有限公司,讓人機自然語言交互變得更加流暢自然";
JSONObject jsonObject = client.traditionalSegment(text);
繁体分词 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 文本 |
繁体分词 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
繁体分词 返回示例
{
"msg": "success",
"code": 200,
"data": "[北京/ns, 諦聽/v, 機器人/n, 有限公司/n, ,/w, 讓/v, 人機/n, 自然/d, 語言/n, 交互/d, 變得/vi, 更加/d, 流暢/a, 自然/d]"
}
text = "北京諦聽機器人有限公司,讓人機自然語言交互變得更加流暢自然";
JSONObject jsonObject = client.toSimplifiedChinese(text);
繁转简 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 文本 |
繁转简 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
繁转简 返回示例
{
"msg": "success",
"code": 200,
"data": {"text": "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然"}
}
text = "北京谛听机器人有限公司,让人机自然语言交互变得更加流畅自然";
JSONObject jsonObject = client.toTraditionalChinese(text);
简转繁 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
text | 是 | string | 文本 |
简转繁 返回数据参数详情
参数名称 | 必需 | 详细说明 |
msg | 是 | 返回发信息说明 |
Code | 是 | 状态码 |
Data | 是 | 提取的内容 |
简转繁 返回示例
{
"msg": "success",
"code": 200,
"data": {"text": "北京諦聽機器人有限公司,讓人機自然語言交互變得更加流暢自然"}
}
示例:
String algorithmConsts = AlgorithmConsts.MAXIMUM_MATCHING; 分词算法常量