概率语言模型 Probabilistic Language Modeling (一) --- 整体简介
2016-02-24 15:12
417 查看
1. Introduction
语言模型的目标就是compute the probability of a sentence or sequence of words:数学公式很简单,给定一个包含l个词语w1,w2,...,wl的句子W,其
P(W)=P(w1,w2,…,wl)
=p(w1)p(w2|w1)p(w3|w1,w2)...p(wl|w1,w2,...,wl−1)
若是计算上述公式中每个p(wl|w1,w2,...,wl−1),参数空间过大造成数据稀疏严重。一般采用马尔科夫假设(Markov Assumption):下一个词的出现仅依赖于它前面的k个词,即
p(wi|w1,w2,...,wi−1)=p(wi|wi−k,...,wi−1)
若
-下一个词的出现只依赖它前面的一个词,即为Bigram model:
p(wi|w1,w2,...,wi−1)=p(wi|wi−1);
-下一个词的出现依赖它前面的两个词,即为Trigram model:
p(wi|w1,w2,...,wi−1)=p(wi|wi−2,wi−1)
对于上述简化假设,我们称之为N元语言模型(n-Gram),一般来说,其计算公式为:
P(W)=∏l+1i=1p(wi|wi−1i−n+1)
其中wji表示词语序列wi,...,wj
2. Estimating N-gram Probabilities
构造使用语言模型的第一步就是生成每个条件概率p(wi|wi−1i−n+1), 通常使用最大似然估计(Maximum Likelihood Estimate), 即p(wi|wi−1)=count(wi−1,wi)/count(wi−1)
其中count(wi−1,wi)为词组wi−1,wi的出现频率。
3. Performance Evaluation
一般评价语言模型的性能采用迷惑度/困惑度/混乱度(perplexity),计算公式为:PP(W)=2H(W)
H(W)=−1llog2P(W)
其中l为句子W的长度,一般来说Lower perplexity = better model
相关文章推荐
- JS设置cookie、读取cookie
- (疯狂的Android 学习笔记)Adapter总结
- 大数据领域的Benchmark介绍
- Struts2 OGNL表达式
- 【HDU 4001】 To Miss Our Children Time(DP)
- Android studio运行时乱码 编码问题 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗?
- netty 学习记录一
- RecyclerView解析--onViewDetachedFromWindow()/onViewAttachedToWindow()
- androidmanifest.xml权限中文说明
- js验证数字正整数和0以及其他验证
- nginx源码初读(8)--让烦恼从数据结构开始(ngx_event)
- 解决maven项目中-Dmaven.multiModuleProjectDirectory报错问题
- Django 移动端交互
- ACM/ICPC2014鞍山现场赛E hdu5074Hatsune Miku
- [xUnit]尝试单元测试
- 获取XML数据
- 对网站的代码采集实例
- Introduction to Model View Presenter on Andriod
- 【项目管理】Windows系统关于maven+nexus环境搭建
- Java八种基本数据类型所占字节