自然语言处理 第四章 感知机分类与序列标注

自然语言处理笔记

自然语言处理(NLP)笔记 第一章 词典分词-CSDN博客

自然语言处理笔记 第二章 二元语法与中文分词-CSDN博客

自然语言处理笔记 第三章 隐马尔科夫模型与序列标注-CSDN博客

自然语言处理 第四章 感知机分类与序列标注-CSDN博客

自然语言处理笔记 第五章 条件随机场与序列标注-CSDN博客

自然语言处理笔记 第六章 词性标注-CSDN博客

自然语言处理笔记 第七章 命名实体识别-CSDN博客

机器翻译综述-CSDN博客

领域词性标注-CSDN博客


分类问题

二分类,多分类

NLP中的应用:

关键词提取:判断一个词是不是关键词:二分类

指代消解:对每个代词和每个实体判断是否存在指代关系:二分类

线性模型分类与感知机

线性模型是最简单常用的分类模型,用一条直线或高维平面将数据一分为二

描述样本特征的向量称为特征向量

构造特征向量的过程称为特征提取

用来提取每种特征的函数称为特征函数

独热(onehot)编码:

特征向量的每个维度代表一个特征,如上面例子就是onehot:两个特征、二维向量。在特征很多时,有稀疏性。

决策边界划分出决策区域。二维空间中,产生该决策边界的模型称为线性分类模型,高维空间的称为分离超平面

感知机算法:解决线性分类

1.读入训练样本(x(i),y(i)) ,执行预测y=sign(wx(i))

2.如果yy(i) ,则更新参数ww+y(i)x(i)

解释第二步:

如果数据本身线性不可分,感知机算法是不会收敛的,每次迭代参数会剧烈震荡,解决方案有:

1将样本映射到更高维空间,使其线性可分

2切换其他训练算法,比如支持向量机等

3使用投票感知机与平均感知机

(1)投票感知机:储存多个模型,预测时每个模型都给出各自的结果,加权取平均:准确率(权重)*模型结果

(2)平均感知机是取多个模型的权重的平均,不需要保存多个模型,只需要保留平均后的模型

实例:基于感知机的人名性别分类

标注人名分类语料库(将名字的第1,2个字作为特征);

利用感知机算法训练线性模型;

利用线性模型给人名分类,评估准确率

结构化预测问题

定义:

对于回归问题,这个函数输出一个标量;对于分类问题,这个函数输出一个类别(一个one-hot的向量)。而结构化预测的输出复杂得多,是有结构的输出,比如,一个序列,一个句子,一个图,一颗树。

预测值y :

对序列中的连续标签提取如下转移特征

设S0=BOS, 表示序列第一个元素之前的虚拟标签

转移特征编号:k=i*N+j, 共有(N+1)*N种转移特征

定义每个时刻的状态特征为:

具体状态特征什么时候为1,取决于特征模版

结构化感知机的特征函数定义为:

   K∈[0, (N+1)*N],l ∈[(N+1)*N+1,…]  (即,l 的编号顺着k往后取)

权重w

应用:

  通过维特比算法(正向递推求路径长度,反向回溯求最优路径)

多线程:

将训练集平均分为𝑚份分配给各线程所创建的共计𝑚个线性模型

这些线性模型共享特征函数却拥有独立的权重向量

训练结束后主线程负责将这𝑚个权重向量平均,返回平均后的模型

特征裁剪,模型压缩:

独热编码特征利用率低,浪费空间时间。

解决方法:将特征按区分能力排序,去掉一定比例的低能力特征。模型体积的减小量一般大于这个比例。

实验证明特征裁剪对准确率的影响很低。

准确率与性能

模型调整:

词典内容太多太细反而容易出现歧义词

因此:长词适合在词典中加入,短的易引发歧义的词,通过标注语料库,训练模型解决

在线学习(更加灵活):

以前讨论的都是批量学习,就是给了一堆样例后,在样例上学习出假设函数h。而在线学习就是要根据新来的样例,边学习,边给出结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值