没用的知识增加了,尝试用文心实现褒义词贬义词快速分类
尝试用文心实现褒义词贬义词快速分类
- 一、我的需求
- 二、项目环境搭建
- 千帆SDK安装及使用流程
- 三、项目实现过程
- 创建应用
- 获取签名
- 调用接口
- 计算向量积
- 总结
百度世界大会将于10月17日在北京首钢园举办,今天进入倒计时五天了。通过官方渠道的信息了解到,这次是百度向公众和产业交出的一份“年度AI成绩单”,其中一项备受关注的演讲是李彦宏先生将分享「手把手教你做AI原生应用」,进行一小时的“现场教学”。有消息称,文心一言4.0版本,也会在这场大会上发布,升级后的新变化还是比较期待体验的。

从文心一言推出,围绕着它的的体验、实践有很多,今年3月,百度还推出了“千帆大模型平台”, 据称是全球首个一站式的企业级大模型平台,提供包括文心一言在内的大模型服务及第三方大模型服务,包括ErnieBot、 ErnieBot-turbo、BLOOMZ-7B、Embedding-V1、Qianfan-BLOOMZ-7B-compressed以及Qianfan-Chinese-Llama-2-7B。

这些大模型提供了Chat对话、Completions续写、Embeddings向量化、自定义模型导入以及Images图像等多种功能。用户可以通过平台提供的API进行应用开发,实现自己想要的功能和应用场景。
一、我的需求
记得上中学的时候,老师经常给我们讲解什么是褒义词,什么是贬义词,什么是中性词,但是每次考试的时候同学们都记不住,都会出错。我在浏览平台功能的时候,正好看到千帆大模型中有Embeddings向量化的功能,想着能不能搞一个【褒义词与贬义词快速分类】的功能,这样老师再也不用担心我的学习了。
在开始之前,我们需要了解两个概念,其一是Embedding-V1,它是基于百度文心大模型技术的文本表示模型,将文本转化为用数值表示的向量形式,用于文本检索、信息推荐、知识挖掘等场景。其二是numpy库,numpy是一个广泛应用于科学计算和数据分析的Python库。它提供了高性能的多维数组对象,以及许多用于操作这些数组的函数。numpy不仅提供了快速、高效的数值计算能力,还提供了用于处理大型数据集和执行复杂数学运算的工具。
具体怎么做呢?我的思路是这样的:
- 将“褒义词”和“贬义词”作为基础词去Embedding-V1模型中获取向量数组;
- 将“美好的”和“肮脏的”作为测试词去Embedding-V1模型中获取向量数组;
- 利用numpy库的函数算出测试词与基础词的向量积;
- 最后利用一定规则来区分什么是贬义词、什么是褒义词;
二、项目环境搭建
说干就干,先把项目需要的环境搭建起来,此处我用的是Python的环境。
Python 环境的安装及SDK的下载这个地方就不在赘述了,直接省略,有不懂得同学可以滴滴我。
安装numpy库,执行命令 pip install numpy。我们此时就是想利用numpy 库中的函数实现向量点积和矩阵乘法。
千帆SDK安装及使用流程
(1)安装千帆SDK
pip install qianfan
注意:目前支持 Python >= 3.7版本。
(2)调用千帆SDK
- 步骤一,创建应用,获取应用API Key(AK) 和 Secret Key(SK)。
- 步骤二,初始化AK 和 SK。
- 步骤三,调用SDK。
具体操作步骤
三、项目实现过程
创建应用
创建一个名为【褒贬词区分】的千帆应用,创建成功后,获取AppID、API Key、Secret Key 等信息。
获取签名
通过应用的API_KEY和SECRET_KEY 获取应用的 access_token
def get_access_token():url = "https://aip.baidubce.com/oauth/2.0/token"params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}return str(requests.post(url, params=params).json().get("access_token"))
调用接口
拿到获取的 access_token 之后,用“褒义词”作为基础词去Embedding-V1模型中获取向量数组,剩下的几个词语获取向量数组的方法都是这个。
def get_vector_array(text):url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/embeddings/embedding-v1?access_token=" + "***..."payload = json.dumps({"input": [text]})headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response['data'][0]['embedding'])
得到的调试向量数组格式如下:
['0.08061837404966354', '0.04078327864408493', '-0.09363867342472076', '0.028215458616614342', '-0.0002488529426045716', '0.03429635614156723', '-0.04498879984021187', '-0.03798121586441994', '-0.011711484752595425', '-0.02145105041563511', '0.019791603088378906', '-0.17122730612754822',
'0.011323302052915096', '0.015307868830859661', '-0.13033172488212585', '-0.014496560208499432', '-0.011398260481655598', '0.07101204991340637', '0.023673566058278084', '0.028881099075078964', '0.046047814190387726', '-0.04538198560476303', '0.026869377121329308', '-0.06881920993328094', '0.017508693039417267', '-0.013237032108008862', '0.0011747998651117086', '-0.0385085791349411', '0.07648546993732452', '0.055476147681474686', '-0.00469418428838253', '0.07032959163188934', '-0.031531669199466705', '-0.02622816525399685', '-0.04684654623270035', '-0.002371862530708313', '0.021081145852804184', '0.08082328736782074', '-0.013437628746032715', '0.0258968323469162', '-0.09822260588407516', '0.08117881417274475', '0.0039118751883506775', '0.019459901377558708', '0.013869237154722214', '0.004998866003006697', '-0.057127662003040314', '0.005403431132435799', '-0.03721161186695099', '0.000022977143089519814', '0.007839921861886978', '-0.09754340350627899', '0.006771354470402002', '-0.05724136903882027', '-0.0028451320249587297', '0.05861274525523186', '-0.03603329509496689', '-0.059220317751169205', '-0.0385906845331192', '0.10700726509094238', '0.08236964046955109', '-0.023739730939269066', '-0.0031100588385015726', '0.07149451971054077', '-0.0199934933334589', '0.037235625088214874', '-0.010063654743134975', '0.0029898544307798147', '-0.01747535727918148', '0.014759315177798271', '0.02163994126021862', '-0.06262267380952835', '-0.010288061574101448', '0.044045817106962204', '0.06931136548519135', '-0.07700000703334808', '-0.007435771636664867', '0.025464389473199844', '-0.011003663763403893', '-0.07518579810857773', '-0.04184756800532341', '0.023904750123620033', '0.011393743567168713', '0.01837831176817417', '-0.0886322483420372', '0.0952671691775322', '-0.12693588435649872', '-0.038294460624456406', '0.12494516372680664', '0.03944138064980507', '0.02252635359764099', '-0.05095754563808441', '-0.0012124445056542754', '-0.05008591711521149', '-0.0782846137881279', '0.04561040550470352', '-0.015215445309877396', '-0.07060899585485458', '0.10074105858802795', '-0.0035771785769611597', '-0.0016859406605362892', '-0.0006168847903609276', '-0.005897987633943558', '-0.12729158997535706', '0.005399566609412432', '-0.1122061163187027', '-0.06463941186666489', '-0.09920275956392288', '0.03346830978989601', '0.026707271113991737', '0.015697190538048744', '-0.05596184358000755', '-0.010395456105470657', '-0.03530685231089592', '0.031741540879011154', '0.080228790640831', '0.03081914409995079', '0.07431047409772873', '0.029965108260512352', '-0.0037744399160146713', '-0.0901137962937355', '0.030600417405366898', '0.0031392634846270084', '0.10319962352514267', '0.004642121028155088', '0.08238579332828522', '0.06005106493830681', '-0.07278252393007278', '0.05138978362083435', '0.056823115795850754', '0.004057546146214008', '-0.04828854277729988', '0.09156550467014313', '0.05152333900332451', '-0.11374125629663467', '0.07170815020799637', '0.06275910139083862', '0.07493220269680023', '-0.0034050499089062214', '0.07737395167350769', '-0.03497365489602089', '-0.038866959512233734', '-0.008941351436078548', '0.01303667202591896', '-0.03233131766319275', '0.06729909032583237', '0.08887197822332382', '0.05096267908811569', '-0.09103943407535553', '0.06260557472705841', '-0.0160642359405756', '0.038234077394008636', '0.00792619027197361', '-0.08433590084314346', '-0.08574526011943817', '0.00002219131238234695', '0.02143322303891182', '-0.04925483837723732', '-0.009377656504511833', '-0.049814555794000626', '-0.03575558215379715', '-0.035428132861852646', '-0.056898653507232666', '-0.03874790668487549', '-0.0012135077267885208', '0.017201567068696022', '-0.042181432247161865', '0.09511004388332367', '-0.013392479158937931', '0.1335284262895584', '-0.019908159971237183', '-0.0023446588311344385', '-0.0055818622931838036', '0.01297300960868597', '0.02981858141720295', '-0.0035326394718140364', '-0.04641216993331909', '-0.005125344730913639', '-0.027598926797509193', '-0.044506143778562546', '0.0424048975110054', '0.06094472110271454', '-0.013269977644085884', '-0.022739848122000694',
'0.06919900327920914', '-0.012230281718075275', '0.027269702404737473', '-0.029507067054510117', '0.01824810914695263', '0.026650087907910347', '0.03923342376947403', '0.05708055570721626', '0.027821602299809456', '-0.01805994287133217', '0.02489103563129902', '-0.002894284902140498', '-0.04258480295538902', '-0.04005945101380348', '0.032783474773168564', '0.004660352133214474', '0.03880106657743454', '0.07947057485580444', '0.0789344385266304', '-0.07657215744256973', '0.050499022006988525', '0.016807949170470238', '-0.0069297500886023045', '-0.06111866235733032', '0.0590253509581089', '-0.03539840131998062', '-0.005932340864092112', '0.002571317134425044', '0.023904312402009964', '-0.0854281559586525', '0.013114570640027523', '0.024038389325141907', '-0.03864211216568947', '0.014964412897825241', '0.03544454649090767', '-0.0199270136654377', '-0.08245886862277985', '-0.026577411219477654', '0.06511317193508148', '-0.014447598718106747', '0.01838453859090805', '0.09550153464078903', '0.02454116940498352', '-0.014310576021671295', '0.04404760152101517', '0.052973322570323944', '-0.10075508803129196', '-0.03487679362297058', '0.03173833340406418', '-0.00460244994610548', '-0.0739917978644371', '-0.05986810475587845', '0.04747162386775017', '0.017376329749822617', '0.05890245363116264', '-0.039818502962589264', '0.009928018786013126', '-0.000260817410890013', '0.05027851089835167', '-0.09310005605220795', '-0.06347518414258957', '0.010845684446394444', '-0.04205198958516121', '0.024881191551685333', '0.0043700882233679295', '-0.03337865322828293', '0.01294893678277731', '0.017244484275579453', '-0.015301528386771679', '-0.05580389127135277', '0.0592043474316597', '-0.04951205477118492', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '-0.10493233799934387', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0.40346506237983704', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0.3648037612438202', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
计算向量积
调用 numpy 库中的函数对接口返回的向量数组进行计算,获取向量积
def cosine_similarity(a, b):return np.dot(a, b)
#褒义词
commendatory_words = get_vector_array("褒义词")
#贬义词
derogatory_term = get_vector_array("贬义词")
#漂亮的
beautiful = get_vector_array("漂亮的")
#肮脏的
dirty = get_vector_array("肮脏的")
def get_score(embedding):return cosine_similarity(commendatory_words, embedding) - cosine_similarity(derogatory_term, embedding)if __name__ == '__main__':print(get_score(beautiful))print("~~~~~~~~~~~~~~~~~~~~~~~~")print(get_score(dirty))
调用结果:

结果解释:
值为正数表示与褒义词词性相近,如果值为负数表示与贬义词词性相近
总结
到这儿,我的创意就全部实现了:通过评分的高低我们就可以做出该词是褒义词还是贬义词的判断。当然该程序还有很大的进步空间,后续可以支持多词语并发判断甚至是对一句话进行判断是表扬还是诋毁。
作为开发者,我们非常期待在百度世界大会上看到最新的人工智能技术和应用案例,了解行业最前沿的技术和趋势。同时,我也期待通过百度世界大会与其他开发者和企业进行交流,分享经验和探讨合作可能性。此外,我也希望能够借此机会深入了解百度的技术和产品,掌握相关技能并运用到自己的项目中,实现更好的技术创新和商业价值。
相关文章:
没用的知识增加了,尝试用文心实现褒义词贬义词快速分类
尝试用文心实现褒义词贬义词快速分类 一、我的需求二、项目环境搭建千帆SDK安装及使用流程 三、项目实现过程创建应用获取签名调用接口计算向量积总结 百度世界大会将于10月17日在北京首钢园举办,今天进入倒计时五天了。通过官方渠道的信息了解到,这次是…...
AWS SAP-C02教程3--网络资源
架构设计中网络也是少不了的一个环节,而AWS有自身的网络结构和网络产品。本章中将带你看看AWS中不同网络产品,以及计算资源、存储资源等产品在网络架构中处于哪个位置,如何才能让它们与互联网互通、与其它产品互通。下图视图将SAP涉及到网络相关组件在一张图表示出来,图中可…...
【TensorFlow2 之012】TF2.0 中的 TF 迁移学习
#012 TensorFlow 2.0 中的 TF 迁移学习 一、说明 在这篇文章中,我们将展示如何在不从头开始构建计算机视觉模型的情况下构建它。迁移学习背后的想法是,在大型数据集上训练的神经网络可以将其知识应用于以前从未见过的数据集。也就是说,为什么…...
mysql面试题46:MySQL中datetime和timestamp的区别
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL中DATETIME和TIMESTAMP的区别 在MySQL中,DATETIME和TIMESTAMP是两种用于存储日期和时间的数据类型。虽然它们都可以用于存储日期和时间信息…...
【Spring Boot】RabbitMQ消息队列 — RabbitMQ入门
💠一名热衷于分享知识的程序员 💠乐于在CSDN上与广大开发者交流学习。 💠希望通过每一次学习,让更多读者了解我 💠也希望能结识更多志同道合的朋友。 💠将继续努力,不断提升自己的专业技能,创造更多价值。🌿欢迎来到@"衍生星球"的CSDN博文🌿 🍁本…...
Navicat定时任务
Navicat定时任务 1、启动Navicat for MySQL工具,连接数据库。 2、查询定时任务选项是否开启 查询命令:SHOW VARIABLES LIKE ‘%event_scheduler%’; ON表示打开,OFF表示关闭。 打开定时任务命令 SET GLOBAL event_scheduler 0; 或者 SET G…...
小白必备:简单几步, 使用Cpolar+Emlog在Ubuntu上搭建个人博客网站
文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道(云端设置)2.3.Cpolar稳定隧道(本地设置) 3. 公网访问测试总结 前言 博客作为使…...
封装 Token
什么是token? 作为计算机术语,是“令牌”的意思 。 Token 是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请…...
CloudCompare 二次开发(17)——点云添加均匀分布的随机噪声
目录 一、概述二、代码集成三、结果展示一、概述 不依赖任何第三方点云相关库,使用CloudCompare编程实现点云添加随机噪声。添加随机噪声的算法原理见:PCL 点云添加均匀分布的随机噪声。 二、代码集成 1、mainwindow.h文件public中添加: void doActionAddRandomNoise(); …...
研发必会-异步编程利器之CompletableFuture(含源码 中)
近期热推文章: 1、springBoot对接kafka,批量、并发、异步获取消息,并动态、批量插入库表; 2、SpringBoot用线程池ThreadPoolTaskExecutor异步处理百万级数据; 3、基于Redis的Geo实现附近商铺搜索(含源码) 4、基于Redis实现关注、取关、共同关注及消息推送(含源码) 5…...
上海亚商投顾:沪指高开高走 锂电等新能源赛道大反攻
上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日高开后强势震荡,创业板指盘中一度翻绿,随后探底回升再度走高。碳酸锂期货合约…...
力扣第235题 二又搜索树的最近公共祖先 c++
题目 235. 二叉搜索树的最近公共祖先 中等 (简单) 相关标签 树 深度优先搜索 二叉搜索树 二叉树 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q&…...
时代风口中的Web3.0基建平台,重新定义Web3.0!
近年来,Web3.0概念的广泛兴起,给加密行业带来了崭新的叙事方式,同时也为加密行业提供了更加具有想象力的应用场景与商业空间,并让越来越多的行业从业者们意识到只有更大众化的市场共性需求才能推动加密市场的持续繁荣。当前围绕这…...
React学习笔记 001
什么是React 1.发送请求获取数据 处理数据(过滤、整理格式等) 3.操作DOM呈现页面 react 主要是负责第三部 操作dom 处理页面 数据渲染为HTML视图的开源js库。 好处 避免dom繁琐 组件化 提升复用率 特点 声明式编程: 简单 组件化编程…...
2023 | github无法访问或速度慢的问题解决方案
github无法访问或速度慢的问题解决方案 前言: 最近经常遇到github无法访问, 或者访问特别慢的问题, 在搜索了一圈解决方案后, 有些不再有效了, 但是其中有几个还特别好用, 总结一下. 首选方案 直接在github.com的域名上加一个fast > githubfast.com, 访问的是与github完全相…...
unity各种插件集合(自用)
2D Animation——2D序列帧/骨骼动画相关 2D PSD Importer——psb骨骼动画(unity官方建议使用psb而非psd) (Advanced —show preview package 勾选)出现 2D IK——反向动力学IK Universal RP——升级项目到Urp(通用渲…...
内网收集哈希传递
1.内网收集的前提 获得一个主机权限 补丁提权 可以使用 systeminfo 然后使用python脚本找到缺少的补丁 下载下来 让后使用exp提权 收集信息 路由信息 补丁接口 dns域看一看是不是域控 扫描别的端口 看看有没有内在的web网站 哈希传递 哈希是啥 哈希…...
前端目录笔记
HTML HTML 笔记:初识 HTML(HTML文本标签、文本列表、嵌入图片、背景色、网页链接)-CSDN博客html 笔记:CSS_UQI-LIUWJ的博客-CSDN博客HTML 笔记 表格_UQI-LIUWJ的博客-CSDN博客 javascript JavaScript 笔记 初识JavaScript&…...
Sui主网升级至V1.11.2版本
Sui主网现已升级至V1.11.2版本,同时Sui协议升级至27版本。其他升级要点如下: 对于一些更高级别的交易,更改了一些gas费设置,使其gas费消耗的更快。这些更改不影响以前在网络上运行的任何交易,只是为了确保在开始大量使…...
Mysql-数据库和数据表的基本操作
Mysql数据库和数据表的基本操作 一.数据库 1.创建数据库 创建数据库就是在数据库系统中划分一块空间存储数据 (1)语法 create database 数据库名称;(2)查看数据库 show create database 数据库名;(3)…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
