文本理解平台TexSmart简介

TexSmart 是由腾讯AI Lab自然语言处理(NLP)团队开发的一套自然语言理解工具与服务, 用以对中文和英文两种语言的文本进行词法、句法和语义分析。 除了支持分词、词性标注、命名实体识别(NER)、句法分析、语义角色标注等常见功能外, TexSmart还提供细粒度命名实体识别、语义联想、深度语义表达等特色功能。 文本理解技术广泛应用于搜索、个性化推荐、广告匹配、智能对话等场景, 用来对自然语言文本进行结构化分析与处理。

该系统目前已开放体验:

texsmart.qq.com/

API和工具包试用及技术问询,可加入QQ群预约 QQ群号:1095749969

TexSmart的特色

相比目前公开的自然语言处理工具[1-7],TexSmart系统具有以下特色。

⒈ 细粒度命名实体识别

TexSmart支持上千种实体类型,类型之间具有层级结构,而目前多数公开的文本理解工具只支持人、地点、机构等几种或者十几种(粗粒度的)实体类型。大规模细粒度的实体类型有望为下游的NLP应用提供更为丰富的语义信息。 图1和图2是TexSmart与现有开源文本理解工具在一个示例中文句子上的命名实体结果对比。

图1. TexSmart 的细粒度命名实体识别与增强的语义理解功能(截图时间:2020年4月)

图2. 传统工具的命名实体识别结果

可以看到,TexSmart识别了更多类型的实体(如电影、食物等),支持更细粒度的实体类型标注(如把"南昌"的类型从"地点"细化为"城市")。 TexSmart能够识别的实体类型包括人、地点、机构、产品、商标、作品、时间、数值、生物、食物、药品、病症、学科、语言、天体、器官、事件、活动等上千种。在常见的人、地点、机构等大类中,能够识别出常见的细粒度子类型,如演员、政治人物、运动员、国家、城市、公司、大学、金融机构等。

2. 增强的语义理解功能

除了细粒度命名实体识别之外,TexSmart还提供了两项增强的语义理解功能:语义联想和针对特定类型实体的深度语义表达。这两个功能是多数现有的开源文本理解系统所不具备的。

1)语义联想:语义联想的功能是,对句子中的实体,给出与其相关的一个实体列表。语义联想是增强理解实体语义的一种方式,它在工业界有着广泛的应用,比如搜索和推荐。在上述例子中,TexSmart可以从“流浪地球”这一部作品,联想到其它的影视剧如"战狼二"、"上海堡垒"等;从“煲仔饭”联想到其它的食物如"兰州拉面","热干面"等。

2)特定类型实体的深度语义表达:针对时间、数量等特定类型的实体,TexSmart能够分析它们潜在的结构化表达,以便进一步推导出这些实体的精准语义。例如在图1的例子中,TexSmart对"上个月30号"给出的深度语义表达为JSON格式:{"value":[2020,3,30]}。深度语义理解对某些类型的NLP应用至关重要,比如在智能对话中,某用户于2020年4月20日向对话系统发出请求,”帮我预定一张后天下午四点去北京的机票”。智能对话系统不但需要知道"后天下午四点"是一个时间实体,还需要知道这个实体的语义是"2020年4月22日16点"。目前大多数公开的NLP工具不提供这样的深度语义表达功能,需要应用层自己去实现。

3. 为多维度应用需求而设计

学术界和工业界不同的应用场景对速度、精度和时效性的要求有所不同,而速度和精度通常是很难兼得的。TexSmart的目标是在一套系统中尽可能地考虑这三个方面的需求。首先,TexSmart针对一项功能(比如词性标注或命名实体识别)实现了多种不同速度和精度的算法与模型供上层应用按需选择,以便满足工业界和学术界不同场景下的多样化应用需求。其次,TexSmart的构建利用了大规模的无结构化数据以及无监督或弱监督方法。一方面这些无结构化数据覆盖大量时效性很强的词和实体(比如上文中的"流浪地球",再比如新的疾病"新冠肺炎");另一方面无监督或弱监督方法的采用使得该系统可以以较低的代价进行更新,从而保证它具有较好的时效性。

图3. TexSmart的特色功能

技术实现概要

对于分词、词性标注、句法分析等较为成熟的NLP任务,TexSmart实现了多种代表性的方法[8-11]。下面将简要地介绍其特色功能(图3)的技术实现。

1. 细粒度命名实体识别 现有的命名实体识别(NER)系统大多依赖于一个带有粗粒度实体类型标注的人工标注数据集来作为训练集。而TexSmart中的实体类型多达千种,人工标注一个带有全部类型标注的训练集是非常耗时的。为减少人工标注量,该模块采用了一种混合(hybrid)方法,它是如下三种方法的融合: (1) 无监督的细粒度实体识别方法,基于两类数据:其一是从腾讯AI Lab所维护的知识图谱TopBase [12] 中所导出的实体名到类型的映射表;其二是采用文献[13, 14]中的无监督方法从大规模文本数据中所抽取到的词语上下位关系信息。 (2) 有监督的序列标注模型,基于一个经过人工标注的包含十几种粗粒度实体类型的数据集所训练而成。 (3) 腾讯AI Lab在国际大赛夺冠的实体链接方法 [15]。 这三种方法的结果都会有一些错误和缺陷,实验证明三种方法结合起来能够达到更好的效果。

2. 语义联想 上下文相关的语义联想(context-aware semantic expansion,简称CASE)是腾讯AI Lab从工业应用中抽象出的一个新NLP任务[16]。该任务的难点在于缺乏有标注的训练数据。该模块采用了两种方法来构建语义联想模型。第一种方法结合词向量技术、分布相似度技术和模板匹配技术来产生一个语义相似度图[17, 18, 19],然后利用相似度图和上下文信息来产生相关的实体集合。另一种方法是基于大规模的无结构化数据构建一个规模相当的伪标注数据集,并训练一个充分考虑上下文的神经网络模型[16]。

3. 特定类型实体的深度语义表达 对于时间和数量两种实体,TexSmart可以推导出它们具体的语义表达(见图1右上角的示例)。一些NLP工具利用正则表达式或者有监督的序列标注方法来识别时间和数量实体。但是,这些方法很难推导出实体的结构化语义信息。为了克服这个问题,该模块的实现采用了比正则表达式表达能力更强的上下文无关文法(CFG)。基本流程是:先根据特定类型实体的自然语言表达格式来编写CFG的产生式,然后利用Earley算法[20]来把表示这种实体的自然语言文本解析为一棵语法树,最后通过遍历语法树来生成实体的深度语义表达。

TexSmart是腾讯公司级文本处理工具qqseg的功能加强版,也是内部公共技术服务(PTS)的组件之一,为自然语言处理相关的腾讯业务及产品提供广泛支持,日调用量数千亿次。目前 AI 在自然语言理解方面的能力和水平,跟人类相比还有较大差距,TexSmart系统也不例外,在解析某些句子的时候可能会出现不尽如人意的结果。实验室将继续探索,力求不断提高 AI 在自然语言理解上的能力。

除了此次开放的TexSmart,腾讯 AI Lab 此前在NLP领域发布的系统或数据包括: 辅助翻译系统TranSmart 大规模高质量中文词向量数据

[1] https://stanfordnlp.github.io/CoreNLP/ [2] https://www.nltk.org/ [3] https://opennlp.apache.org/ [4] https://demo.allennlp.org [5] https://ai.baidu.com/tech/nlp [6] http://www.ltp-cloud.com/ [7] https://github.com/FudanNLP/fnlp [8] John Lafferty, Andrew McCallum, and Fernando Pereira. Conditional random fields: Probabilistic models for segmenting and labeling sequence data, ICML 2001. [9] Alan Akbik, Duncan Blythe, and Roland Vollgraf . Contextual String Embeddings for Sequence Labeling. COLING 2018. [10] Nikita Kitaev and Dan Klein. Constituency Parsing with a Self-Attentive Encoder. ACL 2018. [11] Peng Shi and Jimmy Lin. Simple BERT Models for Relation Extraction and Semantic Role Labeling. Arxiv 2019. [12] https://www.infoq.cn/article/kYjJqkao020DcHDMJINI [13] Marti A. Hearst. Automatic Acquisition of Hyponyms from Large Text Corpora. ACL 1992. [14] Fan Zhang, Shuming Shi, Jing Liu, Shuqi Sun, Chin-Yew Lin. Nonlinear Evidence Fusion and Propagation for Hyponymy Relation Mining. ACL 2011. [15] https://mp.weixin.qq.com/s/9XXZc4eVzJY7DCpB4Y2MWQ [16] Jialong Han, Aixin Sun, Haisong Zhang, Chenliang Li, and Shuming Shi. CASE: Context-Aware Semantic Expansion. AAAI 2020. [17] Tomas Mikolov, Ilya Sutskever, Kai Chen, Gregory S. Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. NIPS 2013. [18] Yan Song, Shuming Shi, Jing Li, and Haisong Zhang. Directional Skip-Gram: Explicitly Distinguishing Left and Right Context for Word Embeddings. NAACL 2018. [19] Shuming Shi, Huibin Zhang, Xiaojie Yuan, and Ji-Rong Wen. Corpus-based Semantic Class Mining: Distributional vs. Pattern-Based Approaches. COLING 2010. [20] Jay Earley. An Efficient Context-Free Parsing Algorithm. Communications of the ACM, 13(2), 94-102, 1970.