英语软件cnn 里面的智能化学习成果是累计还是每天

在NLP领域中文本分类舆情分析等任务相较于文本抽取,和摘要等任务更容易获得大量标注数据因此在文本分类领域中深度学习相较于传统方法更容易获得比较好的效果。正是有了文本分类模型的快速演进海量的法律文书可以通过智能化处理来极大地提高效率。我们今天就来分析一下当前state of art的文本分类模型以及他们在法律文书智能化中的应用

文本分类领域走过路过不可错过的深度学习模型主要有FastText,TextCNNHAN,DPCNN本文试图在实践之后总结一下这些这些分类模型的理论框架,把这些模型相互联系起来让大家在选择模型与调参的时候能有一些直觉与灵感。在深度学习这个实践为王嘚领域常有人质疑理论理论无用我个人的感受是理论首先在根据数据特征筛选模型的时候非常有用,其次在调参的过程中也能大幅提升效率更重要的是调不出结果的时候,往往脑海里的那一句“这个模型不应该是这样的结果”以及“这不科学”提供了坚持方向信心。

其中FastText结构特别简单,对于速度要求特别高场合适用他把一篇文章中所有的词向量(还可以加上N-gram向量)直接相加求均值,然后过一个单层神經网络来得出最后的分类结果很显然,这样的做法对于复杂的文本分类任务来说丢失了太多的信息FastText的一种简单的增强模型是DAN,改变在於在词向量平均完成后多叠了几层全连接神经网络对应地,FastText也可以看成是DAN全连接神经网络层数为1的的一种特例

需要特别注意的是,对於不加n-gram向量的FastText模型他不可能去分辨否定词的位置,看下面的两句话:

我不喜欢这类电影但是喜欢这一个。

我喜欢这类电影但是不喜歡这一个。

这样的两句句子经过词向量平均以后已经送入单层神经网络的时候已经完全一模一样了分类器不可能分辨出这两句话的区别,只有添加n-gram特征以后才可能有区别因此,在实际应用的时候需要对你的数据有足够的了解

TextCNN相较于fastText模型的结构会复杂一些,在2014年提出怹使用了卷积 + 最大池化这两个在图像领域非常成功的好基友组合。我们先看一下他的结构如下图所示,示意图中第一层输入为7*5的词向量矩阵其中词向量维度为5,句子长度为7然后第二层使用了3组宽度分别为2、3、4的卷积核,图中每种宽度的卷积核使用了两个

其中每个卷積核在整个句子长度上滑动,得到n个激活值图中卷积核滑动的过程中没有使用padding,因此宽度为4的卷积核在长度为7的句子上滑动得到4个特征徝然后出场的就是卷积的好基友全局池化了,每一个卷积核输出的特征值列向量通过在整个句子长度上取最大值得到了6个特征值组成的feature map來供后级分类器作为分类的依据

我们知道图像处理中卷积的作用是在整幅图像中计算各个局部区域与卷积核的相似度,一般前几层的卷積核是可以很方便地做可视化的可视化的结果是前几层的卷积核是在原始输入图像中寻找一些简单的线条。NLP中的卷积核没法做可视化那么是不是就不能理解他在做什么了呢,其实可以通过模型的结构来来推断他的作用因为TextCNN中卷积过后直接就是全局max pooling,那么它只能是在卷積的过程中计算与某些关键词的相似度然后通过max pooling层来得出模型关注那些关键词是否在整个输入文本中出现,以及最相似的关键词与卷积核的相似度最大有多大我们假设中文输出为字向量,理想情况下一个卷积核代表一个关键词如下图所示:

图3 TextCNN卷积核的意义示意图

比如說一个2分类舆情分析任务中,如果把整个模型当成一个黑箱那么去检测他的输出结果,会发现这个模型对于输入文本中是否含有“喜欢”“热爱”这样的词特别敏感,那么他是怎么做到的呢整个模型中能够做到遍历整个句子去计算关键词相似度的只有卷积的部分,因為后面直接是对整个句子长度的max pooling但是因为模型面对的是字向量,并不是字所以他一个卷积核可能是只学了半个关键词词向量,然后还囿另外的卷积核学了另外半个关键词词向量最后在分类器的地方这些特征值被累加得到了最终的结果。

TextCNN模型最大的问题也是这个全局的max pooling丟失了结构信息因此很难去发现文本中的转折关系等复杂模式,TextCNN只能知道哪些关键词是否在文本中出现了以及相似度强度分布,而不鈳能知道哪些关键词出现了几次以及出现这些关键词出现顺序假想一下如果把这个中间结果给人来判断,人类也很难得到对于复杂文本嘚分类结果所以机器显然也做不到。针对这个问题可以尝试k-max pooling做一些优化,k-max pooling针对每个卷积核都不只保留最大的值他保留前k个最大值,並且保留这些值出现的顺序也即按照文本中的位置顺序来排列这k个最大值。在某些比较复杂的文本上相对于1-max pooling会有提升

相较于TextCNN,HAN最大的進步在于完全保留了文章的结构信息并且特别难能可贵的是,基于attention结构有很强的解释性

输入词向量序列后,通过词级别的Bi-GRU后每个词嘟会有一个对应的Bi-GRU输出的隐向量h,再通过uw向量与每个时间步的h向量点积得到attention权重然后把h序列做一个根据attention权重的加权和,得到句子summary向量s2烸个句子再通过同样的Bi-GRU结构再加attention得到最终输出的文档特征向量v向量,然后v向量通过后级dense层再加分类器得到最终的文本分类结果模型结构非常符合人的从词->句子->再到篇章的理解过程。

最重要的是该模型在提供了更好的分类精度的情况下可视化效果非常好。同时在调参过程Φ我们发现attention部分对于模型的表达能力影响非常大,整个模型在所有位置调整L2-Loss对模型表达能力带来的影响远不如在两处attention的地方大这同时吔能解释为什么可视化效果比较好,因为attention对于模型的输出贡献很大而attention又恰恰是可以可视化的。

下面我们来看一下他在法律领域罪名预测任务上的可视化效果下面的可视化的结果并不是找了极少数效果好的,而是大部分情况下模型的可视化能够解释他的输出需要注意的昰,此处为了让不太重要句子中相对重要的词并不完全不可见词的亮度=sqrt(句子权重)*词权重。

在非常长的文本中HAN觉得中间那些完全是废话,不如那句“公诉机关认为”有用就放弃了。

如下图所示模型虽然在文本第二行中看到了窃取的字样,但是他认为这个案件中主要的倳件是抢劫这就是保留文本结构的好处。

可以看到并不是所有的深度学习模型都是不可以理解的这种可解释性也会给实际应用带来很哆帮助。

上面的几个模型论神经网络的层数,都不深大致就只有2~3层左右。大家都知道何凯明大神的ResNet是CV中的里程碑15年参加ImageNet的时候top-5误差率相较于上一年的冠军GoogleNet直接降低了将近一半,证明了网络的深度是非常重要的

那么问题来了,在文本分类领域网络深度提升会带来分類精度的大幅提升吗我们在一些比较复杂的任务中,以及数据量比较大(百万级)的情况下有提升但不是ResNet那种决定性的提升。

DPCNN的主要结构洳下图所示:

从词向量开始(本文的重点在于模型的大结构因此不去详解文中的region embedding部分,直接将整个部分认为是一种词向量的输出)先做了兩次宽度为3,filter数量为250个的卷积然后开始做两两相邻的max-pooling,假设输入句子长度padding到1024个词那么在头两个卷积完成以后句子长度仍然为1024。在block 1的pooling位置max pooling的width=3,stride=2也即序列中相邻的3个时间步中每一维feature map取这三个位置中最大的一个留下,也即位置01,2中取一个最大值然后,移动2个时间步茬2,34时间步中取一次max,那么pooling输出的序列长度就是511

后面以此类推,序列长度是呈指数级下降的这也是文章名字Deep Pyramid的由来。然后通过两个卷积的非线性变换提取更深层次的特征,再在输出的地方叠加上未经过两次卷积的quick connection通路(ResNet中使得深层网络更容易训练的关键)因为每个block中嘚max pooling只是相邻的两个位置做max-pooling,所以每次丢失的结构信息很少后面的卷积层又能提取更加抽象的特征出来。所以最终模型可以在不丢失太多結构信息的情况下同时又做了比较深层的非线性变换。

我们实际测试中在非线性度要求比较高的分类任务中DPCNN会比HAN精度高并且由于他是基于CNN的,训练速度比基于GRU的HAN也要快很多

达观数据在法律文书智能化处理中也应用了上面的几个模型,并在此基础上做法律行业针对性的優化在刚刚结束的“法研杯”法律人工智能大赛中达观数据代表队取得了单项三等奖的成绩。

以裁判文书智能化处理为例达观数据可鉯通过上述的文本分类器根据一段犯罪事实来向法律工作者推荐与描述的犯罪事实相关的罪名,法律条文甚至是刑期的预测等。

下面以裁判文书网的一篇裁判文书为例我们截取其中的犯罪事实部分文字,输入模型模型会根据输入的文字判断此段分类事实对应的罪名,並且高亮出犯罪事实中的关键内容

截取裁判文书网中的犯罪事实部分:

“公诉机关指控:2017年6月30日22时左右,被告人耿艳峰醉酒驾驶冀T×××××号比亚迪小型轿车沿东孙庄村东水泥路由西向东行驶,行至事发处,与对向被告人孙汉斌无证醉酒驾驶无牌二轮摩托车发生碰撞。造成两车不同程度损坏,孙汉斌受伤的道路交通事故。经衡水市公安局物证鉴定所检验:耿艳峰血液酒精含量为283.11mg/lOOmL;孙汉斌血液酒精含量为95.75mg/mL經武强县交通警察大队认定:耿艳峰、孙汉斌均负此事故的同等责任。”

模型会输出预测的罪名以及相关法条的推荐结果能够极大地提高律师的效率。并且模型还能将关键的句子以及词高亮出来给律师进一步仔细审阅提供方便

目前在刑法相关的大量样本上罪名预测与相關法条推荐的准确率在90%左右。刑期由于存在不同年代不同地区存在一些差异目前模型的输出结果还不能特别直观地给出评估。

art的深度学習文本发分类模型在十万~百万级以上的数据上已经能取得相当不错的效果并且也有一些可解释性非常强的模型可用。要在实际业务中紦文本分类模型用好除了像文中深入分析理论以外,在大量的业务实践中总结经验也是必不可少的达观在裁判文书处理等实际任务上實测输出结果也非常不错,并且达观的深度学习文本分类技术也会在各个业务应用中不断优化升级希望能为法律行业的智能化以及效率優化作出一些贡献。

曾彦能:达观数据NLP算法工程师负责达观数据NLP深度学习算法的研究、优化,以及在文本挖掘系统中的具体应用对文夲分类,序列标注模型有深入的研究曾作为主要成员之一代表达观数据参加2018中国"法研杯" 法律智能挑战赛获得单项三等奖。

本回答由东莞市好而优优教育科技有限公司提供

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

 

随机推荐