由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 有没有做sentiment analysis的,求思路
相关主题
胡扯几句什么叫Deep Learning入门问几个神经网络的问题
xgboost 训练大数据问题我来科普下深度学习的应用范围吧
LSTM 是不是坨屎?CNN做NLP工程多吗?
Facebook的用CNN作翻译怎么性能超过RNN的微软首席人工智能科学家邓力离职,加盟对冲基金巨头 (转载)
深度学习对时间序列数据有什么好办法吗?LSTM对不同长度的sentence是不是用padding是最好办法
volta一出,业余玩家都要玩完啦请教:关于sentence classification
马工能转数据分析师吗?深度学习真正有实用价值的应用
encode high cardinality categorical featuresword2vec 中skip gram 问题请教
相关话题的讨论汇总
话题: cnn话题: sentences话题: xgboost话题: word2vec话题: embeddings
进入Programming版参与讨论
1 (共1页)
w*****h
发帖数: 423
1
在公司做sentiment analysis,
现在的做法是这样
首先在大概几万句sentences中训练出word2vec model
然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
, 用neural net作为classifier
类别三类,positive, neutral, negative
之前是公司的一个印度人在负责,达到63% accuracy
我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
至80%
现在我想到思路有几个
1. 做semi-supervise, 没有label的数据有的是
2. unsupervise learning, 比如用autoencoder来initialize neural net
3. GBM or Random forest? 觉得这几个不可能超过我现在这个了
来这里希望得到一些启发,谢啦!
m******r
发帖数: 1033
2
你们用什么语言做的?
g****t
发帖数: 31659
3
不如你从测试的角度想?
一个accuracy 指标就是一个思路。最好不要跟别人定的指标。跟着别人定的指标打命
中率就是奴隶。
打命中率的终极办法是自己定一个指标,和自己的程序互相绕。最后达到骗住一个是一
个的目的。
简单说,你找个合理的,可以量化的,说的过去的办法,
把你失败的例子定义成no conclusion就完了。并不是所有的句子都可以分成三类的。
激励不足则无法分辨系统内部模态。这些类似算卦的话要学会...
w*****h
发帖数: 423
4
python

【在 m******r 的大作中提到】
: 你们用什么语言做的?
w*****h
发帖数: 423
5
嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让business那边
的人重新tag,竟然不少比例和上次的不一样。
不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。
ps. “激励不足则无法分辨系统内部模态”,haha, 这句话好,咋翻译成英文呢?

【在 g****t 的大作中提到】
: 不如你从测试的角度想?
: 一个accuracy 指标就是一个思路。最好不要跟别人定的指标。跟着别人定的指标打命
: 中率就是奴隶。
: 打命中率的终极办法是自己定一个指标,和自己的程序互相绕。最后达到骗住一个是一
: 个的目的。
: 简单说,你找个合理的,可以量化的,说的过去的办法,
: 把你失败的例子定义成no conclusion就完了。并不是所有的句子都可以分成三类的。
: 激励不足则无法分辨系统内部模态。这些类似算卦的话要学会...

g****t
发帖数: 31659
6
Excitation persistence? 真有类似的东西的。60年代可能就有了。你的领导无非是要
个好看的东西卖给他的领导。其实就是矩阵近似不可逆
公司不是你家的,我觉得不要追求数学物理模型以及算法方面的突破。你要真想做,分
析的路数例如把数据分成子类,一类类看看为什么有的类效果好,有的不好。等于误差
分析。
cs的路数就是
做一个多种DL互相换的软件系统。那么多DL框架,对你的特定问题,做个
方便的工具替换着来回试,够你做半年了。然后取个好名字,叫做互补多向DL


: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让
business那边

: 的人重新tag,竟然不少比例和上次的不一样。

: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。

: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话
好,咋翻译成英文
呢?



【在 w*****h 的大作中提到】
: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让business那边
: 的人重新tag,竟然不少比例和上次的不一样。
: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。
: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话好,咋翻译成英文呢?

g****t
发帖数: 31659
7
BTW,你领导对你还是不错的,知道往别的部门找找原因。是不是老中?
到时候你搞不定,领导就说数据统计不稳定,不是well defined的。搞定就是你立功了。
如果你领导信得过。不如你做些数据自动tag的tool什么的,
去tag组做个小领导完事。这样你领导完就可以晋级大领导。


: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让
business那边

: 的人重新tag,竟然不少比例和上次的不一样。

: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。

: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话
好,咋翻译成英文
呢?



【在 w*****h 的大作中提到】
: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让business那边
: 的人重新tag,竟然不少比例和上次的不一样。
: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。
: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话好,咋翻译成英文呢?

w*****h
发帖数: 423
8
leader确实中国人,
不过还是得拿成绩说话阿,靠leader照顾不是长久之计

了。

【在 g****t 的大作中提到】
: BTW,你领导对你还是不错的,知道往别的部门找找原因。是不是老中?
: 到时候你搞不定,领导就说数据统计不稳定,不是well defined的。搞定就是你立功了。
: 如果你领导信得过。不如你做些数据自动tag的tool什么的,
: 去tag组做个小领导完事。这样你领导完就可以晋级大领导。
:
:
: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让
: business那边
:
: 的人重新tag,竟然不少比例和上次的不一样。
:
: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。
:
: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话

w***g
发帖数: 5958
9
你想到的思路都没有问题。但是都太incremental不够糙快猛。
我自己觉得,你的bottleneck是在word2vec和sentence to vector
这个大框架上。不知道你具体sentence to vector是怎么做的,
但是如果是变成固定维数的vector,那就比较肯定是一个可以
有所突破的bottleneck。你可以试下基于CNN或者RNN的model。
你在这里找找看有没有能用的代码:
https://nlp.stanford.edu/sentiment/
不过在这之前,我建议试下xgboost。固定维度的数据分类,标准
做法就是xgboost。注意树的深度不要太高,2,3,4试一下就差不多了。
我觉得这个能帮你从68%提高到70%。
semisupervised learning实战非常risky,轻易不要浪费时间在上面。
上CNN/RNN,我估计做好了能到75%以上。80%很可能超过了数据
本身的难度。
还有,你让business重新tag,如果差异可以量化,这个是一个非常
好的指标。如果让人做都有多少多少差异,就别指望机器能做的更好了。

testing

【在 w*****h 的大作中提到】
: 在公司做sentiment analysis,
: 现在的做法是这样
: 首先在大概几万句sentences中训练出word2vec model
: 然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
: , 用neural net作为classifier
: 类别三类,positive, neutral, negative
: 之前是公司的一个印度人在负责,达到63% accuracy
: 我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
: 至80%
: 现在我想到思路有几个

w*****h
发帖数: 423
10
信息量很大,我回去试试再来板上汇报
多谢wdong!

【在 w***g 的大作中提到】
: 你想到的思路都没有问题。但是都太incremental不够糙快猛。
: 我自己觉得,你的bottleneck是在word2vec和sentence to vector
: 这个大框架上。不知道你具体sentence to vector是怎么做的,
: 但是如果是变成固定维数的vector,那就比较肯定是一个可以
: 有所突破的bottleneck。你可以试下基于CNN或者RNN的model。
: 你在这里找找看有没有能用的代码:
: https://nlp.stanford.edu/sentiment/
: 不过在这之前,我建议试下xgboost。固定维度的数据分类,标准
: 做法就是xgboost。注意树的深度不要太高,2,3,4试一下就差不多了。
: 我觉得这个能帮你从68%提高到70%。

相关主题
volta一出,业余玩家都要玩完啦问几个神经网络的问题
马工能转数据分析师吗?我来科普下深度学习的应用范围吧
encode high cardinality categorical featuresCNN做NLP工程多吗?
进入Programming版参与讨论
m****o
发帖数: 182
11
先用bidirectional lstm + glove 测一下baseline吧,之后可以考虑做dependency
parsing + tree lstm。
T*******x
发帖数: 8565
12
请教xgboost和neural network比有没有任何优势?

:你想到的思路都没有问题。但是都太incremental不够糙快猛。
:我自己觉得,你的bottleneck是在word2vec和sentence to vector
w***g
发帖数: 5958
13
这两个用来解决不同的问题.
固定唯独的特征数据(比如病人的年龄性别身高体重等各种参数), 用xgboost效果比较
好.
图象声音等从传感器获得的数据, 用neural network比较好.
xgboost能做的, 非要用neural network调到同样的效果, 也应该能调到, 就是麻烦点.

【在 T*******x 的大作中提到】
: 请教xgboost和neural network比有没有任何优势?
:
: :你想到的思路都没有问题。但是都太incremental不够糙快猛。
: :我自己觉得,你的bottleneck是在word2vec和sentence to vector

m****o
发帖数: 182
14
tensorflow应该不久也会推出gradient boosting,到时候就不用几个库之间折腾来折
腾去了。

点.

【在 w***g 的大作中提到】
: 这两个用来解决不同的问题.
: 固定唯独的特征数据(比如病人的年龄性别身高体重等各种参数), 用xgboost效果比较
: 好.
: 图象声音等从传感器获得的数据, 用neural network比较好.
: xgboost能做的, 非要用neural network调到同样的效果, 也应该能调到, 就是麻烦点.

s********k
发帖数: 6180
15
训练量看起来可能有点少,除非很专业领域,直接试一下glove或者Word2vec的库看看
行不行

testing

【在 w*****h 的大作中提到】
: 在公司做sentiment analysis,
: 现在的做法是这样
: 首先在大概几万句sentences中训练出word2vec model
: 然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
: , 用neural net作为classifier
: 类别三类,positive, neutral, negative
: 之前是公司的一个印度人在负责,达到63% accuracy
: 我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
: 至80%
: 现在我想到思路有几个

s********k
发帖数: 6180
16
另外你的NN是什么样的?就是几层的全连接的话,试一下上LSTM,就用最简单的
seq2seq model

testing

【在 w*****h 的大作中提到】
: 在公司做sentiment analysis,
: 现在的做法是这样
: 首先在大概几万句sentences中训练出word2vec model
: 然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
: , 用neural net作为classifier
: 类别三类,positive, neutral, negative
: 之前是公司的一个印度人在负责,达到63% accuracy
: 我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
: 至80%
: 现在我想到思路有几个

s********k
发帖数: 6180
17
其实xgboost好像效率不如软家那个lightGBM

【在 m****o 的大作中提到】
: tensorflow应该不久也会推出gradient boosting,到时候就不用几个库之间折腾来折
: 腾去了。
:
: 点.

m*****e
发帖数: 47
18
"首先在大概几万句sentences中训练出word2vec model"
"然后将大概4000个labels的sentences转成vector"
1) My guess is the size of the data not large enough. What's the training
error? If training error < test error and training error is closer to human
error, it is a high variance problem. You can add regularization. But it
probably means the amount of data is not big enough. You can try transfer
learning by using GloVe for example.
2) I would also check the quality of the embeddings. Use a few examples and
see how many of the top 10 words make sense to you. On one project, I got
good results with embeddings trained from 1,000,000 good-quality sentences
written by professionals. Good meaning at least 9 out of 10 of the top
similar words make sense to me. On another project, 80,000 sentences of not
-so-good quality got back garbage results. If your training data sucks, use
pretained embeddings like GloVe.
3) How do you turn sentences into vectors? I would either do doc2vec or
concatenate word embeddings. For the latter case, try 1d CNN or RNN.
Let us know how it turns out.
T*******x
发帖数: 8565
19
谢谢。看来xgboost还是有意义的,我以为都被neural network碾压了。

点.

【在 w***g 的大作中提到】
: 这两个用来解决不同的问题.
: 固定唯独的特征数据(比如病人的年龄性别身高体重等各种参数), 用xgboost效果比较
: 好.
: 图象声音等从传感器获得的数据, 用neural network比较好.
: xgboost能做的, 非要用neural network调到同样的效果, 也应该能调到, 就是麻烦点.

s********k
发帖数: 6180
20
对于tabular类的data,GBM各种类型都不错,但是这个例子还是raw data 的text,估
计还是NN比较好一点吧,第一个感觉是训练数据不够,比起测试数据用来训练word2vec
太少了。如果不是专业领域直接上Glove之类看看。第二就是NN模型用个LSTM比如
seq2seq看看

【在 T*******x 的大作中提到】
: 谢谢。看来xgboost还是有意义的,我以为都被neural network碾压了。
:
: 点.

相关主题
微软首席人工智能科学家邓力离职,加盟对冲基金巨头 (转载)深度学习真正有实用价值的应用
LSTM对不同长度的sentence是不是用padding是最好办法word2vec 中skip gram 问题请教
请教:关于sentence classification问一个NN训练模型输入问题
进入Programming版参与讨论
w***g
发帖数: 5958
21
我去学习学习

【在 s********k 的大作中提到】
: 其实xgboost好像效率不如软家那个lightGBM
w*****h
发帖数: 423
22
正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
这还是在没有做ensemble的情况下, 太赞了。
再请教wdong和楼上几位,有必要再上RNN吗?

【在 w***g 的大作中提到】
: 你想到的思路都没有问题。但是都太incremental不够糙快猛。
: 我自己觉得,你的bottleneck是在word2vec和sentence to vector
: 这个大框架上。不知道你具体sentence to vector是怎么做的,
: 但是如果是变成固定维数的vector,那就比较肯定是一个可以
: 有所突破的bottleneck。你可以试下基于CNN或者RNN的model。
: 你在这里找找看有没有能用的代码:
: https://nlp.stanford.edu/sentiment/
: 不过在这之前,我建议试下xgboost。固定维度的数据分类,标准
: 做法就是xgboost。注意树的深度不要太高,2,3,4试一下就差不多了。
: 我觉得这个能帮你从68%提高到70%。

T*******x
发帖数: 8565
23
你这个accuracy是用CNN还是用xgboost得到的?

【在 w*****h 的大作中提到】
: 正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
: 这还是在没有做ensemble的情况下, 太赞了。
: 再请教wdong和楼上几位,有必要再上RNN吗?

w*****h
发帖数: 423
24
CNN
可能有点误解,我是说CNN训练的轮数还没达到设定的epoch值, 它还在训练中,但目
前的model已经有70% accuracy了
xgboost我也试过了,和NN差不多

【在 T*******x 的大作中提到】
: 你这个accuracy是用CNN还是用xgboost得到的?
w***g
发帖数: 5958
25
如果是几十上百个词的短文本,我估计rnn不会有提高(NLP专家请指正)。你有时间还
不如试试data augmentation, 比如随机增减几个词,同义词替换啥的。不过你现在最
重要的是establish问题复杂度,就是上次说的对比不同人的区别,这样知道什么时候
停止优化。不然老板拍脑袋定指标,终有一天会把你逼死。

:正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
T*******x
发帖数: 8565
26
这个高。

【在 w***g 的大作中提到】
: 如果是几十上百个词的短文本,我估计rnn不会有提高(NLP专家请指正)。你有时间还
: 不如试试data augmentation, 比如随机增减几个词,同义词替换啥的。不过你现在最
: 重要的是establish问题复杂度,就是上次说的对比不同人的区别,这样知道什么时候
: 停止优化。不然老板拍脑袋定指标,终有一天会把你逼死。
:
: :正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
: :

b**k
发帖数: 268
27
又学习到了 膜拜大牛

【在 w***g 的大作中提到】
: 如果是几十上百个词的短文本,我估计rnn不会有提高(NLP专家请指正)。你有时间还
: 不如试试data augmentation, 比如随机增减几个词,同义词替换啥的。不过你现在最
: 重要的是establish问题复杂度,就是上次说的对比不同人的区别,这样知道什么时候
: 停止优化。不然老板拍脑袋定指标,终有一天会把你逼死。
:
: :正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
: :

w*****h
发帖数: 423
28
在公司做sentiment analysis,
现在的做法是这样
首先在大概几万句sentences中训练出word2vec model
然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
, 用neural net作为classifier
类别三类,positive, neutral, negative
之前是公司的一个印度人在负责,达到63% accuracy
我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
至80%
现在我想到思路有几个
1. 做semi-supervise, 没有label的数据有的是
2. unsupervise learning, 比如用autoencoder来initialize neural net
3. GBM or Random forest? 觉得这几个不可能超过我现在这个了
来这里希望得到一些启发,谢啦!
m******r
发帖数: 1033
29
你们用什么语言做的?
g****t
发帖数: 31659
30
不如你从测试的角度想?
一个accuracy 指标就是一个思路。最好不要跟别人定的指标。跟着别人定的指标打命
中率就是奴隶。
打命中率的终极办法是自己定一个指标,和自己的程序互相绕。最后达到骗住一个是一
个的目的。
简单说,你找个合理的,可以量化的,说的过去的办法,
把你失败的例子定义成no conclusion就完了。并不是所有的句子都可以分成三类的。
激励不足则无法分辨系统内部模态。这些类似算卦的话要学会...
相关主题
svm/svr还是不错的xgboost 训练大数据问题
单变量xgboost模型好的吓人,求解LSTM 是不是坨屎?
胡扯几句什么叫Deep Learning入门Facebook的用CNN作翻译怎么性能超过RNN的
进入Programming版参与讨论
w*****h
发帖数: 423
31
python

【在 m******r 的大作中提到】
: 你们用什么语言做的?
w*****h
发帖数: 423
32
嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让business那边
的人重新tag,竟然不少比例和上次的不一样。
不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。
ps. “激励不足则无法分辨系统内部模态”,haha, 这句话好,咋翻译成英文呢?

【在 g****t 的大作中提到】
: 不如你从测试的角度想?
: 一个accuracy 指标就是一个思路。最好不要跟别人定的指标。跟着别人定的指标打命
: 中率就是奴隶。
: 打命中率的终极办法是自己定一个指标,和自己的程序互相绕。最后达到骗住一个是一
: 个的目的。
: 简单说,你找个合理的,可以量化的,说的过去的办法,
: 把你失败的例子定义成no conclusion就完了。并不是所有的句子都可以分成三类的。
: 激励不足则无法分辨系统内部模态。这些类似算卦的话要学会...

g****t
发帖数: 31659
33
Excitation persistence? 真有类似的东西的。60年代可能就有了。你的领导无非是要
个好看的东西卖给他的领导。其实就是矩阵近似不可逆
公司不是你家的,我觉得不要追求数学物理模型以及算法方面的突破。你要真想做,分
析的路数例如把数据分成子类,一类类看看为什么有的类效果好,有的不好。等于误差
分析。
cs的路数就是
做一个多种DL互相换的软件系统。那么多DL框架,对你的特定问题,做个
方便的工具替换着来回试,够你做半年了。然后取个好名字,叫做互补多向DL


: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让
business那边

: 的人重新tag,竟然不少比例和上次的不一样。

: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。

: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话
好,咋翻译成英文
呢?



【在 w*****h 的大作中提到】
: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让business那边
: 的人重新tag,竟然不少比例和上次的不一样。
: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。
: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话好,咋翻译成英文呢?

g****t
发帖数: 31659
34
BTW,你领导对你还是不错的,知道往别的部门找找原因。是不是老中?
到时候你搞不定,领导就说数据统计不稳定,不是well defined的。搞定就是你立功了。
如果你领导信得过。不如你做些数据自动tag的tool什么的,
去tag组做个小领导完事。这样你领导完就可以晋级大领导。


: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让
business那边

: 的人重新tag,竟然不少比例和上次的不一样。

: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。

: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话
好,咋翻译成英文
呢?



【在 w*****h 的大作中提到】
: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让business那边
: 的人重新tag,竟然不少比例和上次的不一样。
: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。
: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话好,咋翻译成英文呢?

w*****h
发帖数: 423
35
leader确实中国人,
不过还是得拿成绩说话阿,靠leader照顾不是长久之计

了。

【在 g****t 的大作中提到】
: BTW,你领导对你还是不错的,知道往别的部门找找原因。是不是老中?
: 到时候你搞不定,领导就说数据统计不稳定,不是well defined的。搞定就是你立功了。
: 如果你领导信得过。不如你做些数据自动tag的tool什么的,
: 去tag组做个小领导完事。这样你领导完就可以晋级大领导。
:
:
: 嗯,我leader基本上就在干这样的事,发现其实有些句子确实不好分,让
: business那边
:
: 的人重新tag,竟然不少比例和上次的不一样。
:
: 不过本着学习的态度,还是来板上求些意见, 毕竟不是专业学NLP的。
:
: ps. “激励不足则无法分辨系统内部模态”,haha, 这句话

w***g
发帖数: 5958
36
你想到的思路都没有问题。但是都太incremental不够糙快猛。
我自己觉得,你的bottleneck是在word2vec和sentence to vector
这个大框架上。不知道你具体sentence to vector是怎么做的,
但是如果是变成固定维数的vector,那就比较肯定是一个可以
有所突破的bottleneck。你可以试下基于CNN或者RNN的model。
你在这里找找看有没有能用的代码:
https://nlp.stanford.edu/sentiment/
不过在这之前,我建议试下xgboost。固定维度的数据分类,标准
做法就是xgboost。注意树的深度不要太高,2,3,4试一下就差不多了。
我觉得这个能帮你从68%提高到70%。
semisupervised learning实战非常risky,轻易不要浪费时间在上面。
上CNN/RNN,我估计做好了能到75%以上。80%很可能超过了数据
本身的难度。
还有,你让business重新tag,如果差异可以量化,这个是一个非常
好的指标。如果让人做都有多少多少差异,就别指望机器能做的更好了。

testing

【在 w*****h 的大作中提到】
: 在公司做sentiment analysis,
: 现在的做法是这样
: 首先在大概几万句sentences中训练出word2vec model
: 然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
: , 用neural net作为classifier
: 类别三类,positive, neutral, negative
: 之前是公司的一个印度人在负责,达到63% accuracy
: 我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
: 至80%
: 现在我想到思路有几个

w*****h
发帖数: 423
37
信息量很大,我回去试试再来板上汇报
多谢wdong!

【在 w***g 的大作中提到】
: 你想到的思路都没有问题。但是都太incremental不够糙快猛。
: 我自己觉得,你的bottleneck是在word2vec和sentence to vector
: 这个大框架上。不知道你具体sentence to vector是怎么做的,
: 但是如果是变成固定维数的vector,那就比较肯定是一个可以
: 有所突破的bottleneck。你可以试下基于CNN或者RNN的model。
: 你在这里找找看有没有能用的代码:
: https://nlp.stanford.edu/sentiment/
: 不过在这之前,我建议试下xgboost。固定维度的数据分类,标准
: 做法就是xgboost。注意树的深度不要太高,2,3,4试一下就差不多了。
: 我觉得这个能帮你从68%提高到70%。

m****o
发帖数: 182
38
先用bidirectional lstm + glove 测一下baseline吧,之后可以考虑做dependency
parsing + tree lstm。
T*******x
发帖数: 8565
39
请教xgboost和neural network比有没有任何优势?

:你想到的思路都没有问题。但是都太incremental不够糙快猛。
:我自己觉得,你的bottleneck是在word2vec和sentence to vector
w***g
发帖数: 5958
40
这两个用来解决不同的问题.
固定唯独的特征数据(比如病人的年龄性别身高体重等各种参数), 用xgboost效果比较
好.
图象声音等从传感器获得的数据, 用neural network比较好.
xgboost能做的, 非要用neural network调到同样的效果, 也应该能调到, 就是麻烦点.

【在 T*******x 的大作中提到】
: 请教xgboost和neural network比有没有任何优势?
:
: :你想到的思路都没有问题。但是都太incremental不够糙快猛。
: :我自己觉得,你的bottleneck是在word2vec和sentence to vector

相关主题
Facebook的用CNN作翻译怎么性能超过RNN的马工能转数据分析师吗?
深度学习对时间序列数据有什么好办法吗?encode high cardinality categorical features
volta一出,业余玩家都要玩完啦问几个神经网络的问题
进入Programming版参与讨论
m****o
发帖数: 182
41
tensorflow应该不久也会推出gradient boosting,到时候就不用几个库之间折腾来折
腾去了。

点.

【在 w***g 的大作中提到】
: 这两个用来解决不同的问题.
: 固定唯独的特征数据(比如病人的年龄性别身高体重等各种参数), 用xgboost效果比较
: 好.
: 图象声音等从传感器获得的数据, 用neural network比较好.
: xgboost能做的, 非要用neural network调到同样的效果, 也应该能调到, 就是麻烦点.

s********k
发帖数: 6180
42
训练量看起来可能有点少,除非很专业领域,直接试一下glove或者Word2vec的库看看
行不行

testing

【在 w*****h 的大作中提到】
: 在公司做sentiment analysis,
: 现在的做法是这样
: 首先在大概几万句sentences中训练出word2vec model
: 然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
: , 用neural net作为classifier
: 类别三类,positive, neutral, negative
: 之前是公司的一个印度人在负责,达到63% accuracy
: 我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
: 至80%
: 现在我想到思路有几个

s********k
发帖数: 6180
43
另外你的NN是什么样的?就是几层的全连接的话,试一下上LSTM,就用最简单的
seq2seq model

testing

【在 w*****h 的大作中提到】
: 在公司做sentiment analysis,
: 现在的做法是这样
: 首先在大概几万句sentences中训练出word2vec model
: 然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
: , 用neural net作为classifier
: 类别三类,positive, neutral, negative
: 之前是公司的一个印度人在负责,达到63% accuracy
: 我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
: 至80%
: 现在我想到思路有几个

s********k
发帖数: 6180
44
其实xgboost好像效率不如软家那个lightGBM

【在 m****o 的大作中提到】
: tensorflow应该不久也会推出gradient boosting,到时候就不用几个库之间折腾来折
: 腾去了。
:
: 点.

m*****e
发帖数: 47
45
"首先在大概几万句sentences中训练出word2vec model"
"然后将大概4000个labels的sentences转成vector"
1) My guess is the size of the data not large enough. What's the training
error? If training error < test error and training error is closer to human
error, it is a high variance problem. You can add regularization. But it
probably means the amount of data is not big enough. You can try transfer
learning by using GloVe for example.
2) I would also check the quality of the embeddings. Use a few examples and
see how many of the top 10 words make sense to you. On one project, I got
good results with embeddings trained from 1,000,000 good-quality sentences
written by professionals. Good meaning at least 9 out of 10 of the top
similar words make sense to me. On another project, 80,000 sentences of not
-so-good quality got back garbage results. If your training data sucks, use
pretained embeddings like GloVe.
3) How do you turn sentences into vectors? I would either do doc2vec or
concatenate word embeddings. For the latter case, try 1d CNN or RNN.
Let us know how it turns out.
T*******x
发帖数: 8565
46
谢谢。看来xgboost还是有意义的,我以为都被neural network碾压了。

点.

【在 w***g 的大作中提到】
: 这两个用来解决不同的问题.
: 固定唯独的特征数据(比如病人的年龄性别身高体重等各种参数), 用xgboost效果比较
: 好.
: 图象声音等从传感器获得的数据, 用neural network比较好.
: xgboost能做的, 非要用neural network调到同样的效果, 也应该能调到, 就是麻烦点.

s********k
发帖数: 6180
47
对于tabular类的data,GBM各种类型都不错,但是这个例子还是raw data 的text,估
计还是NN比较好一点吧,第一个感觉是训练数据不够,比起测试数据用来训练word2vec
太少了。如果不是专业领域直接上Glove之类看看。第二就是NN模型用个LSTM比如
seq2seq看看

【在 T*******x 的大作中提到】
: 谢谢。看来xgboost还是有意义的,我以为都被neural network碾压了。
:
: 点.

w***g
发帖数: 5958
48
我去学习学习

【在 s********k 的大作中提到】
: 其实xgboost好像效率不如软家那个lightGBM
w*****h
发帖数: 423
49
正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
这还是在没有做ensemble的情况下, 太赞了。
再请教wdong和楼上几位,有必要再上RNN吗?

【在 w***g 的大作中提到】
: 你想到的思路都没有问题。但是都太incremental不够糙快猛。
: 我自己觉得,你的bottleneck是在word2vec和sentence to vector
: 这个大框架上。不知道你具体sentence to vector是怎么做的,
: 但是如果是变成固定维数的vector,那就比较肯定是一个可以
: 有所突破的bottleneck。你可以试下基于CNN或者RNN的model。
: 你在这里找找看有没有能用的代码:
: https://nlp.stanford.edu/sentiment/
: 不过在这之前,我建议试下xgboost。固定维度的数据分类,标准
: 做法就是xgboost。注意树的深度不要太高,2,3,4试一下就差不多了。
: 我觉得这个能帮你从68%提高到70%。

T*******x
发帖数: 8565
50
你这个accuracy是用CNN还是用xgboost得到的?

【在 w*****h 的大作中提到】
: 正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
: 这还是在没有做ensemble的情况下, 太赞了。
: 再请教wdong和楼上几位,有必要再上RNN吗?

相关主题
我来科普下深度学习的应用范围吧LSTM对不同长度的sentence是不是用padding是最好办法
CNN做NLP工程多吗?请教:关于sentence classification
微软首席人工智能科学家邓力离职,加盟对冲基金巨头 (转载)深度学习真正有实用价值的应用
进入Programming版参与讨论
w*****h
发帖数: 423
51
CNN
可能有点误解,我是说CNN训练的轮数还没达到设定的epoch值, 它还在训练中,但目
前的model已经有70% accuracy了
xgboost我也试过了,和NN差不多

【在 T*******x 的大作中提到】
: 你这个accuracy是用CNN还是用xgboost得到的?
w***g
发帖数: 5958
52
如果是几十上百个词的短文本,我估计rnn不会有提高(NLP专家请指正)。你有时间还
不如试试data augmentation, 比如随机增减几个词,同义词替换啥的。不过你现在最
重要的是establish问题复杂度,就是上次说的对比不同人的区别,这样知道什么时候
停止优化。不然老板拍脑袋定指标,终有一天会把你逼死。

:正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
T*******x
发帖数: 8565
53
这个高。

【在 w***g 的大作中提到】
: 如果是几十上百个词的短文本,我估计rnn不会有提高(NLP专家请指正)。你有时间还
: 不如试试data augmentation, 比如随机增减几个词,同义词替换啥的。不过你现在最
: 重要的是establish问题复杂度,就是上次说的对比不同人的区别,这样知道什么时候
: 停止优化。不然老板拍脑袋定指标,终有一天会把你逼死。
:
: :正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
: :

b**k
发帖数: 268
54
又学习到了 膜拜大牛

【在 w***g 的大作中提到】
: 如果是几十上百个词的短文本,我估计rnn不会有提高(NLP专家请指正)。你有时间还
: 不如试试data augmentation, 比如随机增减几个词,同义词替换啥的。不过你现在最
: 重要的是establish问题复杂度,就是上次说的对比不同人的区别,这样知道什么时候
: 停止优化。不然老板拍脑袋定指标,终有一天会把你逼死。
:
: :正在测试CNN,epoch还没训练完,不过目前的accuracy已经达到70%,
: :

m*****e
发帖数: 47
55
多谢反馈。
想核实一下细节,是用的一维convolution吗?宽度多少?
t******o
发帖数: 61
56
前面说过:不要用神经网络!不要用神经网络!不要用神经网络!
CNN RNN啥的都是需要很多的feature,数据量要大,比如图片那种,全是像素,
feature都差不多,你扔到CNN里一层层BP就能把重要feature弄出来然后performance高。
但是你这个sentiment analysis,有两大原因,导致不能用NN这种暴力方法:
1. 数据量:太小,才几万句;NN在NLP领域唯一比较成功的就是各种embedding,不管
是BOW还是skip-gram,数据量都很大,你算算那些东西展开后,都是2的多少次方;这
个任务里,句子实在太少;
2. NLP里面,feature权重差别大:NLP不像图片,所有feature几乎可以看作都一样,
比如像素;就sentiment来讲,sentiment或者说opinion可能存在于词层面(pos)、短
语层面(chunking)、句子层面(syntax)、甚至段落(semantics);什么NN加
word2vec只能照顾到词层面,顶多一部分短语层面,句子和段落的信息全丢了。
按照前面括号里提到的相关方法提取出feature,然后加入上下文,比如前三后三啥的
,然后放到xgb这种模型里才好。
当然了,按照上面说的把该有的feature提取出来,就算还扔进原来的NN,也还是会比
以前好一些。
NLP很多任务不适合NN的原因在于,你需要基于对linguistics的知识自己去提取
feature,从morphology、syntax、semantics、pragmatics从下到上一层层去找
feature,才能把自然语言的意思找出来。
人类语言表达语义更多是靠语言单位之间的关系,而不是光靠词本身;翻译成machine
learning的黑话,就是不可以有feature independence的假设;这些你需要自己提取的
feature,可以看作是latent variable,全是hidden的,你自己不提出来,model是无
法自己弄出来的。类似于NN这种只能解决feature从多到精的问题,却无法解决feature
从无到有的问题。

testing

【在 w*****h 的大作中提到】
: 在公司做sentiment analysis,
: 现在的做法是这样
: 首先在大概几万句sentences中训练出word2vec model
: 然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
: , 用neural net作为classifier
: 类别三类,positive, neutral, negative
: 之前是公司的一个印度人在负责,达到63% accuracy
: 我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
: 至80%
: 现在我想到思路有几个

g*********9
发帖数: 1285
57
这个为什么不买现成的工具?你自己做的能比人家专业公司做的好?

testing

【在 w*****h 的大作中提到】
: 在公司做sentiment analysis,
: 现在的做法是这样
: 首先在大概几万句sentences中训练出word2vec model
: 然后将大概4000个labels的sentences转成vector, 80%作为training, 20%作为testing
: , 用neural net作为classifier
: 类别三类,positive, neutral, negative
: 之前是公司的一个印度人在负责,达到63% accuracy
: 我接手之后调参 + 做一些ensemble提高到68% leader似乎不满足,觉得可以到70%甚
: 至80%
: 现在我想到思路有几个

1 (共1页)
进入Programming版参与讨论
相关主题
word2vec 中skip gram 问题请教深度学习对时间序列数据有什么好办法吗?
问一个NN训练模型输入问题volta一出,业余玩家都要玩完啦
svm/svr还是不错的马工能转数据分析师吗?
单变量xgboost模型好的吓人,求解encode high cardinality categorical features
胡扯几句什么叫Deep Learning入门问几个神经网络的问题
xgboost 训练大数据问题我来科普下深度学习的应用范围吧
LSTM 是不是坨屎?CNN做NLP工程多吗?
Facebook的用CNN作翻译怎么性能超过RNN的微软首席人工智能科学家邓力离职,加盟对冲基金巨头 (转载)
相关话题的讨论汇总
话题: cnn话题: sentences话题: xgboost话题: word2vec话题: embeddings