酒店评论情感分析:使用Weka机器学习库
1. 使用Weka机器学习库
在情感分析中,我们打算测试几种常用的机器学习算法。虽然OpenNLP库实现了部分算法,但对于其他算法却未提供支持。因此,我们选择使用Weka机器学习库(http://www.cs.waikato.ac.nz/ml/weka/)。该库虽没有自然语言处理应用所需的数据分词或切分类,但拥有更完整的机器学习算法集。
Weka库中的所有类都有标准且一致的接口,这些类设计为可从命令行使用,每个类将选项作为字符串数组,采用类似命令行的语法。例如,朴素贝叶斯分类器的数组可能有一个标志,指示它应使用核密度估计器而非正态分布,这可通过在选项数组中包含 -K 标志来表示。其他选项可能包含一个参数,该参数会跟在数组中的选项后面,如逻辑回归分类器可接受一个参数来指示其应运行的最大迭代次数,这会在选项数组中包含 -M 和 1000 等项。
Clojure 为这些类提供的接口函数非常规范,但存在一定冗余,选项名称在函数参数列表、参数默认值以及参数传入选项数组的位置都会重复。Clojure 的宏系统可解决这一问题,它能将创建函数的数据转换为函数定义,进而编译为接口函数,最终产物是 defanalysis 宏,它接受函数名、类、基于的方法以及接受的选项。
接下来,我们需要将之前加载的 HotelReview 记录转换为 WekaInstances 集合,在训练和测试分类器时会多次进行此操作。
2. 数据转换为Weka Instances对象
Weka 使用 Instances 对象存储数据矩阵,它实现了多个标准 Java 集合接口,包含实现 Instance 接口的对象,如 De
超级会员免费看
订阅专栏 解锁全文
40

被折叠的 条评论
为什么被折叠?



