1. 背景
NLP的四大任务如下:
- 序列标注任务
- 分类任务
- 句子关系判断
- 生成式任务
2. 序列标注任务
序列标注(Sequence labeling)是我们在解决NLP问题时经常遇到的基本问题之一。在序列标注中,我们想对一个序列的每一个元素标注一个标签。一般来说,一个序列指的是一个句子,而一个元素指的是句子中的一个词。比如信息提取问题可以认为是一个序列标注问题,如提取出会议时间、地点等。
序列标注一般可以分为两类:
- 原始标注(Raw labeling):每个元素都需要被标注为一个标签。
- 联合标注(Joint segmentation and labeling):所有的分段被标注为同样的标签。
命名实体识别(Named entity recognition, NER)是信息提取问题的一个子任务,需要将元素进行定位和分类,如人名、组织名、地点、时间、质量等。
举个NER和联合标注的例子。一个句子为:Yesterday , George Bush gave a speech. 其中包括一个命名实体:George Bush。我们希望将标签“人名”标注到整个短语“George Bush”中,而不是将两个词分别标注。这就是联合标注。
2.1 BIO标注
解决联合标注问题最简单的方法,就是将其转化为原始标注问题。标准做法就是使用BIO标注。
BIO标注:将每个元素标注为“B-X”、“I-X”或者“O”。其中,“B-X”表示此元素所在的片段属于X类型并且此元素在此片段的开头,“I-X”表示此元素所在的片段属于X类型并且此元素在此片段的中间位置,“O”表示不属于任何类型。
比如,我们将 X 表示为名词短语(Noun Phrase, NP),则BIO的三个标记为:
- B-NP:名词短语的开头;
- I-NP:名词短语的中间;
- O:不是名词短语;
因此可以将一段话划分为如下结果:
我们可以进一步将BIO应用到NER中,来定义所有的命名实体(人名、组织名、地点、时间等),那么我们会有许多 B 和 I 的类别,如 B-PERS、I-PERS、B-ORG、I-ORG等。然后可以得到以下结果:
2.2 序列标注常用模型
- Bi-LSTM:选择双向LSTM的原因是:当前词的tag和前后文都有关。
- Bi-LSTM+CRF: https://zhuanlan.zhihu.com/p/169719001
2.3 序列标注具体任务
(1)分词
- 输入:word + tag(I:in word;E:end of word);
- 输出:tag of word,标签是E的后面加空格,就达到了分词的目的;
(2)词性标注(Part-of-Speech tagging ,POS tagging)
- 输入:word + tag (词性:动词、名词、形容词等);
- 输出:词性;
- 模型:HMM也可以做
(3)命名实体标注(name entity recognition, NER)
- 输入:word + tag(B: begin of entity,I : inside of entity,o: outside of entity);
- 输出:实体标注;
(4)词义角色标注 (semantic role labeling, SRL) :
- 输入: word + 是不是谓语(B-Argo,I-Argo,BV );
- 输出:语义角色;
2. 分类任务
2.1 分类的具体任务
(1)文本分类、情感分类
- 模型:LSTM,属于 many- to – one 的问题,最后使用 Softmax输出分类结果;
3. 句子关系判断
3.1 具体任务
句法分析、蕴含关系判断(entailment)
- 模型:语法分析树,LSTM 来对每个edges 算得分,选择得分高的edges,限制是这些edges 必须组成一个树;
- 模型:RNNGs 也可以做
4. 生成式任务
这类任务一般直接面向普通用户,提供自然语言处理产品服务的系统级任务,会用到多个层面的自然语言处理技术。
(1)机器翻译(Machine Translation,MT)
Encoder-Decoder的最经典应用,事实上这一结构就是在机器翻译领域最先提出的。
(2)文本摘要、总结(Text summarization/Simplication)
输入是一段文本序列,输出是这段文本序列的摘要序列。
(3)阅读理解(Reading Comprehension)
将输入的文章和问题分别编码,再对其进行解码得到问题的答案。
(4)语音识别
输入是语音信号序列,输出是文字序列。
(5)对话系统(Dialogue Systerm)
输入的是一句话,输出是对这句话的回答。
(6)问答系统(Question-Answering Systerm)
针对用户提出的问题,系统给出相应的答案。
(7)自动文章分级(Automatic Essay Grading)
给定一篇文章,对文章的质量进行打分或分级。
5. 其他分类方法
NLP基本任务:
1. 词法分析(Lexical Analysis):对自然语言进行词汇层面的分析,是NLP基础性工作
- 分词(Word Segmentation/Tokenization):对没有明显边界的文本进行切分,得到词序列
- 新词发现(New Words Identification):找出文本中具有新形势、新意义或是新用法的词
- 形态分析(Morphological Analysis):分析单词的形态组成,包括词干(Sterms)、词根(Roots)、词缀(Prefixes and Suffixes)等
- 词性标注(Part-of-speech Tagging):确定文本中每个词的词性。词性包括动词(Verb)、名词(Noun)、代词(pronoun)等
- 拼写校正(Spelling Correction):找出拼写错误的词并进行纠正
2. 句子分析(Sentence Analysis):对自然语言进行句子层面的分析,包括句法分析和其他句子级别的分析任务
- 组块分析(Chunking):标出句子中的短语块,例如名词短语(NP),动词短语(VP)等
- 超级标签标注(Super Tagging):给每个句子中的每个词标注上超级标签,超级标签是句法树中与该词相关的树形结构
- 成分句法分析(Constituency Parsing):分析句子的成分,给出一棵树由终结符和非终结符构成的句法树
- 依存句法分析(Dependency Parsing):分析句子中词与词之间的依存关系,给一棵由词语依存关系构成的依存句法树
- 语言模型(Language Modeling):对给定的一个句子进行打分,该分数代表句子合理性(流畅度)的程度
- 语种识别(Language Identification):给定一段文本,确定该文本属于哪个语种
- 句子边界检测(Sentence Boundary Detection):给没有明显句子边界的文本加边界
3. 语义分析(Semantic Analysis):对给定文本进行分析和理解,形成能勾够表达语义的形式化表示或分布式表示
- 词义消歧(Word Sense Disambiguation):对有歧义的词,确定其准确的词义
- 语义角色标注(Semantic Role Labeling):标注句子中的语义角色类标,语义角色,语义角色包括施事、受事、影响等
- 抽象语义表示分析(Abstract Meaning Representation Parsing):AMR是一种抽象语义表示形式,AMR parser把句子解析成AMR结构
- 一阶谓词逻辑演算(First Order Predicate Calculus):使用一阶谓词逻辑系统表达语义
- 框架语义分析(Frame Semantic Parsing):根据框架语义学的观点,对句子进行语义分析
- 词汇/句子/段落的向量化表示(Word/Sentence/Paragraph Vector):研究词汇、句子、段落的向量化方法,向量的性质和应用
4. 信息抽取(Information Extraction):从无结构文本中抽取结构化的信息
- 命名实体识别(Named Entity Recognition):从文本中识别出命名实体,实体一般包括人名、地名、机构名、时间、日期、货币、百分比等
- 实体消歧(Entity Disambiguation):确定实体指代的现实世界中的对象
- 术语抽取(Terminology/Giossary Extraction):从文本中确定术语
- 共指消解(Coreference Resolution):确定不同实体的等价描述,包括代词消解和名词消解
- 关系抽取(Relationship Extraction):确定文本中两个实体之间的关系类型
- 事件抽取(Event Extraction):从无结构的文本中抽取结构化事件
- 情感分析(Sentiment Analysis):对文本的主观性情绪进行提取
- 意图识别(Intent Detection):对话系统中的一个重要模块,对用户给定的对话内容进行分析,识别用户意图
- 槽位填充(Slot Filling):对话系统中的一个重要模块,从对话内容中分析出于用户意图相关的有效信息
5. 顶层任务(High-level Tasks):直接面向普通用户,提供自然语言处理产品服务的系统级任务,会用到多个层面的自然语言处理技术
- 机器翻译(Machine Translation):通过计算机自动化的把一种语言翻译成另外一种语言
- 文本摘要(Text summarization/Simplication):对较长文本进行内容梗概的提取
- 问答系统(Question-Answering Systerm):针对用户提出的问题,系统给出相应的答案
- 对话系统(Dialogue Systerm):能够与用户进行聊天对话,从对话中捕获用户的意图,并分析执行
- 阅读理解(Reading Comprehension):机器阅读完一篇文章后,给定一些文章相关问题,机器能够回答
- 自动文章分级(Automatic Essay Grading):给定一篇文章,对文章的质量进行打分或分级
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/212367.html