自然语言处理之初始-语言模型

文本自然语言处理的一个最最最基本的一个问题:如何用数学符号或公式表示一段文本?如何计算一段文本在某种语言下出现的概率?

语言模型(用概率论的专业术语表示):为长度为m的字符串确定其概率分布P(w1,w2,...wm),其中w1到wm依次表示文本中的各个词语。概率值计算公式如下,

但是有个问题发现没有?加入一个文本超级长,会怎么样?从第三项开始计算难度就会很大。此时,有人提出了n元模型(n-gram model)。那么n元模型是什么呢?它就是在估算条件概率时,忽略距离大于等于n的上文词的影响。则此时

首先,把一段文字抽象成数学表示,用表示输入的句子,n为句子长度,表示字。表示输出的标签(例如:"我/B爱/M你/E"最理想的标签输出:BME)。其中,o表示的就是B、M、E、S这四种标记,λ为诸如“我”“爱”“你”“中”“国”等句子的每个字,包括标点等非中文字符。

当n=0时,即观测独立性假设,就是0阶隐马尔可夫,每个词都是独立的,例如:我爱你->我/B爱/M你/E,此时,标签/M仅和爱有关系

当n=1时,即齐次马尔可夫假设,就是1阶隐马尔可夫,每个词都仅与前一个词有关系,

那么从上面的公式我们可以看到,我们渴望得到的解是,这是不是很熟悉了?条件概率,通过贝叶斯公式即可求解,

此处有一问题,我没明白,可能是太菜了,如果有会的,希望各位在评论区给指点一下,万分感谢!!!问题是:λ是给定的输入,因此计算为常数,可以忽略,因此最大化等价于最大化。我对这个为常熟可忽略不明白。

好,假如我明白了,那么,求可以先求,按照齐次隐马尔可夫假设,则

  再求

那么就可求了,即

其中,叫发射概率,叫转移概率。通过设置转移概率为0(

,可排除类似BBB、EM等不合理的组合。

注:在隐马尔可夫中求解的常用方法是Veterbi算法,可参考博客 :      https://blog.csdn.net/sailist/article/details/83064985

学过运筹学的同学更好理解一些

原文地址:https://www.cnblogs.com/JadenFK3326/p/11964892.html

时间: 2024-07-31 15:44:00

自然语言处理之初始-语言模型的相关文章

吴裕雄--天生自然 pythonTensorFlow自然语言处理:PTB 语言模型

import numpy as np import tensorflow as tf # 1.设置参数. TRAIN_DATA = "F:\TensorFlowGoogle\\201806-github\\TensorFlowGoogleCode\\Chapter09\\ptb.train" # 训练数据路径. EVAL_DATA = "F:\TensorFlowGoogle\\201806-github\\TensorFlowGoogleCode\\Chapter09\\p

学习笔记TF050:TensorFlow源代码解析

TensorFlow目录结构. ACKNOWLEDGMENTS #TensorFlow版本声明 ADOPTERS.md #使用TensorFlow的人员或组织列表 AUTHORS #TensorFlow作者的官方列表 BUILD CONTRIBUTING.md #TensorFlow贡献指导 ISSUE_TEMPLATE.md #提ISSUE的模板 LICENSE #版权许可 README.md RELEASE.md #每次发版的change log WORKSPACE #配置移动端开发环境 b

机器学习------精心总结

1.数学 偏差与方差 拉格朗日 核函数 凸优化 协方差矩阵 Hessian矩阵 CDF(累计分布函数) 高斯概率密度函数 中心极限定理 2.机器学习 Java 机器学习 工具 & 库 1.处理小数据效果好 2.深度学习—大数据,超过500w:图像,语言方面效果奇好 SVD 最小二乘法 梯度下降法 局部加权回归 1.最大似然估计 2.logistic回归 3.感知器的初步—logistic的简化情节 牛顿法 1.介绍了牛顿方法 2.广义线性模型 3.多项式分布,softmax回归 高斯判别分析 1

斯坦福大学自然语言处理第四课“语言模型(Language Modeling)”

http://52opencourse.com/111/斯坦福大学自然语言处理第四课-语言模型(language-modeling) 一.课程介绍 斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛Dan Jurafsky 和 Chirs Manning教授授课:https://class.coursera.org/nlp/ 以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展.注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学

MIT自然语言处理第三讲:概率语言模型

一. 简单介绍 a) 预测字符串概率 i. 那一个字符串更有可能或者更符合语法 1. Grill doctoral candidates. 2. Grill doctoral updates. (example from Lee 1997) ii. 向字符串赋予概率的方法被称之为语言模型(Methods for assigning probabilities to strings are called Language Models.) b) 动机(Motivation) i. 语音识别,拼写检

深度学习与自然语言处理(7)_斯坦福cs224d 语言模型,RNN,LSTM与GRU

翻译:@胡杨([email protected]) && @胥可([email protected]) 校对调整:寒小阳 && 龙心尘 时间:2016年7月 出处: http://blog.csdn.net/han_xiaoyang/article/details/51932536 http://blog.csdn.net/longxinchen_ml/article/details/51940065 说明:本文为斯坦福大学CS224d课程的中文版内容笔记,已得到斯坦福大学

自然语言处理:文本预处理、语言模型、RNN

文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤: 读入文本 分词 建立字典,将每个词映射到一个唯一的索引(index) 将文本从词的序列转换为索引的序列,方便输入模型 现有的工具可以很好地进行分词,spaCy和NLTK. 使用示例: text = "Mr. Chen doesn't agree with my suggestion." ####spaCy: import spacy nlp = spacy.load('

NLP | 自然语言处理 - 语言模型(Language Modeling)

转:http://blog.csdn.net/lanxu_yy/article/details/29918015 为什么需要语言模型? 想象“语音识别”这样的场景,机器通过一定的算法将语音转换为文字,显然这个过程是及其容易出错的.例如,用户发音“Recognize Speech”,机器可能会正确地识别文字为“Recognize speech”,但是也可以不小心错误地识别为“Wrench a nice beach".简单地从词法上进行分析,我们无法得到正确的识别,但是计算机也不懂语法,那么我们应该

自然语言处理(NLP)——语言模型预训练方法(ELMo、GPT和BERT)

1. 引言 在介绍论文之前,我将先简单介绍一些相关背景知识.首先是语言模型(Language Model),语言模型简单来说就是一串词序列的概率分布.具体来说,语言模型的作用是为一个长度为m的文本确定一个概率分布P,表示这段文本存在的可能性.在实践中,如果文本的长度较长,P(wi | w1, w2, . . . , wi−1)的估算会非常困难.因此,研究者们提出使用一个简化模型:n元模型(n-gram model).在 n 元模型中估算条件概率时,只需要对当前词的前n个词进行计算.在n元模型中,