En | 中

TexSmart使用说明


TexSmart 是由腾讯人工智能实验室自然语言处理团队开发的一套自然语言理解工具与服务, 用以对中文和英文两种语言的文本进行词法、句法和语义分析。 除了支持分词、词性标注、命名实体识别(NER)、句法分析、语义角色标注等常见功能外,TexSmart还提供细粒度命名实体识别、语义联想、深度语义表达等特色功能。

系统说明

系统对外提供 工具包(SDK)和 HTTP在线服务 两种形态。两种形态的对比如下:


离线工具包 HTTP API
功能 分词 无监督分词算法 无监督分词算法
词性标注 算法:log_linear 算法:log_linear, CRF, DNN
粗粒度NER 算法:coarse.crf 算法:coarse.crf, coarse.dnn, coarse.lua
细粒度NER 算法:fine.std 算法:fine.std, fine.high_acc
句法分析 不支持 支持
语义角色标注 不支持 支持
语义联想 基于小知识库的std算法 基于大知识库的std算法
深度语义表达 上下文无关文法 上下文无关文法
文本分类 不支持 缺省算法
文本匹配 支持linkage算法 支持esim和linkage算法
文本图谱 不支持 支持
知识库大小
支持的自然语言 中文、英文 中文、英文

HTTP在线服务可以在各种操作系统上用各种编程语言来调用(API调用:文本理解 | 文本匹配 | 文本图谱
离线开发工具包的(即将提供下载)适用范围如下:

功能介绍

TexSmart当前版本支持的功能包括分词、词性标注、(粗粒度和细粒度)命名实体识别、句法分析、语义角色标注、语义联想、(特定类型实体的)深度语义表达、文本匹配、文本分类以及文本图谱等。

分词

自动分词(Automatic Word Segmentation)任务是将输入的字符串切分成以单词为单位的序列,并以空格间隔。 自动分词是自然语言处理的基础任务,因为分词的结果可作为许多下游任务的输入。 为适用于不同的应用场景,TexSmart提供了两种粒度的自动分词功能支持:基础粒度与复合粒度。 它们之间的区别可通过图1中的例子看出。 在基础粒度下,“30”与“号”被切分为两个词;而在复合粒度下,“30号”这一复合词不再进行更细粒度的切分,被归为一个词。 需要说明的是,TexSmart也支持对英文的分词,基础粒度的分词结果,也即英文的输入,因为英文的输入本身已经按照空格切分了;而复合粒度的分词结果是TexSmart特有的,见图2.

图1. 中文分词和词性标注任务实例。

图2. 英文分词和词性标注任务实例。

词性标注

词性(Part-of-Speech, POS)是句子中每个单词句法角色的标记,又被称作词类(word classes)或句法范畴(syntactic categories),最常见的词性标签有名词、动词、形容词等。了解一个单词的词性,可以揭示其在语境中的使用规律与搭配习惯;例如,若一个单词为动词,可以推测其前搭配的单词很有可能是名词或代词。

词性标注(POS Tagging)任务是为输入的词序列中的每个单词赋予一个词性标签的过程。图1中除分词结果外,还给出了该句子在不同的分词粒度下得到的每个单词的词性标签。例如在基础粒度下,“30”与“号”分别标注为基数词(CD)和量词(M);而在复合粒度下,“30号”被标注为时间名词(NT)。 TexSmart支持的中文和英文词性标签集分别是CTBPTB,详见表2表3

TexSmart实现了三种词性标注算法:对数线性模型(Log-Linear Model)、条件随机场模型(Conditional Random Field, CRF)与深度神经网络(Deep Neural Network, DNN)。在网页版demo中,用户可以通过图1中的"词性标注算法"下拉框切换不同的算法;在调用HTTP API的时候,也可以进行算法选择,三个算法的名字分别为:log_linear、crf、dnn。

命名实体识别(NER)

命名实体(Named Entity)是指自然语言句子或篇章中拥有名字的实体,粗略来讲,例如:一个人、一个地点或一个机构则对应了其人名、地名与机构名。命名实体识别(Named Entity Recognition, NER)任务是将上述不同类别的实体识别出来的过程,具体来讲,即为输入的单词序列打上不同的命名实体的类别标签。NER任务对于文本分析、信息抽取、知识图谱构建等下游任务是不可或缺的;其在信息检索与电商领域已经充分部署,近年来也应用于许多科技前沿领域,例如生物、医疗大数据的信息处理与知识挖掘。

TexSmart提供粗粒度与细粒度两种模式下的命名实体识别功能: 粗粒度NER采用有监督学习方法,提供两种不同模型(CRF与DNN),用于识别人名、地名、机构名等命名实体 (见表4); 细粒度NER则采用有监督和无监督相结合的方法,可以识别出一千多种细粒度实体。

TexSmart的细粒度实体类型数据(v0.3.0)的下载地址如下:

请注意上述两个不同压缩版本的内容完全一样,下载一种即可。

图3. 粗粒度命名实体识别

图4. 细粒度命名实体识别

图3为例句在粗粒度模式下命名实体识别的结果,识别出地名“南昌”与人名“王先生”两种类型名。图4为例句在细粒度模式下命名实体识别的结果,可以看到,更丰富的实体类型名被识别出来,“城市”、“电影”、“食物”;除此之外,TexSmart还给出该命名实体对应的其他相关命名实体,进行实体联想,如“流浪地球”对应的“战狼二”、“上海堡垒”等。

成分句法分析

成分句法分析(Constituency Parsing)是基于语言学家乔姆斯基提出的短语结构文法(Phrase Structure Grammar)将输入的单词序列组合成一棵短语结构树的过程。所谓短语结构,例如图5中“南昌”、“王先生”所组成的名词短语(Noun Phrase, NP),或“边”、“吃”、“煲仔饭”所组成的动词短语(Verb Phrase, VP)等。

图5. 成分句法分析

成分句法树的叶子结点为输入句子的每一个单词;叶子节点的上一层是每个单词的词性标签;往树的根节点移动,则是所构成的短语结构的名称,中英文上的短语结构标签(CTB和PTB标准)见表6表7。TexSmart中的成分句法分析采用的是伯克利大学发表在ACL 2018的基于自注意力机制(self-attention)的模型,该模型取得优异的性能并且搜索复杂度很低,我们在底层采用预训练过的BERT模型提供特征进一步提升模型的鲁棒性。

语义角色标注

自然语言的语义理解往往包括分析构成一个事件的行为、施事、受事等主要元素,以及其他附属元素(adjuncts),例如事件发生的时间、地点、方式等。在事件语义学(Event semantics)中,构成一个事件的各个元素被称为语义角色(Semantic Roles);而语义角色标注(Semantic Role Labeling)任务就是识别出一个句子中所有的事件及其组成元素的过程,例如:其行为(往往是句子中的谓词部分),施事,事件,地点等。图6中,例子中的两个事件“看”和“吃”均被识别出来,而“看”对应的施事“南昌的王先生”和受事“流浪地球”以及附属的事件发生的时间“上个月30号”和地点“在自己家里”均被准确标注出来。语义角色标注可为许多下游任务提供支持,例如:更深层的语义分析(AMR Parsing,CCG Parsing等),任务型对话系统中的意图识别,事实类问答系统中的实体打分等。

图6. 语义角色标注

TexSmart同样支持中文与英文文本上的语义角色标注,中文上的标签集合见表8,英文上的标签集合见表9。TexSmart采用了基于BERT的自注意力神经网络模型(self-attention)来进行语义角色标注。

文本分类

文本分类(Text Classification)任务旨在为给定文本分配一个类别,其中类别来源于一个预选定义好的类别集。 文本分类是自然语言处理中一个经典的任务,它有着具有广泛的应用,比如,邮件过滤、情感分析等。 假设输入文本为:

马布里在森林狼开启了职业生涯,为球队效力了167场比赛,场均得到16.9分。

Texsmart会输出它的对应类别,图7展示了详细的输出结果:

图7. 文本分类

其中,输入文本的类别是tc.sports(运动),它的模型得分(也即,模型置信度)为0.998. Texsmart文本分类采用的类别集可以参见类别表

文本匹配

文本匹配(Text Matching)任务是计算输入的两段文本在语义层面的相似度。文本匹配是自然语言理解中的一个核心问题,很多自然语言处理的任务都可以抽象成文本匹配问题,例如信息检索可以归结成查询项和文档的匹配,问答系统可以归结为问题和候选答案的匹配,对话系统可以归结为对话和回复的匹配。 TexSmart实现了两种文本匹配算法:基于神经网络的ESIM模型和基于同义词及词向量的无监督Linkage算法。如图所示,给定两个句子,“无线路由器怎么无线上网”和“无线上网卡和无线路由器怎么用”,esim算法返回的语义相似度为0.608917,linkage算法返回的语义相似度为0.876792;在调用HTTP API时,可以进行算法选择。

图8. 文本匹配

文本图谱

文本图谱(Text Graph)是最新上线的文本结构化知识库,支持“同义词”、“反义词”、“上位词”、“下位词”以及“相似词”等知识查询。 文本图谱知识能够为文本理解任务(如实体识别、关系抽取、阅读理解,paraphrase检测、文本匹配等)提供丰富的背景知识。 下图给出了Text Graph的一个例子:

图9. 文本图谱

文本规范化(自动恢复英文字母大小写)

文本规范化(Text normalization)任务是将非规范化的输入文本自动转化为规范化的文本,它是很多自然语言处理任务的基础,因为一般NLP任务的输入都是规范化的文本。 文本规范化包括多个方面,比如恢复英文大小写、拼写和语法的纠正等。Texsmart目前实现了恢复英文大小写,比如,非规范化的文本为:

john smith stayed in san francisco last month.

Texsmart可以将它转化为下述规范化的文本:

John Smith stayed in San Francisco last month.