边城白衣 2018-04-10
你和“懂AI”之间,只差了一篇论文
很多读者给芯君后台留言,说看多了相对简单的AI科普和AI方法论,想看点有深度、有厚度、有眼界……以及重口味的专业论文。
为此,在多位AI领域的专家学者的帮助下,我们解读翻译了一组顶会论文。每一篇论文翻译校对完成,芯君和编辑部的老师们都会一起笑到崩溃,当然有的论文我们看得抱头痛哭。
同学们现在看不看得懂没关系,但芯君敢保证,你终有一天会因此爱上一个AI的新世界。
读芯术读者论文交流群,请加小编微信号:zhizhizhuji。等你。
这是读芯术解读的第15篇论文
ACL 2017 System Demonstrations
扩展命名实体识别API及其在语言教育中的应用
Extended Named Entity Recognition API and Its Applications in Language Education
Alt公司
Alt Inc
【摘要】我们提出了一个扩展命名实体识别API来识别各种类型的实体,并将实体分类为200个不同的类别。每个实体都被划分为实体类别中的一个层次,其中层次结构中根附近的类别比叶子附近的类别更具有概括性。这些类别信息可用于各种应用程序,如语言教育应用程序、在线新闻服务和推荐引擎。本文展示了该API在一个针对日语学习者的日文在线新闻服务中的应用。
1 引言
层次结构的顶层包括传统的命名实体类别,如人、地点或组织。中间层和叶级将顶级分类细化到更细粒度的类别。图1显示了顶级类别“组织”的部分层次结构。在扩展的命名实体识别(ENER)问题,给定一个输入的句子,如“Donald Trump was officially nominated by the Republican Party”,系统必须识别并对句子中的扩展命名实体进行分类,如“Donald Trump”为“人”的类别,“Republican Party”为“政党”类别。
图1 扩展命名实体(ENE)的层次结构
本文提出一个日文扩展命名实体识别API的体系结构设计与实现。我们称这个API为“AL+ENER API”。在大量训练数据样本下,所提出的架构表现出良好效能,并在实际应用中具备较快的响应速度。为说明AL+ENER API的有效性,我们描述了此API在日语在线新闻服务中术语自动提取的应用。从用户的反馈表明,ENER API在词汇产生任务中表现出较高的准确率。
本文的如下部分安排如下。第2节描述了ENER API的技术的设计与实现。第3节给出了实验结果以评估API的性能。第4节描述了ENER API在为日语学习者设计的在线新闻服务中的应用,从服务中获取用户反馈以提高ENER系统性能的方法,以及从用户反馈得到的统计数据。第5部分回顾了相关系统并与该系统进行对比。最后,第6节总结全文。
2.1 AL+ ENER API概述
AL+ ENER API 是一款扩展命名实体识别的应用程序编程接口,它以一个句子作为输入,输出为一个包含句中扩展命名实体的JSON列表,如图2所示。
图2 AL+ENE识别API
不同于传统的命名实体识别API,这个API可以标注能源200大类(类别列表见: http://nlp.cs.nyu.edu/ene/),包括一些未定义的实体(因此,他们被称为“扩展”的命名实体,具体描述见(Sekine and No- bata, 2004))。在图2中,“president”不是一个传统的命名实体,但它被标记为扩展命名实体层次结构中的一个类别POSITION VOCATION。每一个实体,我们输出词本身(例如,“president”),其扩展命名实体标签(“POSITION VOCATIO”),在输入句子中的索引(JSON中的“开始”位置)和它的长度。开发人员使用ENER API可以利用开始位置和长度信息去计算实体在输入句子中的确切位置。ENE标签可以后续的多种任务中使用,如关系提取(RE)、问答(QA)或自动对话生成。AL+ENER API可以在线免费获取(http://enerdev.alt.ai:8030/#!/Chatbot/)。目前,该API仅支持日语,但我们同时也开发了一款英文扩展命名实体识别的API。图3显示了一个输入句子和输出扩展命名实体标签的例子。
图3 输入句子和输出扩展命名实体标签的例子
2.2 扩展命名实体识别算法
现有的命名实体识别(NER)系统常使用条件随机场(CRFs)(McCallum and Li, 2003; Finkel et al., 2005),隐马尔可夫模型(HMM)(Zhou and Su, 2002)或支持向量机模型(SVM)(Yamada et al., 2002; Takeuchi and Col- lier, 2002; Sasano and Kurohashi, 2008)对输入句子的分词打标签。然而,这些方法只适用于少数类别(例如10类)。在扩展命名实体识别(ENER)问题上,类的数量是200,与传统命名实体识别(NER)相比这是非常大的。因此,传统方法可能无法获得良好的性能,甚至是不可行的。事实上,我们已经尝试使用CRF 进行200个类别的标注,但训练过程花费了很长的时间,而且没有完成。
在本系统中,我们使用一个组合的方法来识别扩展命名实体(ENEs)。我们首先实现四种基础算法,即CRF-SVM 层次ENER,基于RNN的ENER,基于维基百科的ENER和基于规则的ENER。然后我们通过选择方法对算法进行组合,如图4所示。
图4 ENER算法的概述
在基于规则的方法中,我们扩展的规则为基础的方法在(Sekine and Nobata, 2004)通过向他们工作中没有被提及的新类别中添加新规则的方法),同时我们也使用了一个包含了160万个维基百科实体关系的字典。在这160万个实体中,只有7万个实体被人工标注为ENE标签,其余的则由一个现有的维基百科ENE标注算法标注(Suzuki et al.,2016),同时给每对(实体、ENE类别)一个得分。对于自动标注的实体,我们只选择得分高的实体以确保算法产生标注的准确性。如果规则不能提取出实体,我们会提取所有的名词词组并在字典中查找它们是否是扩展命名实体。
我们使用一个包含ENE标记句子的训练数据集训练CRF模型,对输入句子打上顶层ENE类别标签(在训练数据集中,我们从ENE层次类别中其父节点或祖父节点的类别来获取这些ENEs的正确标签)。如图1所示,在顶层,CRF-SVM只需识别11个ENE类别(其他像日期、时间和数字等类别可以通过规则来识别),在这里使用CRF模型将与现存NER系统达到基本相当的性能。在使用顶层ENE类别标注完句子之后,我们可以将ENER问题转换为一个简单的分类问题(不再是一个序列标注问题),因此我们可以用SVM分类器将顶层ENEs分类到更细的叶级类别。因此,我们采用一个CRF模型对输入句子标注顶层类别标签,并采用多个SVM模型(每个模型对应于一个顶层类别)将该ENEs分类至叶级ENE类别。CRF和SVM模型所使用的特征包括词袋、词性、字中数字的个数、当前词的Brown分类、维基百科ENE词典中当前词作为一个子串出现的次数、字的其他正确写法特征(这个词是在日本汉字的写法,平假名、片假名或罗马字字)、是否大写,以及最后2~3个字符。由于每个顶层类别中的叶级类别的数量也不太大(例如少于15),SVM模型将在这一步获得不错性能。
我们同时也训练一个LSTM(长-短时记忆网络)去识别ENEs,改模型为一种RNN(递归神经网络)。我们采用LSTM模型的原因是由于其对于序列标注问题的适用性。LSTM的输入时当前词的词向量表示和POS标签。POS标签是使用JUMAN(http://nlp.ist.i.kyoto-u.ac.jp/EN/?JUMAN)自动生成的,JUMAN是一个日语词法分析器。词向量是通过一个采用日语维基百科文本训练的word2vec模型获得的。我们希望LSTM模型可以记忆训练数据模式,并在很多情况下应用于CRF-SVM方法。
对于上下文无关的ENEs,我们使用基于维基百科的方法。上下文无关的ENEs可以是任何文字,如一部电影的名字或一首歌的名字(如,“what is your name”是一个著名的日本电影)。如果这些名字非常有名,他们往往会成为一些维基百科文章的标题。因此,使用基于维基百科的方法识别此类实体可以取得较好效果。
我们提出一种算法选择模型,通过使用开发数据集(不同于测试数据集)评价四种基础算法(基于规则的、CRF-SVm、RNN和基于维基百科的)的算法。在最后阶段,在从以上四种方法获取到所有实体的标签之后,我们选择在开发数据集中具备较高F值得分的算法标签。注意,我们使用的最佳选择方案是基于实体层次的,不是句子层次。这是因为每个算法在一些特定类上表现出良好性能,所以如果我们对每个实体选择最好的算法,整个句子就能获得更高性能。
3.1 数据集
我们请了七个标注员建立一个标记了ENE的数据集。具体地说,对每个ENE类,标注员标注了100个日语句子,每个句子中至少在响应类别中包含一个实体。然后标注员讲这些句子人工标注上ENE标签。筛选出错误的句子(标记格式无效的句子)后,我们得到了19363个格式规范的句子。我们将数据集分为三个子集:训练集(句子总数的70%)、开发集(15%)和测试集(15%)。表1显示了一些统计数据。
表1 数据集统计数据
3.2 ENER API的实验结果
我们使用测试集去评价ENER API的准确率、召回率和F值。表2显示了ENER API在特定类别的准确率、召回率和F值,以及全部200类的平均评价结果(在最后一行)。我们在具有少数已知实体(如Cabinet)的类别,或者几乎可以捕获几乎所有实体(如h as Intensity, Volume, URL, and Email)的类别中取得了很高的性能。对于上下文无关的文本名字类别(例如,手写签名)或很短的名字(例如,AK-47,一种武器),系统不能很好地预测出ENE,因为这些名字可能会出现在多种多样的文本中。在这种情况下我们会优先考虑基于wikification的方法来提高性能。最后我们获取的F1得分为71.95%,对于此200个类别来说是一个合理的结果。
表2 ENER API在测试集上的准确率、召回率和F值
3.3 API的响应时间
由于ENER经常用于随后的NLP任务,ENER API的响应速度必须足够快以实现高速的后续任务。因此,我们在测试集上(含2869个句子)执行ENER API,并评估ENER API的响应时间。一个句子(查询)的平均响应时间是195毫秒(0.195秒)。这个响应速度对各种任务来说都是足够快的,如为智能聊天机器人或者搜索引擎会话生成答案。图5显示了响应时间和输入语句的长度之间的关系(由分词数量计算,每个分词是由词法分析器生成的一个单词)。当输入句子长度增加时,响应时间几乎呈线性增加(除非句子太长,因为我们有少量这样的句子,所以方差很大)。日语典型句子长度是10~20个分词,所以在大多数情况下RNER的速度都很快。
图5 输入句子长度与API响应时间的关系
4.1 Mazii:日语学习者的在线新闻服务
Mazii新闻服务的针对日语学习者的在线新闻服务。对于新闻文章中的每个句子,Mazii自动分析,对识别为ENE的每一个词创建一个链接或词典入口。这将帮助日语学习者在不理解单词/实体的意思时快速地查阅到单词/实体来参考。为识别一篇新闻消息中的所有ENEs,Mazii向AL+ENER API输入文章所有句子(日语句子边界检测很简单因为日本语言句子边界标志着一个特殊的符号)。因为AL+ENER API也返回ENEs的位置(和长度),Mazii可以很容易地创建一个链接突出强调句中的ENEs。当用户点击一个链接,Mazii将打开一个弹出窗口提供有关实体的细节信息:实体的ENE类别(和父类别),该实体的定义(如果有)。图6显示了一个Mazii ENE链接结果的截图。
图6 Mazzi基于AL+ENER API的实体链接,下划线的实体被链接。当用户点击一个链接(如图所示,日本的一个城市被点击),弹出窗口打开,并展示了对应实体的ENE层次类别。
4.2 用户反馈收集
Mazii拥有超过4千万的日活跃用户,许多用户点击链接ENEs。这为我们提供了很大的机会来获取关于用户关于AL+ENER API预测效果的反馈。我们已经实现了两个接口来收集用户反馈,如图6和图7所示。
图7 使用纸牌游戏从Mazzi收集ENE用户反馈
在图6中,当用户单击实体时,我们在弹出窗口中显示实体的ENE层次结构。我们同时还提供两个单选按钮让用户给我们反馈:正确的和不正确的。如果用户选择了不正确的,那么我们也会问用户实体的正确类别。
使用图6中的方法,当用户单击实体时,我们只能收集反馈信息。然而,点击次数通常比浏览的数量小得多。为了增加用户反馈,我们为语言学习者发明了一种纸牌游戏,如图7所示。当用户浏览一篇文章,我们提供一个对文章中ENE正确类别提问的框架(我们还提供包含ENE的句子为CRF-SVM和RNN模型获取文本)。如果用户对这个框架作出反应(通过按下正确/不正确的按钮),我们存储反馈并移动到数据库中的下一个ENE。这将用户融入到一个语言学习游戏中,同时也帮助他/她学习到许多新单词和语法结构。
4.3 用户反馈统计
在这一部分中,我们展示了一些统计数据,是从Mazii新闻服务收集的用户反馈日志。我们收集3个月内(从2016年12月到2017年2月)的用户反馈日志(包括查看、点击和更正日志)。然后,我们计算浏览次数、点击与反馈次数(正确/不正确的按钮被按下的次数)和每个ENE类别确认正确的次数。我们计算正确的比率(%正确)通过将正确次数除以反馈数量(正确/反馈)。
表3 基于Mazii反馈日志的浏览次数、点击数、反馈数和正确百分比
表3显示了实验结果。在96个类别,多于100次浏览和至少一个用户反馈的情况下,正确率(%正确)是88.96%。该表还显示了某些类别的详细数量,按浏览数排序。平均点击率(CTR=点击率/浏览率)是8.7%,与平均广告点击率(约0.4%)相比这是非常高的(Zhang et al., 2014)。这表明,用户对链接消息感兴趣。更多的,正确次数的百分比表明,ENER API是足够好,可以向用户提供有用的信息。
本文使用的ENE层次结构在论文(Sekine et al., 2002)中提出。(Sekine and Nobata, 2004)提出了一个基于规则的日语ENER,具有72%的准确率和80%召回率。如果文本中的ENEs包含在词典中,或规则能够捕获ENEs的出现模式,基于规则的ENER表现出良好性能。然而,ENEs 经常随时间演变,新ENEs频繁添加,它们的含义可能会改变。因此,基于规则的系统在经过几年之后可能不会表现太好。在本文提出的系统中,我们重新利用了规则和字典(Sekine and Nobata, 2004)但是我们也添加机器学习模型捕捉ENEs进化。该模型可以在任何我们有新训练数据的时候进行重新训练。(Iwakura et al.,2011)提出了一个基于词块分解/连接的ENER方法。他们评估了具有191ENE类别的系统,并取得了81%的F值。然而,在他们的评价中,他们并没有直接对输入句子进行评估,而是只对正确的词块。此外,他们没有处理文章中所说的词边界。因此,无法将我们的结果与其进行对比。
我们提出了一个扩展命名实体识别API(ENEs)。API以句子作为输入,输出一个包含一系列的ENE和类别的JSON。该API能够深层次地识别出命名实体,并在实际应用中得到了很好的应用。我们描述了ENER API在日语在线新闻服务上的应用。实验结果表明,该API具有良好的性能,速度快,适合实际应用。
论文下载链接:
http://www.aclweb.org/anthology/P/P17/P17-4007.pdf
留言 点赞 发个朋友圈
我们一起探讨AI落地的最后一公里
长按识别二维码可添加关注
读芯君爱你