Skip to content

cnspica/ReviewHelpful

 
 

Repository files navigation

#UGC有用性判断

##使用说明

###Git 0. 先在本机workspace下执行

git clone git@github.com:sonyfe25cp/ReviewHelpful.git

等下载完,然后打开IDE,导入现有项目

在POM.XML上右键->add 什么maven项目(一般是最下面的那项)

然后再右键maven-》reimport

等下载完依赖包就行了

  1. 不管什么时候要开始写代码,首先执行

    git pull origin master

  2. 不管要吃饭、要上课还是要去睡觉,要记得

    • git status
    • git add .
    • git commit -m "写备注"
    • git status
    • git push origin master
  3. 遇到了冲突之类的情况,在IDE中打开冲突的文件, 认真看

    <<<<<<HEAD

这种标示符里面的代码,修改完毕之后把这堆符号删掉,再提交就行了

###代码结构

  1. qian同学在review-server项目的src/main/xxx..xxxx/modules这个包里面写代码
  2. 数据文件放在 data/目录下
  3. 输出都放在 output/目录下

##步骤

  • 确定哪些要用的特征
  • 确定情感词典
  • 情感词典生成办法

抽取评论的特征(情感词、对象词)

对不同等级的评论进行回归,以标注为目标的回归学习,得到各特征的参数权重

##实验

###有监督学习

  1. 逻辑回归
  2. 线性回归
  3. logistic回归
  4. L2R的方法
  5. SVM的方法

由于标注数据问题,暂时不做有监督方法。

###无监督学习

  1. 对同一个对象下的所有评论进行聚类,分成n类

  2. 找出一个式子来确定这样的评论是优质评论

  3. 对于一个类内部按照上面式子来评分排序

  4. 若显示topK,则可以两种取法

    1. 每类都取 K/n个
    2. 对全局按分数排列,取K个

###基于聚类

  1. 聚类不同评论,k由自动学习获得《-某Science聚类论文

关于距离函数:

根据评价对象和描述词进行距离计算

version1: dis = 1 - (A N B) / (A U B)

对比不同距离函数下的准确率和召回率

  • 编辑距离
  • cosine距离
  • KL距离
  • 自定义的距离
  1. 从聚类中取得前k个结果
  2. 对前k个结果进行排序

既能够避免单纯打分排序导致的前面都重复的现象,也会解决按照特征全面程度的那种废话。

对不同的特征进行分组实验

计算不同情况下的准确率和召回率

###部署方法

  1. 启动review-server项目中app包内的全部main函数
  2. 启动review-web项目

###试验方法

  1. 基础实验运行在weka
  2. 实用实验将运行在spark上

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 92.0%
  • Java 6.2%
  • FreeMarker 1.0%
  • Python 0.4%
  • HTML 0.2%
  • Smarty 0.1%
  • Other 0.1%