中文商品评论短文本分类器,可用于情感分析,各模型的准确率均达到90%以上
tensorflow2.0
python3
京东商城评论文本,10万条,标注为0的是差评,标注为1的是好评。
路径:data/goods_zh.txt
项目代码获取方式
关注微信公众号 datayx 然后回复 中文分类 即可获取。
AI项目体验地址 https://loveai.tech
1. Transfromer
Transformer由论文《Attention is All You Need》提出,现在是谷歌云TPU推荐的参考模型。
Attention is All You Need:
https://arxiv.org/abs/1706.03762
Transformer的主体结构图:
模型分为编码器和解码器两个部分。
2.textCNN
Yoon Kim在论文(2014 EMNLP) Convolutional Neural Networks for Sentence Classification提出TextCNN。
https://arxiv.org/abs/1408.5882
将卷积神经网络CNN应用到文本分类任务,利用多个不同size的kernel来提取句子中的关键信息(类似于多窗口大小的ngram),从而能够更好地捕捉局部相关性。
3.fastext
fasttext是facebook开源的一个词向量与文本分类工具,在2016年开源,典型应用场景是“带监督的文本分类问题”。提供简单而高效的文本分类和表征学习的方法,性能比肩深度学习而且速度更快。
https://github.com/facebookresearch/fastText
fastText结合了自然语言处理和机器学习中最成功的理念。这些包括了使用词袋以及n-gram袋表征语句,还有使用子词(subword)信息,并通过隐藏表征在类别间共享信息。我们另外采用了一个softmax层级(利用了类别不均衡分布的优势)来加速运算过程。
4.RNN ( LSTM/GRU/Bi-LSTM )
RNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络。首先我们要明确什么是序列数据,摘取百度百科词条:时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。这是时间序列数据的定义,当然这里也可以不是时间,比如文字序列,但总归序列数据有一个特点——后面的数据跟前面的数据有关系。
RNN的结构及变体 我们从基础的神经网络中知道,神经网络包含输入层、隐层、输出层,通过激活函数控制输出,层与层之间通过权值连接。激活函数是事先确定好的,那么神经网络模型通过训练“学“到的东西就蕴含在“权值“中。 基础的神经网络只在层与层之间建立了权连接,RNN最大的不同之处就是在层之间的神经元之间也建立的权连接。如图。
这是一个标准的RNN结构图,图中每个箭头代表做一次变换,也就是说箭头连接带有权值。左侧是折叠起来的样子,右侧是展开的样子,左侧中h旁边的箭头代表此结构中的“循环“体现在隐层。
在展开结构中我们可以观察到,在标准的RNN结构中,隐层的神经元之间也是带有权值的。也就是说,随着序列的不断推进,前面的隐层将会影响后面的隐层。图中O代表输出,y代表样本给出的确定值,L代表损失函数,我们可以看到,“损失“也是随着序列的推荐而不断积累的。
除上述特点之外,标准RNN的还有以下特点: 1、权值共享,图中的W全是相同的,U和V也一样。 2、每一个输入值都只与它本身的那条路线建立权连接,不会和别的神经元连接。