草庐IT

【NLP教程】用python调用百度AI开放平台进行情感倾向分析

马哥python说 2023-12-19 原文

目录

一、背景

Hi,大家!我是 @马哥python说 ,一名10年程序猿。

今天我来演示一下:通过百度AI开放平台,利用python调用百度接口进行中文情感倾向分析,并得出情感极性分为积极、消极还是中性以及置信度结果。

二、操作步骤

首先,打开百度AI首页:百度AI开放平台-全球领先的人工智能服务平台

在顶部菜单,依次选择:开放能力->语言与知识->语言理解->情感倾向分析,如图所示:

在服务列表中,选择"情感倾向分析",点击开通(我的已经开通了):

通过查看技术文档(https://ai.baidu.com/ai-doc/NLP/zk6z52hds)得知,请求服务需要用access_token,而想到得到access_token,又得需要API Key和Secret Key,想到得到Key就得创建应用,因此,梳理思路如下:

创建应用,得到API Key和Secret Key
利用Key,得到access_token
有了access_token,向情感分析接口发送请求,得到返回结果

2.1 创建应用

打开应用列表(百度智能云-登录),点击创建应用:

选择"自然语言处理",点击创建:

创建成功之后,会得到 AppID、API Key、Secret Key三个关键信息:

2.2 获取token

打开鉴权认证页面,我们直接用python代码获取token:

client_id代入API Key,client_secret代入Secret Key,代码运行结果:

返回结果中的access_token就是了。

2.3 情感倾向分析

获取到token之后,调用情感倾向分析接口,代码如下:

输入文本:我今天太伤心了,因为我摔了一跤,呜呜呜

输出结果:置信度0.831307,消极概率0.924088,积极概率0.0759116,因此判定结果为消极。

再测试一个:

输入文本:我可太喜欢看《狂飙》这部电视剧了,演技全员在线!!

输出结果:置信度0.999714,消极概率0.00012881,积极概率0.999871,因此判定结果为积极。

下面,咱们测试一个较长的输入文本:

输入文本:很多人是不能理解那些上有老下有小的人的,特别是家里有严重基础疾病的至亲。我不怕我自己面对新冠,但是我妈妈去年确诊肺癌,切了大半个肺,现在正在治疗中,一点感冒就让她无比痛苦,我怎么敢让她去面对新冠病毒?那些自己得了新冠又不戴口罩在公共场合潇洒快乐的人,请多去为那些弱势群体想想吧,因为总有一天你也极有可能成为他们中的一员,你才能明白那种生命不能承受之重。

输出结果:置信度0.814589,消极概率0.916565,积极概率0.0834351,因此判定结果为消极。

三、其他情感分析

其他python中文情感分析库,比如snownlp应用我之前写的比较多,准确率有待考证。

如果你觉得准确率低,百度还提供了自训练模型的EasyDL平台供使用,无代码开发经验也可训练模型,很方便。

另外,阿里、腾讯、华为等AI开放平台也有对标的接口服务,大家可以试试看。

四、讲解视频

同步讲解视频:【NLP教程】python调用百度API接口实现情感倾向分析


有关【NLP教程】用python调用百度AI开放平台进行情感倾向分析的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

  3. c# - 如何在 ruby​​ 中调用 C# dll? - 2

    如何在ruby​​中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL

  4. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  5. ruby - 调用其他方法的 TDD 方法的正确方法 - 2

    我需要一些关于TDD概念的帮助。假设我有以下代码defexecute(command)casecommandwhen"c"create_new_characterwhen"i"display_inventoryendenddefcreate_new_character#dostufftocreatenewcharacterenddefdisplay_inventory#dostufftodisplayinventoryend现在我不确定要为什么编写单元测试。如果我为execute方法编写单元测试,那不是几乎涵盖了我对create_new_character和display_invent

  6. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  7. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  8. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  9. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  10. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

随机推荐