nlp对语言进行可解释化

tf-idf

用来支持文本表征的抽取和预测,比如one-hot将各个词变成一个向量,喜欢(001)、不喜欢(010)、很喜欢(011)等,使用这些向量来作为预测和训练的语料,运算结束后再解码为具体的词句,由于特征的维度特别高,tf-idf基于词频来统计文本表征的算法可以表示为
t f i j = n i j / ∑ 1 ≤ k ≤ j ≤ n n k j tf_{ij}=n_{ij}/\sum_{\mathclap{1\le k\le j\le n}} n_{kj} tfij=nij/1kjnnkj
词频表示关键字在文本的频率,特点是重要性随着文件出现的次数增加,随着它在语料库出现的频率成反比,word2vec的fasttext通过给一些任务构建损失函数,训练一个深度模型,模型的中间产物得到文本表征以及文本向量和句向量,词向量用的分布式假设认为相同的上下文语境具有相似的含义,利用word2vec等算法通过不同的上下文对词的贡献度不同可以得到不一样的文本表征

相关语言模型

在这里插入图片描述

如图1“人们彼此的交往离不开_”,空缺文字可以是“语言”,“文字”,或者“信息”,但不可能是“动物”,如果加上“语言是人与人之间的一种交流方式”的前提,那答案只能是“语言”

神经网络语言模型

单向rnn共享一个权重矩阵,只能根据有限的前置上下文预测后词,双向rnn可以根据前后文预测中间的词,网络深度更深。
注意力机制的原理是拉平所有的词,使得每个词和任意一个词之间简历了联系,通过每个词的语义向量的加权和,识别每个词在句子中的重要性份不如图2所示

bert的结构

bert运用了三种向量,词向量没有进行与训练,但是在训练过程中学习,表征向量,表明输入句子是前句还是后句,ea和eb来表示左句还是右句,位置向量和注意力机制不一样,注意力机制中所有词一起输入,不存在序列,而位置向量有序列编码,会包含“cls”和“sep“两种特殊字符

masked lm

类似于完型填空,看不到所有位置信息,但是要预测的词被特殊字符所代替,可以进行双向encoding,模型训练时随机遮盖语料中15%的token,然后将masked token 位置输出的最终隐层向量送入softmax来预测masked token,每次只预测15%的词,按照一定比例在要预测的词位置上输入原词或者输入某个随机的词,80%用mask的标记来替换,10%的概率用随机采样的一个单词来进行替换,10%的概率不进行替换

Transformer

一般用来实现机器翻译,是cnn的变体,主要有编码器,解码器以及attention所组成,每个attention都有multi-head的特征,把一个词向量切分成h个维度,求attention相似度对每个维度进行计算,将单词映射在高维上作为向量形式,并且每个词位的词都没有方向和距离,可以直接和句子中的每个词进行encoding,最后通过position encoding加入了位置信息

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页