华为云API自然语言处理的魅力—AI情感分析、文本分析

举报
华为云classroom 发表于 2023/12/19 11:28:37 2023/12/19
【摘要】 云服务、API、SDK,调试,查看,我都行 阅读短文您可以学习到:人工智能AI自言语言的情感分析、文本分词、文本翻译1      Classroom和Toolkit的关系1.1      Classroom的简介classroom是基于华为云的云上软件教学服务,支持初级开发者和高校师生实现备课、上课、作业、考试、实验、实训等全教学流程的线上教学,提供多类习题自动判题、企业级DevOps实训、...

云服务、APISDK,调试,查看,我都行

阅读短文您可以学习到:人工智能AI自言语言的情感分析、文本分词、文本翻译

1      Classroom和Toolkit的关系

1.1      Classroom的简介

classroom是基于华为云的云上软件教学服务,支持初级开发者和高校师生实现备课、上课、作业、考试、实验、实训等全教学流程的线上教学,提供多类习题自动判题、企业级DevOps实训、免费在线习题库等众多高级特性辅助进行数字化教学转型。

1.2      Toolkit插件之华为云API实战课程


2      IntelliJ IDEA 之API插件介绍

API插件支持 VS Code IDEIntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为云服务下的 API ExplorerDevStarCodeLabsSDK 中心和 CLI 中心产品,致力于为开发者提供更稳定、快速、安全的编程体验。

在本插件中,我们提供了但不局限于如下的功能:

对接华为云API开放平台,支持用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何使用API

提供华为云SDK代码片段补全功能,SDK依赖包自动引入,加速用户集成华为云API

对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮助用户快速学习。

说明:

IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDEAPI插件是IDE原生内置的,名称是华为云API开发套件。

API插件在IntelliJ IDEA等系列平台和VS Code IDE的使用依赖底座插件,请提前安装底座插件。

3      API插件安装--IntelliJ IDEA

3.1    IntelliJ IDEA等平台

安装准备:下载并安装JDK1.8或更高版本。下载并安装IntelliJ IDEA 2020.2或更高版本。

须知:IntellIj平台同时支撑包括GolandPycharm等在内的IDE,若在其它相关IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的安装流程,其他IntelliJ系列的IDE请参考IDEA

开始安装:

您可以在直接在IDE插件市场或者直接在JetBrains插件市场下载离线包安装。

IDE安装

  1. IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins
  2. Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API
  3. Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE


离线包安装:

  1. 进入插件市场搜索Huawei Cloud API,进入插件详情页,在Versions页签下选择想要版本的API插件,点击Download下载离线的插件压缩包保存到本地。。
  2. IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins
  3. Plugins区域单击 ,再单击Install Plugin from Disk...
  4. Choose Plugin File对话框中选择离线安装包(不用解压),并按照IntelliJ IDEA安装页面的提示,完成后续安装步骤。


说明:若当前您想要安装插件的IntelliJ IDE已经在桌面打开,则进入插件市场搜索Huawei Cloud API,进入插件详情页,在右上角会识别到本地已经打开的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后台会开始安装相应版本的API插件。

安装验证:在IntelliJ系列平台上安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。

4      AI情感分析、文本分析

4.1      API列表


左侧展示API列表,可以查询所有API,目前云服务206APIs9213

4.2      情感分析


情感分析(基础版),针对通用领域的用户评论进行情感分析。

前提条件:

1、已注册华为云,并完成实名认证 。

2、已完成自然语言处理服务申请,具体请参考 申请服务。

3、已获取自然语言处理服务对应区域终端节点地址,具体请参考 地区和终端节点。

4、已获取自然语言处理服务对应区域的项目ID,请在华为云控制台“我的凭证 > API凭证”页面上查看项目ID。具体请参见 API凭证。

5、已获取华为云帐号对应的有效AKSK,具体请参见 如何获取访问密钥AK/SK

6、已具备开发环境 ,支持Java JDK 1.8及其以上版本。

开始使用:

import com.huaweicloud.sdk.core.auth.BasicCredentials;

import com.huaweicloud.sdk.core.exception.ClientRequestException;

import com.huaweicloud.sdk.core.exception.ServerResponseException;

import com.huaweicloud.sdk.nlp.v2.NlpClient;

import com.huaweicloud.sdk.nlp.v2.model.HWCloudSentimentReq;

import com.huaweicloud.sdk.nlp.v2.model.RunSentimentRequest;

import com.huaweicloud.sdk.nlp.v2.model.RunSentimentResponse;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

public class RunSentiment {

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

 

    public static void main(String[] args) {

 

        /*

         * 初始化认证信息,相关参数说明如下所示:

         *   - ak:华为云账号Access Key

         *   - sk:华为云账号Secret Access Key

         */

        String ak = "<YOUR AK>";

        String sk = "<YOUR SK>";

        String projectId = "<YOUR PROJECT ID>";

        String endpoint = "<APIG ENDPOINT>";

        BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);

        NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();

 

        try {

            // 构造请求参数

            HWCloudSentimentReq sentimentReq = new HWCloudSentimentReq();

            sentimentReq.setContent("<YOUR CONTENT>");

            sentimentReq.setLang(HWCloudSentimentReq.LangEnum.ZH);

            RunSentimentRequest runSentimentRequest = new RunSentimentRequest();

            runSentimentRequest.setBody(sentimentReq);

 

            // 接收响应参数

            RunSentimentResponse response = client.runSentiment(runSentimentRequest);

            logger.info(response.toString());

        } catch (ClientRequestException e) {

            logger.error(String.valueOf(e.getHttpStatusCode()));

            logger.error(e.toString());

        } catch (ServerResponseException e) {

            logger.error(String.valueOf(e.getHttpStatusCode()));

            logger.error(e.getMessage());

        }

    }

}

4.3      文本分词

文本分词,对文本进行分割,返回分割后的词语组和词语对应的词性。

开始使用:

import com.huaweicloud.sdk.core.auth.BasicCredentials;

import com.huaweicloud.sdk.core.exception.ClientRequestException;

import com.huaweicloud.sdk.core.exception.ServerResponseException;

import com.huaweicloud.sdk.nlp.v2.NlpClient;

import com.huaweicloud.sdk.nlp.v2.model.RunSegmentRequest;

import com.huaweicloud.sdk.nlp.v2.model.RunSegmentResponse;

import com.huaweicloud.sdk.nlp.v2.model.SegmentRequest;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class RunSegment {

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

    public static void main(String[] args) {

        /*

         * 初始化认证信息,相关参数说明如下所示:

         *   - ak:华为云账号Access Key

         *   - sk:华为云账号Secret Access Key

         */

        String ak = "<YOUR AK>";

        String sk = "<YOUR SK>";

        String projectId = "<YOUR PROJECT ID>";

        String endpoint = "<APIG ENDPOINT>";

        BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);

        NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();

 

        try {

            // 构造请求参数

            SegmentRequest segmentRequest = new SegmentRequest();

            segmentRequest.setText("<YOUR TEXT>");

            segmentRequest.setLang(SegmentRequest.LangEnum.fromValue("zh"));

            segmentRequest.setCriterion(SegmentRequest.CriterionEnum.fromValue("PKU"));

            segmentRequest.setPosSwitch(SegmentRequest.PosSwitchEnum.fromValue(0));

            RunSegmentRequest runSegmentRequest = new RunSegmentRequest();

            runSegmentRequest.setBody(segmentRequest);

 

            // 接收响应参数

            RunSegmentResponse response = client.runSegment(runSegmentRequest);

            logger.info(response.toString());

        } catch (ClientRequestException e) {

            logger.error(String.valueOf(e.getHttpStatusCode()));

            logger.error(e.toString());

        } catch (ServerResponseException e) {

            logger.error(String.valueOf(e.getHttpStatusCode()));

            logger.error(e.getMessage());

        }

    }

}

4.4      文本翻译

文本翻译,将用户输入原始语种的文本转换为目标语种的文本。

开始使用:

import com.huaweicloud.sdk.core.auth.BasicCredentials;

import com.huaweicloud.sdk.core.exception.ClientRequestException;

import com.huaweicloud.sdk.core.exception.ServerResponseException;

import com.huaweicloud.sdk.nlp.v2.NlpClient;

import com.huaweicloud.sdk.nlp.v2.model.RunTextTranslationRequest;

import com.huaweicloud.sdk.nlp.v2.model.RunTextTranslationResponse;

import com.huaweicloud.sdk.nlp.v2.model.TextTranslationReq;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

public class RunTextTranslation {

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

 

    public static void main(String[] args) {

 

        /*

         * 初始化认证信息,相关参数说明如下所示:

         *   - ak:华为云账号Access Key

         *   - sk:华为云账号Secret Access Key

         */

        String ak = "<YOUR AK>";

        String sk = "<YOUR SK>";

        String projectId = "<YOUR PROJECT ID>";

        String endpoint = "<APIG ENDPOINT>";

        BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);

        NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();

 

        try {

            // 构造请求参数

            TextTranslationReq textTranslationReq = new TextTranslationReq();

            textTranslationReq.setFrom(TextTranslationReq.FromEnum.ZH);

            textTranslationReq.setTo(TextTranslationReq.ToEnum.EN);

            textTranslationReq.setText("<YOUR TEXT>");

            textTranslationReq.setScene(TextTranslationReq.SceneEnum.COMMON);

            RunTextTranslationRequest runTextTranslationRequest = new RunTextTranslationRequest();

            runTextTranslationRequest.setBody(textTranslationReq);

 

            // 接收响应参数

            RunTextTranslationResponse response = client.runTextTranslation(runTextTranslationRequest);

            logger.info(response.toString());

        } catch (ClientRequestException e) {

            logger.error(String.valueOf(e.getHttpStatusCode()));

            logger.error(e.toString());

        } catch (ServerResponseException e) {

            logger.error(String.valueOf(e.getHttpStatusCode()));

            logger.error(e.getMessage());

        }

    }

}

5      如何使用SDK调用华为云NLP服务

5.1      操作须知

自然语言处理的API接口已全部商用,无需开通,可直接调用。调用费用请参见自然语言处理价格计算器。

准备工作:已注册华为帐号并开通华为云,并完成实名认证,帐号不能处于欠费或冻结状态。

步骤1:配置环境

  1. 下载NLP Java SDK

下载地址:https://nlp-sdk.obs.cn-north-4.myhuaweicloud.com/nlp-java-sdk.zip

     2.准备环境。

说明:

如果用户已经下载JDK并配置好环境,请跳过2.a~2.d

  1. 下载JDK文件。
  2. 下载完成后按照提示安装,位置自选,例如安装到本地C:\Program Files\Java\jdk1.8.0_131
  3. 配置Java环境变量:右键“计算机>属性>高级系统设置>环境变量”,进行如下操作。
  4. 新建系统变量JAVA_HOME,变量值为实际JDK安装位置。
  5. Path中添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (注意用英文分号分隔)。
  6. 打开命令行窗口,输入“java -version”,显示如图1表示配置成功。
  7. IntelliJ IDEA安装。在https://www.jetbrains.com/idea/ 或者其他途径下载对应平台的IntelliJ IDEA版本,安装后直接打开IntelliJ IDEA,一般会自动检查JRE路径并配置。

1 Java版本信息


        3.JAVA SDK Demo工程导入

    1. 单机左上角“File”页面打开菜单。
    2. 选择“Open”,再选择对应要打开工程,选择Demo工程目录,注意目录下一级就要包含pom文件。
    3. 单击“确认”,导入demo,导入后打开工程,工程目录如下:


步骤2:设置鉴权信息

获取AK/SKAK/SK即访问密钥,请登录“我的凭证”界面,选择“管理访问密钥 > 新增访问密钥”获取。

AK/SK认证鉴权,配置Java SDK中的AK/SK。根据获取的AK/SK,修改Demo工程“NLPDemo.java”文件中函数的“AK”和“SK”的值。

3 AK/SK认证鉴权


步骤3:调用分词服务

执行Demo,控制台输出状态码“200”即表示程序执行成功。

分词识别的返回结果为JSON格式,如下所示。

{

    "words": [

        {

            "content": "今天",

            "pos": "t"

        },

        {

            "content": "天气",

            "pos": "n"

        },

        {

            "content": "",

            "pos": "d"

        },

        {

            "content": "",

            "pos": "a"

        }

    ]

}

5.2      展现效果


6      体验插件课程

https://classroom.devcloud.huaweicloud.com/MOOCCourseStudy/join/ef4ebc3dbaa246ff995f75022cac8cb9

识别下方二维码立即体验

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。