| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Neural Chinese Named Entity Recognition viaCNN-LSTM-CRF and Joint Training with Word Segmentation阅读笔 -> 正文阅读 |
|
[人工智能]Neural Chinese Named Entity Recognition viaCNN-LSTM-CRF and Joint Training with Word Segmentation阅读笔 |
作者:recommend-item-box-tow |
GITHUB:rxy007/cnn-lstm-crf: cnn bilstm crf 作中文命名实体识别 (github.com) 翻译: ABSTRACT 中文命名实体识别(CNER)是中文自然语言处理领域的一项重要任务。然而,由于中文实体名称具有高度的语境依赖性,因此CNER具有很大的挑战性。此外,中文文本缺乏分隔词的定界符,因此很难识别实体的边界。许多领域的CNER的训练数据通常是不够的,而且为CNER注释足够的训练数据是非常昂贵和耗时的。在本文中,我们提出了一种神经方法来处理CNER。首先,我们引入了一个CNN-LSTM-CRF的神经结构来捕捉本地和远距离的语境,用于 的局部和远距离语境。 第二,我们提出了一个统一的框架来联合训练CNER和单词分割模型,以提高CNER模型识别实体边界的能力。第三,我们引入了一种自动方法,从现有的标记数据中生成伪标记的样本,从而丰富了训练数据。在两个基准数据集上的实验表明,我们的方法 可以有效地提高中文命名实体识别的性能。特别是在训练数据不足的情况下。 INTRODUCTION 命名实体识别(NER)的目的是识别实体从文本中命名并将它们分类成不同的类别如人、位置等[9,26]。例如,给定一句话“比尔·盖茨是微软的创始人”,一个NER工具能认出“比尔·盖茨”是一个人名实体“Microsoft”是一个命名的组织实体。NER是很重要的任务在自然语言处理领域[25,28],是一个必不可少的步骤,用于许多下游应用程序,例如实体链接[11]、关系提取[20]和问题解答[8]。NER已经被研究多年,各种方法已经被研究被提出[16,25]。这些方法大多是为英语文本的NER。例如,将就[29]建议使用条件随机场(CRF)英语医学文本NER和结合了拼写特征和语义特征。Huang等[14]提出了一种英语LSTM-CRF神经模型。它们结合了拼写特性(例如,一个单词是否开始使用大写字母)、上下文特征(单字母符号和双字母符号)和为单词构建特征的单词嵌入。赵和尼科尔斯[3]提出使用LSTM学习单词和字符级特征CNN英语新闻。在他们的方法,字功能包括单词嵌入,字符嵌入学习从字符使用CNN网络,和大写特征。与英语文本相比,汉语的NER更多困难(6、19)。首先,中文文本缺乏强烈的实体标识英文文本中存在的名称,如大写[27]。第二,中国的实体名称高度依赖于上下文。几乎每一个中文实体名称可以使用汉字和汉字相同的词可以用作实体名称或非实体词不同的上下文。例如,在句子“文献是朝阳区区长”、“文献”是命名实体的人。然而,在大多数情况下“文献”作为走眼”这个词在中文文本的“文学”的意义。另外,同样的单词也可以用as不同种类实体的名称。例如,“阿里”人实体的名称(例如,“拳王阿里是个传奇”),位置实体(“西藏阿里美不胜收”),和组织实体(“杭州阿里吸引了很多人才”)。第三,不同于英语文本中文中没有空格等分隔符来分隔单词吗文本,使识别实体边界[24]更加困难。例如,中国的NLP工具可能段句子“习近“特朗普”是正确的命名实体的人。此外,注释足够的数据训练CNER模型是非常昂贵和耗时且许多领域的训练数据有限。因此,CNER具有很大的挑战性。为了应对这些挑战,在本文中我们提出了一个中文命名实体识别的神经方法。首先,在我们方法,我们提出了一个CNN-LSTM-CRF架构,以完全限制的本地和远程上下文为CNER。我们的con模型包含三层,即卷积神经网络(CNN) [18]一种双向长短时记忆(Bi-LSTM)[13]层,用于从本地con文本中学习上下文字符表示从远距离学习上下文字符表示上下文,以及联合解码字符标签的CRF层。在此外,我们提出了一个统一的框架,以联合训练CNER中文分词(CWS)模型的改进 CNER模型预测实体边界的能力。在我们的框架下,CWS模型共享相同的字符嵌入而CNN网络采用的是CNER模型,并具有独立的用于标签解码的CRF层。此外,我们提出一个自动基于现有的la标记数据,通过随机替换标记句子中的实体名称生成伪标记样本的方法与其他相同概念的实体名称。这些伪标签样本通常语法正确,语义流畅,可以丰富训练数据,提高泛化能力CNER模型的能力。进行了广泛的实验两个基准数据集。实验结果表明方法可以显著提高中文命名实体识别成绩并优于许多基线方法。 RELATED WORK 中文命名实体识别通常建模为一个字符级序列标注问题[10,22],因为中文句子是一个字符串,没有像空格那样的显式分隔符把汉字分成单词。统计序列建模CRF[15]等方法在中国NER中被广泛应用[24,27]。这些方法的核心步骤是构建特征表示句子中的每个字。传统上,这些特征均为手工设计[1,32]。例如,字符ungram,Bigrams和cluster被用作[1]中的字符特性。张[33]等人提出使用环境来构建字符特征字符以及目标字符是否在外部字典中。Yu等人[32]提出结合字符级特征、单词级特征、词性标注特征和词典特征进行cner 这些手工制作的特性需要大量的域设计知识,其中许多依赖于外部资源如地名辞典,它可能不存在于许多领域。此外,像字符n-gram这样的手工特性通常不能 捕获全局上下文信息。与上述方法不同,我们的方法可以从数据中学习字符特征表示不需要特性工程,可以合并本地和长途上下文信息。近年来,神经网络方法已被应用于英语NER[14, 16]。这些方法大多基于LSTMCRF架构。例如,Lample等[16]使用Bi-LSTM来学习单词的隐藏表示,并使用CRF进行标签解码。这些英语NER的方法通常是基于字级输入,不能直接应用于汉语NER这是一个字符级的序列标记任务。CNN是利用在[3]和[25]中学习for字符的单词表示英语ner。这些词的表示与词结合在一起嵌入和/或其他功能来构建单词功能。然而,汉语文本中没有明确的词界。因此,这些 CNN合并的方法对于英语NER来说是不合适的CNER。不同于这些方法,在我们的方法CNN是用来学习字符而不是单词的表征。近年来,神经网络方法也被应用到汉语中Ner[6, 7, 12]。这些方法都是基于LSTM-CRF框架,LSTM用来学习字符的隐藏表示CRF用于联合标记译码。很多方法还要合并手工制作的特性,比如激进的特性[7]和位置特征[12],构建字符表示。与这些方法不同的是,我们的方法可以训练CNER模型一个端到端的方式,不需要任何手动的功能工程从来没有。此外,我们的方法是基于CNN-LSTM-CRF架构以完全捕获本地和远程上下文。将NER模型与相关任务联合训练具有潜力以提高NER的性能[23,28]。例如,罗等[23]提出联合训练NER和实体链接模型在英语NER上取得了最先进的成绩因为Chinese文本缺少单词分隔符和标识实体边界在CNER是非常具有挑战性的,我们提议联合培训CNER模型的分词能力,提高了CNER的能力识别实体边界的模型。与我们的方法类似,Peng等[28]提出联合训练CNER和CWS模型适用于域适配场景。在他们的方法中,CNER和CWS具有相同的字符表示模型,又具有不同的字符表示模型标签解码模型。在我们的方法中,我们将分词作为一个辅助任务,并使用它来学习单词边界感知CNER的字符表示。实验表明方法更有效。此外,我们建议自动从标记数据中生成伪标记样本在现有的CNER方法中还没有探索到最好的知识。 OUR APPROACH 在本节中,我们将详细介绍我们的CNER方法。首先,我们为CNER提供了CNN-LSTM-CRF神经体系结构。接下来,我们引入了一个统一的框架来联合训练CNER和word分割模型。最后介绍了一种自动化方法从已有标记数据生成伪标记样本。 CNN-LSTM-CRF Architecture for CNER 我们提出的用于中文命名实体识别的CNN-LSTM-CRF神经体系结构如图1所示。接下来我们从下到上详细介绍每一层。第一层是字符嵌入,其目的是将一个句子从一个字符序列转换成一个稠密向量序列。在这一层中,我们使用一个嵌入矩阵E∈RD×V,将每个字符映射为一个稠密向量,其中D为嵌入维数,V为词汇量。表示一个输入句子为s = [w1,w2,…],wN],其中N为句子长度,wi∈RV为第i个字符的one-hot表示。这一层的输出是一个向量序列[x1, x2,…], xN],其中xi = Ewi∈RD。第二层是CNN网络。CNN被广泛应用于计算机视觉领域,用于提取图像[17]的局部信息。句子的局部语境对汉语命名实体的识别也很重要。例如,“阿里”是一个基因座实体在“西藏阿里”,是一个组织实体在“杭州阿里”。受这些观察的启发,我们建议使用CNN来 捕获CNER的本地上下文信息。记w∈RK D为CNN中的一个滤波器,其中K为窗口大小,则该滤波器学习到的第i个字符的上下文表示为: ?表示来自的字符的嵌入的串联从 到 ?f是激活功能 这里我们选择ReLU[17]作为激活函数。在这一层,我们使用不同窗口的多个过滤器 大小(从2到5)学习上下文字符表示tions。将过滤器编号表示为m我的Th字符(记作ci)是所有过滤器的outputs在此位置的连接。CNN层的输出为C = [c1, c2,…], cN],其中ci∈RM 第三层就是bilstm 第四层就是crf Joint Training with Word Segmentation NER任务可以看作是两个子任务的组合:从文本中提取实体名称(即,识别实体名称的边界)和对它们的类型进行分类。标识中国实体名称的边界是相当具有挑战性的,因为在中文文本中没有明确的单词分隔符。在汉语自然语言处理领域,Chinese分词(CWS)的目标是将中文文本分割成单词(即预测文本中单词的边界)。因此,CWS与CNER的相关性较高,具有潜力 ?式中y为分词的句子s的标签序列,θ为CWS模型的参数集。cs是CNN网络对句子输出的隐藏字符表示。我们方法的最终目标函数是CNER损失和CWS损失的结合,如下: ?其中λ∈[0,1)是一个系数,用于控制cws损失在总损失中的相对重要性。 Pseudo Labeled Data Generation 中文命名实体识别的标注数据通常为在许多领域稀缺。手动注释足够的示例对CNER来说既耗时又昂贵。因此,一个自动方法为CNER生成标记样本将非常有用。在本文中,我们提出了自动生成pseudo基于现有标记数据的标记样品。我们的方法是mo,因为我们观察到,如果一个句子中的实体名称是替换为具有相同概念的另一个实体名称,则新句子在语法和语义上通常是正确的。为例子,一个中文句子可能”李刚在阿里工作”,“李刚”是一个人实体和“阿里”是一个公司实体。如果“王小 超”是另一个人的名字和“谷歌”是另一个公司名称,然后我们可以获得一个新的句子代替“李刚”和“王 小超”和“阿里”和“谷歌”,也就是说,“王小超在谷歌工作”。如果我们有了原句的NER标签,那么我们可以轻松推断伪句子的NER标签。例如,如果上述例子中原句的NER标签为“B-PER/I-PER/O/B-ORG/I-ORG/O/O”,然后是NER的标签伪句是“B-PER/I-PER/I-PER/O/B-ORG/I-ORG/O/O”。另外,如果我们有原句的CWS标签,那么我们也可以自动获取伪句子的CWS标签,由于实体名称通常被视为独立的单词。例如,在上述的例子中,如果CWS标签的原来句子是“B/I/B/B/I/B/B/I”,那么CWS的伪标签是“B/I/I/B/B/I/B/B/I”。在我们的方法中,给定一组标记的CNER样本,我们首先从它们中提取所有实体名称(称为EN)。然后,我们随机选择一个标有标签的句子,并替换其中的每个实体句子中随机抽取的具有相同的概念。这样就产生了一个伪句子NER标签(以及CWS标签)可以自动推断。 此步骤重复多次,直到达到预定义的生成伪标记样本。 就是改了个cnn+lstm+crf 没写为什么cnn加载前面 然后加伪标签 对比试验也很垃圾 主要再看代码吧 可以借鉴的方式是 对比实验的分组设计 证明加伪标签和joint有效 之后写论文也可以这样 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:55:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |