2024.3.9 神经语言网络模型$\longmapsto$主要是预测出下一个词
神经网络+语言模型——》用是神经网络的方法去完成以下两个和人说的话相关的任务
第二个任务:v
”判断“,”一个“,”词“,“的”,” “
假设词库里有”词性“和”火星“
P(' '|"判断",”一个“,”词“,”的“)
‘词性’
w1,w2,w3,w4(对应上述四个单词的独热编码)
W1*Q=C1
W2*Q=C2
W3*Q=C3
W4*Q=C4 #每个c都代表单词对应的词向量
C=[C1,C2,C3,C4]
Q就是上图中一个V*m随机矩阵,是一个参数(可学习)
”判断“,”一个“,”词“,“的”,”词性“
softmaX(U[tanh(WC+b1)]+b2)=[0.1,0.1,0.2,0.2,0.4] $\in[1,V_L]$
两层感知机
独热编码(one-hot编码)
独热编码:让计算机认识单词
词典V(新华字典里面把所有词集合成为一个集合V)
假设词典里面只有8个单词,计算机不认识单词,但是我们需要计算机认识单词”fruit"
独热编码:给出一个8*8的矩阵
“time”—>10000000
“fruit”—>01000000
"banana"—>00000001
余弦相似度:计算两者的相似度( 0 )—词向量(矩阵乘法)
如果向量a和b不是二维而是n维,上述余弦的计算法仍然正确。假定a和b是两个n维向量,a是 ,b是 ,则a与b的夹角 的余弦等于:
余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,夹角等于0,即两个向量相等,这就叫"余弦相似性"
词向量(神经网络语言模型的副产品Q)
给我一个词,如“判断”——》独热编码为W1[1,0,0,0,0](假设总共有5个词)
W1*Q=c1(c1则为“判断”这个词的词向量)
词向量:就是用一个向量来表示一个单词
并且可以通过控制Q来控制词向量的维度(大小)
通过词向量也间接解决了词之间的相似度问题
再次采用余弦相似度计算两个词向量之间的相似度,结果不再是0,从而可以一定程度上描述两个词之间的相似度
训练出神经网络模型,找到一个合适的Q矩阵,得到一个合适的词向量
如果我们得到的词向量,第一个比较的问题也被解决了(后续的下游问题)
总结
神经网络语言模型:通过神经网络解决两个人说的话的问题
产生的副产品:Q矩阵$\longmapsto$新的词向量(词向量可以选择词向量的维度,可以求出两个词之间的相似程度)
引出之后会讲到的下游任务
标签:编码,模型,独热,网络,余弦,单词,神经网络,神经,向量 From: https://www.cnblogs.com/adam-yyds/p/18062949