最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

畢業(yè)設(shè)計 深度學習酒店評價情感分析系統(tǒng)

2023-04-04 10:13 作者:丹成學長  | 我要投稿

0 前言

?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。

為了大家能夠順利以及最少的精力通過畢設(shè),學長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天要分享的是

?? ?深度學習 機器學習 酒店評價情感分析算法實現(xiàn)

??學長這里給一個題目綜合評分(每項滿分5分)

  • 難度系數(shù):3分

  • 工作量:3分

  • 創(chuàng)新點:3分

畢設(shè)幫助,選題指導,技術(shù)解答,歡迎打擾,見B站個人主頁

https://space.bilibili.com/33886978


概述

本文基于7K條攜程酒店評價數(shù)據(jù)為文本數(shù)據(jù),將其導入到Keras的模型架構(gòu)然后進行訓練出一個可用于實際場所預測情感的模型。

項目所需模塊

import tensorflow as tf ?
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.model_selection import train_test_split
import tensorflow.keras as keras
# 導入jieba分詞庫
import jieba
import re

數(shù)據(jù)

數(shù)據(jù)說明

7000多條攜程酒店評論數(shù)據(jù),5000多條正向評論,2000多條負向評論。

字段說明

  • 評論數(shù)目(總體):7766

  • 評論數(shù)目(正向):5322

  • 評論數(shù)目(負向):2444

在這里插入圖片描述

數(shù)據(jù)處理

# 讀取數(shù)據(jù)
data = pd.read_csv("/home/kesci/input/labelreview5456/ChnSentiCorp_htl_all.csv")
# 查看數(shù)據(jù)的前5項
data.head()

在這里插入圖片描述

分詞處理

# 去除標點符號和數(shù)字
# 要去除標點符號和數(shù)字,常用的辦法就是使用正則表達式來處理,或者自行編寫遍歷替換函數(shù)

# 模式串
patten = r"[!\"#$%&'()*+,-./:;<=>?@[\\\]^_`{|}~—!,。?·¥、《》···【】:" "''\s0-9]+" ?
re_obj = re.compile(patten)

# 替換函數(shù)--去除標點符號和數(shù)字
def clear(text):
? ?return re_obj.sub('', text)

# 將正則表達式替換函數(shù)應用于每一行
data["review"] = data["review"].apply(clear)
# 查看前5行替換結(jié)果

data["review"][:5]

在這里插入圖片描述

采用精簡處理,啟用HMM(隱式馬爾科夫網(wǎng)絡(luò))處理

def cut_words(words):
? ?return jieba.lcut(words) # 使用lcut分詞

#apply函數(shù)對series的每一行數(shù)據(jù)進行處理
data["review"] = data["review"].apply(cut_words)
data["review"][:5]

在這里插入圖片描述

停用詞處理

# 使用 中文停用詞表
stop_words = "/home/kesci/work/stopwords-master/stopwords.txt"
stop_list = [
? ?i.strip() for i in open(stop_words, encoding='utf-8').readlines()
] ?#讀取停用詞列表


def remove_stop(words): ?#移除停用詞函數(shù)
? ?texts = []

? ?for word in words: ?# 遍歷詞列表里的每一個詞
? ? ? ?if word not in stop_list: ?# 若不在停用詞列表中就將結(jié)果追加至texts列表中
? ? ? ? ? ?texts.append(word)

? ?return texts


data['review'] = data['review'].apply(remove_stop)
# 查看前5行
data["review"][:5]

在這里插入圖片描述

樣本均衡

data["label"].value_counts().plot(kind = 'bar')
plt.text(0, 6000, str(data["label"].value_counts()[1]),
? ? ? ?ha = 'center', va = 'top')
plt.text(1, 3000, str(data["label"].value_counts()[0]),
? ? ? ?ha = 'center', va = 'top')
plt.ylim(0, 6500)
plt.title('正負樣本的個數(shù)')
plt.show()

在這里插入圖片描述

從柱狀圖可以看出,該數(shù)據(jù)集共7766條數(shù)據(jù),其中正樣本(label = 1)共有5322條,負樣本(label = 0)共有2444條,沒有重復數(shù)據(jù)

顯然樣本存在嚴重的不均衡問題,這里考慮兩種樣本均衡的策略 (1)欠采樣,正負樣本各2000條,一共4000條 (2)過采樣,正負樣本各3000條,一共6000條

為減少計算量和對比兩種均衡策略的效果,這里采用先把整體數(shù)據(jù)進行處理,再做樣本均衡采樣

def get_balanced_words(size,
? ? ? ? ? ? ? ? ? ? ? positive_comment=data[data['label'] == 1],
? ? ? ? ? ? ? ? ? ? ? negtive_comment=data[data['label'] == 0]):
? ?word_size = size // 2
? ?#獲取正負評論數(shù)
? ?num_pos = positive_comment.shape[0]
? ?num_neg = negtive_comment.shape[0]
? ?# ? ? 當 正(負)品論數(shù)中<采樣數(shù)量/2 時,進行上采樣,否則都是下采樣;
? ?# ? ? 其中pandas的sample方法里的repalce參數(shù)代表是否進行上采樣,默認不進行
? ?balanced_words = pd.concat([
? ? ? ?positive_comment.sample(word_size,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?replace=num_pos < word_size,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?random_state=0),
? ? ? ?negtive_comment.sample(word_size,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? replace=num_neg < word_size,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? random_state=0)
? ?])
? ?# ? ? 打印樣本個數(shù)
? ?print('樣本總數(shù):', balanced_words.shape[0])
? ?print('正樣本數(shù):', balanced_words[data['label'] == 1].shape[0])
? ?print('負樣本數(shù):', balanced_words[data['label'] == 0].shape[0])
? ?print('')
? ?return balanced_words

建立多層感知機分類模型

在這里插入圖片描述

可以看到共有四層:平坦層共有1600個神經(jīng)元,平坦層在這里可以看作為輸入層。隱藏層共有256個神經(jīng);輸出層只有1個神經(jīng)元。全部必須訓練的超參數(shù)有474113個,通常超參數(shù)數(shù)值越大,代表此模型越復雜,需要更多時間進行訓練。

訓練模型

在這里插入圖片描述

網(wǎng)絡(luò)檢測率以及檢測結(jié)果

在這里插入圖片描述


在這里插入圖片描述
在這里插入圖片描述

input_text = """
去之前會有擔心,因為疫情,專門打了電話給前臺,前臺小哥哥好評,耐心回答,打消了我的顧慮,nice!!
看得出有做好防疫情清潔消毒工作,前臺登記反復詢問,確保出行軌跡安全,體溫測量登記,入住好評,選了主題房,設(shè)計是我喜歡的.
總之下次有需要還是會自住或推薦!!
"""

predict_review(input_text)result : 正面評價!

至此,對攜程酒店評價的情感傾向分析,以建立一個簡單的多層感知器模型結(jié)束,由于文章所限,后續(xù)的模型優(yōu)化以及與其他深度學習的模型的比較就不進行簡述,有興趣的同學可以留意學長后續(xù)文章。謝謝各位同學!


畢設(shè)幫助,選題指導,技術(shù)解答,歡迎打擾,見B站個人主頁

https://space.bilibili.com/33886978


畢業(yè)設(shè)計 深度學習酒店評價情感分析系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
克什克腾旗| 盱眙县| 清原| 阿拉尔市| 北川| 大关县| 白河县| 深州市| 昌乐县| 延安市| 沙湾县| 中牟县| 雷州市| 定远县| 全椒县| 兴和县| 太和县| 新安县| 淮北市| 新巴尔虎右旗| 正蓝旗| 阜阳市| 桃园县| 梨树县| 岑溪市| 贞丰县| 铜陵市| 镇平县| 乌苏市| 桐柏县| 昆山市| 教育| 太和县| 康保县| 苗栗县| 新邵县| 涞源县| 共和县| 瑞安市| 永胜县| 海门市|