L18

心理学与DL,RL
巴浦洛夫的狗:

消退:词向量需要不断更新
泛化:被蛇咬过,看到绳子也害怕。

过拟合
欠拟合
过拟合与欠拟合的区别在于,欠拟合在训练集和测试集上的性能都较差,而过拟合往往能较好地学习训练集数据的性质,而在测试集上的性能较差。

联结主义:
给一个行为:X-黑箱子-Y
多次重复该行为后,X与Y就有了联结

L19

斯金纳的鼠
操作性条件反射

那么反馈机制很重要:
Max Matching|Segment|Term Frequency(NLP L18-25笔记)
强化学习的目标函数(李宏毅的PPT):
Max Matching|Segment|Term Frequency(NLP L18-25笔记)
强化原理:正强化,负强化
reward机制:正惩罚,负惩罚

L20
Pipeline:
Max Matching|Segment|Term Frequency(NLP L18-25笔记)
Word Segmentation
Spell Correction
Stop Words Removal
Stemming

L21

Word Segmentation
Max Matching|Segment|Term Frequency(NLP L18-25笔记)

直接调用结巴(结巴底层有多种算法,未公开):
调用add_world(),词库中加入新词
Max Matching|Segment|Term Frequency(NLP L18-25笔记)
分词工具的底层(算法讲解):

1.最大匹配:Max Matching
希望自己匹配到的单词越长越好

1.1前项最大匹配:

假设有以下词典库。定义参数:max_length=5.
Max Matching|Segment|Term Frequency(NLP L18-25笔记)
Step1.卡前五个单字窗口,没有则减掉一个单字
【我们经常有】意见分歧
Step2.继续减
【我们经常】
【我们经】
【我们】
Step3.
【我们】作为单独的单词被识别,那么窗口后移
【经常有意见】分歧

继续上述操作,
最终得到【我们】【经常】【有】【意见】【分歧】

算法-贪心:选择当前情况下最优local optimal(而不能保证global optimal)

算法-DP: 降低算法复杂度后,可以获得全局最优解

*Beam Search 集束搜索

!自己做编写分词工具练习

1.2后向最大匹配:
Max Matching|Segment|Term Frequency(NLP L18-25笔记)
我们经常【有意见分歧】
我们经常有【意见分歧】
我们经常有意【见分歧】
我们经常有意见【分歧】
‘’’’’’
我们【经常有意见】

我们经常【有意见】
,
【我们经常】

有些少数例子里面,前项与后项匹配的分词可能有微小差别。

1.3 双向最大匹配

参考:中文分词引擎 java 实现 — 正向最大、逆向最大、双向最大匹配法

语义层-句子层-单词层(max matching)
Max Matching|Segment|Term Frequency(NLP L18-25笔记)

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 worlds in 书

P(我们|今天|上课)=P(我们)(今天)(上课),可以通过term frequency计算出来

那么这个概率可能会非常非常小 可能是-inf /underflow

logP(经常|有|意见|分歧),加完log后,则可以将乘积拆分成加法,为logP(经常)+logP(有)+logP(意见)+logP(分歧)

为啥可以加上log:因为 如果P(S1)>P(S2),那么一定有logP(S1)>logP(S2)

相关文章: