lpq29743 / IAN

A TensorFlow implementation for "Interactive Attention Networks for Aspect-Level Sentiment Classification"
MIT License
99 stars 40 forks source link

你好我是一名研究生,最近在学习您的代码,有一些问题想请教一下 #1

Closed xingbowen closed 6 years ago

xingbowen commented 6 years ago

1.我从semeval上下载的数据集好像跟您的数据集不同,您的数据集来源是? 2.您data_info跟test_data中数据存储的形式我不太理解

lpq29743 commented 6 years ago
  1. 使用的数据集是用transfer.py文件预处理过的
  2. data_info 文件第一列是表示对象词和句子的最大长度,而接下来每一行是一个词典,即单词和单词 id;而 train_data 每五行为一个样本,依次为对象词表示、句子表示、情感极性表示、对象词长度和句子长度;test_data 如上

我也是新手,所以代码可读性可能不够强,如果发现有什么问题,欢迎指正。

xingbowen commented 6 years ago

你好我运行结果每一个epoch的准确率都是0.00000,不知道是什么原因,代码没有改动

lpq29743 commented 6 years ago

不好意思,我没遇到这个问题,无法帮你解决

xingbowen commented 6 years ago

嗯嗯好的一定是我这出了问题,我再研究一下

Cppowboy commented 6 years ago

顺便问一下,test数据集中的polarity是从哪里得到的?我从http://alt.qcri.org/semeval2014/task4/index.php?id=data-and-tools 这个网址下载的数据集,train数据集的标注是有的,但是test数据集没有标注的结果,请问你们的标注结果是从哪里得到的?

David931229 commented 6 years ago

@xingbowen 请问准确率为0的问题你您解决了吗,我也遇到了这个问题。

David931229 commented 6 years ago

@xingbowen 我找到问题了,你用的python版本是不是2.7,python2中整数除以整数时,小数部分被被省略了,所以计算accuracy时,acc / cnt得到的结果为0(真实结果可能为0.79)。解决方法:在程序第一行加上一句: from future import division,这样计算除法时会保留小数位。

macanv commented 5 years ago

您好,请问一下,train_data.txt每一个aspect对应的都是【2】, 在train.txt中,每个样本的第二行都是None,是不是可以理解为代码没有做aspect,而是就是做的句子级别的情感分析啊???

Cppowboy commented 5 years ago

您好,请问一下,train_data.txt每一个aspect对应的都是【2】, 在train.txt中,每个样本的第二行都是None,是不是可以理解为代码没有做aspect,而是就是做的句子级别的情感分析啊???

应该不是这样,你可以试着把main.py里面的preprocessed设为0,这样会重新处理一遍数据,你看一下重新处理后的数据是不是还是这个样子。

sherlockHU20 commented 3 years ago

我在学习这个代码 能上传一下 requirements.txt文件吗?