RT,NLP实验二。音字转换,其中用到的思想比较基本、比较老。
1.首先统计unigram和bigram的频数
2.词作为状态集,音作为观测序列。
3.计算转移矩阵概率和发射矩阵概率,建立HMM模型
4.给定HMM模型和观测序列,采用viterbi算法动态规划解码。
viterbi.py
# -*- coding: cp936 -*-
"""
viterbi.py
au...
分类:
其他好文 时间:
2014-12-13 15:13:29
阅读次数:
256
RT,NLP第一次实验,96人民日报语料分词+unigram和bigram词频统计。
一开始写了个RMM,用了各种序列排序,然后分词的算法用了简单的前缀暴力匹配,果然跑语料的时间根本无法估计、、
果断重写、、又找了一个blog,发现MM算法 一开始是想得太复杂了,导致循环太多,后来修改成简单版本的即可正常时间运行、
python代码:
# -*- coding: cp936 -*-
imp...
分类:
其他好文 时间:
2014-12-06 22:54:40
阅读次数:
250
语言模型,马尔科夫模型,bigram,trigram
分类:
其他好文 时间:
2014-10-27 20:55:46
阅读次数:
205
对于传统程序猿,注解里面最重要的就是Override注解了。这里的注解,都是指仅仅能用在方法中的声明,她表示被注解的方法用于覆盖了父类的一个声明,假设坚持使用这个注解,能够防止一大类的非法错误。public class Bigram{ private final char first; privat...
分类:
其他好文 时间:
2014-10-10 13:09:04
阅读次数:
163
在学习或者做东西,都懒得动手记,得习惯记下来才好...最近在看《Effective Java》,确实对我有很大的提高,把自己看到和想到的东西写下来,标记...1. 坚持使用override注解. 1 public class Bigram { 2 3 private final c...
分类:
其他好文 时间:
2014-08-10 18:36:10
阅读次数:
201
对于传统程序员,注解里面最重要的就是Override注解了。这里的注解,都是指只能用在方法中的声明,
她表示被注解的方法用于覆盖了父类的一个声明,如果坚持使用这个注解,可以防止一大类的非法错误。
public class Bigram{
private final char first;
private final char second;
public Bigram (char fir...
分类:
其他好文 时间:
2014-07-13 18:22:53
阅读次数:
210
输入法,尤其是拼音输入法,解决的就是一些序列标注的问题,针对给定的状态(拼音),获取其概率最高的隐状态(中文)。
这个是一个标准的HMM,针对HMM的解码过程,是一个很成熟也很完备的东西。
local的计算和存储能力都有限,我们选择一般是二阶马尔科夫,也就是所谓的bigram model。 高阶对质量会有帮助,但是涉及到存储和计算,工程上不可行。
同理,利用ME 以及CRFmodel...
分类:
其他好文 时间:
2014-06-10 18:18:23
阅读次数:
208
用数学的方法描述语言规律贾里尼克:一个句子是否合理,等同于判断其可能性的大小,用概率来衡量Markov模型:简化条件概率运算。二元模型 Bigram
model,N元模型为什么合理?上下文相关,短程依赖。不足之处:忽略长程依赖性 Long Distance DependencyN的取值?tradeo...
分类:
其他好文 时间:
2014-05-25 23:12:32
阅读次数:
262