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

news2025/1/11 22:38:46

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

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

1 IntelliJ IDEA 之API插件介绍

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

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

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

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

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

说明:

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

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

2  API插件安装--IntelliJ IDEA

2.1 IntelliJ IDEA等平台

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

须知:IntellIj平台同时支撑包括Goland、Pycharm等在内的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的字样,则说明安装成功。

3 AI情感分析、文本分析

3.1 API列表

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

3.2  情感分析

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

前提条件:

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

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

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

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

5、已获取华为云帐号对应的有效AK、SK,具体请参见 如何获取访问密钥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());
        }
    }
}

3.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());
        }
    }
}

3.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());
        }
    }
}

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

4.1  操作须知

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

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

步骤1:配置环境

  1. 下载NLP Java SDK。

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

  1. 准备环境。

说明:

如果用户已经下载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版本信息

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

步骤2:设置鉴权信息

获取AK/SK。AK/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"
        }
    ]
}

4.2  展现效果

5 体验插件的魅力

华为云devkit已上线:Toolkit-华为云

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1067817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDBC-day02(使用PreparedStatement实现CRUD操作)

所需的数据库数据要导入到自己的数据库库中 三&#xff1a;使用PreparedStatement实现CRUD操作 数据库连接被用于向数据库服务器发送命令和 SQL 语句&#xff0c;并接受数据库服务器返回的结果。其实一个数据库连接就是一个Socket连接。CRUD操作&#xff1a;根据返回值的有无…

Flink学习笔记(一):Flink重要概念和原理

文章目录 1、Flink 介绍2、Flink 概述3、Flink 组件介绍3.1、Deploy 物理部署层3.2、Runtime 核心层3.3、API&Libraries 层3.4、扩展库 4、Flink 四大基石4.1、Checkpoint4.2、State4.3、Time4.4、Window 5、Flink 的应用场景5.1、Event-driven Applications【事件驱动】5.…

Flink+Doris 实时数仓

Flink+Doris 实时数仓 Doris基本原理 Doris基本架构非常简单,只有FE(Frontend)、BE(Backend)两种角色,不依赖任何外部组件,对部署和运维非常友好。架构图如下 可以 看到Doris 的数仓架构十分简洁,不依赖 Hadoop 生态组件,构建及运维成本较低。 FE(Frontend)以 Java 语…

好奇喵 | PT(Private Tracker)——什么是P2P,什么是BT,啥子是PT?

前言 有时候会听到别人谈论pt&#xff0c;好奇猫病又犯了&#xff0c;啥子是pt&#xff1f; PT——你有pt吗&#xff1f;啥是pt&#xff1f; 从BT开始 BitTorrent是一种点对点&#xff08;P2P&#xff09;文件共享协议&#xff0c;用于高速下载和上传大型文件。它允许用户通…

【Oracle】Oracle系列十九--Oracle的体系结构

文章目录 往期回顾前言1. 物理结构2. 内存结构2.1 SGA2.2 后台进程 3. 逻辑结构 往期回顾 【Oracle】Oracle系列之一–Oracle数据类型 【Oracle】Oracle系列之二–Oracle数据字典 【Oracle】Oracle系列之三–Oracle字符集 【Oracle】Oracle系列之四–用户管理 【Oracle】Or…

Springboot项目log4j与logback的Jar包冲突问题

异常信息关键词&#xff1a; SLF4J: Class path contains multiple SLF4J bindings. ERROR in ch.qos.logback.core.joran.spi.Interpreter24:14 - no applicable action for [properties], current ElementPath is [[configuration][properties]] 详细异常信息&#xff1a…

【深度学习】UNIT-DDPM核心讲解

文章目录 大致介绍&#xff1a;扩散损失&#xff1a;转换损失&#xff1a;循环一致性损失&#xff1a;推理过程&#xff1a;优缺点&#xff1a; 参考文章&#xff1a; https://blog.csdn.net/ssshyeong/article/details/127210086 这篇文章对整个文章 UNIT-DDPM: UNpaired Imag…

Reactor 模式网络服务器【I/O多路复用】(C++实现)

前导&#xff1a;本文是 I/O 多路复用的升级和实践&#xff0c;如果想实现一个类似的服务器的话&#xff0c;需要事先学习 epoll 服务器的编写。 友情链接&#xff1a; 高级 I/O【Linux】 I/O 多路复用【Linux/网络】&#xff08;C实现 epoll、select 和 epoll 服务器&#x…

开发与运营:“开发”和“运营”角色有何不同和重叠?

开发和运营是促进软件系统交付的两种角色。大多数大规模构建软件的组织都会雇用这两个学科的人员。不过,开发和运维并不是完全孤立的。团队重叠并实现更高的吞吐量是很常见的。 在本文中,您将学习区分开发人员和操作人员之间的主要区别,以及它们重叠的方式。尽管有将两者结合…

Synchronized的实现和锁升级

1.JVM是如何处理和识别Synchronized的&#xff1f; 我们从字节码角度分析synchronized的实现&#xff1a; Synchronized(锁对象){}同步代码块底层实现方式是monitorenter和monitorexit指令。 修饰普通同步方法时底层实现方式是执行指令会检查方法是否设置ACC_SYNCHRONIZED&am…

11个在线免费调整图像大小而不会降低质量工具

图片对于增强您的网站、博客和其他在线平台的视觉效果非常重要&#xff0c;而这些图片的正确尺寸在这里起着重要作用。如果您有多种尺寸的图像并且想要调整为一个尺寸&#xff0c;可以使用多种在线图像调整工具。使用在线工具&#xff0c;没有软件下载或安装的麻烦&#xff0c;…

比较常见的在线项目管理系统有哪些?

在线项目管理系统作为一个适用于各领域任务管理、工时收集、团队协作与即时沟通的企业级在线项目管理解决方案&#xff0c;可以为用户同时协调和管理数以百计的项目和团队成员&#xff0c;而软件所具有的成熟&#xff0c;可靠和友好特性&#xff0c;将不再让用户在易用性和功能…

论文阅读--Energy efficiency in heterogeneous wireless access networks

异构无线接入网络的能源效率 论文信息&#xff1a;Navaratnarajah S, Saeed A, Dianati M, et al. Energy efficiency in heterogeneous wireless access networks[J]. IEEE wireless communications, 2013, 20(5): 37-43. I. ABSTRACT && INTRODUCTION 本文提出了无…

Holographic MIMO Surfaces (HMIMOS)以及Reconfigurable Holographic Surface(RHS)仿真

这里写目录标题 Simulation setupchatgpt帮我总结代码 Holographic MIMO Surfaces &#xff08;HMIMOS&#xff09;以及Reconfigurable Holographic Surface&#xff08;RHS&#xff09;仿真&#xff1a; Simulation setup In this section, we evaluate the performance of …

香橙派、树莓派、核桃派、鲁班猫安装jupyter notebook【ubuntu、Debian开发板操作类似】

文章目录 前言一、安装环境二、使用方法总结 前言 香橙派树莓派鲁班猫安装一下调试代码还是比较方便的。 一、安装环境 假设已经安装好了miniconda3。如果还没安装可以参考我另外一篇博文&#xff0c;有写怎么安装。 pip install jupyter notebook # 生成Jupyter Notebook的…

【密评】商用密码应用安全性评估从业人员考核题库(四)

商用密码应用安全性评估从业人员考核题库&#xff08;四&#xff09; 国密局给的参考题库5000道只是基础题&#xff0c;后续更新完5000还会继续更其他高质量题库&#xff0c;持续学习&#xff0c;共同进步。 751 判断题 HMAC是一种消息鉴别码。 正确 错误 752 多项选择题 …

基于PSD-ML算法的语音增强算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1.加窗处理&#xff1a; 2.分帧处理&#xff1a; 3.功率谱密度估计&#xff1a; 4.滤波处理&#xff1a; 5.逆变换处理&#xff1a; 6.合并处理&#xff1a; 5.算法完整程序工程 1.算法…

使用Java语言深度探索数据结构中的单向链表:完美结合详解与示例代码

版本说明 当前版本号[20231007]。 版本修改说明20231007初版 目录 文章目录 版本说明目录2.2 链表1) 概述定义简单分类随机访问性能插入或删除性能 2) 单向链表头部添加循环遍历while遍历for 遍历迭代器遍历匿名内部类转换为带名字的内部类 尾部添加递归遍历 根据索引获取寻…

HTML 笔记:初识 HTML(HTML文本标签、文本列表、嵌入图片、背景色、网页链接)

1 何为HTML 用来描述网页的一种语言超文本标记语言(Hyper Text Markup Language)不是一种编程语言&#xff0c;而是一种标记语言 (markup language) 2 HTML标签 HTML 标签是由尖括号包围的关键词&#xff0c;比如 <html> 作用是为了“标记”页面中的内容&#xff0c;使…

群晖搭建docker系统和办公服务2

首先先确认下我们的Office是否为VOL版&#xff0c;方法如下&#xff08;请您根据自身情况更改以下命令&#xff09;&#xff1a; 管理员身份运行命令提示符&#xff0c;输入 cd C:\Program Files\Microsoft Office\Office16 切换目录 &#xff08;这里请根据您自己的Office版本…