华为云API自然语言处理的魅力—AI情感分析、文本分析
云服务、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安装
- 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API。
- Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE。
离线包安装:
- 进入插件市场搜索Huawei Cloud API,进入插件详情页,在Versions页签下选择想要版本的API插件,点击Download下载离线的插件压缩包保存到本地。。
- 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- 在Plugins区域单击 ,再单击Install Plugin from Disk...。
- 在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:配置环境
- 下载NLP Java SDK。
下载地址:https://nlp-sdk.obs.cn-north-4.myhuaweicloud.com/nlp-java-sdk.zip
- 准备环境。
说明:
如果用户已经下载JDK并配置好环境,请跳过2.a~2.d。
- 下载JDK文件。
- 下载完成后按照提示安装,位置自选,例如安装到本地C:\Program Files\Java\jdk1.8.0_131。
- 配置Java环境变量:右键“计算机>属性>高级系统设置>环境变量”,进行如下操作。
- 新建系统变量JAVA_HOME,变量值为实际JDK安装位置。
- 在Path中添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (注意用英文分号分隔)。
- 打开命令行窗口,输入“java -version”,显示如图1表示配置成功。
- IntelliJ IDEA安装。在https://www.jetbrains.com/idea/ 或者其他途径下载对应平台的IntelliJ IDEA版本,安装后直接打开IntelliJ IDEA,一般会自动检查JRE路径并配置。
图1 Java版本信息
- JAVA SDK Demo工程导入
- 单机左上角“File”页面打开菜单。
- 选择“Open”,再选择对应要打开工程,选择Demo工程目录,注意目录下一级就要包含pom文件。
- 单击“确认”,导入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-华为云
相关文章:

华为云API自然语言处理的魅力—AI情感分析、文本分析
云服务、API、SDK,调试,查看,我都行 阅读短文您可以学习到:人工智能AI自言语言的情感分析、文本分词、文本翻译 1 IntelliJ IDEA 之API插件介绍 API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE&a…...
微擎小程序获取不到头像和昵称解决方案
这是一个使用微擎小程序的代码示例,其中包含了获取用户头像和昵称的功能。以下是解决方案: 首先,在<button>标签上添加open-type"chooseAvatar"属性,并绑定bindchooseavatar事件: <button class&qu…...

Qt 对界面类重命名的步骤
有些时候因为一些原因,需要修改Qt中创建的界面类,修改的地方比较多,一定要留意有没有修改完全,否则会出现各种奇怪报错。 比如,将MainWindow界面类名修改为lb_logdisplay 修改步骤: 修改文件名:…...

使用docker搭建nacos单机、集群 + mysql
单机搭建 1 拉取mysql镜像 docker pull mysql:5.7.40 2 启动mysql容器 docker run -d --namemysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 mysql:5.7.40 3 执行nacos的数据库脚本 /* * Copyright 1999-2018 Alibaba Group Holding L…...

FreeRTOS自我救赎2之基本工程建立
System Core 1.System Core >SYS 2.System Core >RCC 3.System Core >NVIC Middleware Middleware >FREERTOS Clock configuration Project Manager 在编译生成的代码前需要找一个与芯片对应的启动文件,启动文件添加进来,编译就没问题了...

【C++设计模式之解释器模式:行为型】分析及示例
简介 解释器模式(Interpreter Pattern)是一种行为型设计模式,它提供了一种解决问题的方法,通过定义语言的文法规则,解释并执行特定的语言表达式。 解释器模式通过使用表达式和解释器,将文法规则中的句子逐…...

35 WEB漏洞-逻辑越权之找回机制及接口安全
目录 找回重置机制接口调用乱用演示案例绑定手机验证码逻辑-Rep状态值篡改-实例某APP短信轰炸接口乱用-实例接口调用发包 文章分享:https://www.cnblogs.com/zhengna/p/15655691.html 有支付接口、短信发送接口,邮箱的发送接口等等,在接口这…...

黑豹程序员-架构师学习路线图-百科:JSON替代XML
文章目录 1、数据交换之王2、XML的起源3、JSON诞生4、什么是JSON 1、数据交换之王 最早多个软件之间使用txt进行信息交互,缺点:纯文本,无法了解其结构;之后使用信令,如:电话的信令(拨号、接听、…...
考研人考研魂——英语单词篇(20231009)
下一站,上岸 consoleconsistentconsistconstituteconstitutionconstituentconstructdistinctdistinguishdistinctionconstantconstrainfruitfulfulfillfundfunctionfrustrateevidencefundamentalevilevidentenvironmententertainmententertainenterprisemonotonousm…...

【数据结构】HashSet的底层数据结构
🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 HashSet 一、 HashSet 集合的底层数据结构二…...

数据结构与算法(七)--使用链表实现栈
一、前言 之前我们已经学习了链表的所有操作及其时间复杂度分析,我们可以了解到对于链表头的相关操作基本都是O(1)的,例如链表头增加、删除元素,查询元素等等。那我们其实有一个数据结构其实可以完美利用到这些操作的特点,都是在…...
分布式事务详解
摘要 分布式事务主要包括2pc、3pc、消息事务。 2pc指两阶段提交: 第一阶段是准备阶段:所有事务参与者检查执行能力并锁定对应资源,准备完成后将状态告知协调者。第二集段是提交状态:事务参与者全部准备好后,协调者发…...

车载通信架构 —— DDS协议介绍
车载通信架构 —— DDS协议介绍 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和…...
nginx根据不同的客户端设备进行转发请求——筑梦之路
这里主要介绍七层负载方式实现。 环境说明: pc端 web-1 苹果ios端 web-2 安卓Android端 web-3 负载均衡 web-lb 配置示例: pc端: server {listen 9000; #监听9000server_name pc.xxx.com;charset utf-8;location / {root /…...

增强LLM:使用搜索引擎缓解大模型幻觉问题
论文题目:FRESHLLMS:REFRESHING LARGE LANGUAGE MODELS WITH SEARCH ENGINE AUGMENTATION 论文地址:https://arxiv.org/pdf/2310.03214.pdf 论文由Google、University of Massachusetts Amherst、OpenAI联合发布。 大部分大语言模型只会训练一次&#…...

WPF向Avalonia迁移(一、一些通用迁移项目)
通用变更 WPF:Visibility 其他参考文档 WPF: <TextBlock Visibility"Visible"/><TextBlock Visibility"Collapsed"/><TextBlock Visibility"Hidden"/>Avalonia : <TextBlock IsVisib…...

lua学习笔记
单行注释: 多行注释: 命名: Lua不支持下划线大写字母,比如:_ABC 但支持:_abc 关键字: 全局变量: 直接变量名 内容就是全局 局部变量: 加上local即可 nil࿱…...
修改 ModelScope 默认缓存路径
修改 ModelScope 默认缓存路径 设置 MODELSCOPE_CACHE 和 MODELSCOPE_MODULES_CACHE 两个环境变量。 export MODELSCOPE_CACHE<your_favourite_path>/hub export MODELSCOPE_MODULES_CACHE<your_favourite_path>/modelscope_modules完结!...
【ES实战】索引别名的使用说明
索引别名 文章目录 索引别名带有过滤器的别名RoutingWrite Index REST单一添加一个别名示例: 索引创建是增加别名删除别名检索现有别名示例: 索引别名可以通过API的方式进行操作一个索引别名可以映射到一个或一个以上的索引索引名和索引别名不能重复,在集群中都是唯…...

QT信号与槽机制 和 常用控件介绍
QT信号与槽机制 1、信号(signal): 所谓信号槽 (观察者模式)信号本质是事件。信号展现方式就是函数。当某一个事件发生之后,则发出一个信号(signal). 2、槽(slot): 就是对信号响应的函数,槽就是一个函数。槽函数与普通函数区别槽函数可以与一个信号关联&…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...