# AI Challenger 2018 细粒度用户评论情感分析
[比赛主页](https://challenger.ai/competition/fsauor2018)
17th 解决方案,A榜 f1=0.71564,B榜 f1=0.71444,基于Aspect Level的思路,使用了两个模型。
## 运行
代码运行的TensorFlow版本为1.4.1,将比赛的用到的
* ai_challenger_fsauor2018_testa_20180816.zip
* ai_challenger_fsauor2018_validationset_20180816.zip
* ai_challenger_fsauor2018_trainingset_20180816.zip
这三个数据集放至 data/ 目录下,在根目录下运行以下命令即可:
`sh run.sh`
## 结构
* word2vec.py: 词向量、字向量生成
* feature.py: 生成SVD特征
* GCAE_word_char.py: 模型代码
* SynAtt_expand_model.py: 模型代码
* train.py: 训练入口
* utils.py: 一些公用的函数
## Aspect的选取
一开始选用的是数据说明里自带的“交通是否便利”、“距离商圈远近”……
后来使用LightGBM跑了20个二分类的,根据特征重要性取TopK作为Aspect,得到如下结果:
```
subjects = ['地铁站 地铁 地理位置 位置 公交车 公交车站 公交站',
'百货 商圈 商场 广场 购物中心 城 商业街',
'容易 位置 醒目 找到 找 地理位置 显眼',
'小时 排队 等 排 排号 队 号',
'态度 服务员 热情 服务态度 老板 服务 服务生',
'开车 停车费 停车位 停 停车场 车位 泊车',
'很快 催 慢 速度 分钟 上菜 等',
'小贵 不贵 价位 原价 块钱 价格 性价比',
'不划算 物有所值 不值 物美价廉 超值 性价比 实惠',
'活动 团 霸王餐 代金券 团购 优惠 券',
'装修 布置 灯光 古色古香 装饰 优雅 情调',
'安静 环境 装修 氛围 嘈杂 吵闹 音乐',
'大 宽敞 空间 面积 装修 拥挤 店面',
'整洁 干净 环境 卫生 苍蝇 不错 脏',
'吃不完 一份 量 量足 个头 好大 少',
'入味 吃 不错 味道 好吃 口味 好喝',
'造型 颜色 精致 卖相 好看 色香味 食欲',
'推荐 强烈推荐 值得 强推 一试 极力推荐 菜品',
'好 满意 纪念品 内地 之 肠 灌',
'还会 机会 再 不会 来 值得 推荐']
```
## 模型
### 字词向量联合表示
借鉴R-NET(R-NET:MACHINE READING COMPREHENSION WITH SELF-MATCHING NETWORKS)的方法,采用词向量和字向量联合表示。
```
例如:奶茶十分好喝
词向量表示:[W2V(奶茶),W2V(十分), W2V(好喝)]
经过BiRNN的字向量:[BiRNN(奶,茶),BiRNN(十,分), BiRNN (好,喝)]
最终向量表示:[Concat(W2V(奶茶), BiRNN(奶,茶)), Concat(W2V(十分), BiRNN(十,分)), Concat(W2V(好喝), BiRNN(好,喝))]
```
### GCAE
模型基于《Aspect Based Sentiment Analysis with Gated Convolutional Networks》的工作做改进。
![GACE](./readme_resource/GCAE.jpg)
改进:
* 字词向量联合表示
* 句子先经过一个单向的 LSTM 再做上图中操作
* 在最后的线性层之前加了 一个CNN
* 同时预测 20 个aspect
### SynATT
模型基于《Effective Attention Modeling for Aspect-Level Sentiment Classification》的工作做改进。
![SynATT](./readme_resource/SynAtt.jpg)
改进:
* 字词向量联合表示
* 在最后的线性层之前加了 一个CNN
* 同时预测 20 个aspect
### 融合
最终提交的结果是GCAE和SynATT分别跑了6折CV,加权融合。(B榜时没能及时跑完 T_T,所以成绩比A榜稍差一些)
稍差的模型可能在某些aspect比稍好的模型分高,所以融合时以aspect粒度做融合,而不是直接将多个预测结果分别乘以一个权值相加。
如有错误,欢迎指正、讨论~
没有合适的资源?快使用搜索试试~ 我知道了~
AI Challenger 2018 细粒度用户评论情感分析,排名17th,基于Aspect Level 思路的解决方案.zip
共19个文件
py:6个
txt:4个
xml:3个
需积分: 3 1 下载量 5 浏览量
2024-01-15
10:14:59
上传
评论
收藏 74KB ZIP 举报
温馨提示
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。
资源推荐
资源详情
资源评论
收起资源包目录
AI Challenger 2018 细粒度用户评论情感分析,排名17th,基于Aspect Level 思路的解决方案.zip (19个子文件)
SJT-code
data
哈工大停用标点表.txt 2KB
哈工大停用词表扩展.txt 5KB
readme_resource
GCAE.jpg 14KB
SynAtt.jpg 34KB
.idea
Al_challenger_2018_sentiment_analysis.iml 459B
workspace.xml 31KB
misc.xml 599B
modules.xml 326B
.gitignore 1KB
run.sh 266B
README.md 4KB
code
utils.py 11KB
word2vec.py 4KB
SynAtt_expand_model.py 25KB
feature.py 1KB
tf_graph
tmp.txt 1B
models
tmp.txt 1B
GCAE_word_char.py 19KB
train.py 14KB
共 19 条
- 1
资源评论
JJJ69
- 粉丝: 6210
- 资源: 5783
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功