前言
在互联网兴起、科技发达的现代社会,人们已经习惯于通过互联网获取、处 理、分享信息,对于文本内容的处理就迫切的需要进一步发展。文本分类作为多 年来机器学习中的一个重要问题,是大数据时代下信息数据处理的关键技术之一 [1]。文本分类是指对于一个特定的文档,判断其是否属于某个类别[2],此技术的 最主要作用就是通过预先设定的分类模型,在对文本内容进行自动识别的基础上 实现对文本类别的判定[3]。一个酒店想要长久的经营下去,必然要了解自身在客 户眼中的优缺点,然后扬长避短,才能够长久地运行下去。而客户对于酒店的评 价都是文本内容,人为一点点去看太过于繁琐,因此对于酒店评价文本分析就十 分必要,可以帮助酒店快速分清请假的好坏,然后针对不好的评价去改善。
数据清洗
先观察从未处理过的数据:
这个数据是由标签和评价两部分组成,只是数据是混合在一起没有分开的。 标签 1 代表的是好评,标签 0 代表的是差评,一共有 7767 条数据,其中好评 5322 条,差评 2445 条。可以看到数据中除了中文文本还包括标点符号、数字、字母 和空格,在对文本进行分析处理之前,要对这些标点符号和无意义的数字字母进 行处理。
这里采用一个常用的中文停用词表,其中包括了常见的标点符号以及常见的 中文停用词。先将文本中的字母转化为大写,再去除文本中的数字及标点符号, 使用结巴分词对文本进行分词处理。这里使用结巴分词中适用于文本分析的精确 模式,分词后再去掉停用词和多余空格,将处理后的词语使用空格连接为字符串 生成新的一列储存回列表中,输出部分清洗后的数据如下:
特征工程(TF-IDF 编码)
用以上得到的字典和语料构建一个元组嵌套列表,每一个元组为一个词袋, 词袋中每个词有两个属性,用来表示每个评价内容中词语对应的 id 和词频,处 理后得到的列表示例如下:
再使用词频-逆文档频率方法对语料库建模,这个建模的过程实际是在统计 每个词在多少个提问内容中出现,建立模型后利用该模型计算语料中每个词的 TF-IDF 值。
词云图
对于清洗处理好的文本数据,对其做词云分析如下:
可以看到最明显的几个词为房间、酒店、入住、服务、感觉。表明酒店的房 间布置情况和酒店整体感觉,以及酒店的服务水平都是影响顾客体验感的重要因 素。其次明显的是前台、早餐、晚上,服务员、价格和元,表明服务人员的整体 素质对于一个酒店的外在形象来说至关重要,还有夜晚的安静程度和房间的隔音 情况也是影响客人体验感的重要因素,还有餐饮服务和价格也是顾客衡量性价比 的关键因素。
贝叶斯分类
将清洗后的文本数据及其标签分成百分之八十的训练集和百分之二十的测 试集,再将分词后的数据训练集评价文本进行特征工程处理。对处理后的数据用 多项式贝叶斯分类器进行分类预测,预测准确率为 74.00%,用网格搜索方法对 其进行五折交叉验证调参,调参后的预测准确率为 84.18%。
多次调参后的贝叶斯分类混淆矩阵如图,可以看到整体的预测结果是非常不 错的,但是测试集中的差评一共 493 个,就有 189 个被错误的预测为了好评,而 测试集中的好评却很少被预测错误。考虑是原始数据中差评好评的数量悬殊导致, 贝叶斯分类用于预测酒店评价的好坏还是十分有效的。
K近邻算法和逻辑回归对比
类似的,还使用K近邻算法和逻辑回归进行了分类预测,得到混淆矩阵,最终预测结果对比如下:
整体来看,k 近邻算法的分类效果最差,可能是 k