自然语言处理:原理简明教程05-条件随机场与最大熵模型
欢迎转载,作者:Ling,注明出处:自然语言处理:原理简明教程05-条件随机场与最大熵模型
参考书:《统计自然语言处理(第2版)》,《形式语言与自动机理论》,《统计自然语言基础》,《自然语言处理综论》 ,《概率图模型:原理与技术》,《概率论与数理统计》,《统计学方法》
熵(李航:60页):
说明:熵越大,越无序,概率越平均,在信息论文表示信息传输需要的最小空间
最大熵原理(李航:80页):
例子:
定义:
最大熵学习(李航:83页):
说明:
- 即:对P(Y/X)先求导,然后在求使得熵最大的w
- 为何最大熵模型用的是条件熵,因为更好求解
例子:
极大似然估计(李航:87,不看也行):
IIS算法(李航:88页,略)
另一个例子(论文):
最大熵模型数学表示:
说明:
说明:
- 由于P*不好求,但是我们知道其符合指数分布
- 这里用的就非条件熵
- 求极值用的是GIS算法,用了两条定理和其等价的指数族性质。不用详细理解,理解李航的即可。
最大熵马尔科夫模型(了解即可):
MEMM的提出:(因为HMM存在两个问题)
- 在很多序列标注任务中,尤其当不能枚举观察输出时,需要大量的特征来刻画观察序列。
- 在很多自然语言处理任务中,要解决的问题是在已知观察序列的情况下求解状态序列,HMM采用生成模型来求解判别问题,这种方法不适合处理很多特征描述观察序列的情况。
MEMM的特点:结合了HMM和最大熵模型
- 最大熵分类器的构建牵涉最大熵模型
- MEMM的状态转移概率估计牵涉HMM
- 优点:与HMM相比,允许使用任意特征刻画观察序列;与HMM、CRTs比较,训练过程高效。
- 缺点:存在标记偏置问题
模型:即概率用最大熵表示,而非用简单的概率转移矩阵表示,解法类似HMM,用维特比算法
HMM模型的问题:
- HMM是生成式模型,需要给出状态与观察符号之间的联合概率分布,需要观察符号是可枚举的,幵遍历所有可能的观察符号,工作量繁琐。
- 把观察符号割裂为互相独立的“原子”结构,无法体现句子中观察符号之间的依赖关系,生成式模型对输出的独立假设也显得牵强。
- 难以考虑除字(词)序以外的其它特征,例如“字母为大写”“包含阿拉伯数字”等,即,转移到下一个状态,由多个条件决定
- 标注偏置问题
马尔科夫网络(参考之前介绍,补充):
条件随机场:
说明:
- 马尔科夫毯,即与x相连的那些点,叫做x的马尔科夫毯
- 条件随机场 vs HMM:HMM是序列问题,CRF是序列化+X影响,同时序列化也考虑多参数
- 线性:只和前一个有关
- 一般形式是马尔科夫网+X,并且分解成因子进行计算
模型:
说明:
例子(假设所有参数都给了):
简化形式(就是把符号用更简单符号表示):
其实就是最大熵模型
矩阵表示(为了好计算):
实例:
说明:
- 非规范化概率:即未除以Z(X)的概率相对值
- M中存的是非规范化概率,每个值,都是那个复杂的公式
计算(类似隐马尔科夫,参考李航199-205,可以不看):
条件随机场的预测算法(类似隐马尔科夫,参考李航205):
CRF可以解决的NLP问题(标注问题,以及可以转化为标注的问题):
- 擅长亍解决标注问题。NLP场景叧要能化弻为标注问题,都可能有机会应用CRF
- 应用亍分词
- 基亍条件随机场的中文人名性别识别研究
步骤:
实例(参考:基于条件随机场的中文人名性别识别研究)
特征模板:
性能评估:
工具:CRF++
留言