第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 文本情感分析-机器学习实验三

文本情感分析-机器学习实验三

时间:2023-02-03 04:58:39

相关推荐

文本情感分析-机器学习实验三

情感分析-机器学习实验三

实验目的:

通过实验,掌握文本分析的整体流程,了解文本分类、情感分析、自动摘要等内容

通过给定的文本内容,完成分词、文本向量化、文本分类、情感分析等相关实验

实验可从文本分类、情感分析、自动摘要中任选一个,进行完整实验

1、导入pandas库

import pandas as pd

2、读入“购物评论”的数据集,并打印出前10行。

# 读入原始数据集dfpos = pd.read_excel("购物评论.xlsx", sheet_name = "正向", header=None)dfpos['y'] = 1dfneg = pd.read_excel("购物评论.xlsx", sheet_name = "负向", header=None)dfneg['y'] = 0df0 = dfpos.append(dfneg, ignore_index = True)df0.head(10)

3、导入“jieba”库

Jieba库的分词原理:利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,形成分词结果。

import jieba

安装“jieba”教程:anaconda安装jieba

4、进行分词和预处理。

查看分词结果:

# 分词和预处理cuttxt = lambda x: " ".join(jieba.lcut(x)) # 这里不做任何清理工作,以保留情感词df0["cleantxt"] = df0[0].apply(cuttxt) df0.head()

5、忽略少于5个文档中出现的术语

from sklearn.feature_extraction.text import CountVectorizercountvec = CountVectorizer(min_df = 5) # 出现5次以上的才纳入wordmtx = countvec.fit_transform(df0.cleantxt)wordmtx

6按照7:3的比例生成训练集和测试集

# 按照7:3的比例生成训练集和测试集from sklearn.model_selection import train_test_splitx_train, x_test, y_train, y_test = train_test_split(wordmtx, df0.y, test_size=0.3) # 这里可以直接使用稀疏矩阵格式x_train[0]

7使用SVM进行建模

# 使用SVM进行建模from sklearn.svm import SVCclf=SVC(kernel = 'rbf', verbose = True)clf.fit(x_train, y_train) # 内存占用可能较高clf.score(x_train, y_train)

8对模型效果进行评估

# 对模型效果进行评估from sklearn.metrics import classification_reportprint(classification_report(y_test, clf.predict(x_test)))

clf.predict(countvec.transform([df0.cleantxt[0]]))[0]

10使用模型对实际文本进行处理,查看预测效果

# 模型预测import jiebadef m_pred(string, countvec, model) : words = " ".join(jieba.lcut(string))words_vecs = countvec.transform([words]) # 数据需要转换为可迭代格式result = model.predict(words_vecs)if int(result[0]) == 1:print(string, ":正向")else:print(string, ":负向")comment = "外观美观,速度也不错。上面一排触摸键挺实用。应该对得起这个价格。当然再降点大家肯定也不反对。风扇噪音也不大。"m_pred(comment, countvec, clf)

comment = "作为女儿6.1的礼物。虽然晚到了几天。等拿到的时候,女儿爱不释手,上洗手间也看,告知不好。竟以学习毛主席来反驳我。我反对了几句,还说我对主席不敬。晕。上周末,告诉我她把火鞋和风鞋拿到学校,好多同学羡慕她。呵呵,我也看了其中的人鸦,只可惜没有看完就在老公的催促下睡了。说了这么多,归纳为一句:这套书买的值。"m_pred(comment, countvec, clf)

总结:在这次试验中,我基本掌握了文本分析的整体流程,了解了情感分析的内容,并进行了购物评论的情感分析。

结合课本和实验我了解到,情感分析就是对文本内容所表达出来的主观情感额色彩进行挖掘和分析的过程。这次实验也用到了Jieba库,“jieba”的分词原理是利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,从而形成分词结果。

关注公众号:Time木

回复:文本情感分析

可获得相关代码,数据,文档

更多大学课业实验实训可关注公众号回复相关关键词

学艺不精,若有错误还望指点

)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。