自然语言处理
用途
深度学习
深度学习的基础模型就是神经网络。根据模型进行优化,右边就是优化过程`。
为什么要进行深度学习。
相对于普通的机器学习算法来说,它具有下面这些优点。
语言模型
实例
存在问题
N-Gram模型
N的取值就是看这个词的出现依赖钱买你多少词。
第二个表格就是,当i出现时i,want,to…等出现的次数(i后边接着(want\to\eat)的次数)。,由此可以计算出第三个表格中的概率值及i后面出现want的次数是827,i出现总词数是2533,所以i后面出现want的概率为827/2533,算出来就是第三个表格对应的0.33.
参数规模
词向量
相近意思的词用词向量表示应该也是相近的。
对于两种语言构建出来的词向量应该是类似的,右边是西班牙语。
神经网络模型
优势
因为词向量类似,所以会把这几个句子看所是一个句子将所有句子的出现次数加起来,看作是一个句子出现的次数。
Hierarchical Softmax
神经网络两种实现模型。
CBOW就是输入几个词(上下文)然后经过一系列层预测出当前这一个词是什么。
Kkip-gram正好相反,输入是当前这个词,然后预测他的上下文。
CBOW
哈夫曼树。可以将权值看作词语出现的次数。
构造过程。可以进行编码。
逻辑回归-sigmoid函数来决定走哪个分支。
CBOW
输入词向量(每个大小为m维),在投影层将n-1个m维向量合在一起,然后进行求和。
不断更新的是词向量和参数值。
输入上下文,希望得到足球这个结果的概率是最大的。假设往右走是正例,往左走是负例,想要达到足球,要经过负例、正例、正例和负例;然后将这些概率值乘起来。
CBOW求解目标
使用似然函数求解,为了好求结果,使用对数似然函数。使用参数上角标来判断是正例还是负例,d=0时,表示正例,那后面部分就为1。后边的化简就是log(a*b)=log(a)+log(b).
梯度上升
化简得到更新表达式。因为是梯度上升,所以每次加上一个步长。
负采样