《自然语言处理之评论情感分析》学习任务单
(建议课时:2)
学 校:__________________________
姓 名:__________________________
班 级:__________________________
任务一:认识数据。
1. 初步认识数据集
我们的数据采集自某电商平台的用户评价,格式为 CSV。运行第一段程序,
初步认识数据集,并填写下表:
运行结果分析
数据量 该数据集一共__________行,__________列
第一列 列名:__________,代表___________,这些语句长短__________
第二列
列名:__________,代表___________,取值有______和_______
两种,其中正面_______条,负面_______条
2. 进一步了解评价语句的长度
运行第二段程序,将语句长度可视化呈现,并填写下表:
运行结果分析
长度分布
语句的长度差异较大,最短接近______,最长超过__________
大部分语句长度集中在______________范围内,由于长度分布较为
失衡,以长度的平均数或中位数作为统一的输入语句长度
___________(“合理”或“不合理”)
3. 确定统一的输入序列长度
由于框架限制,我们输入 LSTM模型的序列(语句)长度必须要统一,如何
确定这个统一的序列长度?请借助 draw_length_frequency_rate()探索不同分点位
的效果,并填写下表。
不同分点位长度的效果
分点位 172
长度累积占比 90%
确定统一长度
统一长度的策略 超出截断、不足补 0
任务二:词嵌入理解
词嵌入矩阵
索引 词 embedding
1 猫 (0.5, 0.1, -0.1)
2 狗 (-0.5, 0.3, 0.9)
3 的 (0.7, 0.2, -0.3)
4 你 (0.3, -0.5, -0.3)
… … …
100 我 (0.2, -0.7, -0.4)
语句“我的猫”的
嵌入矩阵
相似度计算
词组 猫、狗 猫、你 你、我 你、的
相似度
任务三:数据预处理
1.了解词汇表
(1)WORD_DICT一共包含______个字,其中序号为 1的字是__________。
(2)LABEL_DICT共包含_________个词,序号为 0的词是__________,序号为
1的词是_________。
2.Embedding的构建
keras.embedding
用法
from keras.layers import Embedding
embedding_layer = Embedding(input_dim, output_dim,
input_length, mask_zero)
关键参数
input_dim output_dim input_length mask_zero
任务四:模型构建与训练
记录模型训练过程中,指标的变化,填写下表
epoch 1 2 3 4
准确率(accuracy)
损失率(loss)
测试集准确率
任务五:模型预测
使用你所训练的模型,测试不同输入语句的预测结果,记录在以下表格。你
有什么发现?
测试语句 预测结果 是否正确
商品的质量还行,但是客服态度太差了! 负面 √
推荐的学习资源:
《语料库与 Python 应用》,管新潮,上海交通大学出版社,2018,第 1 版,
书号 978-7-313-19748-1
Text Analytics with Python (2019),D. Sarkar,APRESS/Springer,2019,第 2 版,
书号 978-1-4842-4353-4
《Python 3:语料库技术与应用》,陆晓蕾、倪斌,厦门大学出版社,2021,
第 1 版,书号 978-7-5615-7727-1
课后作业
一、日常生活中,我们常见的智能机器人,智能助手是如何理解人类语言的呢?
大家还能否列举一些相关的应用。
二、文本分析的基本步骤是什么?其中,实现词的向量化时可采用的方法有哪
些?这些方法各有何利弊。
三、词嵌入的目的是什么?如何实现的?现有的较为成熟的词嵌入工具有哪些?
它们各有什么优缺点?
四、如何理解文本分析中的数据偏见和算法偏见?我们应当如何进行规避?
我的收获: