N元文法的统计

二元概率方程:

\[P(w_n|w_{n-1}) = \frac{C(w_{n-1}w_n)}{C(w_{n-1})}
\]

三元概率估计方程:

\[P(w_n|w_{n-2},w_{n-1}) = \frac{C(w_{n-2;n-1}w_n)}{C(w_{n-2;n-1})}
\]

例题1

给出以下一个小型语料库,在最大似然一元模型和二元模型之间使用加一平滑法进行平滑, 请计算P(Sam|am)。注意要将tokens 和与其他单词一样看待。

<s> I am Sam </s>

<s> Sam I am </s>

<s> I am Sam </s>

<s> I do not like green eggs and Sam </s>

\(P(Sam|am) = \frac{C(am;Sam)}{C(am)} = \frac{2}{3}\)

\(P_{Laplace}(Sam|am) = \frac{C(am;Sam)+1}{C(am)+|V|} = \frac{2+1}{3+11} = \frac{3}{14}\)

注意:V是不同单词的种类!!是词汇表的大小

例题2

在1的条件下,请使用线性插值法,其中假设 λ1 = 1/2, λ2 =1/2,请计算P(Sam|am)。注意要将tokens 和与其他单词一样看待。

\(P(Sam) = \frac{C(Sam)}{S} =\frac{4}{25}\)

注意:S是单词出现的总次数!!

\(P(am) = \frac{3}{25}\)

统计\(bigram\)数量,\(P(Sam|am) = \frac{2}{3}\)

根据线性插值法,

\[\begin{aligned}
P(Sam|am) &= \lambda_2 \times P(Sam|am) + \lambda_1 \times P(Sam)\\
&= 0.5 \times \frac{2}{3} + 0.5 \times \frac{3}{25} \\
&= \frac{31}{75}
\end{aligned}
\]

例题3

给定一个包含 100 个数字的训练集,其中包含 91 个0和 1-9 其他数字中的每个数字。 有以下的测试集:0 0 0 0 0 3 0 0 0 0。计算该问题的一元困惑度 unigram perplexity。

困惑度

\[PP(W) = P(w_1w_2 \dots w_N)^{-\frac{1}{N}}
\]

困惑度越小,概率越大。

\(P(0) = 91 / 100 = 0.91;\)

\(P(1;9) = 1 / 100 = 0.01;\)

\(PP(W) = (P(0)p(0)p(0)p(0)p(0)p(3)p(0)p(0)p(0)p(0))^{-0.1} = 1.725\)

NLP复习之N元文法的更多相关文章

  1. 【转】统计模型-n元文法

    在谈N-Gram模型之前,我们先来看一下Mrkove假设: 1.一个词的出现仅仅依赖于它前面出现的有限的一个或者几个词: 2.一个词出现的概率条件地依赖于前N-1个词的词类. 定义 N-Gram是大词 ...

  2. 算法复习——高斯消元(ssoi)

    题目: 题目描述 Tom 是个品学兼优的好学生,但由于智商问题,算术学得不是很好,尤其是在解方程这个方面.虽然他解决 2x=2 这样的方程游刃有余,但是对于下面这样的方程组就束手无策了.x+y=3x- ...

  3. DeepNLP的核心关键/NLP词的表示方法类型/NLP语言模型 /词的分布式表示/word embedding/word2vec

    DeepNLP的核心关键/NLP语言模型 /word embedding/word2vec Indexing: 〇.序 一.DeepNLP的核心关键:语言表示(Representation) 二.NL ...

  4. NLP十大里程碑

    NLP十大里程碑 2.1 里程碑一:1985复杂特征集 复杂特征集(complex feature set)又叫做多重属性(multiple features)描写.语言学里,这种描写方法最早出现在语 ...

  5. NLP之语言模型

    参考: https://mp.weixin.qq.com/s/NvwB9H71JUivFyL_Or_ENA http://yangminz.coding.me/blog/post/MinkolovRN ...

  6. 【NLP】中文分词:原理及分词算法

    一.中文分词 词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文信息处理的基础与关键. ...

  7. 实战HMM-Viterbi角色标注地名识别

    http://www.hankcs.com/nlp/ner/place-names-to-identify-actual-hmm-viterbi-role-labeling.html 命名实体识别(N ...

  8. word2vec原理浅析

     1.word2vec简介 word2vec,即词向量,就是一个词用一个向量来表示.是2013年Google提出的.word2vec工具主要包含两个模型:跳字模型(skip-gram)和连续词袋模型( ...

  9. 论文笔记(1):Deep Learning.

    论文笔记1:Deep Learning         2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...

  10. Nature重磅:Hinton、LeCun、Bengio三巨头权威科普深度学习

    http://wallstreetcn.com/node/248376 借助深度学习,多处理层组成的计算模型可通过多层抽象来学习数据表征( representations).这些方法显著推动了语音识别 ...

随机推荐

  1. Windows安装JDK 8/11/17教程

    JDK,全称Java Development Kit,即Java开发工具包,它是整个Java开发的核心,包含了Java运行环境(JVM+Java系统类库)和Java工具.目前JDK 8.11.17是长 ...

  2. PYQT5学习(12)Qtabwidget 选项卡及其窗口,Qstackedwidget和Qtabwidget的效果类似,以及系统托盘QsystemtrayIcon

    参考博文:https://blog.csdn.net/jia666666/article/details/81669092QTabWidget控件提供一个选项卡和一个页面区域,默认显示第一个选项卡的页 ...

  3. Hadoop集群模式安装笔记

    前言 Hadoop集群=HDFS集群+YARN集群 特点:两个集群逻辑上分离,通常物理上在一起:并且都是标准的主从架构集群 Hadoop安装 方式一源码编译安装 方式二官方编译安装包 () 环境 Ce ...

  4. 圆柱坐标系(Cylindrical Coordinate System)

    参考:维基百科 圆柱坐标系(英语:cylindrical coordinate system)是一种三维坐标系统.它是二维极坐标系往 z-轴的延伸.添加的第三个坐标 \(z\) 专门用来表示 P 点离 ...

  5. 使用Blazor WASM实现可取消的多文件带校验并发分片上传

    前言 上传大文件时,原始HTTP文件上传功能可能会影响使用体验,此时使用分片上传功能可以有效避免原始上传的弊端.由于分片上传不是HTTP标准的一部分,所以只能自行开发相互配合的服务端和客户端.文件分片 ...

  6. 利用信号量SemaphoreSlim实现PaddleOCR的线程安全访问

    Wlkr.Core.ThreadUtils 项目背景 早在PaddleOCR 2.2版本时期,认识了周杰大佬的PaddleSharp项目,试用其中PaddleOCR时,发现它在改为web api调用时 ...

  7. APP攻防--反模拟器&反代理&反证书&真机逃逸&XP框架&Frida技术

    APP攻防--反模拟器&反代理&反证书&真机逃逸&XP框架&Frida技术 APP抓包技术 关于APP抓包,使用burpsuite抓模拟器中的数据包,需要将模拟 ...

  8. C#经典十大排序算法(完结)

    C#冒泡排序算法 简介 冒泡排序算法是一种基础的排序算法,它的实现原理比较简单.核心思想是通过相邻元素的比较和交换来将最大(或最小)的元素逐步"冒泡"到数列的末尾. 详细文章描述 ...

  9. Telegram 正式引入国产小程序技术

    Telegram 宣布为其开发者提供了一项"能够在 App 中运行迷你应用"的新功能( 迷你应用即 Mini App,下文中以"小程序"代替). 在一篇博客文章 ...

  10. 【Spring】AOP实现原理

    注册AOP代理创建器 在平时开发过程中,如果想开启AOP,一般会使用@EnableAspectJAutoProxy注解,这样在启动时,它会向Spring容器注册一个代理创建器用于创建代理对象,AOP使 ...