Alink是基于Flink的机器学习算法平台,欢迎访问Alink的github获取下载链接及更多信息。alibaba/Alinkgithub.com
也欢迎加入钉钉群进行交流。
情感分析是对带有情感色彩(褒义贬义/正向负向)的主观性文本进行分析,以确定该文本的观点、喜好、情感倾向。本文将针对顾客对酒店的评论数据,进行建模,并通过模型进行预测。演示情感分析中的常用操作,包括分词,文本向量化,及使用朴素贝叶斯(Naive Bayes)方法进行建模、预测。
每条记录包括评论内容和标记喜好的标签,标签只有2个值:1代表喜欢,0为不喜欢。下图显示了4条数据:
下面我们使用Alink来进行分析、建模。
首先,我们需要一个Alink的Java工程,配置好相关环境。最简单的办法是使用Alink的example工程,下载Alink git的代码,并用Jave IDE打开项目,如下图所示,可以看到三个已经写好的示例:ALSExample, GBDTExample, KMeansExample.
我们在com.alibaba.alink package下新建一个Java文件:
package com.alibaba.alink;
public class SentimentHotelSimpleExample {
public static void main(String[] args) throws Exception {
}
}
使用CsvSourceBatchOp读取URL数据,代码如下。设置列名分别为label和review,数据类型分别为整型和字符串类型,由于该CSV数据第一行保存的是列名,需要设置读取数据时忽略第一行。
CsvSourceBatchOp source = new CsvSourceBatchOp()
.setFilePath("https://github.com/SophonPlus/ChineseNlpCorpus/raw/master/datasets"
+ "/ChnSentiCorp_htl_all/ChnSentiCorp_htl_all.csv")
.setSchemaStr("label int, review string")
.setIgnoreFirstLine(true)
source.firstN(5).print();
最后一行代码是选择5条数据打印显示出来,结果如下:<