如何验证网站所有权,做淘宝网站的主机,网站设计 英文,软件开发培训技术学校统计语言模型
先看语言模型#xff0c;语言即自然语言#xff0c;模型及我们要解决的某个任务。 任务一#xff1a;判断哪句话出现的概率大 任务二#xff1a;预判空缺的位置最有可能是哪个词
再看统计#xff0c;统计即解决上述两个任务的解决方法。先对语句进行分词…统计语言模型
先看语言模型语言即自然语言模型及我们要解决的某个任务。 任务一判断哪句话出现的概率大 任务二预判空缺的位置最有可能是哪个词
再看统计统计即解决上述两个任务的解决方法。先对语句进行分词得到词序列使用条件概率的链式法则可以求出每一个词出现的概率然后连乘得出这句话的概率。对于任务二判断每个词是空缺的概率最大。但是计算量非常大
可以通过n元统计语言模型减少计算量。
如何计算 平滑策略
防止出现0比0的情况如卡普拉斯平滑策略
总的来说就是基于数学统计的方法来计算概率。
神经网络语言模型
即使用神经网络的方法解决任务。 NNLM的基本原理 NNLM通过神经网络来学习词序列的概率分布基本流程如下 输入层 输入层通常由一个词汇表的向量表示。对于一个给定的词序列NNLM首先将每个词转化为一个稀疏的one-hot编码向量表示该词在词汇表中的位置。 嵌入层 然后将这些one-hot编码的词向量映射到一个低维的连续空间词向量。这个低维空间的表示能够捕捉到词与词之间的语义关系例如“苹果”和“橙子”在某些任务中可能在词向量空间中靠得很近。 隐藏层 嵌入层的输出将输入到一个神经网络的隐藏层。隐藏层通常是一个全连接层神经网络通过非线性激活函数如ReLU处理输入数据。 输出层 输出层会生成一个预测概率分布表示在给定上下文前面的词下当前词是每个词汇表中可能的词的概率。 训练过程 NNLM的训练过程通常通过最大化训练数据中每个词出现的条件概率来进行。具体来说模型会使用梯度下降等优化方法来调整网络参数使得给定上下文的情况下正确词语的概率尽可能大。
这里引入了独热编码来表示词。这是一开始的表示方法目的是让计算机“认识”单词但这种方法有缺点虽然减少了直接存单词但当词汇量过大时还是占用很大的空间。
而且还有关联度问题现实中词与词之间还有关联度但是独热编码并不能很好的表示这里词与词之间的关联度用到了余弦相似度通过计算两个向量的夹角来判断两个向量是否有关联不看向量的大小只看方向。为了解决这个词的“关联关系”于是就有了“词向量”这个概念。
余弦相似度Cosine Similarity是衡量两个向量相似度的一种常用方法特别适用于文本分析中。它通过计算两个向量之间的夹角来判断它们的相似性具体来说余弦相似度是计算两个向量夹角的余弦值余弦值越接近 1表示两个向量越相似越接近 0表示两个向量越不相似。
计算公式如下 神经网络模型的出现是为了解决平滑和计算量过大的问题。 tanh 是用于隐藏层的激活函数能够捕捉输入的非线性特征且具有对称性将向量压缩为固定区间的值。 softmax 是一种常用于多分类任务中的激活函数它的作用是将输出的原始分数logits转换成一个概率分布。softmax 的输出是一个包含所有类别的概率值这些概率值的总和为1。
Q是一个参数是可以学习的c向量代表每一个单词而不是单独的独热编码这样可以压缩维度且可以表示关系通过训练Q越来越准c向量也接代表的更准确
词向量用向量表示一个单词独热编码也算词向量但神经网络语言模型的副产品Q更佳。通过Q可以控制大小和维度相似度也能表示
Word Embedding是什么
Word Embedding词嵌入是自然语言处理NLP中的一种技术它通过将单词映射到一个稠密的向量空间中以便计算机能够更好地理解和处理文本数据。词嵌入的目标是将每个单词转换为一个固定维度的向量这些向量能够捕捉到词与词之间的语义关系。
词袋模型Bag of Words简称BOW是自然语言处理中的一种基础文本表示方法。它将文本中的每个单词视为一个独立的元素忽略单词之间的顺序和语法结构仅关注单词的出现与否及其频率。
有了词向量由此现在的任务就是找到一个合适的Q
Word2Vec模型
从这个模型的名字就能看出来主要目的就是得到词向量本质上也是一种神经网络模型。 Word2Vec网络架构本身就和NNLM一模一样
两种模型架构 CBOW (Continuous Bag of Words)此模型尝试通过上下文中的词来预测中心词。具体来说CBOW 模型通过上下文窗口内的词语即周围的词来预测中心词。例如在句子“我 爱 吃 苹果”中如果“爱”和“吃”是上下文词那么 CBOW 模型会预测中心词“苹果”。 Skip-gram与 CBOW 相反Skip-gram 模型通过给定的中心词来预测周围的上下文词。假设给定“苹果”这个中心词Skip-gram 模型会根据它来预测“我”、“爱”和“吃”这几个上下文词。
NNLM和Word2vec的区别NNLM目的是预测下一个词Word2Vec是为了获得词向量。不需要使用tanh来保持预测准确性所以少了 一层激活函数只考虑Q矩阵的训练效果。
缺点当有一词多意的情况 不能通过一个Q 准确表示出来。比如”苹果“这个词只能表示水果苹果不能表示苹果手机的苹果。