自然语言处理课程学习笔记

湾区人工智能2018-12-03 07:58:36

NLP七月在线
自然语言学习笔记,已经发布博客2018.5
照着PDF的内容解释。

****************************课程大纲**********************************

第1课 NLP基础技能
知识点1:NLP背景、意义与常见问题
知识点2:基本文本处理技能:中英文字符串处理、工具分词、基本统计、正则表达式
实战项目:文本数据清洗、提取、分词与统计
 

第2课 从语言模型到朴素贝叶斯
知识点1:语言模型与计算
知识点2:朴素贝叶斯
实战项目:文本情感分析案例与新闻分类
'''
朴素贝叶斯法是基于贝叶斯定理和特征条件独立假设的分类方法。首先学习输入输出的联合概率分布,然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。
后验概率最大等价于0-1损失函数的期望风险最小化。
是典型的生成学习方法,由训练数据求出联合概率分布,再求出条件概率分布(后验概率)。
概率估计方法是:极大似然估计或者贝叶斯估计。
基本假设是条件独立性
'''
 
朴素贝叶斯(到1:20:45)

朴素贝叶斯新闻分类(到1:30:38) 问题:无法读取数据

朴素贝叶斯完成语种检测(到1:37:50) 成功运行

从NB到语言模型(到2:09:40)
'''
朴素贝叶斯分类完成语种检测 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法 [1] 。最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。 和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier,或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。
'''
第3课 LDA主题模型
 知识点1:pLSA、共轭先验分布
知识点2:LDA
实战项目:使用LDA进行文档分类 问题:无法读取数据
'''
概率潜在语义分析(pLSA) [1]  基于双模式和共现的数据分析方法延伸的经典的统计学方法。

概率潜在语义分析应用于信息检索,过滤,自然语言处理,文本的机器学习或者其他相关领域。概率潜在语义分析与标准潜在语义分析的不同是,标准潜在语义分析是以共现表(就是共现的矩阵)的奇异值分解的形式表现的,而概率潜在语义分析却是基于派生自LCM的混合矩阵分解。考虑到word和doc共现形式,概率潜在语义分析基于多项式分布和条件分布的混合来建模共现的概率。所谓共现其实就是W和D的一个矩阵,所谓双模式就是在W和D上同时进行考虑。
PLSA有时会出现过拟合的现象。所谓过拟合(Overfit),是这样一种现象:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在训练数据外的数据集上却不能很好的拟合数据。此时我们就叫这个假设出现了overfit的现象。出现这种现象的主要原因是训练数据中存在噪音或者训练数据太少。

解决办法,要避免过拟合的问题,PLSA使用了一种广泛应用的最大似然估计的方法,期望最大化。PLSA中训练参数的值会随着文档的数目线性递增。PLSA可以生成其所在数据集的的文档的模型,但却不能生成新文档的模型。

'''

主题模型理论

 直观版(到0:36:00)

 标准版(到0:51:41)

 公式版(到1:20:54)

实战:一眼看穿“希拉里右键门”(到2:08:07) 问题:无法读取数据

 

第4课 基于统计的翻译系统
 知识点1:语言模型与翻译模型
知识点2:对齐模型
实战项目:基于统计的翻译系统搭建

双语数据预处理(到0:18:07)

词对齐(到0:58:58)

短语翻译—短语抽取(到1:17:35)

短语翻译—概率估计(到1:25:03)

解码(到1:37:37)

翻译系统评估(到2:05:24)

第5课 隐马尔科夫模型及其应用
 知识点1:隐马尔科夫模型
实战项目:用隐马尔科夫模型完成基因序点识别
 '''
 第十章 隐马尔科夫模型 hidden Markov model,HMM 标注问题  生成模型 NLP
是用于标注问题的统计学模型,描述由隐藏的马尔科夫链随机生成观测序列的过程,属于生成模型。表示状态序列和观测序列的联合分布,状态序列是隐藏的。
标注问题是给定观测序列预测对应的标记序列。
概率计算:计算在模型下观测序列出现的概率。前向,后向算法是通过递推的计算前后向概率可以高效进行隐马尔科夫模型的概率计算。
学习问题:在模型下让观测序列概率最大,用极大似然估计法估计参数。极大后验概率估计。具体算法有:概率计算公式和EM算法。
预测问题:维特比算法应用动态规划高效的求解最优路径,即概率最大的状态序列。
'''
马尔科夫链(到0:06:25)

隐马尔科夫链(到0:29:47)

隐马尔科夫链解法(到1:23:55)

隐马尔科夫链应用(到1:50:48)

实例(到2:20:47)

第6课 深度学习与NLP简单应用
 知识点1:循环神经网络
知识点2:BPTT算法
实战项目:模仿小四与李白写作的生成模型

Intro(到0:10:20)

Auto-Encoder(到0:40:55)

CNN4Text(到1:05:51)

RNN(到1:15:52)

LSTM(到1:24:34)

案例(到1:54:06)
 

第7课 词向量与相关应用
 知识点1:从one-hot到word2vec
实战项目:借助词向量的机器学习/深度学习文本分类
 
词向量(到0:40:35)

SVD(到0:46:56)

NNLM(到1:03:39)

word2vec(到1:25:08)

GloVe(到1:34:36)

相关应用(到1:48:04)

第8课 条件随机场与应用
 知识点1:最大熵与词性标注
知识点2:条件随机场
实战项目:基于条件随机场的NBA比赛结果分析


'''
第十一章 条件随机场 CRF 标注问题 判别模型 NLP
conditional random field CRF是给定输入随机变量X条件下,输出随机变量Y的条件概率分布模型,其形式为参数化的对数线性模型。最大特点是假设输出变量之间的联合概率分布构成概率
无向图模型(马尔科夫随机场),属于判别模型。
线性链条件随机场表示为在观测序列条件下的标记序列的条件概率分布。由参数化的对数线性模型表示。
概率计算采用前后向算法
学习方法:(正则化的)极大似然估计法:即在给定训练数据下,通过极大化训练数据的对数似然函数来估计模型参数。具体的算法有:迭代尺度算法,梯度下降法,拟牛顿法。
应用:标注。维特比法:给定观测序列,求条件概率最大的标记序列的方法。
'''
最大熵模型(到0:41:23)

条件随机场(到1:26:28)

条件随机公式及CRF分词(到1:50:27)

 *****************************里面有正则表达式*************************
 第一课

NLP基础知识
Python基础知识7分钟

正则表达式验证工具
https://regexr.com/v1/
基本字符
.匹配除了换行符外所有字符
\d匹配所有数字
 能找到所有数字
\D除了数字之外的所有字符
\s匹配空格,换行,肉眼看到是空白的地方
\S除了空白之外的东西
 大写都是小写的反面
\w数字,字母,下划线A--Z a--z 0--9之间的任意一个都会被匹配
\W除了刚才的东西
13分钟结束
 指定多少个字符。
{}贪婪匹配
\d{2}同时找出2个连接的数字,如果是3,同时找3个链接在一起的
\d{2,5}2到5个数字
#正则化中^代表用^后面的开头,[-+]?表示[-+]可以出现,也可以不出现,\d匹配所有数字,\d+数字后面可以连接无数数字,但不能是其他东西,包括空格和字母
        list_s = re.findall(r"^[-+]?\d+", s.strip()) #删除前,后空格。这样容易导致开始碰到数字就为空列表
        验证回文字符串
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
方法2  通过
思路:
正则表达式筛选合适的字符串
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true


示例 2:
输入: "race a car"
输出: false

class Solution(object):
    def isPalindrome(self, s):
        """
        :type s: str
        :rtype: bool
        """
        import re
        s = re.sub('[^a-z0-9]','',s.lower())#Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。
        return s == s[::-1]
my_solution = Solution()
s = "leetc,ode"
num = my_solution.isPalindrome(s)
print(num)

?匹配前一个0次或者1次
abc?表示字母c可以出现,也可以不出现
 等价于abc{0,1}

*表示0次或者无限个
abc*表示ab或者abc,abccc,abccc等。要么不出现,要么匹配到结束

+至少出现一次
abc+不包含ab,包含abc, abcccc等无数c的情况

a(bc)+用括号表示组合,bc为一个整体,必须一起出现

[]括起来字符
[acd]找出段落中出现的acd,无论是否只有一个a,还是acd一起出现。

^匹配字符串开头
$匹配字符串末尾
^We$:匹配W开始,e结束的单词,中间只要是字符就行

\b匹配\w和\W之间

(at)|(ce)或者意思

^[a-f]+$
 (...).*\1前面三个字符,后面也是相同的字符,中间字符无所谓
下面列举一些正则表达式里的元字符及其作用


元字符

说明


. 代表任意字符
| 逻辑或操作符
[ ] 匹配内部的任一字符或子表达式
[^] 对字符集和取非
- 定义一个区间
\ 对下一字符取非(通常是普通变特殊,特殊变普通)
* 匹配前面的字符或者子表达式0次或多次
*? 惰性匹配上一个
+ 匹配前一个字符或子表达式一次或多次
+? 惰性匹配上一个
? 匹配前一个字符或子表达式0次或1次重复
{n} 匹配前一个字符或子表达式
{m,n} 匹配前一个字符或子表达式至少m次至多n次
{n,} 匹配前一个字符或者子表达式至少n次
{n,}? 前一个的惰性匹配
^ 匹配字符串的开头
\A 匹配字符串开头
$ 匹配字符串结束
[\b] 退格字符
\c 匹配一个控制字符
\d 匹配任意数字
\D 匹配数字以外的字符
\t 匹配制表符
\w 匹配任意数字字母下划线
\W 不匹配数字字母下划线

37分钟结束
re模块提供对正则表达式支持
import re
 1 将正则表达式编译为pattern对象
2 使用pattern匹配文本,获得匹配结果,无法匹配返回none
 3
使用match获取分组信息
flag可选值
re.compile()

实现一个匹配目标,字符串有多种写法。看哪个方法好。
60分钟
jieba中文处理
 和拉丁语系不同,亚洲语言是不用空格分开单词的。
 中文被切分为有意义的单词
jieba.cut()最合适的分词
jieba.cut_for_search()

传统SSMT基于统计的机器翻译
 关于TF-IDF算法,关键词抽取
import jieba.analyse
 stop words停止词,给与更多权重,注意力
textrank函数

Tokenize返回词语在原文的起止位置。

************************************* 第二节  从语言模型到朴素贝叶斯分析 ************************************************


第2课 从语言模型到朴素贝叶斯
 知识点1:语言模型与计算
知识点2:朴素贝叶斯
实战项目:文本情感分析案例与新闻分类

朴素贝叶斯(到1:20:45)

朴素贝叶斯新闻分类(到1:30:38)

朴素贝叶斯完成语种检测(到1:37:50)

从NB到语言模型(到2:09:40)
¥¥¥¥¥¥¥¥¥大纲结束¥¥¥¥¥¥¥¥¥


 学习NLP非常好的切入口

贝叶斯公式:P(Y|X) = P(X|Y)P(Y)/P(X)
P(Y)先验概率(全概率),后验概率(条件概率):P(Y|X),联合概率P(Y,X)

在机器学习概念下:
X是具有某个特征,Y是属于某类。
二分类目的就是判断概率P是否大于0.5就行了。

垃圾邮件识别举例子

分词:一句话可以分成很多离散单词,单词的集合可以理解为一个向量,向量的每一个维度都表示该特征词在文本中的特定位置

条件独立假设:很朴素,很单纯,幼稚的假设每个特征是条件独立的。转化为了求邮件中关键词出现的概率。
朴素贝叶斯法:就是加上条件独立假设的贝叶斯方法。
朴素贝叶斯让句子失去了词语之间的顺序信息,也就是只算每个词的概率,和顺序无关了,就类似于把很多词语仍在词语的袋子里搅拌。
bag of words词袋:把词放在袋子里,不管里面的排列顺序如何

9处理重复词语的三种方式
9.1:多项式模型:每个重复词语其实就是出现概率的指数次方。

9.2
伯努利模型
认为重复的词语视为出现一次

9.3混合模型
计算句子概率时候不考虑重复词语,但是在统计单词概率时候要考虑重复词语出现的次数。
垃圾邮件状况,混合模型更好些。

10 去除停用词与选择关键词
停用词:对于分类没有帮助的词语,
关键词:正规发票,发票,
普通词语:我司,优惠等
为了简化处理,我们只提取关键词来识别垃圾邮件,这样速度很快。
停用词和关键词都是人为划分的,也决定了不同的结果。

11平滑技术
有些本来存在的词概率为零,也就是概率失真问题。我们就默认这种情况下的概率为一个很小的数字,让处理上更准确
平滑技术都是给未出现在训练集中的词语一个估计的概率,而相应地调低其他已经出现的词语的概率。
平滑技术是因为数据集太小而产生的现实需求。如果数据集足够大,平滑技术对结果的影响将会变小。

12
内容小结43分钟
朴素贝叶斯进行文本分类的基本思路是先区分好训练集与测试集,对文本集合进行分词、去除标点符号等特征预处理的操作,然后使用条件独立假设,
将原概率转换成词概率乘积,再进行后续的处理。
贝叶斯公式 + 条件独立假设 = 朴素贝叶斯方法
基于对重复词语在训练阶段与判断(测试)阶段的三种不同处理方式,我们相应的有伯努利模型、多项式模型和混合模型。
在训练阶段,如果样本集合太小导致某些词语并未出现,我们可以采用平滑技术对其概率给一个估计值。
而且并不是所有的词语都需要统计,我们可以按相应的“停用词”和“关键词”对模型进行进一步简化,提高训练和判断速度。

13
直接匹配关键词识别垃圾邮件
14
实际工程的tricks
 14.2转换为权重
14.3 选取topk的关键词
14.4分割样本
 关键词被较长的篇幅稀释了。
 把文章分成很多部分,在每个小部分
14.5 位置权重
 只有标题是垃圾邮件,但是内容都是正常邮件。
 所以根据词语出现位置,对标题加重权重

14.6
 trick6:蜜罐
15

15.1逆概率问题
从间接的可以观测到的对象去推测不可以观测的对象
基于邮件的文本内容判断其属于垃圾邮件的概率不好求(不可通过直接观测、统计得到),但是基于已经搜集好的垃圾邮件样本,去统计(直接观测)其文本内部各个词语的概率却非常方便。
这就可以用贝叶斯方法。
引申一步,基于样本特征去判断其所属标签的概率不好求,但是基于已经搜集好的打上标签的样本(有监督),却可以直接统计属于同一标签的样本内部各个特征的概率分布。
因此贝叶斯方法的理论视角适用于一切分类问题的求解。
15.2
处理多分类问题
 邮件分成垃圾邮件和非垃圾邮件,正常邮件分为工作和私人邮件
而 P(X|Yi)叫做“似然函数”。直接理解成“ P(Yi|X)的逆反条件概率”

15.3先验概率的问题
邮件多分类中,三个先验概率都相等,简化为了P(Yi|X)正比于P(X|Yi),也就变成了最大似然法:不考虑先验概率,直接比较似然函数P(X|Yi)


16 贝叶斯方法常见应用
16.1 褒贬分析
 对否定词进行特别处理
16.2拼写纠错

16.3

17 内容总结
1.21分

 给了例子:新闻主题分类
set()集合便利

语种检测
1.38分代码分析结束

………………………………………………………………………………………………………………………………下一个PDF………………………………………………………………………………………………………………………………
从NB到语言模型
1引言:朴素贝叶斯的局限性:条件独立假设,用词袋理论,无法考虑词语的顺序问题, N-gram语言模型就可以解决词语顺序识别问题


2
 N-gram语言模型

 2.1 从条件独立假设到联合概率链规则。
 去掉条件独立假设就可以得到联合概率链规则

 2.2 从联合概率链规则到N-gram语言模型
 联合概率链规则的简化版本就是n-gram语言模型。一个词语依赖于前面n个词语,这也是马尔科夫假设:下一个词的出现仅仅依赖前面的几个或者一个词语。
 一元语法:下一个词和前面的一个词有关
 二元语法:下一个词和前面2个词有关
 n元语法:下一个词和前面的n个词有关,就是n-gram

 2.3 如何选择依赖词的个数n?
 理论上n越大越好,但是
 训练语料有限,不满足大数定律,容易产生数据稀疏,概率失真。
n过大,参数空间也是过大,内存不够用,也不适用。
一般选择n=2,或者3.叫做bigram,trigram

3
实际应用
3.1 词性标注(名词,形容词,动词等)
词性标注是一个多分类问题,基于词性标注语料库做一个统计
3.2
垃圾邮件识别

3.3 中文分词
中文分词理解为一个多分类问题。

3.4 机器翻译和语音识别

4 平滑技术
为了解决0概率问题,我们需要给未出现的n-gram条件概率分配一个合适的估值,但是已经出现的n-gram条件概率就要降低,因为他们的概率和是1.

4.1 拉普拉斯平滑
就是加1平滑,保证每个n-gram都加上1.当n-gram未出现次数过多,效果不好

4.2 good turing平滑

4.3 组合估计平滑


2:00
提到了guthub里面的库,很棒
 最后4分钟在答疑

***********************************第三课 LDA主题模型***********************************
LDA文档主题生成模型
Latent Dirichlet Allocation潜在狄利克雷分配

第3课 LDA主题模型
 知识点1:pLSA、共轭先验分布
知识点2:LDA
实战项目:使用LDA进行文档分类


主题模型理论

 直观版(到0:36:00)

 标准版(到0:51:41)

 公式版(到1:20:54)

实战:一眼看穿“希拉里右键门”(到2:08:07) 问题:无法读取数据


 微博翻滚吧_加号
PPT在群文件模型什么的
 直观版,标准版,公式版
 实战:一眼看穿希拉里邮件门
 什么是主题模型
 我拿到文章,告诉我文章的主题:科技,娱乐。商业等主题
 简历分析:特征组成简历,
LDA:Latent Dirichlet Allocation:是一种无监督的贝叶斯模型
P14什么是贝叶斯模型
 把两个概率的关系做了交换
 用概率作为可信度,每次看到新数据,就更新可信度
 简历和好工程师的关系
P20 topic作为中间层,可以修改分布,拟合成
P23页公示版开始
 共轭分布和共轭先验
 二项分布
 伯努利分布
 多项分布
beta分布
Dirichlet分布
P33
 PLSA模型和LDA区别在于:频率派思想和贝叶斯派思想。
 文本生成模型

1:21分钟
 用网页版html的文件讲课
LDA模型应用:一眼看穿希拉里邮件
 开始一行行分析代码
import re 正则表达式


***********************************第四课 基于统计的翻译系统***********************************
大纲
双语数据预处理(到0:18:07)

词对齐(到0:58:58)

短语翻译—短语抽取(到1:17:35)

短语翻译—概率估计(到1:25:03)

解码(到1:37:37)

翻译系统评估(到2:05:24)
¥¥¥¥¥¥¥¥¥大纲结束¥¥¥¥¥¥¥¥¥
第一部分:IBM 1 AND 2 MODEL
关联:句子中词和词的对应关系
一个alignment(队列)就是一个长度为m的序列。把法语中的每个单词映射到英语中。
多个单词可以映射到一个单词上。
IBM1用于寻找最大可能的序列alignment
EM算法计算这两个模型

第二部分:双语数据预处理
翻译第一步:
数据预处理就是分词处理:
中文分词预处理:采用基于词典的正向最大匹配法
数字,日期,时间等字符采用正则化处理

英文分词处理:
字符全部小写话
句子末尾句号和最后一个单词分开
数字,日期,时间等字符采用正则化处理

第三部分 :词对齐
词对齐是机器翻译系统的第二步。就是得到中英文词语的对应关系。
双向对齐:对应单词后面数字一致
单向对齐:只有一个单词对应另外一个,另外一个单词却没有数字对应
学习目标:学会使用词对齐工具 GIZA++并自行开发词对齐对称化程序。
词对齐对称化算法

第四讲  短语翻译表构造--短语抽取
短语抽取是统计机器翻译系统的第三步。
短语抽取的任务是从含有词对齐信息的双语平行句对中学习解码器在翻译过程中使用的翻译短语。
一致性短语:使用含有词对齐信息的双语平行句对进行短语抽取时候,抽取出的短语需要和词对齐保持一致
短语抽取算法

第五讲 短语翻译构造--概率估计
短语翻译表概率估计是统计机器翻译系统的第三步。
作用对翻译短语对的正确性进行评估
四个分数的计算:双向短语翻译概率,双向词汇化权重

第六讲 解码
概率机器翻译
寻找翻译期望的最大概率


 ***********************************第五课  隐马尔科夫模型及其应用***********************************

 公式好多,看来要好好研究数学公式了
 三个部分:状态,初始向量,状态转移矩阵。
 隐含状态
13隐马尔科夫链三大问题
 感觉完全听不懂在讲啥,类似读大学时候,听不懂老师在讲啥东西。
 坐在下面茫然的听着。
 应用:词性标注
1:51分讲解代码:使用HMM进行词性标注
 *********************************** 第六课 深度学习与NLP简单应用***********************************

 第六课 深度学习与NLP简单应用
 问题原型:Text->Label
 keras.io库,TF可以使用这个库
auto-encoder
 original input--encoder--compressed representation --decoder--reconstructed input

任务:数据降噪,数据降维
 农场主假设,无法跳出自己的维度
 局部最优解
auto-encoder的代码26.43分
ASCIIAutoencoder只能代表英文字母和标准字符。这也是Python2和3的最大区别。Python基于ASCII,Python基于unicoder8能够兼容汉语等各种语言
CNN4Text
卷积Convolved Feature
泰姬陵不同效果
 中间有数字
 左边模糊,右边轮廓
 外圈0,内圈1,不论什么颜色,在中间都会融合起来,就是模糊效应
 轮廓滤镜:四周都是空白,中间是-4,
 这个东西迁移到文字处理
 把句子拓展成为类似图片的表达式
maxpool最大池,只有最大数字被留下来
 进入池化层所有东西都会横向排布,
RNN hypothesis假设
 人类看文字时候都是用图片思维。
 边界处理Narrow vs wide
步伐大小stride size
案例:
NLP预处理,去除非字母,全部小写。去除stopwords,lemma,得到向量,

普通神经网络
input,hidden,output
 RNN可以带上记忆
LSTM长效记忆网络
x进来,
 忘记门,记忆门,
 案例:
 维度1:下一个字母,句子,单词,文章,图片,音符,视频,是什么东西,
1:29分解释代码
 用RNN做文本生成,类似李开复搞得人工智能生成新歌曲
 有个项目可以免费下载经典原著,
 建议大家在服务器或者在GPU上自己跑,在家里跑一个星期,
one-hot编码字母
 老师通过qq群分享视频,。然后用另外一个软件录制桌面,让分享在qq群里的视频保存下来。

 ***********************************第七课  词向量和相关应用***********************************

第七课  词向量和相关应用
N-gram
TF-IDF
word2vec
NLP常见任务:
自动摘要
指代消解
机器翻译
词性标注
分词(中文,日文)
主题识别
文本分类

NLP处理方法:
HMM,隐马尔科夫模型
CRF:条件随机场
SVD:支持向量机
LDA:隐狄利克雷分布,文档主题生成模型,
CNN:卷积神经网络

词编码需要保证词的相似性

简单词,短语,翻译
向量空间分布的相似性。在一个坐标里面,英语数字1和西班牙语数字一放在同样类似的地方

向量空间子结构
最终目标:词向量表示作为机器学习特别是深度学习的输入和表示空间

离散表示:One-hot表示
语料库
词典
词典包含十个单词,每个单词有唯一索引
词典中的顺序和在句子中的顺序没有关联

离散表示:bag of words
文档的向量表示可以直接把名词的词向量表示加和
 词权重: 词在文档中的顺序没有被考虑
 TF-IDF(term-frequency-inverse documents frequency
 短文本相似性,伯努利朴素贝叶斯
Bi-gram and N-gram

语言模型:一句话出现的概率。

离散表示的问题:
无法衡量词向量之间的关系
词表维度随着语料库的增加而膨胀
N-gram随语料库膨胀更快
数据稀疏问题


词语出现的频率很高,说明很重要。

 分布式表示:用一个词附近的其他词来表示该词

 共现矩阵cocurrence matrix
用于发现主题

局域窗中的Word-Word矩阵可以挖掘语法和语义信息
存在问题: 将共现矩阵行列作为词向量
向量维数随着词典线性增大
空间消耗大,面临稀疏性问题,模型欠稳定

SVD降维:SVD对共现矩阵向量降维
面临问题:计算量膨胀太快,新词不容易获得词向量,与其他深度学习模型差异大

NNLM(神经网络语言模型)从语言模型出发,把模型最优化过程转化为求词向量的过程
NNLM结构:n-1个前向词,one-hot表示;采用线性映射把one-hot表示投影到稠密D维表示;输出层softmax;各层权重最优化BP+SGD

Word2Vec,CBOW(连续词袋)
无隐层,使用双向上下文窗口,上下文词序无关,输入层直接使用低维稠度表示,投影曾简化为求和

CBOW:层次softmax

CBOW:负例采样1:23分

Word2Vec:Skip-Gram模型

Word2Vec存在问题:
对多义词无法很好表现和处理,因为使用了唯一的词向量。

总结:
离散表示:one-hot representation, bag of words unigram; N-gram 词向量表示和语言模型,co-currence矩阵的行,列作为词向量。

分布式连续表示:
co-currence 矩阵的SVD降维的低维词向量表示
Word2Vec continous bag of words model
Word2Vec Skip-Gram模型
 ***********************************第八课 条件随机场与应用conditional random field***********************************
大纲
最大熵模型(到0:41:23)

条件随机场(到1:26:28)

条件随机公式及CRF分词(到1:50:27)


最后一课,

CRF++库
 最大熵原理,鸡蛋不要放一个篮子里

11:00最大熵模型
 条件随机场
 权重学习
 感觉听不懂,像听天书,关键老师当时学习时候是怎么能够听懂他的老师讲课。
 我知道听不懂很正常,我读大学时候也是听不懂教授讲课。


账号:1040007524@qq.com
密码:shenzhen123

最后一课,没课2个小时。学完了此课程,感觉好多公式,搞不懂,很想从入门到放弃啊。
 为了年薪百万,还是要坚持,咬牙学。


Copyright © 温县电话机虚拟社区@2017