Scratch
利用训练好的 word embedding 完成词性标注(POS)、分块(短语识别 CHUNK)、命名实体识别(NER)和语义角色标注(SRL)
什么是 Scratch ?
- 词嵌入的经典论文,核心目标是将训练好的 word embedding 去完成词性标注(POS)、分块(短语识别 CHUNK)、命名实体识别(NER)和语义角色标注(SRL)等任务
- 本文设计了 2 个网络来完成这些 nlp 任务,其中一个叫 window approach,另一个叫 sentence approach
Scratch 的网络结构?
- window approach:上图左边的过程,其原理是利用中心词周围的 N/2 个词预测中心词,包括 4 层的网络,第一层将字词的 ont-hot 表示转为词向量表示,得到 (N,K) 特征矩阵,后续 concat 在一起后经过线性层和非线性层,最后以 softmax 输出与中心词的匹配程度
- sentence approach:上图右边的过程,其原理是利用长度为 N 的句子输出中心词和句子的关系,包括 7 层网络,第一层和 window approach 一样,得到 (N,K) 特征矩阵,第二层使用 1D 卷积,将特征矩阵变换为 (N’,K’),然后第三层使用池化,得到 (N’,1) 特征,后续过程和 window approach 一样
Scratch 的训练过程?
- 以无监督的方法预训练 word embedding 以提高在具体工作上的效果,只是最后的输出层只有一个神经元,表示该中心词与上下文语义关联程度的得分。得分高则说明该中心词在当前位置是符合上下文语言的,得分低则说明该中心词在当前位置不符合上下文语义
- 训练时的正例就是中心词为原语料的中心词,负例就是把语料的中心词以其他词语代替
什么是词性标记(POS)?
- 给每个词加上一个独特的标记,以表明它的句法作用,例如复数名词、副词等
什么是语块分析(CHUNK)?
- 也被称为浅层句法分析,其目的是用名词或动词短语(NP 或 VP)等句法成分来标记句子片段。每个单词只分配一个唯一的标记,通常编码为一个开始块(例如,GB-NP,开始块名词短语)或内部块标记(例如,GI-NP,内部块名词短语)
什么是命名实体识别(NER)?
- 将句子中的原子元素分为 “人” 或 “地点” 等类别。在分块任务中,每个单词都被分配一个标记,前缀是实体开头或内部的指示符
什么是语义角色标记(SRL)?
- 赋予句子的句法成分一个语义角色。也就是说句子中的某些信息特定的标签
参考: