nlp5-n-gram/语言模型(数据平滑方法
文章目录
- 1.句子的先验概率
- 1.1 n-gram
- 2. 参数估计
- 3. 数据平滑
- 3.1 数据平滑度方法
- 3.1.1加1法
- 3.1.2减
1.句子的先验概率
- 这个联合概率太小了
- 窗口越大,共现的可能性越小
- 参数多
- 解决:等价类
- 不看所有的历史信息
- 只看部分历史信息,但看所有的历史等价
- 如何划分等价类
将两个历史映射到同一个等价类,当且仅当这两个历史中的最近 n-1 个基元相同,即:
1.1 n-gram
- 这种情况下的语言模型称为 n 元文法(n-gram)模型
- 当 n=1 时,即出现在第 i 位上的基元 wi 独立于历史。一元文法也被写为 uni-gram 或 monogram;
- 当 n=2 时, 2-gram (bi-gram) 被称为1阶马尔可夫链;—效果比1好一点
- 当 n=3 时, 3-gram(tri-gram)被称为2阶马尔可夫链,
- 依次类推。
- 为了保证条件概率在 i=1 时有意义,同时为了保证句子内所有字符串的概率和为 1,即 ,可以在句子首尾两端增加两个标志: w1 w2 … wm 。不失一般性,对于n>2 的 n-gram,p(s) 可以分解为:
- eg
- 拼音转文字
- 样本空间
- 1−N,2−N21-N,2-N^21−N,2−N2
- 对汉语来说4-gram可能好一点
- 汉语分词问题
- 给定汉字串:他是研究生物的。
- 可能的汉字串:
- 他|是|研究生|物|的
- 他|是|研究|生物|的
- 2元文法:
- p(Seg1) =p(他|)×p(是|他)×p(研究生|是)× p(物|研究生)×p(的|物)×p(的|)
- p(Seg2) = p(他|)×p(是|他)×p(研究|是)× p(生物|研究)×p(的|生物)× p(的|)
2. 参数估计
- 训练语料(training data):用于建立模型,确定模型参数的已知语料。
- 最大似然估计(maximum likelihood Evaluation, MLE):用相对频率计算概率的方法。
- 存在问题:没有出现过的词怎么办?概率为0数据匮乏(稀疏) (Sparse Data) 引起零概率问题
- 解决:数据平滑
- 解决:数据平滑
3. 数据平滑
- 数据平滑的基本思想:
调整最大似然估计的概率值,使零概率增值,使非零概率下调,“劫富济贫”,消除零概率,改进模型的整体正确率。 - 基本目标:
测试样本的语言模型困惑度越小越好。 - 困惑度定义
3.1 数据平滑度方法
3.1.1加1法
- 加1法
- 基本思想: 每一种情况出现的次数加1。
- 例如,对于 uni-gram,设 w1, w2, w3 三个词,概率分别为:1/3, 0, 2/3,加1后情况?
- 2/6, 1/6, 3/6
3.1.2减
nlp5-n-gram/语言模型(数据平滑方法相关推荐
- 统计语言模型,平滑方法,困惑度
目录 统计语言模型 零概率问题和平滑方法 拉普拉斯平滑 Add‐One 平滑 Add‐K 平滑 插值平滑 古德-图灵估计 Katz平滑 困惑度(Perplexity) 统计语言模型 统计语言模型的意义 ...
- 自然语言处理之数据平滑方法
在自然语言处理中,经常要计算单词序列(句子)出现的概率估计.但是,算法训练的时候,预料库中不可能包含所有可能出现的序列,因此为了防止对训练样本中为出现的新序列概率估计值为零,人们发明了不少可以改善估计 ...
- python 数据平滑_数据平滑方法的原理和应用
一.简介 在实际的工程应用中,经常会遇到初始结果噪声太多的问题,比如信号强度抖动的太厉害,比如视频流中的bbox抖动的太厉害,比如光谱信号抖动的太厉害等等,这时候就需要一些简单的滑动平均算法.滑动平均 ...
- 自然语言处理(九)——数据平滑
一.概念 什么是数据平滑?我通过一个例子来解释一下.假设有如下语料库: { 今天 天气 不错, 天气 晴朗, 晴朗 的 天气, } 如果要计算句子s="晴朗天气"的概率(用二元语法 ...
- 数据挖掘中的数据预处理方法总结
1.原始数据存在的几个问题:不一致:重复:含噪声:维度高. 2.数据预处理包含数据清洗.数据集成.数据变换和数据归约几种方法. 3.数据挖掘中使用的数据的原则 应该是从原始数据中选取合适的属性作为数据 ...
- 怎么进行数据平滑滤波_气相色谱数据处理方法 EWG1990仪器学习网
2018/12/29 作者/EWG1990仪器学习网 本节涉及气相色谱仪的几种常用检测器(TCD.FID.ECD.FPD.NPD等)的数据采集和数据分析,这类信号不包含质谱.光谱类的辅助信息,其关键在 ...
- NLP常见语言模型及数据增强方法总结
文章目录 一.NLP常见语言模型 1.词的离散表示 1.One-hot编码(独热编码) 2.Bag of Words(BOW,词袋模型) 3.N-gram语言模型 2.词的分布式表示 1.共现矩阵(C ...
- N-gram语言模型 Perplexity 平滑
文章目录 1. N-gram语言模型 2. Perplexity(困惑度) 3. 平滑方法 3.1 问题 3.2 常用方法 3.2.1 Laplace平滑 (add-one, add-α) 3.2.2 ...
- NLP数据增强方法总结:EDA、BT、MixMatch、UDA
1. 数据增强的背景和应用场景 随着AI技术的逐步发展,更好的神经网络模型对数据规模的要求也逐步提升.而在分类任务中,若不同类别数据量相差很大,模型则会出现过拟合现象,严重影响预测的正确性. 从广义上 ...
最新文章
- .NET Core 3.0 Preview 6中对ASP.NET Core和Blazor的更新
- Java实现海明距离简单计算
- Buy Tickets(poj 2828)
- 顺序表基本操作函数总结
- SQL Server 2005 Compact Edition 程序设计与性能优化
- java autovalue_Android AutoValue使用和扩展库
- Mono和.NET Core 从比翼双飞到合体
- 修改mysql锁空间大小
- c++ 协程_Python3 协程(coroutine)介绍
- 找到dht网络的节点了
- 论文理解(一)树形lstm
- 计算机病毒——代码自解密
- Must specify unique android:id, android:tag, or have a parent with an id for XXX
- linux关闭云锁服务器,安全软件之linux系统下云锁简单的安装方法
- Xshell快速命令集解放生产力
- 海带不能和什么一起吃 吃海带的好处
- bsfl ecx,ecx
- 万字拆解自嗨锅:造价近百万的直播间,是单场直播GMV破100万的法门吗?
- 头歌--C++之if-else基本性质
- 【经典漏洞回顾】Microsoft Windows Win32k本地提权漏洞分析(CVE-2015-0057)
热门文章
- 【干货】同步与互斥的失败例子
- 我在深圳,但是家里托人在老家找了一份工作
- 第4章 第三节 内核同步
- linux errno 线程,Linux errno 错误对照表
- 【Pytorch神经网络实战案例】22 基于Cora数据集实现图注意力神经网络GAT的论文分类
- 天池 在线编程 删除字符(单调栈)
- LeetCode 426. 将二叉搜索树转化为排序的双向链表(BST中序循环遍历)
- LeetCode 1228. 等差数列中缺失的数字
- 支持向量机(Support Vector Machines,SVM)
- LeetCode 384. 打乱数组(rand)