赞
踩
L18
心理学与DL,RL
巴浦洛夫的狗:
消退:词向量需要不断更新
泛化:被蛇咬过,看到绳子也害怕。
过拟合
欠拟合
过拟合与欠拟合的区别在于,欠拟合在训练集和测试集上的性能都较差,而过拟合往往能较好地学习训练集数据的性质,而在测试集上的性能较差。
联结主义:
给一个行为:X-黑箱子-Y
多次重复该行为后,X与Y就有了联结
L19
斯金纳的鼠
操作性条件反射
那么反馈机制很重要:
强化学习的目标函数(李宏毅的PPT):
强化原理:正强化,负强化
reward机制:正惩罚,负惩罚
L20
Pipeline:
Word Segmentation
Spell Correction
Stop Words Removal
Stemming
L21
Word Segmentation
直接调用结巴(结巴底层有多种算法,未公开):
调用add_world(),词库中加入新词
分词工具的底层(算法讲解):
1.最大匹配:Max Matching
希望自己匹配到的单词越长越好
1.1前项最大匹配:
假设有以下词典库。定义参数:max_length=5.
Step1.卡前五个单字窗口,没有则减掉一个单字
【我们经常有】意见分歧
Step2.继续减
【我们经常】
【我们经】
【我们】
Step3.
【我们】作为单独的单词被识别,那么窗口后移
【经常有意见】分歧
…
继续上述操作,
最终得到【我们】【经常】【有】【意见】【分歧】
算法-贪心:选择当前情况下最优local optimal(而不能保证global optimal)
算法-DP: 降低算法复杂度后,可以获得全局最优解
*Beam Search 集束搜索
!自己做编写分词工具练习
1.2后向最大匹配:
我们经常【有意见分歧】
我们经常有【意见分歧】
我们经常有意【见分歧】
我们经常有意见【分歧】
‘’’’’’
我们【经常有意见】
…
我们经常【有意见】
,
【我们经常】
…
有些少数例子里面,前项与后项匹配的分词可能有微小差别。
1.3 双向最大匹配
参考:中文分词引擎 java 实现 — 正向最大、逆向最大、双向最大匹配法
语义层-句子层-单词层(max matching)
L23
考虑语义:Incorporate Semantic (考虑语义)
输入->生成所有可能的分割->选择其中最好的(工具)
最经典的工具:Language Model
经常|有|意见|分歧
经常|有|意见|分歧
经常有|意见分歧
经常|有意见分歧
…
找到多个可能性分割
Unigram Language Model =》每个单词看做是独立存在的单词
P(经常|有|意见|分歧)=P(经常)P(有)P(意见)P(分歧)=0.3
P(经常|有意见|分歧)=P(经常)P(有意见)P(分歧)=0.35
之后返回概率更大的那一项。
书内词语出现的概率 term frequency TF
经常=100次
有=1000次
意见=500次
分歧=200次
P(经常)=100/#of words in book
P(我们|今天|上课)=P(我们)(今天)(上课),可以通过term frequency计算出来
那么这个概率可能会非常非常小 可能是-inf /underflow
logP(经常|有|意见|分歧),加完log后,则可以将乘积拆分成加法,为logP(经常)+logP(有)+logP(意见)+logP(分歧)
为啥可以加上log:因为 如果P(S1)>P(S2),那么一定有logP(S1)>logP(S2)
伪代码
1.分词,获得所有结果
2.对于所有结果,计算所有分词可能性的概率
3,.返回最高概率的分词结果
以上方法缺点:
复杂度过高!
生成可能的组合数目太多了!效率问题!
L24 分词-维特比算法
如果把第一步第二步合起来看,能否提升效果?
引入Viterbi Algorithm (本质也是Dynamic Programming DP算法)
+本来求log(S)的最大值,现在如果是-log(S),则为求-log(S)的最小值。
给定每个单词的TF与-log(X)值
状态机
!!!!!!!!!!
加负号和log后(以常数e为底,即为ln),我们要求概率最小的路径。
!!!!!!!!!!
转换成了下图 1-8的最短路径问题,核心为动态规划
假定:
f(8):从节点1-8 最短路径的值 (最终目标)
f(7):从节点1-7 最短路径的值
…
f(2):从节点1-2 最短路径的值
那么先求 能够到达第八个节点的路径
f(8):f(5)+3 从第五个节点跳到8
f(6)+1.6 从第六个节点跳到8
f(7)+20 从第七个节点跳到8
求最小值
f(7): f(6)+2.3
f(6): f(3)+2.3
f(4)+1.6
f5)+3
所以采用和之前一样的动态规划,维护数组
计算f(1)-f(8)
记录pointer最短的node来源,代码中应该还有一个数组记录
课后自己写一遍伪代码!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。