语言模型/N-Gram模型
2015-10-08 16:44
267 查看
N-Gram
马尔科夫假设:
一个词的出现仅仅依赖于它前面出现的有限的一个或几个词。
N-Gram模型用于中文,称为汉语语言模型CLM。该模型基于这样的假设,第n个词的出现只与前面N-1个词相关,而与其他任何词都不相关,整句话的概率就是各个词出现概率的乘积。这些词的概率可以通过直接从语料库中统计N个词同时出现的次数得到。
假设语句T是由词序列W1,W2,W3,…Wn组成的,那么
P(T)=P(W1W2W3Wn)=P(W1)P(W2|W1)P(W3|W1W2)…P(Wn|W1W2…Wn-1)
这种方法的缺点:
(1)参数空间过大,不容易实用化。
(2)数据稀疏严重。
通过最大似然估计得到P(Wn|W1W2…Wn-1),即:
P(Wn|W1W2…Wn-1)
= (C(W1 W2…Wn))/(C(W1 W2…Wn-1)),即统计序列C(W1 W2…Wn) 出现的次数和C(W1 W2…Wn-1)出现的次数。
Bi-Gram
假设:一个词的出现仅依赖于它前面出现的一个词,称之为bigram。
P(T) = P(W1W2W3…Wn)=P(W1)P(W2|W1)P(W3|W1W2)…P(Wn|W1W2…Wn-1) ≈P(W1)P(W2|W1)P(W3|W2)…P(Wn|Wn-1)计算概率P(T)时,需要有词和词频表、词序列频度表。当词数很多时,词的个数=词序列个数。
Tri-Gram
假设:一个词的出现仅依赖于它前面出现的两个词,称之为trigram。
相关文章推荐
- 有序二维数组查找,避免岔路
- 软件测试面试--常用基本控件测试用例
- 好用的JQ图片特效jquery-poptrox-popup-galleries
- 查看APK的签名的方法
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Jetty/Feature/Continuations
- 堆排序
- INI操作类
- javascript弹窗和对话框
- 文件下载小功能
- Spring Data JPA使用
- MAVEN基础入门
- 最短摘要生成算法
- C#操作注册表全攻略(转载)
- iOS-iOS打开手机QQ与指定用户聊天界面
- ios-AutoLayout 入门与精通图解 (一)
- Activity 组件基础
- JQuery插件使用小结
- 151008:javascript不明白的地方
- POJ1655 Balancing Act (树的重心)