
自然语言处理
文章平均质量分 94
随着深度学习的发展,其应用面越来越广,自然语言处理是其重要的应用方向。本专栏主要对深度学习在自然语言处理中的应用做一些总结,并记录自己的一些经验与感悟。
littlely_ll
Strive for the best, and prepare for the worst.
展开
-
深度学习在多标签分类中的应用
多类分类与多标签分类 多类分类(multi-class classification):有多个类别需要分类,但一个样本只属于一个类别 多标签分类(multi-label classificaton):每个样本有多个标签 区别: 对于多类分类,最后一层使用softmax函数进行预测,训练阶段使用categorical_crossentropy作为损失函数 对于多标签分...原创 2018-08-12 15:28:31 · 15464 阅读 · 4 评论 -
RNN文本分类——从原始数据处理到预测类别标签
这两天做了一个小项目,是一个文因互联文本分类的竞赛题目,但已经过期了,只是使用它的数据做一下。本次使用的RNN+LSTM模型,最终训练的正确率为87%,不过每次训练正确率有些差别,并且还有很多可调参数没有调整,只是当一个练手的了。由于训练时间很长,完整的代码以及持久化的模型和字典在我的github上可以下载,当然也可以自己重新训练。 本文的RNN结构主要使用了finch的结构,并在此稍微做了修改...原创 2018-02-19 20:02:47 · 11967 阅读 · 1 评论 -
神经网络在文本分类中的应用
在自然语言的文本分类中,主要使用两类模型,一类是使用传统的机器学习模型,如朴素贝叶斯,最大熵,支持向量机等,第二类就是使用神经网络模型,包括CNN和RNN。传统的机器模型在分类前首先要做特征工程,例如把文本转换成词袋,并转化为TF-IDF矩阵,然后再做分类。而使用神经网络模型可以使它自己提取特征并进行文本分类,并能获得优于传统机器学习模型的能力。CNN模型的文本分类CNN原来是用于对图原创 2018-01-24 15:26:48 · 6025 阅读 · 0 评论 -
神经网络机器翻译总结
神经网络机器翻译(Neural Machine Translation, NMT)是最近几年提出来的一种机器翻译方法。相比于传统的统计机器翻译(SMT)而言,NMT能够训练一张能够从一个序列映射到另一个序列的神经网络,输出的可以是一个变长的序列,这在翻译、对话和文字概括方面能够获得非常好的表现。NMT其实是一个encoder-decoder系统,encoder把源语言序列进行编码,并提取源语言中信原创 2018-01-13 10:14:30 · 34369 阅读 · 2 评论 -
基于转换的神经网络依存句法分析器
依存句法分析是自然语言处理中一个关键的问题,一是判断给定的句子是否合乎语法,再是为合乎语法的句子给出句法结构。为了准确做出句子的依存关系,不少学者提出了一些方法,如基于图的方法,基于转换的方法等。基于转换的依存句法分析Yamada和Matsumoto提出了使用SVM来训练基于转换的依存分析算法。他们根据三种分析行为(shift, right, left)对输入的句子进行从左到右顺序构建原创 2018-01-06 17:41:55 · 5501 阅读 · 0 评论 -
神经网络自然语言模型的一般化结构形式
一个神经网络自然语言模型当然需要神经网络的结构层次,但是在进入神经网络之前,怎么把单词表示成要输入的词向量,这也是一个非常重要的问题。其实,神经网络语言模型主要分两大部分,第一,输入词向量的表示问题,第二,神经网络结构的选择问题。只要处理好这两方面的问题,剩下的就交给训练了,当然其中还有一些细节。本文所描述的是一个一般化的多层神经网络结构,首先要说明一些标记记号: 假设一个神经网络函数为fθ(⋅)原创 2018-01-01 17:28:25 · 723 阅读 · 0 评论 -
word2vec以及GloVe总结
词向量词向量,顾名思义,就是把一个单词或词语表示成一个向量的形式,这是因为在计算机中无法直接处理自然语言,需要把它转化为机器能够理解的语言,比如数值等。最简单的方式是把一个个单词表示成one-hot的形式。例如有三个句子:我/喜欢/小狗/喜欢/喝咖啡我/不喜欢/喝咖啡你/喜欢/什么/东西词汇表为:我、你、喜欢、不喜欢、小狗、喝咖啡、什么、东西然后对每一个词做one-hot编码: “我”就是[1原创 2017-12-31 12:46:55 · 13195 阅读 · 0 评论