本栏目来源于对Coursera 在线课程 NLP(by Michael Collins)的理解。课程链接为:https://class.coursera.org/nlangp-001

1. Tagging Problems

1.1 POS Tagging

问题描述

Input:Profits soared at Boeing Co., easily topping forecasts on Wall Street, as their CEO Alan Mulally announced first quarter results.

Output:Profits/N soared/V at/P Boeing/N Co./N ,/, easily/ADV topping/V forecasts/N on/P Wall/N Street/N ,/, as/P their/POSS CEO/N Alan/N Mulally/N announced/V first/ADJ quarter/N results/N ./.

PS:N = Noun;V = Verb;P = Preposition;Adv = Adverb;Adj = Adjective;...

给定训练集,(x(i),y(i)),其中x(i)为句子x1(i)...nix(i),y(i)为tag序列,ni为第i个样本的长度。因此xj(i)为句子x(i)中第j个词,yj(i)为xj(i)的tag。例如Penn WSJ 的treebank 标注语料。而POS的难点包括(1)一词多义(即不同语境下一词可以被标注为多种tag);(2)不常见单词的处理(即训练语料中未出现的单词);另外,在POS过程中要考虑词的统计特性,如常见的词性和语法常识(比如“quarter”一般作为名词出现而非动词,D N V比D V N结构在句中更为常见)。

1.2 Named-Entity Recognition

问题描述

Input:Profits soared at Boeing Co., easily topping forecasts on Wall Street, as their CEO Alan Mulally announced first quarter results.
Output1:Profits soared at [Company Boeing Co.], easily topping forecasts on [LocationWall Street], as their CEO [Person Alan Mulally] announced first quarter results.

输出结果为命名实体识别的结果,如 PERSON, LOCATION, COMPANY...;与POS不同,每个单词或者被标注为NA(不包括命名实体)或者标注为命名实体的一部分(如SC为公司名开始,CC为公司名中间部分...)即输出如下结果:

Output2: Profits/NA soared/NA at/NA Boeing/SC Co./CC ,/NA easily/NA topping/NA forecasts/NA on/NA Wall/SL Street/CL ,/NA as/NA their/NA CEO/NA Alan/SP Mulally/CP announced/NA first/NA quarter/NA results/NA ./NA

PS:NA = No entity;SC = Start Company;CC = Continue Company;SL = Start Location;CL = Continue Location;...


2 Generative Models

2.1. hidden Markov models

training example:(x(1),y(1))...(x(m),y(m)),我们希望通过训练样本得到函数f:X→Y

方法一:conditional model

给定测试样本x,模型输出为:

方法二:generative model

应用联合概率分布p(x,y),且p(x,y)=p(y)p(x|y)

其中p(y)是先验概率,p(x|y)是给定标签y的条件概率。

因此我们可以使用贝叶斯规则来得到条件概率p(y|x):

  其中

故:

2.2 Generative Tagging Models

V:单词集合,如:V ={the, dog, saw, cat, laughs,...}

K: 标注集合

S:sequence/tag-sequence pairs <x1,...xn,y1,...yn>

给定Generative Tagging Model,x1...xn的tag结果y1...yn为:

2.3 Trigram Hidden Markov Models (Trigram HMMs)

q(s|u,v):bigram标记为(u,v)后标记为s的概率,对trigram(u,v,s),s属于{K,STOP},u,v属于{K,*};

e(x|s):在s状态下观察结果为x的概率,x属于V,s属于K;

S:所有的sequence/tag-sequence对<x1...xn,y1...yn+1>,yn+1=STOP

PS:y0=y-1=*

例如:若n=3,x1x2x3= the dog laughs,y1y2y3y4=D N V STOP,那么:

该模型为noisy-channel model,为二阶马尔科夫过程,标注为D N V STOP的先验概率,是条件概率p(the dog laughs|D N V STOP)。

Tagging Problems & Hidden Markov Models---NLP学习笔记(原创)的更多相关文章

  1. 隐马尔科夫模型(Hidden Markov Models)

    链接汇总 http://www.csie.ntnu.edu.tw/~u91029/HiddenMarkovModel.html 演算法笔记 http://read.pudn.com/downloads ...

  2. PRML读书会第十三章 Sequential Data(Hidden Markov Models,HMM)

    主讲人 张巍 (新浪微博: @张巍_ISCAS) 软件所-张巍<zh3f@qq.com> 19:01:27 我们开始吧,十三章是关于序列数据,现实中很多数据是有前后关系的,例如语音或者DN ...

  3. 隐马尔科夫模型(Hidden Markov Models) 系列之三

    转自:http://blog.csdn.net/eaglex/article/details/6418219 隐马尔科夫模型(Hidden Markov Models) 定义 隐马尔科夫模型可以用一个 ...

  4. 机器学习 Hidden Markov Models 1

    Introduction 通常,我们对发生在时间域上的事件希望可以找到合适的模式来描述.考虑下面一个简单的例子,比如有人利用海草来预测天气,民谣告诉我们说,湿漉漉的海草意味着会下雨,而干燥的海草意味着 ...

  5. 机器学习 Hidden Markov Models 2

    Hidden Markov Models 下面我们给出Hidden Markov Models(HMM)的定义,一个HMM包含以下几个要素: ∏=(πi)表示初始状态的向量.A={aij}状态转换矩阵 ...

  6. Hidden Markov Models笔记

    Andrew Ng CS229 讲义: https://pan.baidu.com/s/12zMYBY1NLzkluHNeMNO6MQ HMM模型常用于NLP.语音等领域. 马尔科夫模型(Markov ...

  7. [Bayesian] “我是bayesian我怕谁”系列 - Markov and Hidden Markov Models

    循序渐进的学习步骤是: Markov Chain --> Hidden Markov Chain --> Kalman Filter --> Particle Filter Mark ...

  8. MongoDB 学习笔记(原创)

    MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...

  9. NLP | 自然语言处理 - 标注问题与隐马尔科夫模型(Tagging Problems, and Hidden Markov Models)

    什么是标注? 在自然语言处理中有一个常见的任务,即标注.常见的有:1)词性标注(Part-Of-Speech Tagging),将句子中的每一个词标注词性,比如名词.动词等:2)实体标注(Name E ...

随机推荐

  1. 牛客网习题剑指offer之数值的整数次方

    分析: 要考虑到exponent为0和负数的情况. 如果base是0并且exponent是负数的时候呢?那就发生除0的情况了. AC代码: public class Solution { public ...

  2. Spring Data JPA笔记

    1. Spring Data JPA是什么 Spring Data JPA是Spring Data大家族中的一员,它对对持久层做了简化,用户只需要声明方法的接口,不需要实现该接口,Spring Dat ...

  3. 二进制、十进制、十六进制(python)

    int(“x”,base=2/8/16)是把x都转换成十进制 二进制: 1111=1*2的3次方+1*2的2次方+1*2的1次方+1*2的0次方  =8+4+2+1=15 1000=1*2的3次方+0 ...

  4. PHP代码审计学习

    原文:http://paper.tuisec.win/detail/1fa2683bd1ca79c 作者:June 这是一次分享准备.自己还没有总结这个的能力,这次就当个搬运工好了~~ 0x01 工具 ...

  5. u-boot界面添加命令[demo]

    目标板:2440 如何在u-boot界面中增加命令 在/common/目录下建立文件,调用执行函数do_bootm就行,然后在修改Makefile,就OK了. 比如在u-boot界面添加命令test ...

  6. 运行级别(run level)

    inittab是很多linux版本的启动脚本.Linux在完成核内引导以后,就开始运行init程序,它的进程号是1,是所有其他进程的起点.init需要读取/etc/inittab,该文件告诉init在 ...

  7. mktime(将时间结构数据转换成经过的秒数)

    mktime(将时间结构数据转换成经过的秒数)表头文件#include<time.h>定义函数time_t mktime(strcut tm * timeptr);函数说明mktime() ...

  8. java通过jdbc插入中文到mysql显示异常(问号或者乱码)

    转自:https://blog.csdn.net/lsr40/article/details/78736855 首先本人菜鸡一个,如果有说错的地方,还请大家指出予批评 对于很多初学者来说,中文字符编码 ...

  9. gtk+学习笔记(三)

    gtk感觉函数好多,需要记好多函数,还是多练习,多总结,今天写了一个登陆窗口,很简单,主要是为了加深对这些东西的记忆,直接贴代码 #include<gtk/gtk.h> static Gt ...

  10. Eclipse如何定位到某一个类所在硬盘上的位置

    解决方法:安装OpenExplorer_1.5.0.v201108051513.jar插件 将OpenExplorer_1.5.0.v201108051513.jar文件添加到Eclipse所在目录下 ...