国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何使用機器學習來分析情感

人工智能 機器學習
本文將幫助你理解 情感分析 的概念,并且學習如何使用機器學習進行情感分析。

我們使用了不同的機器學習算法進行情感分析,然后將各個算法的準確率結果進行比較,以確定哪一種算法最適合這個問題。

情感分析是自然語言處理(NLP)中的一個重要的內容。情感指的是我們對某一事件、物品、情況或事物產生的感覺。情感分析是一個從文本中自動提取人類情感的研究領域。它在上世紀 90 年代初才慢慢地開始發展起來。

本文將讓你明白如何將機器學習(ML)用于情感分析,并比較不同機器學習算法的結果。本文的目標不在于研究如何提高算法性能。

如今,我們生活在一個快節奏的社會中,所有的商品都能在網上購買到,每個人都可以在網上發表自己的評論。而一些商品的負面網絡評論可能會損害公司的聲譽,從而影響公司的銷售額。因此對公司來說,通過商品評論來了解客戶真正想要什么變得非常重要。但是這些評論數據太多了,無法一個個地手動查看所有的評論。這就是情緒分析誕生的緣由。

現在,就讓我們看看如何用機器學習開發一個模型,來進行基本的情緒分析吧。

現在就開始吧!

獲取數據

第一步是選擇一個數據集。你可以從任何公開的評論中進行選擇,例如推文或電影評論。數據集中至少要包含兩列:標簽和實際的文本段。

下圖顯示了我們選取的部分數據集。

Figure 1: Data sample

Figure 1: Data sample

接下來,我們導入所需的庫:

import pandas as pd
import numpy as np
from nltk.stem.porter import PorterStemmer
import re
import string

正如你在上面代碼看到,我們導入了 ??NumPy?? 和 ??Pandas?? 庫來處理數據。至于其他庫,我們會在使用到它們時再說明。

數據集已準備就緒,并且已導入所需的庫。接著,我們需要用 ??Pandas?? 庫將數據集讀入到我們的項目中去。我們使用以下的代碼將數據集讀入 Pandas 數據幀DataFrame

sentiment_dataframe = pd.read_csv(/content/drive/MyDrive/Data/sentiments - sentiments.tsv”,sep = \t’)

數據處理

現在我們的項目中已經導入好數據集了。然后,我們要對數據進行處理,以便算法可以更好地理解數據集的特征。我們首先為數據集中的列命名,通過下面的代碼來完成:

sentiment_dataframe.columns = [“label”,”body_text”]

然后,我們對 ??label?? 列進行數值化:??negative?? 的評論替換為 1,??positive?? 的評論替換為 0。下圖顯示了經過基本修改后的 ??sentiment_dataframe?? 的值。

Figure 2: Data frame with basic modifications

Figure 2: Data frame with basic modifications

準備好特征值、目標值

下一步是數據的預處理。這是非常重要的一步,因為機器學習算法只能理解/處理數值形數據,而不能理解文本,所以此時要進行特征抽取,將字符串/文本轉換成數值化的數據。此外,還需要刪除冗余和無用的數據,因為這些數據可能會污染我們的訓練模型。我們在這一步中去除了噪聲數據、缺失值數據和不一致的數據。

對于情感分析,我們在數據幀中添加特征文本的長度和標點符號計數。我們還要進行詞干提取,即將所有相似詞(如 “give”、“giving” 等)轉換為單一形式。完成后,我們將數據集分為兩部分:特征值 X 和 目標值 Y。

上述內容是使用以下代碼完成的。下圖顯示了執行這些步驟后的數據幀。

Figure 3: Data frame after the division of the data set

Figure 3: Data frame after the division of the data set

def count_punct(text):
count = sum([1 for char in text if char in string.punctuation])
return round(count/(len(text) - text.count( )),3)*100

tokenized_tweet = sentiment_dataframe[‘body_text’].apply(lambda x: x.split())
stemmer = PorterStemmer()
tokenized_tweet = tokenized_tweet.apply(lambda x: [stemmer.stem(i) for i in x])
for i in range(len(tokenized_tweet)):
tokenized_tweet[i] = .join(tokenized_tweet[i])
sentiment_dataframe[‘body_text’] = tokenized_tweet
sentiment_dataframe[‘body_len’] = sentiment_dataframe[‘body_text’].apply(lambda x:len(x) - x.count( ))
sentiment_dataframe[‘punct%] = sentiment_dataframe[‘body_text’].apply(lambda x:count_punct(x))
X = sentiment_dataframe[‘body_text’]
y = sentiment_dataframe[‘label’]

特征工程:文本特征處理

我們接下來進行文本特征抽取,對文本特征進行數值化。為此,我們使用計數向量器CountVectorizer,它返回詞頻矩陣。

在此之后,計算數據幀 X 中的文本長度和標點符號計數等特征。X 的示例如下圖所示。

Figure 4: Sample of final features

Figure 4: Sample of final features

使用的機器學習算法

現在數據已經可以訓練了。下一步是確定使用哪些算法來訓練模型。如前所述,我們將嘗試多種機器學習算法,并確定最適合情感分析的算法。由于我們打算對文本進行二元分類,因此我們使用以下算法:

  • K-近鄰算法(KNN)
  • 邏輯回歸算法
  • 支持向量機(SVMs)
  • 隨機梯度下降(SGD)
  • 樸素貝葉斯算法
  • 決策樹算法
  • 隨機森林算法

劃分數據集

首先,將數據集劃分為訓練集和測試集。使用 ??sklearn?? 庫,詳見以下代碼:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y, test_size = 0.20, random_state = 99)

我們使用 20% 的數據進行測試,80% 的數據用于訓練。劃分數據的意義在于對一組新數據(即測試集)評估我們訓練的模型是否有效。

K-近鄰算法

現在,讓我們開始訓練第一個模型。首先,我們使用 KNN 算法。先訓練模型,然后再評估模型的準確率(具體的代碼都可以使用 Python 的 ??sklearn?? 庫來完成)。詳見以下代碼,KNN 訓練模型的準確率大約為 50%。

from sklearn.neighbors import KNeighborsClassifier
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)
model.score (X_test,y_test)
0.5056689342403629
邏輯回歸算法

邏輯回歸模型的代碼十分類似——首先從庫中導入函數,擬合模型,然后對模型進行評估。下面的代碼使用邏輯回歸算法,準確率大約為 66%。

from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit (X_train,y_train)
model.score (X_test,y_test)
0.6621315192743764
支持向量機算法

以下代碼使用 SVM,準確率大約為 67%。

from sklearn import svm
model = svm.SVC(kernel=’linear’)
model.fit(X_train, y_train)
model.score(X_test,y_test)
0.6780045351473923
隨機森林算法

以下的代碼使用了隨機森林算法,隨機森林訓練模型的準確率大約為 69%。

from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_train, y_train)
model.score(X_test,y_test)
0.6938775510204082
決策樹算法

接下來,我們使用決策樹算法,其準確率約為 61%。

from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier()
model = model.fit(X_train,y_train)
model.score(X_test,y_test)
0.6190476190476191
隨機梯度下降算法

以下的代碼使用隨機梯度下降算法,其準確率大約為 49%。

from sklearn.linear_model import SGDClassifier
model = SGDClassifier()
model = model.fit(X_train,y_train)
model.score(X_test,y_test)
0.49206349206349204
樸素貝葉斯算法

以下的代碼使用樸素貝葉斯算法,樸素貝葉斯訓練模型的準確率大約為 60%。

from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
model.fit(X_train, y_train)
model.score(X_test,y_test)
0.6009070294784581

情感分析的最佳算法

接下來,我們繪制所有算法的準確率圖。如下圖所示。

Figure 5: Accuracy performance of the different algorithms

Figure 5: Accuracy performance of the different algorithms

可以看到,對于情感分析這一問題,隨機森林算法有最佳的準確率。由此,我們可以得出結論,隨機森林算法是所有機器算法中最適合情感分析的算法。我們可以通過處理得到更好的特征、嘗試其他矢量化技術、或者使用更好的數據集或更好的分類算法,來進一步提高準確率。

既然,隨機森林算法是解決情感分析問題的最佳算法,我將向你展示一個預處理數據的樣本。在下圖中,你可以看到模型會做出正確的預測!試試這個來改進你的項目吧!

Figure 6: Sample predictions made

Figure 6: Sample predictions made

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-01-04 13:07:43

Python機器學習情感分析

2025-01-06 08:35:42

SVM機器學習人工智能

2016-12-07 14:45:25

KNIME情感分析數據分析

2020-10-25 08:59:00

機器學習情緒ML

2018-06-14 14:05:48

機器學習大數據卡通上色

2019-11-20 08:00:00

Ocado機器學習

2025-07-29 07:51:41

2018-06-10 08:35:30

2017-03-21 10:55:22

大數據

2020-07-24 10:52:45

人工智能

2020-12-25 15:24:24

人工智能

2022-05-03 09:59:43

網絡釣魚數據集機器學習

2018-11-15 09:00:00

機器學習人工智能數據中心

2021-12-26 22:57:57

Java開發深度學習

2017-09-01 18:17:40

2021-11-02 09:40:50

TensorFlow機器學習人工智能

2017-08-25 14:29:43

機器學習Java

2017-07-07 14:41:13

機器學習神經網絡JavaScript

2019-12-17 16:14:24

機器學習設計算法

2016-12-07 14:56:51

KNIME數據分析
點贊
收藏

51CTO技術棧公眾號

欧美性受极品xxxx喷水| 亚洲自拍在线观看| 成年人网站国产| 噜噜噜91成人网| 97人人模人人爽人人喊中文字| 情se视频网在线观看| 中文在线资源| 一级中文字幕一区二区| 僵尸世界大战2 在线播放| 国产精品亚洲综合久久| 欧美精品videos性欧美| 不卡福利视频| 欧美日本精品一区二区三区| 国产成人在线免费看| 视频一区欧美精品| 美国av一区二区三区 | 色94色欧美sute亚洲线路一ni| 亚洲精品久久久中文字幕| 日本sm残虐另类| 欧美a视频在线| 精品在线手机视频| 欧美激情一级精品国产| 欧美色网一区| 亚洲欧洲国产精品| 九九热线视频只有这里最精品| 呦呦在线视频| 日韩欧美国产电影| 黄动漫视频高清在线| 自拍视频在线观看一区二区| 国产三级三级看三级| 中文字幕免费一区| 成人午夜剧场免费观看完整版| 国产一区在线视频| 免费国产成人看片在线| 99热这里都是精品| 日本xxxx黄色| 亚洲成人黄色影院| 午夜视频在线免费观看| 日韩av有码在线| 成人在线免费电影网站| 久久久国产精品免费| 欧美成人黄色| 国产精品电影在线观看| 午夜欧美激情| 日本大香伊一区二区三区| 中文字幕无码不卡免费视频| 欧美日韩一区视频| 国产伊人精品| 欧美乱妇高清无乱码| 免费观看不卡av| 精品国产一区二区三区四区vr| 91久久国产| 精品国产一级毛片| 国产精品一区二区三区在线| 国内精品亚洲| 国内自拍在线观看| 激情成人在线视频| 欧美momandson| 国产精品电影网站| 国产精品一区二区x88av| 在线天堂一区av电影| 99免费精品视频| 最近高清中文在线字幕在线观看| 日韩精品免费电影| 欧美日韩国产成人精品| 国产一级爱c视频| 欧美一级黄色片| 欧美精品不卡| 精品一区二区三区免费毛片爱| 欧美一级免费看| 91chinesevideo永久地址| 色婷婷综合久久久久中文| 黄色欧美视频| 免费精品视频一区二区三区| 亚洲欧洲日韩在线| 亚洲爱爱视频| 一区二区三区四区免费观看| 一级做a爱片久久| 超碰在线亚洲| 成人精品视频一区二区| 这里只有精品视频| 黄色亚洲在线| 在线免费91| 2019中文字幕全在线观看| 九九精品视频在线看| 白白色在线观看| 天堂8在线天堂资源bt| 欧美一区午夜精品| 国产欧美一级| 国产盗摄在线视频网站| 无码免费一区二区三区免费播放| 亚洲韩国一区二区三区| 乱中年女人伦av一区二区| 欧美特级aaa| 91在线视频免费| 午夜视黄欧洲亚洲| 在线观看成年人视频| 欧美精品一本久久男人的天堂| 不卡的av中国片| 成人国产综合| 中文字幕免费中文| 91中文字幕在线观看| 日韩电影第一页| 一区二区视频在线| 日韩电影在线看| 成人线上播放| 天天综合视频在线观看| 蜜臀av性久久久久蜜臀av| 日韩一区二区免费高清| 久久这里只有精品视频网| 亚洲va欧美va国产综合久久| 亚洲国产成人在线| 欧美一级久久| 欧美1区2区3| 日韩精品久久久久| 伊人久久综合97精品| 久久五月激情| 精品视频二区| 亚洲熟妇av一区二区三区| 日韩精品一区二区三区四区| 亚洲激情午夜| 美女航空一级毛片在线播放| 国产91对白刺激露脸在线观看| 欧美乱妇40p| 欧美精品一区二区三区蜜桃视频| 精品一区二区三区免费视频| 欧美精品一区二区在线观看| 久久婷婷一区二区三区| 久久亚洲影视| 精品视频在线观看网站| 黄色一级大片在线免费看产| 爱情岛论坛vip永久入口| 色大师av一区二区三区| 欧美成人精品在线| 亚洲欧美国产一本综合首页| 亚洲高清中文字幕| 久久久美女艺术照精彩视频福利播放| 蜜桃成人av| 日韩大胆成人| 久久婷婷国产| 国产精品99久久久久久董美香| p色视频免费在线观看| 传媒av在线| 日本aa大片在线播放免费看| www黄色日本| 国产91av视频在线观看| 三区精品视频观看| 免费国产一区| 中文字幕一区二区三区乱码| 国产亚洲自拍偷拍| 欧美日韩亚洲免费| 日韩资源av在线| 黄色a级在线观看| 欧美人与物videos另类| 国产精品久久久久久搜索 | 欧美精品一区二区三区精品| 九七电影韩国女主播在线观看| 亚洲一区中文| 精品影院一区| 免费看日本毛片| 青青草视频国产| 久久久欧美一区二区| 欧美精品v国产精品v日韩精品| 色综合久久久久综合体| 成人午夜激情影院| 岛国av在线不卡| 亚洲激情77| 日韩欧美影院| 91精品啪在线观看国产手机| 欧美日韩午夜在线| 亚洲精美视频| 2019av中文字幕| 亚洲成av人片一区二区梦乃| 日韩视频一区| 无码国模国产在线观看| caoporn视频在线| 日韩精品黄色| 亚洲国产高清av| 激情丁香婷婷| 精品伦理一区二区| 欧美日韩亚洲一区二区三区在线| 亚洲韩国一区二区三区| 一二美女精品欧洲| 99亚洲伊人久久精品影院红桃| 亚洲精品小说| 久久精品国产久精国产爱| 日韩av在线发布| 欧美日本三区| 久久一区二区三区四区| 午夜成人免费视频| 欧美网站一区二区| 亚洲国产黄色片| 丝袜亚洲另类欧美重口| 99re国产视频| 亚洲精品国产一区| 国产精品乱人伦| 在线亚洲精品| 欧洲在线一区| 偷拍自拍在线看| 国产色一区二区|