Skip to content

Commit

Permalink
NLP
Browse files Browse the repository at this point in the history
  • Loading branch information
JiakunXu committed Jul 20, 2023
1 parent b525cee commit 44b772c
Show file tree
Hide file tree
Showing 5 changed files with 131 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.example.demo.aliyun.api;

import com.example.demo.aliyun.api.bo.nlp.Data;

public interface NlpService {

Data getWsChGeneral(String text);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.example.demo.aliyun.api.bo.nlp;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

@Getter
@Setter
public class Data implements Serializable {

private static final long serialVersionUID = 323345866361523064L;

@JSONField(name = "Data")
private String data;

@JSONField(name = "RequestId")
private String requestId;

private List<Result> result;

private Boolean success;

@Getter
@Setter
public static class Result implements Serializable {

private static final long serialVersionUID = -1203224654151297134L;

private String id;

private String word;

private List<String> tags;

}

}
5 changes: 5 additions & 0 deletions demo-manager/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@
<artifactId>aliyun-java-sdk-green</artifactId>
</dependency>

<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-alinlp</artifactId>
</dependency>

<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibaba-dingtalk-service-sdk</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package com.example.demo.aliyun.manager;

import com.alibaba.fastjson2.JSON;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.example.demo.aliyun.api.NlpService;
import com.example.demo.aliyun.api.bo.nlp.Data;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

@Service
public class NlpServiceImpl implements NlpService {

private static final Logger logger = LoggerFactory.getLogger(NlpServiceImpl.class);

@Value("${aliyun.sms.region.id}")
private String regionId;

@Value("${aliyun.accessKey.id}")
private String accessKeyId;

@Value("${aliyun.accessKey.secret}")
private String secret;

@Override
public Data getWsChGeneral(String text) {
DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, secret);
IAcsClient client = new DefaultAcsClient(profile);

CommonRequest request = new CommonRequest();
request.setSysDomain("alinlp.cn-hangzhou.aliyuncs.com");
request.setSysVersion("2020-06-29");
request.setSysAction("GetWsChGeneral");
request.putQueryParameter("ServiceCode", "alinlp");
request.putQueryParameter("Text", text);
request.putQueryParameter("TokenizerId", "GENERAL_CHN");

Data data = null;

try {
CommonResponse response = client.getCommonResponse(request);
data = JSON.parseObject(response.getData(), Data.class);
} catch (ServerException e) {
logger.error("ServerException", e);
throw new RuntimeException(e.getMessage());
} catch (ClientException e) {
logger.error("ClientException", e);
throw new RuntimeException(e.getMessage());
}

if (data == null) {
throw new RuntimeException("data is null.");
}

String requestId = data.getRequestId();

data = JSON.parseObject(data.getData(), Data.class);

data.setRequestId(requestId);

return data;
}

}
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,12 @@
<version>3.6.6</version>
</dependency>

<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-alinlp</artifactId>
<version>1.8.14</version>
</dependency>

<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
Expand Down

0 comments on commit 44b772c

Please sign in to comment.