基于開源模型對文本和音頻進行情感分析

應用場景

  1. 從商品詳情頁爬取商品評論,對其做輿情分析;
  2. 電話客服,對音頻進行分析,做輿情分析;

通過開發相應的服務接口,進一步工程化;

模型選用

  • 文本,選用了通義實驗室fine-tune的structBERT 模型,基于大眾點評的評論數據進行訓練,使用預訓練模型進行推理,CPU 能跑,支持模型微調,基本上不用微調了,因為他是基于電商領域的數據集進行訓練的,基本夠用,可本地部署;

參考論文:

title: Incorporating language structures into pre-training for deep language understanding
author:Wang, Wei and Bi, Bin and Yan, Ming and Wu, Chen and Bao, Zuyi and Xia, Jiangnan and Peng, Liwei and Si, Luo
journal:arXiv preprint arXiv:1908.04577,
year:2019

版本依賴:

modelscope-lib 最新版本

推理代碼:

semantic_cls = pipeline(Tasks.text_classification, 'damo/nlp_structbert_sentiment-classification_chinese-base')comment0 = '非常厚實的一包大米,來自遙遠的東北,盤錦大米,應該不錯的,密封性很好。賣家的服務真是貼心周到!他們提供了專業的建議,幫助我選擇了合適的商品。物流速度也很快,讓我順利收到了商品。'
result0 = semantic_cls(input=comment0)
if result0['scores'][0] > result0['scores'][1]:print("'" + comment0 + "',屬于" + result0["labels"][0] + "評價")
else:print("'" + comment0 + "',屬于" + result0["labels"][1] + "評價")comment1 = '食物的口感還不錯,不過店員的服務態度可以進一步改善一下。'
result1 = semantic_cls(input=comment1)
if result1['scores'][0] > result1['scores'][1]:print("'" + comment1 + "',屬于" + result1["labels"][0] + "評價")
else:print("'" + comment1 + "',屬于" + result1["labels"][1] + "評價")comment2 = '衣服尺碼合適,色彩可以再鮮艷一些,客服響應速度一般。'
result2 = semantic_cls(input=comment2)
if result2['scores'][0] > result2['scores'][1]:print("'" + comment2 + "',屬于" + result2["labels"][0] + "評價")
else:print("'" + comment2 + "',屬于" + result2["labels"][1] + "評價")comment3 = '物流慢,售后不好,貨品質量差。'
result3 = semantic_cls(input=comment3)
if result3['scores'][0] > result3['scores'][1]:print("'" + comment3 + "',屬于" + result3["labels"][0] + "評價")
else:print("'" + comment3 + "',屬于" + result3["labels"][1] + "評價")comment4 = '物流包裝順壞,不過客服處理速度比較快,也給了比較滿意的賠償。'
result4 = semantic_cls(input=comment4)
if result4['scores'][0] > result4['scores'][1]:print("'" + comment4 + "',屬于" + result4["labels"][0] + "評價")
else:print("'" + comment4 + "',屬于" + result4["labels"][1] + "評價")comment5 = '冰箱制冷噪聲較大,制冷慢。'
result5 = semantic_cls(input=comment5)
if result5['scores'][0] > result5['scores'][1]:print("'" + comment5 + "',屬于" + result5["labels"][0] + "評價")
else:print("'" + comment5 + "',屬于" + result5["labels"][1] + "評價")comment6 = '買了一件劉德華同款鞋,穿在自己腳上不像劉德華,像掃大街的。'
result6 = semantic_cls(input=comment6)
if result6['scores'][0] > result6['scores'][1]:print("'" + comment6 + "',屬于" + result6["labels"][0] + "評價")
else:print("'" + comment6 + "',屬于" + result6["labels"][1] + "評價")

運行結果:

'非常厚實的一包大米,來自遙遠的東北,盤錦大米,應該不錯的,密封性很好。賣家的服務真是貼心周到!他們提供了專業的建議,幫助我選擇了合適的商品。物流速度也很快,讓我順利收到了商品。',屬于正面評價
'食物的口感還不錯,不過店員的服務態度可以進一步改善一下。',屬于正面評價
'衣服尺碼合適,色彩可以再鮮艷一些,客服響應速度一般。',屬于正面評價
'物流慢,售后不好,貨品質量差。',屬于負面評價
'物流包裝順壞,不過客服處理速度比較快,也給了比較滿意的賠償。',屬于正面評價
'冰箱制冷噪聲較大,制冷慢。',屬于負面評價
'買了一件劉德華同款鞋,穿在自己腳上不像劉德華,像掃大街的。',屬于負面評價

  • 音頻,選用了通義實驗室 fine-tune的emotion2vec微調模型,CPU 能跑,可本地部署;

參考論文:

title: Self-Supervised Pre-Training for Speech Emotion Representation
author:Ma, Ziyang and Zheng, Zhisheng and Ye, Jiaxin and Li, Jinchao and Gao, Zhifu and Zhang, Shiliang and Chen, Xie
journal:arXiv preprint arXiv:2312.15185
year:2023

開源地址:

Official PyTorch code for extracting features and training downstream models with emotion2vec: Self-Supervised Pre-Training for Speech Emotion Representation

版本依賴:

modelscope >= 1.11.1

funasr>=1.0.5

推理代碼:

from funasr import AutoModelmodel = AutoModel(model="iic/emotion2vec_base_finetuned", model_revision="v2.0.4")wav_file = f"{model.model_path}/example/test.wav"
res = model.generate(wav_file, output_dir="./outputs", granularity="utterance", extract_embedding=False)
print(res)scores = res[0]["scores"]max_score = 0
max_index = 0
i = 0
for score in scores:if score > max_score:max_score = scoremax_index = ii += 1print("音頻分析后,情感基調為:" + res[0]["labels"][max_index])

運行結果

rtf_avg: 0.263: 100%|██████████| 1/1 [00:02<00:00,? 2.64s/it]
[{'key': 'rand_key_2yW4Acq9GFz6Y', 'labels': ['生氣/angry', '厭惡/disgusted', '恐懼/fearful', '開心/happy', '中立/neutral', '其他/other', '難過/sad', '吃驚/surprised', '<unk>'], 'scores': [0.06824027001857758, 0.030794354155659676, 0.20301730930805206, 0.09666425734758377, 0.12219445407390594, 0.06753909587860107, 0.13648174703121185, 0.11873088777065277, 0.1563376784324646]}]


音頻分析后,情感為:恐懼/fearful

Process finished with exit code 0

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697050.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697050.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697050.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電腦錄屏軟件哪個好用?實測告訴你答案(2024年最新)

在當今信息化快速發展的時代&#xff0c;無論是錄制在線課程、游戲操作&#xff0c;還是制作教程、會議記錄&#xff0c;一款電腦錄屏軟件顯得尤為重要&#xff0c;可是電腦錄屏軟件哪個好用呢&#xff1f;本文將介紹三款主流的電腦錄屏軟件&#xff0c;通過分步驟詳細講述&…

使用maven集成spring在測試的時候報出了如下的異常:version 60

使用maven集成spring在測試的時候報出了如下的異常&#xff1a; Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 60 解決&#xff1a;

在word中將latex格式的公式轉化為帶有編號的mathtype公式

在word中將latex格式的公式轉化為帶有編號的mathtype公式 1.先在word里面配置好mathtype2.在word中設置mathtype的格式3.先將latex格式的公式轉化為mathml格式4.讀到這里&#xff0c;是不是覺得這個方法麻煩 1.先在word里面配置好mathtype 注意&#xff1a;1.word的版本應該是 …

基于springboot+vue的中小型醫院網站(前后端分離)

博主主頁&#xff1a;貓頭鷹源碼 博主簡介&#xff1a;Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰&#xff0c;歡迎高校老師\講師\同行交流合作 ?主要內容&#xff1a;畢業設計(Javaweb項目|小程序|Pyt…

Sovit3D數字孿生平臺 助力智慧海上風電場項目加速

我們常說地球是藍色星球&#xff0c;那是因為海洋約占地球面積的71%。如今&#xff0c;我國正在向“雙碳”目標不斷奮斗&#xff0c;海上風電也作為一種潛力清潔能源&#xff0c;迸發出前所未有的活力&#xff0c;海上吹來的風成為未來清潔能源新方向。 2024年海上風電項目加速…

Qt_快速安裝指南

下載Qt在線安裝程序&#xff08;不仔細介紹&#xff09;注冊Qt賬號&#xff08;不仔細介紹&#xff09;使用快速運行的命令&#xff0c;按照指定的下載地址下載 在Qt指定目錄打開cmd命令窗口.\eqt-unified-windows-x86-4.0.1-1-online. exe --mirror https://mirrors.ustc.edu.…

JVM虛擬機結構

虛擬機結構圖 從圖中看出&#xff1a; JVM虛擬機主要有三大部分組成&#xff1a; 1. 類加載器 2. JVM運行時內存 3. 執行引擎 一、類加載器 類加載器主要用來加載字節碼文件&#xff08;.class&#xff09;到內存中 二、內存結構 如圖&#xff1a;可將內存分為兩大部分&…

【go】IP相關工具類

文章目錄 1.判斷ipv4 or ipv62.計算cidr格式ip所含IP個數3.計算兩個ip區間所含ip個數 1.判斷ipv4 or ipv6 // return int 0:錯誤的ip 4:ipv4 6:ipv6 func CheckIp(ip string) int {if ip "" {return 4}out : net.ParseIP(ip)if out nil {return 0}if strings.Cont…

C1475D Cleaning the Phone 題解

文章目錄 C1475D Cleaning the Phone 題解Cleaning the Phone題面翻譯題目描述輸入格式輸出格式樣例 #1樣例輸入 #1樣例輸出 #1 提示算法&#xff1a;貪心代碼&#xff1a; C1475D Cleaning the Phone 題解 link Cleaning the Phone 題面翻譯 題目大意&#xff1a; 有 n …

【學習iOS高質量開發】——協議與分類

文章目錄 一、通過委托與數據源協議進行對象間通信1.委托模式2.要點 二、將類的實現代碼分散到便于管理的數個分類之中1.如何實現2.要點 三、總是為第三方類的分類名稱加前綴1.為什么總是為第三方類的分類名稱加前綴2.要點 三、勿在分類中聲明屬性1.勿在分類中聲明屬性的原因2.…

Android進階(二十九) 走近 IntentFilter

文章目錄 一、什么是IntentFilter &#xff1f;二、IntentFilter 如何過濾隱式意圖&#xff1f;2.1 動作測試2.2 類別測試2.3 數據測試 一、什么是IntentFilter &#xff1f; 如果一個 Intent 請求在一片數據上執行一個動作&#xff0c; Android 如何知道哪個應用程序&#xf…

網頁數據的解析提取(XPath的使用----lxml庫詳解)

在提取網頁信息時&#xff0c;最基礎的方法是使用正則表達式&#xff0c;但過程比較煩瑣且容易出錯。對于網頁節點來說&#xff0c;可以定義id、class或其他屬性&#xff0c;而且節點之間還有層次關系&#xff0c;在網頁中可以通過XPath或CSS選擇器來定位一個或多個節點。那么&…

Maven管理項目,本地倉庫有對應的jar包,但還是報找不到

文章目錄 業務場景錯誤提示分析過程解決辦法 業務場景 settings.xml種配置了私服&#xff0c;但是有些依賴私服上沒有&#xff0c;通過同事拷貝過來的。但是用maven打包時報紅了。 錯誤提示 Idea Maven錯誤&#xff1a;was cached in the local repository, resolution will…

RecycleView結合ItemTouchHelper實現拖動排序

最近項目中需要實現對某一類條目進行拖動排序功能&#xff0c;實現技術方案就是利用ItemTouchHelper綁定RecyclerView、ItemTouchHelper.Callback來實現UI更新&#xff0c;并且實現動態控制是否開啟拖動功能。其中&#xff0c;ItemTouchHelper是Google在androidx包中添加的&…

int128的實現(基本完成)

雖然有一個聲明叫_int128但是這并不是C標準&#xff1a; long long 不夠用&#xff1f;詳解 __int128 - FReQuenter - 博客園 (cnblogs.com) 網絡上去找int128的另類實現方法&#xff0c;發現幾乎都是在介紹_int128的 然后我就自己想了個辦法&#xff0c;當時還沒學C&#xf…

Spring Boot中實現列表數據導出為Excel文件

點擊下載《Spring Boot中實現列表數據導出為Excel文件》 1. 前言 本文將詳細介紹在Spring Boot框架中如何將列表數據導出為Excel文件。我們將通過Apache POI庫來實現這一功能&#xff0c;并解釋其背后的原理、提供完整的流程和步驟&#xff0c;以及帶有詳細注釋的代碼示例。最…

關于設備連接有人云的使用及modbus rtu協議,服務器端TCP調試設置

有人云調試 調試過程問題1. 關于modbus rtu協議,實質上有三種modbus基本原理modbus 格式2. 關于modbus crc16通信校驗3. 關于在ubuntu阿里云服務器端,監聽網絡數據之調試mNetAssist之前的一個項目,再拿出來回顧下。 調試過程 先 要在有人云,用手機號注冊一個服務賬號,官網顯…

家的情感記憶:如何用壁紙講述你的墻故事?

1、方小童在線工具集 網址&#xff1a; 方小童 該網站是一款在線工具集合的網站&#xff0c;目前包含PDF文件在線轉換、隨機生成美女圖片、精美壁紙、電子書搜索等功能&#xff0c;喜歡的可以趕緊去試試&#xff01;

HarmonyOS—使用預覽器查看應用/服務效果

DevEco Studio為開發者提供了UI界面預覽功能&#xff0c;可以查看應用/服務的UI界面效果&#xff0c;方便開發者隨時調整界面UI布局。預覽器支持布局代碼的實時預覽&#xff0c;只需要將開發的源代碼進行保存&#xff0c;就可以通過預覽器實時查看應用/服務運行效果&#xff0c…

探索分布式強一致性奧秘:Paxos共識算法的精妙之旅

提到分布式算法&#xff0c;就不得不提 Paxos 算法&#xff0c;在過去幾十年里&#xff0c;它基本上是分布式共識的代名詞&#xff0c;因為當前一批常用的共識算法都是基于它改進的。比如&#xff0c;Fast Paxos 算法、Cheap Paxos、Raft 算法等。 由萊斯利蘭伯特&#xff08;L…