河北网站建设电话,诸城网站建设与制作,手工制作大全简单又漂亮,wordpress三站合一目录 一、前言
二、词向量
三、词向量的实际意义
四、模型的整体框架
五、构建输入数据
六、不同模型的对比
七、负采样方案
八、总结 一、前言 计算机只认识数值数字#xff0c;那么怎么认识自然语言呢#xff1f;#xff1f;#xff1f;答案就是将自然语言转换转…目录 一、前言
二、词向量
三、词向量的实际意义
四、模型的整体框架
五、构建输入数据
六、不同模型的对比
七、负采样方案
八、总结 一、前言 计算机只认识数值数字那么怎么认识自然语言呢答案就是将自然语言转换转换成数值就词向量。 先来考虑一个问题如何能将文本向量化呢看起来比较抽象可以先从人的角度来观察。 如何来描述一个人呢只用身高或者体重还是综合其各项指标呢 例如Kevin Durant 身高211cm, 体重90kg这能完全描述他吗当然不能还有NBA超巨全明星死神等等描述。
二、词向量 词向量(Word Embedding)是自然语言处理(NLP)中的一种技术它可以将词汇表中的单词或短语映射到实数向量空间。以下是关于词向量的详细介绍
词向量的核心在于将每个单词表示为高维空间中的一个点这些点不仅代表了单词的语义信息还可以通过计算向量之间的距离来分析词语之间的关联性和相似性。
词向量的生成方法包括神经网络、单词共生矩阵降维、概率模型等这些方法使词向量能够捕捉到语言数据中的分布属性从而量化语言项之间的语义相似性。
词向量已被广泛应用于各种NLP任务中如语法分析、情感分析、命名实体识别、同义词寻找、词性标注、语义角色标注、句法分析和短语识别。
词向量的一个重要优势是它们能够捕获单词之间的细微差别和语义关系例如“king”和“queen”之间的向量差异可以反映出性别差异。尽管词向量技术已经相当成熟但它们仍面临一些限制比如可能将单词的多个含义混合在一个单一的向量中这限制了对具有多重含义单词的精确表达。未来的研究可能会集中在如何改进词向量技术以更准确地表示单词的含义和用法。 例如Kevin Durant生成的词向量
0.023230.33452-0.978651.35533-9.234432.23344...3.99457 那么这个向量在我们人看来不能理解为什么是这样但是计算机可以认出来这个就是Kevin Durant包括他所有的描述。而且这个向量的维度50~300维google得出的。 只要有了向量就可以用不同的方法来计算相似度。 通常用欧氏距离余弦距离等等。 如果我们用一个二维的向量空间来表达词向量可以吗 虽然可以表达但是表达的信息太少了。 通常数据维度越高能够提供的信息越多从而计算的结果的可靠性就更值得信赖。 那么词向量真真的有实际意义吗或者说能表达出词的意思吗
三、词向量的实际意义 我们先看这样的图 其实King和Queen他们又有实际意义而且两个词都相似所以在词向量表达中有相同的部分。 光看数字我们难以观察到把数字转换成热度图。 假如我们已经训练好了一个词的向量
四、模型的整体框架 在词向量模型中输入和输出分别是什么 让模型学到一个词用什么样的向量表达最为合适。 如果用神经网络来训练模型就是让神经网络学到前后文的一个逻辑关系。 我们可以看到输入单词进入模型然后模型训练前向传播得到损失值反向传播更新参数更新embeddings表。 这里 embeddings表 指的是语料库的一个大表它装有所有的词。而且是用词向量来表达。在开始的时候对于这个表进行一个类似于神经网络权重参数的初始化操作。而且与神经网络不同的是不仅仅要更新权重参数还要跟新此表达到让模型学到一个词用什么样的向量表达最为合适的目的。 查找输入的词得到词向量在经过向量矩阵计算得到一个结果值类似于做一个分类任务看那个词的概率最大。这样达到预测到下一个词是什么让神经网络学到前后文的一个逻辑关系的目的。
五、构建输入数据 数据从哪里来 everywhere只要符合自然语言的上下文逻辑即可。 如何构建训练数据 可以自己构建数据集在一篇文章中采用滑动窗口策略。 这样其实来看输入数据集是很好构建的。
六、不同模型的对比 1. CBOW模型 如图采用滑动窗口策略Jay was hit by a 框起来那么输入就是Jay was by a 输出就是 hit。 2. Skipgram模型 同样的采用滑动窗口策略 Jay was hit by a 框起来那么输入就是 hit 输出就是 Jay was by a。 七、负采样方案 问题一个语料库很大5W10W100W那么在做得分计算损失计算概率计算SoftMax归一化的时候计算量可想而知的大。那么如何去处理这样的一个问题呢 初始方案输入两个单词看看他们是不是前后文对应的输入和输出也就相当于一个二分类任务了。 出发点很好但此时训练集构建出来的标签按照二分类标准来说就全是1了无法进行较好的训练。 改进方法 负采样方案 意思就是在构造数据集时加入一些不对应上下文的词并且标签设置为0。上图以Skipgram模型为例一般加入5个负采样的样本。
八、总结 1. 初始化磁向量矩阵 input word和output word都是输入数据且input word在Embedding里找output word在Context里找。 2. 通过神经网络反向传播来计算更新不光更新权重矩阵W也要更新输入数据。 3. 得到最有可能的值。