ACL 2018|南非西北大学:面向资源稀缺语言的NLP Web服务

ACL 2018 System Demonstrations

面向资源稀缺语言的NLP Web服务

NLP Web Services for Resource-Scarce Languages

南非西北大学

North-West University, South Africa

本文是南非西北大学发表于 ACL 2018 的工作,提出了一个项目,将现有文本核心技术从不同体系结构中移植到基于Java的Web服务中。这些技术是在八年期间,通过多种政府资助项目,针对10种南非国家资源稀缺语言开发的。本文通过API和一个简单的Web前端,能够完成各种预定义任务。

ACL 2018|南非西北大学:面向资源稀缺语言的NLP Web服务

引言

随着大型软件体系结构的建立,国际上正在朝着使软件作为服务使用的方向发展。Web服务是一种公开信息系统的功能,并通过标准Web技术使其可用的方法。自然语言处理(NLP)Web服务指的是一种或多种技术,这些技术关注自然(人类)语音或文本,并以编程方式公开,以允许任何人在多个平台上访问互联网,以获得对该技术输出的访问。通过托管NLP Web服务,软件开发人员和研究人员都可以通过简单的Web查询访问此类技术的最新版本,促进了面向最终用户的应用程序开发。

Web服务还提供了一个体系结构,允许将人类语言技术(HLT)集成到更大的软件系统中。通过采用面向服务的体系结构,现有的资源和工具也可以用于开发复杂的基于组件的系统。欧洲和美国已经在存在了一些这样的系统,例如Stanford CoreNLP, Aylien,Web-licht,和Tanl Pipeline等。此外,Web服务可以相对快速地更新,允许用户随时获得最新版本的技术。

在本文中,我们描述了一个项目,其中61个现有的基于文本的核心技术从不同的体系结构移植到基于Java的Web服务。本文第一部分简要介绍了开发这些技术的背景和相关语言。接下来简要描述开发这些技术的三个以前的项目,以及这些技术本身的描述。然后,我们将在下面的部分中描述API和能够完成各种预定义任务的简单Web前端。最后,我们提供了一些关于当前项目和未来考虑事项的信息。

ACL 2018|南非西北大学:面向资源稀缺语言的NLP Web服务

背景

南非有11种官方语言,一般分为5种语言族群。conjunctively编写的Nguni语言包括isiZulu (ZU), isiXhosa (XH), isiNdebele (NR),and SiSwati (SS)。disjunctively编写的语言包括Sotho语言Sesotho(ST)、Setswana(TN)、Sesotho sa Leboa(NSO)和Tshivenḓ a (VE)以及析取书写的Tswa-Ronga语言Xitsonga (TS)。最后,有两种Germanic语言,English (EN)和Afrikaans (AF)。除了英语,所有的南非语言都被认为是资源稀缺的,只有很少的数据可以用来开发NLP应用和技术。

在过去的二十年里,南非政府一直支持与HLT相关的文本和演讲项目。这些项目以数据、核心技术、应用和系统的形式生成了NLP资源,这些资源对南非官方语言的未来发展极为宝贵。尽管可以从南非数字语言资源中心(SADiLaR)的语言资源管理局及时获得这些资源,但从需要技术熟练的人员或组织来使用这些技术上来说,对这些资源的访问仍然可以被认为是有限的。改善对这些技术的访问的一种方法是使它们作为Web服务可用。我们之前开发了几个南非语言对之间的机器翻译免费可用的Web服务,并基于此经验开发了Web服务。

本文所描述的Web服务需要将现有技术实现为可通过应用程序编程接口(API)和充分利用API用户友好的Web应用程序访问的Web服务。这些服务可以处理以单词列表、运行文本、文档或扫描图像作为输入。以下部分提供了在API中实现的各个技术的简要概述。

ACL 2018|南非西北大学:面向资源稀缺语言的NLP Web服务

技术

网络服务中包括的所有技术都是通过三个项目在八年期间开发的,即NCHLT文本:阶段 I,II和III。这些项目由艺术和文化部(南非政府)的国家人类语言技术中心(NCHLT)发起和资助。以下描述的技术和资源仅针对10种南非语言开发,因为存在众所周知且容易获取的用于英语的基于文本的技术,例如可用于南非英语的Stanford CoreNLP。下面将简要描述三个项目及其产生的技术。

NCHLT文本: 阶段I

NCHLT文本项目第一阶段重点是为南非NLP工业的进一步发展建立基础资源和技术。对于每种语言,收集来自政府领域来源的文本语料库并为每种语言开发一百万字的语料库。从这些语料库中,10种语言中的每一种语言的语言专家对每种语言标注了50000个符号(以及另外5000个用于测试的符号),分为三个级别,即词性(POS)、词根和形态组成。除了注释语料库之外,还为每种语言开发了五个核心技术。这些技术包括句子分隔符、标记符、词根符、形态分解器和POS标记符。

分句是典型NLP任务用于标记化的预处理步骤。本项目中开发的句子分隔是基于规则的,并且基于语言特性对句子进行分隔,以确保缩写和编号正确地保留不同句子的一部分。

标记器也是特定语言的、基于规则的技术,将句子分割成标记,通常是单词和标点符号,并且是所有其他NLP任务必要的预处理步骤。

NCHLT文本: 阶段II

基于在第一个NCHLT文本项目期间创建的资源,第二阶段重点关注命名实体识别、短语组块识别和语言识别。命名实体识别器和短语组块识别是在项目期间从每个注释语言的额外15,000个标记中开发出来的。语言标识符(LID)是为将文本分类为11种正式语言之一而开发的,它是在第一个NCHLT文本项目期间收集的文本语料库上训练的,同时还收集了来自政府领域的英语语料库。

用L2正则化的线性链条件随机场(CRF)训练命名实体识别器。短语组块识别还使用来自注释数据的线性链CRFs进行训练,并且通过采用先前开发的POS标记作为特征。使用CRF++ Java库实现了Web服务中的命名实体识别和短语组块识别的核心技术。

LID采用字符级n-gram语言模型(n=6),并测量测试模型与所有语言模型相对频率之间的Euclidean距离,选择距离最小的Euclidean距离作为概率语言。在Web服务中,LID是在线性层上执行的,并返回输入文本中每行的可能语言。第一个版本是在Python中实现的,Web服务版本是用Java实现的。

NCHLT文本:阶段III

NCHLT文本项目的第三阶段是开发光学文本识别(OCR)模型,以及通过开发Web服务改进对所有技术的访问。南非语言的OCR模型是使用Tesseract开发的,并且适应了四种南非语言所需的音调字符。为了在Web服务中实现OCR,使用了tess4j。

ACL 2018|南非西北大学:面向资源稀缺语言的NLP Web服务

实施

Web服务被实现为一个简单的三层Java应用程序,由API、核心技术管理器(剩余的文档管理器)和各个核心技术模块组成。

API负责处理所有传入请求、验证参数和头部、将参数数据发送到Manager以进行处理并将中继处理结果返回给请求者。Manager负责初始化和加载技术,处理来自API的数据,并将结果发送回API。

NCHLT web服务API

API是一个RESTful Web服务,既可维护又可扩展。该服务基于Jersey框架,因为它是一个开源的、用于在Java中开发RESTful服务的产品质量框架。API使用身份验证过程,提供对API的可用服务的受限访问。

API支持四个函数,可以通过GET或PUT调用访问这些函数,这取决于是否发送文本字符串或文件进行处理。这两个函数确保调用者可以正确地访问那些可用于特定语言的技术。

在接收到请求时,API验证参数和会话token,以确保使用相关技术所需的所有信息都存在。如果请求通过了验证,则将输入和语言信息提交给Manager,Manager处理所请求的核心技术模块的初始化。然后,Manager再次验证参数数据,将数据发送给相关核心技术处理,并将结果返回给API。

核心技术管理器

Manager的任务是处理跨一个或多个线程或服务器为不同语言加载的不同核心技术模块。除了管理在任何给定时间加载的各个模块之外,Manager还管理共享任务。最后,还必须注意,所有模块都重用了在类的多个实例之间共享并且是线程安全的模型和属性。因此,同时运行多个实例不会导致任何信息损坏、竞争条件或相关的多线程问题,同时限制了处理数据所需的加载时间和内存。

核心技术模块

如前所述,Web服务的开发重点在于将南非语言的现有语言核心技术转移到可通过RESTful API访问的共享代码库。

在设计阶段,由于三个原因,决定将所有核心技术移植到Java。首先,Java在大多数操作系统中得到支持,允许跨许多不同体系结构部署技术和服务。第二,Java提供了广泛的自由可用和测试良好的库,以促进技术和Web服务的开发和分布。考虑的第三个因素是,为Web服务开发的核心技术模块也可以在其他面向用户的应用程序中重用,特别是与Web服务并行开发的离线语料库搜索和处理环境。

虽然转移模块的主要焦点是包含在Web服务中,但是这种转移也允许在文本技术中心开发的不同模块之间进行更好的集成。

在将技术传输到共享代码库时需要考虑的另一个问题是,大多数技术都具有相互依赖性,通常形成处理字符串所需的流水线。POS标记器又依赖于该语言的符号化,而符号化依赖于句子分离来完成其处理。这意味着,对于要执行的短语组块,必须执行第一个句子分离,然后进行标记化,然后进行POS标记,并且只有这样才能为必须进行短语块的字符串创建特征集。在当前的体系结构中,整个链是固有实现的,并且短语块只需要调用特定语言的POS标记模块,然后POS标记模块又调用执行标记所必需的模块,见下图。

ACL 2018|南非西北大学:面向资源稀缺语言的NLP Web服务

每个技术模块所需的模块完全由Manager处理,这意味着在大多数模块中通常使用的核心技术,例如tokenisation,可以被需要共享模块的各个模块实例有效地重用。

ACL 2018|南非西北大学:面向资源稀缺语言的NLP Web服务

Web应用程序

为了使NCHLT项目各个阶段开发的技术更易于访问,还创建了一个简单的Web应用程序。此应用程序特别旨在适应不习惯于面向服务的体系结构的用户,并且对于使用这些类型的体系结构的用户来说可能相当具有挑战性。因此,开发一个基本的接口以帮助用户使用服务来完成某些任务是明智的。因此,我们开发了一个基于web的、用户友好的图形用户界面,能够通过提供上述预定义的Web服务链来完成各种任务。在使用POS标记服务标记用户文档之前,系统将自动执行tokenisation和句子分离。为了方便快捷的处理,用户可以提供文本、选择所需的选项、处理文本以及查看或下载结果。还提供了关于使用API以及Web应用程序的详细文档。用于所有注释的标记集都在帮助页中提供。web应用程序可以在http://hlt.nwu.ac.za/上找到。

ACL 2018|南非西北大学:面向资源稀缺语言的NLP Web服务

总结

本文提供了一个新的Web服务和应用程序的概述,它为南非语言提供了对61种不同文本技术的访问。这个实现允许任何开发人员在自己的环境中访问和集成这些语言技术中的一种,同时确保在任何时候使用这些技术的最新版本。最后,描述了一个简单的、用户友好的web应用程序,该应用程序提供了对预定义的NLP技术链的访问,供技术不熟练但可以在自己的研究工作中使用这些技术的最终用户使用。目前有一个项目正在进行中,将带注释的文本语料库集从50000扩展到大约100000个token。然后,可以使用这些扩展的带注释的数据集来为南非语言创建更好地核心技术。

相关推荐