问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://m.blog.csdn.net/m0_51263060/article/details/140775613

词嵌入技术是自然语言处理(NLP)领域中的关键技术之一,它将文本中的单词映射为固定长度的向量表示,使得计算机能够理解和处理人类语言。本文将详细介绍词嵌入的基本概念、构建方法及其在NLP中的应用,并探讨如何消除词嵌入中的偏见问题。

一、词汇表示

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. Word2Vec模型

(1)Skip-grams

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

softmax函数:

缺点:Word2Vec的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在g方向上的投影,e向量减去

,即可消除e向量在g方向的偏见影响。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号