使用機器學習,通過文本分析,輕松實現原本復雜的情感分析

01、案例說明

本期分享案例是:文字分析-情感分析,內容是關于某部電影評論好壞的分析,使用大量的已知數據,通過監督學習的方法,可以對于未知的評論進行判斷其為正面還是負面的評價。

對于數據分析,原來都是處理數值型的問題。直到最近才將數據分析的能力延伸到文本分析的領域之內。通過這個案例我們可以了解對于文字,也同樣的可以利用一些聰明的方式,做成數值方式的表現而進行文字分析,如下圖所示:

圖片

02、數據資料

首先我們看到導入的數據,與之前所經歷的數值數據是非常不同,基本在Text的屬性里面,是非結構性的文字,其內容與長度都有所不同。這個部分RM是作為文本的方式來處理,也請特別注意,如果是使用EXCEL 等其他外部的數據導入,最好還是使用 Import Guru的功能,避免其辨識為其他種類的屬性。

03、操作流程

Step1讀入數據

導入數據之后,將目標值設定為情緒反應(Set Role),以及第三個算子(NominalToText)再一次確保其數據是文本而不是多項式的種類。

最主要的核心在第四個操作(Process Document)元之內,這是RM一個特殊的算子,其參數包括設定如何將令牌(Token)輸出成為文字向量(Vector),打開其中我們可以看到有幾個標準的操作。如下圖所示:

圖片

第一個算子(Tokenize)將文字首先轉換為令牌,使用的方式是只要不是文字,就作為一個令牌,所以所有的空白/標點/特殊符號都會去除掉。

第二個算子(Transform Cases)將所有的英文字轉為小寫的字體,避免因為大小寫而變成不同的令牌。

第三個算子(Filter Stopwords)是使用一個在RM中預先建立的字典,將所有沒有意義的字詞去除掉。

做完這些之后,其輸出的形態變成一個超大的矩陣,如下圖所示:

圖片

其中一共有200個數據,但是屬性卻達到13418個屬性。而其中的數值(小于1的數值)是其對應令牌在這個數據中的TF-IDF 的數值。

在這里我們就完成了最關鍵的步驟,也就是將文本的資料轉換為實數的數值。通過這個方法,我們之前所學習的所有機器學習模型,都可以應用在這個巨大的矩陣之上。?

Step2 模型建立

有了這個了解,我們就可以用之前我們熟悉的交叉檢驗的算子對這個數據進行模型的建立。因為屬性的龐大,通常我們會使用的是支持向量機(SVM),但是其原理和之前是完全相同的,包括對于精準度的驗證,可以直接打開這個(Cross Validation)算子進行觀察。

Step3:?測試數據

這個步驟(Create Document),我們自行在系統之內創建了一個測試的數據,然后通過使用這個模型來判斷這個數據它的情緒反應為何種。但是請注意,這個所創建的測試數據它們的種類是文本而不是其他的任何一種數據。

第2個步驟是使用之前相同的文本處理的算子,對數據進行令牌建立和向量輸出。但是特別注意,因為這個算子它并不能自行創建令牌,必須使用原來模型所使用的令牌,所以需要將在第一個步驟所產生的文本處理的算子,其wor端口必須直接相連,才能夠確保這兩個算子所使用的令牌是一致的,如下圖所示:

圖片

Step4:?模型使用

這個步驟就如我們之前所了解的一樣,使用已經建立好的模型,對于未知的數據進行判斷,并且將其結果輸出。

04、結果說明

對于我們所建立的測試數據,系統的判斷如下,對于結果其信心度有0.587。但是考量模型本身的精確度僅有63.5%+/-6.26%,再配合我們的信心程度很難確定的說這個判斷是否準確,僅能作為參考。而如果細讀文字的本身,事實上對于人腦也是一個較為難以立判好壞的數據,所以無法因此證明系統的無效性,如下圖所示:

圖片

對于電腦要發展到與人腦有類似的功能,僅僅使用這種簡單的文檔分析的方式,遠遠不能達到可接受的程度。事實上,這個已經是需要進入神經網絡和自然語言處理的全新領域。但是簡單的使用這種操作,仍然可以產生出很有趣的結果。

當然另外一個問題,就是對于中文的處理。這個案例里面使用的全部都是英文,其中的文檔處理的(Process Document)算子,必須要重新調整使用我們在之前所提到的Jieba的Python程序碼才有辦法處理中文。相關的案例,如果有興趣的話可以與我們聯絡,可以共同討論。


關于?Altair?RapidMiner

Altair RapidMiner 數據分析與人工智能平臺,是數據分析領域中最早實現將自動化數據科學、文本分析、自動特征工程和深度學習等多種功能同時集成的企業級一站式數據科學平臺,幫助用戶解決從數據清洗、準備、數據科學建模到模型管理和部署的全流程需求,同時支持數據和流數據的實時分析可視化,適用于從學術研究到企業級應用的廣泛場景。

欲了解更多信息,歡迎關注公眾號:Altair 澳汰爾

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

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

相關文章

深?理解分布式鎖常用方案,研究過Redisson和Curator框架的源碼

分布式鎖是分布式系統中確保多個節點對共享資源進行同步訪問的關鍵技術。以下是對分布式鎖常用方案以及Redisson和Curator框架源碼的一些深入理解: ### 分布式鎖常用方案 1. **基于數據庫的樂觀鎖**: - 通過在數據表中添加版本號或時間戳字段&#…

Go語言學習:每日一練3

Go語言學習:每日一練3 目錄 Go語言學習:每日一練3方法接口繼承類型斷言 方法 方法是一類有接收者參數的函數。 接收者的類型定義和方法的聲明必須在一個包里 type MyInt intfunc (m MyInt) Add(add int) int {return int(m) add } //OR func (m *MyInt)…

巴圖制自動化Profinet協議轉Modbus協議模塊連接PLC和電表通信

1、免編寫Modbus輪詢程序實現PLC與電表通信的方法 在智能化時代,工業自動控制中的PLC和電表之間的通信是一個常見的需求。傳統上,為了使PLC與電表通信,通常需要編寫Modbus查詢程序來讀取和控制數據。然而,使用 巴圖制自動化Prof…

235、二叉搜索樹的最近公共祖先

給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義為:“對于有根樹 T 的兩個結點 p、q,最近公共祖先表示為一個結點 x,滿足 x 是 p、q 的祖先且 x 的深度盡可能大(一個節點也可以是它自…

用 AI 生成繪本,含大量 prompt

畫圖過程,為了保證繪本輸出的風格統一,角色連貫,畫面內容與故事保持一致 1、畫風統一的解決辦法:固定一個插畫師的風格,可以輸入插畫師的名字,或者墊圖,即上傳你需要借鑒風格的圖片 2、角色連貫…

Spring Security6.3.0版本出現無法解析符號

Spring Security 6.3.0版本出現“無法解析的符號”錯誤通常意味著項目中缺少了必要的類或者資源,或者可能是因為項目的依賴關系配置不正確。 解決方法: 確認依賴:檢查pom.xml或build.gradle文件中是否正確添加了Spring Security的依賴&…

Redis中測試Stream的例子

當你想要測試 Redis 中的 Stream 功能時,可以通過 Redis 的命令行客戶端或者使用任何支持 Redis 的編程語言來操作。下面我會給出一個簡單的例子,使用 Redis 的命令行客戶端 redis-cli 來測試 Stream 的基本功能。 準備工作 確保你已經安裝并啟動了 Re…

聚焦西安應博會|2024西安城市安全應急產業展9月精彩呈現

2024西安城市安全應急產業博覽會 時間:2024年9月12日-14日 地點:西安國際會展中心 運營:西安西部文化產業博覽會有限公司 【展會簡介】 為推動安全應急裝備向智能化、成套化、專業化方向發展,迎接新質生產力在應急產業新技術…

應廣PMS150C系列 應廣8位OTP IO單片機

1、特性 ?不建議使用于AC 阻容降壓供電或有高EFT 要求的應用。應廣不對使用于此類應用而不達安規要求負責 ?工作溫度范圍:-20C~70C 2、系統特性 ?1KW OTP 程序內存 ?64字節數據存儲器 ?硬件 16位定時器 ?1個8位硬件PWM生成器 ?1個通用比較器 ?快速喚醒功能 ?…

nccl-test多機多卡測試

ssh免密登錄 ubuntu默認安裝有SSH client,還需要安裝 SSH server sudo apt install openssh-server本機生成公私鑰 cd ~/.ssh ssh-keygen -t rsa在.ssh/目錄下,會生成兩個文件:id_rsa和id_rsa.pub 注意:正確配置.ssh目錄以及其…

linux下Java11無jre文件夾的問題

項目升級需要更高級的Java版本,于是下載了jdk-11.0.22_linux-x64_bin.tar.gz,解壓后jdk-11.0.22下沒有jre,導致eclipse下“build path”無法加載jre。 Java11以上版本不在提供jre,Java11安裝后,需要如下處理&#xff1…

貝葉斯優化算法(Bayesian Optimization)及其Python 和 MATLAB 實現

貝葉斯優化算法(Bayesian Optimization)是一種基于貝葉斯統計理論的優化方法,通常用于在復雜搜索空間中尋找最優解。該算法能夠有效地在未知黑盒函數上進行優化,并在相對較少的迭代次數內找到較優解,因此在許多領域如超…

ElementUI中的el-table解決寬度問題 - 根據內容自動撐開

在使用element-ui中,會發現表格組件el-table在未指定寬度情況下,會自動計算并給表格寬度賦值。但實際開發中,有時需要根據內容實際長度自動撐開顯示,由內容的多少而決定表格的寬度,而不是默認寬度為100%。在默認情況下…

監控平臺zabbix對接grafana

目錄 1.安裝grafana并啟動 2.瀏覽器訪問 3.導入zabbix數據,對接grafana 4.如何導入模板 5.使用zabbix監控nginx并發量連接數 5.1 修改nginx配置 5.2 編寫監控數據腳本 5.3 設置鍵值 5.4 在zabbix web端完成自定義監控項 5.5 連接到grafana 以上一篇博客&l…

使用CubeIDE調試項目現stm32 no source available for “main() at 0x800337c:

使用CubeIDE調試項目現stm32 no source available for "main() at 0x800337c: 問題描述 使用CubeIDE編譯工程代碼和下載都沒有任何問題,點擊Debug調試工程時,出現stm32 no source available for "main() at 0x800337c 原因分析&a…

聊聊C++20的三向比較運算符 `<=>`

C20標準引入了許多新特性&#xff0c;其中之一是三向比較運算符 <>&#xff0c;也被稱為太空船運算符。這個新運算符為C程序員提供了一種全新的比較對象的方式&#xff0c;它能有效簡化比較邏輯&#xff0c;避免編寫多個比較運算符重載的情況。 為什么需要三向比較運算符…

VirtualBox Ubuntu Sever配置雙網卡

Ubuntu 版本&#xff1a;Ubuntu Server 2404 vitrualBox 網卡配置&#xff1a; 如上配置后&#xff0c;ifconfig 只能看到 網卡1 應用了。要應用 網卡2 需要更改文件 /etc/netplan/50-cloud-init.yaml&#xff08;不同的ubuntu版本這個文件名可能不同&#xff09; 首先 ifcon…

6.BeanFactory處理器Bean處理器

BeanFactoryPostProcessor BeanFactoryProcessor是Bean工廠處理器&#xff0c;對beanFactory的進行擴展&#xff0c;可以解析Configuration Bean注解。 主要功能是對BeanFactory的補充。 //獲取所有bean工廠的處理器<Bean名字&#xff0c;bean工廠處理器>Map<Strin…

Simulink中的S函數深入解析

Simulink中的S函數深入解析 在Simulink環境中&#xff0c;S函數&#xff08;Simulink Functions&#xff09;扮演著至關重要的角色&#xff0c;它們允許用戶將自定義算法和行為集成到Simulink模型中。本文將詳細探討S函數的定義、應用和編寫方法&#xff0c;以及在模型中如何利…

Android設備信息(DevInfo)

軟件介紹 設備信息&#xff08;DevInfo&#xff09;一款評分非常不錯的手機硬件及各種信息檢測應用&#xff0c;安卓設備硬件檢測工具。可以全面查看手機的各種信息、包括&#xff1a;Android系統版本的詳細信息、芯片CPU處理器的詳細信息、全球衛星定位、測試功能、硬件溫度、…