词嵌入技术:构建词嵌入的相关算法+词嵌入消除偏见

一、词汇表示

1.One-hot向量

        缺点: 每个词都被孤立起来。使得算法对相关词的泛化能力不强。

2.特征化表示

        优点:对于不同的单词,算法具有较好的泛化能力。

        可视化:将高维特征映射为二维空间进行可视化的算法:t-SNE算法。

二、词嵌入

1.词嵌入的使用

        词嵌入模型广发应用在NLP领域,如命名实体识别、文本摘要、文本解析、指代消解等。

        用词嵌入做迁移学习在NLP中的使用:

  • 先从大量文本集中学习词嵌入或可以直接下载训练好的词嵌入模型。
  • 将词嵌入模型迁移到新的少量标注训练集的任务中,可以使得低纬特征向量去表示原来的高维one-hot词向量,更加紧凑。
  • (可选)在新任务上训练模型时,可以选择是否要用新数据微调词嵌入,通常不去操作,因为工作量较大。

2.词嵌入的特性

(1)词语类比问题

使用词嵌入来解决“男人与女人相比就像国王与____ 相比”之类的词语类比问题

        将上述式子整理,词语类比问题转化为求两个向量的相似度。

(2)余弦相似度

       一般规定使用余弦相似度来计算两个向量的相似度。

3.词嵌入矩阵

        学习词嵌入实际上是学习一个嵌入矩阵。 任意单词的特征向量表示都可以通过用嵌入矩阵与one-hot向量相乘得到。即(300×10000)×(10000×1)=(300×1)。

三、构建词嵌入的算法

1.神经语言模型

(1)原理

        常见方法是有一个固定历史窗口,每次只通过目标词前的窗口中的几个单词作为上下文,进行预测目标词。通过设置固定历史窗口的参数,可以适应很长或很短的句子。

(2)其他的context/target组合

  • 若为建立语言模型,第一种用目标词的前几个单词作为上下文是常用做法。
  • 若为建立好的词嵌入模型,后三种做法也有很好的效果。

2.Word2ec模型

(1)Skip-grams

        抽取上下文和目标词配对。上下文不一定是目标单词前紧邻的n个单词,可以随机在目标词前后的一定词距选一个单词作为上下文词。

        softmax函数:

        缺点:Word2ec的Skip-grams模型中softmax这个步骤计算成本很大,在分母中对词汇表所有词求和。

        优化方法:采用分级的softmax分类器,建立树型分类器,构造分类器树可根据使用单词频率,建立哈夫曼树。检索时通过二分查找,可以快速找到目标词所在的分类器,因此分母可以不必对词汇表所有词全部求和。计算成本log(词汇表大小)成正比。

(2)CBOW(连续词袋模型)

        获取中间词两边的上下文,然后用周围的词去预测中间的词。

3.负采样方法

 (1)原理

        对有标签的数据集进行处理,根据已知的1个正样本,再随机生成k个负样本,在每次迭代中选择k个负样本词去训练算法。

(2)k值的确定

  • 小数据集k通常在5-20之间
  • 大数据集k就选的小一些,k在2-5之间。

(3)负采样的优点

        负采样解决Skip-grams模型中softmax函数对整个词汇表求和,导致计算成本很大的缺点。k+1个样本,其中k个负样本作为训练集,1个正样本作为验证集。每次迭代只需更新k+1个logistic二分类单元,因此比10000维的softmax分类器成本低很多。

(4)负采样的选取方法

        按照经验频率选取,会选择很多语气助词;若按照独立分布,均匀随机选取,词语关联性效果不太好。

        因此有学者总结一条经验,效果介于两者之间,按照以下分布进行负采样效果较好:

4.GloVe词向量

(1)符号定义

        假设Xij是单词i在单词j上下文出现的次数。若上下文和目标词的范围相同,例如定义为出现于左右各10词以内的话,那么就有一种对称关系,即Xij=Xji。若对上下文的选择总是在目标词前的固定历史窗口的几个单词,那么Xij≠Xji。

(2)定义

        GloVe词向量是上下文和目标词的关系开始明确化。对于GloVe我们可以定义上下文和目标词为任意两个位置相近的单词。例如,可以假设左右各10词的距离。

(3)GloVe优化原理

        Xij是一个能够获取单词i和单词j出现位置相近或彼此接近的频率计数器。GloVe会将单词i和单词j之间的差距进行最小化处理。

四、情感分类

1.传统的神经网络

        传统的神经网络训练情绪分类时,会忽略词序,只根据单词的好坏进行判断。若句子中出现“not good”等短语,算法无法正确得到情感分类。

2.RNN网络

        采用多对一的RNN网络进行情绪分类,会考虑到词序,会有更好的效果。

五、词嵌入消除偏见

1.消除偏见的原因

        比如“computer”就接近于“man”,“literature ”接近于“woman”,但是这些都是不对的观念。

2.消除偏见的方法

3.消除偏见实现原理

        其中,e^{bias\_component}是e在g方向上的投影,e向量减去e^{bias\_component},即可消除e向量在g方向的偏见影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值