本栏目来源于对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. 用C++写一个没人用的ECS

    github地址:https://github.com/yangrc1234/Resecs 在做大作业的时候自己实现了一个简单的ECS,起了个名字叫Resecs. 这里提一下一些实现的细节,作为回顾. ...

  2. jq消除网页滚动条

    网页有些时候需要能滚动的效果,但是不想要滚动条,我就遇到了这样的需求.自己用jq写了一个垂直滚动条. 纯css也可以实现 .box::-webkit-scrollbar{display:none} 但 ...

  3. 【leetcode 简单】第十题 实现strStr()

    实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...

  4. 用CRF做命名实体识别(一)

    用CRF做命名实体识别(二) 用CRF做命名实体识别(三) 用BILSTM-CRF做命名实体识别 博客园的markdown格式可能不太方便看,也欢迎大家去我的简书里看 摘要 本文主要讲述了关于人民日报 ...

  5. Supply

    Supplier创建一个Supply Supply有tap或emit方法. 可以这样理解: Supplier创建一个工厂 Supply 用tap创建流水线 emit向流水线上传送加工品进行加厂 my ...

  6. linux kernel make构建分析

    前言 之前对uboot的构建进行了分析,现在再对linux kernel的构建进行分析.几年前的确也分析过,但是只是停留在笔记层面,没有转为文章,这次下定决定来完善它. 环境 同样,采用的还是zynq ...

  7. maven工程的建立

    /* 我曾经接触过一个Java web项目,在进行部署时,发现这个项目涉及了maven 没有接触过maven项目的我,发现了如果需要导入maven工程,需要先在eclipse里面对maven进行配置, ...

  8. 10.python3标准库--加密

    ''' 加密可以保护消息安全,以便验证其正确性并保护消息不被截获. python的加密支持包括hashlib和hmac,hashlib使用标准算法生成消息内容签名,hmac则用于验证消息在传输过程中未 ...

  9. 如何将qlv格式的腾讯视频转换为mp4格式

    一般来说,每个视频网站都会有自己的视频播放格式,如优酷的KUX.爱奇艺的QSV和腾讯的QLV等. 但是大家知道,优酷是有转码功能的,而就目前来说腾讯视频还没有转码功能,下面是将qlv格式的腾讯视频转换 ...

  10. 通过复制(拷贝)新建javaweb项目报错无法访问

    我们有时候为了方便,用eclipse在原来动态web项目上直接复制,粘贴项目,来形成以一个新的项目.可是运行的时候,它显示的url地址,还是原来的项目地址.初步判定,有可能是eclipse配置的问题. ...