#UGC有用性判断
##使用说明
###Git 0. 先在本机workspace下执行
git clone git@github.com:sonyfe25cp/ReviewHelpful.git
等下载完,然后打开IDE,导入现有项目
在POM.XML上右键->add 什么maven项目(一般是最下面的那项)
然后再右键maven-》reimport
等下载完依赖包就行了
-
不管什么时候要开始写代码,首先执行
git pull origin master
-
不管要吃饭、要上课还是要去睡觉,要记得
- git status
- git add .
- git commit -m "写备注"
- git status
- git push origin master
-
遇到了冲突之类的情况,在IDE中打开冲突的文件, 认真看
<<<<<<HEAD
这种标示符里面的代码,修改完毕之后把这堆符号删掉,再提交就行了
###代码结构
- qian同学在review-server项目的src/main/xxx..xxxx/modules这个包里面写代码
- 数据文件放在 data/目录下
- 输出都放在 output/目录下
##步骤
- 确定哪些要用的特征
- 确定情感词典
- 情感词典生成办法
抽取评论的特征(情感词、对象词)
对不同等级的评论进行回归,以标注为目标的回归学习,得到各特征的参数权重
##实验
###有监督学习
- 逻辑回归
- 线性回归
- logistic回归
- L2R的方法
- SVM的方法
由于标注数据问题,暂时不做有监督方法。
###无监督学习
-
对同一个对象下的所有评论进行聚类,分成n类
-
找出一个式子来确定这样的评论是优质评论
-
对于一个类内部按照上面式子来评分排序
-
若显示topK,则可以两种取法
- 每类都取 K/n个
- 对全局按分数排列,取K个
###基于聚类
- 聚类不同评论,k由自动学习获得《-某Science聚类论文
关于距离函数:
根据评价对象和描述词进行距离计算
version1: dis = 1 - (A N B) / (A U B)
对比不同距离函数下的准确率和召回率
- 编辑距离
- cosine距离
- KL距离
- 自定义的距离
- 从聚类中取得前k个结果
- 对前k个结果进行排序
既能够避免单纯打分排序导致的前面都重复的现象,也会解决按照特征全面程度的那种废话。
对不同的特征进行分组实验
计算不同情况下的准确率和召回率
###部署方法
- 启动review-server项目中app包内的全部main函数
- 启动review-web项目
###试验方法
- 基础实验运行在weka
- 实用实验将运行在spark上