云从科技与上海交大 AAAI 入选论文解读:语义角
分类:彩世界彩票注册平台官网

语义角色标注旨在发现句子的谓词 - 论元结构。它以句子的谓词为中心,分析句子中各成分与谓词之间的关系,即句子的谓词(Predicate)- 论元结构。谓词是对主语的陈述或说明,指出 " 做什么 "、" 是什么 " 或 " 怎么样,代表了一个事件的核心,跟谓词搭配的名词称为论元。语义角色是指论元在动词所指事件中担任的角色。主要有:施事者、受事者、客体、经验者(Experiencer)、受益者(Beneficiary)、工具(Instrument)、处所、目标和来源等。

命名实体识别

命名实体识别 (Named Entity Recognition, NER) 是在句子的词序列中定位并识别人名、地名、机构名等实体的任务。 如之前的例子,命名实体识别的结果是:

国务院 (机构名) 总理李克强 (人名) 调研上海外高桥 (地名) 时提出,支持上海 (地名) 积极探索新机制。

命名实体识别对于挖掘文本中的实体进而对其进行分析有很重要的作用。

命名实体识别的类型一般是根据任务确定的。LTP提供最基本的三种实体类型人名、地名、机构名的识别。 用户可以很容易将实体类型拓展成品牌名、软件名等实体类型。

作为自然语言处理的一项基础性任务,语义角色标注能提供上层应用的非常重要的语义信息。例如在阅读理解应用中,把语义角色标注作为输入的一部分,可以帮助阅读理解应用更加准确确定各部分的语义角色,从而提高阅读理解的准确性。

各种语言调用实例可以到Github上下载:

上海交通大学与云从科技联合创新实验室论文《Dependency or Span, End-to-End Uniform Semantic Role Labeling》被 AAAI 2019 录用,在这篇论文中,模型通过对谓词、论元评分,以及谓词和论元的一个双仿射变换,同时实现了对谓词的识别、以及谓词与论元的联合预测。以下为对该论文的详细解读。

各模块技术指标


3、本文首次针对依存形式的语义角色标注报告了超过 90% 的 F 值的里程碑精度。

前言

图片 1

   图片 2

图三 端到端设置下谓词与论元联合预测 Dependency 结果

(1)复制代码:从Github上复制一段代码(取决于你使用的语言和所需的功能)

图二 端到端设置下谓词与论元联合预测 Span 结果

语义角色标注

语义角色标注 (Semantic Role Labeling, SRL) 是一种浅层的语义分析技术,标注句子中某些短语为给定谓词的论元 (语义角色) ,如施事、受事、时间和地点等。其能够对问答系统、信息抽取和机器翻译等应用产生推动作用。 仍然是上面的例子,语义角色标注的结果为:

其中有三个谓词提出调研探索。以探索为例,积极是它的方式(一般用ADV表示),而新机制则是它的受事(一般用A1表示)

核心的语义角色为 A0-5 六种,A0 通常表示动作的施事,A1通常表示动作的影响等,A2-5 根据谓语动词不同会有不同的语义含义。其余的15个语义角色为附加语义角色,如LOC 表示地点,TMP 表示时间等。附加语义角色列表如下:

标记

说明

ADV

adverbial, default tag ( 附加的,默认标记 )

BNE

beneficiary ( 受益人 )

CND

condition ( 条件 )

DIR

direction ( 方向 )

DGR

degree ( 程度 )

EXT

extent ( 扩展 )

FRQ

frequency ( 频率 )

LOC

locative ( 地点 )

MNR

manner ( 方式 )

PRP

purpose or reason ( 目的或原因 )

TMP

temporal ( 时间 )

TPC

topic ( 主题 )

CRD

coordinated arguments ( 并列参数 )

PRD

predicate ( 谓语动词 )

PSR

possessor ( 持有者 )

PSE

possessee ( 被持有 )

图五 给定谓词情况下只预测论元 Dependency 结果

     还有一些错误响应、频率限制、重要说明(这几个我至今也没用到);

例如:" 小明昨天晚上在公园遇到了小红。"

Step2:一个简单的例子(java版)

" 遇到 " 是句子的谓词," 小明 " 是谓词的发起者,角色为 " 施事者 "," 小红 " 是谓词的接受者,角色是 " 受事者 "," 公园 " 是谓词的发生地点,据说是 " 处所 " 等。

  • 免安装:用户无需调用静态库或下载模型文件,只需要根据API参数集构造HTTP请求即可在线获得分析结果。在新版API中,亦不需要下载SDK。
  • 省硬件:用户不需要购买高性能的机器,即可快捷的获得分析结果。
  • 跨平台、跨编程语言:用户只需要根据所使用语言的特点发送HTTP请求即可获取分析结果,因而几乎不依赖于操作系统平台和编程语言。

明确了一个句子中各个成分的语义角色,可以更好的帮助自然语言的理解和处理。比如在 " 信息提取 " 任务中,准确的提取出动作的发出者信息;在 " 阅读问答 " 中给出事件发生的时间、地点等。因此,语义角色标注时很多自然语言理解与处理任务的基础,对于实现自然语言处理意义非常重要。

Step1:注册

比如:" 小明打了小华 " 和 " 小华被小明打了 ",这两句话语义完全一致,但由于被动语态引起的主语和宾语位置上的变化,当提问 " 谁挨打了?" 时,阅读理解算法在处理这两句时,有可能会给出不同的答案。但如果我们把语义角色标注也作为阅读理解的输入信息,由于两句话中 " 小华 " 都是 " 受事者 " 角色,问题也是在问 " 受事者 " 是谁,这时阅读理解算法往往比较容易给出一致准确的答案。

命名实体识别

与分词模块相同,我们将命名实体识别建模为基于词的序列标注问题。对于输入句子的词序列,模型给句子中的每个词标注一个标识命名实体边界和实体类别的标记。在LTP中,我们支持人名、地名、机构名三类命名实体的识别。

基础模型在几种数据集上的性能如下:

  • 语料信息:人民日报1998年1月做训练(后10%数据作为开发集),6月前10000句做测试作为训练数据。
  • 准确率

    P R F
    开发集 0.924149 0.909323
    测试集 0.939552 0.936372
  • 运行时内存:21m

图四 给定谓词情况下只预测论元 Span 结果

(2)修改代码:

此外,我们的模型通过对谓词、论元评分,以及谓词和论元的一个双仿射变换,同时实现了对谓词的识别、以及谓词与论元的联合预测(参见上图中 Biaffine Scorer 层)。我们的单一模型在 CoNLL 2005、2012(基于 Span 的数据集)和 CoNLL 2008、2009(基于 Dependency 的数据集)SRL 基准数据集上,无论是在自主识别谓词、还是在给定谓词的情况下,相比于学术上目前已知的算法,都取得了较领先的结果,尤其是在 span 数据集、给定谓词的情况下,我们的单一模型甚至在所有指标上领先于已知的 Ensemble 模型。结果可参见表二、三、四、五。

词性标注

词性标注(Part-of-speech Tagging, POS)是给句子中每个词一个词性类别的任务。 这里的词性类别可能是名词、动词、形容词或其他。 下面的句子是一个词性标注的例子。 其中,v代表动词、n代表名词、c代表连词、d代表副词、wp代表标点符号。

国务院/ni 总理/n 李克强/nh 调研/v 上海/ns 外高桥/ns 时/n 提出/v ,/wp 支持/v 上海/ns 积极/a 探索/v 新/a 机制/n 。/wp

词性作为对词的一种泛化,在语言识别、句法分析、信息抽取等任务中有重要作用。 比方说,在抽取“歌曲”的相关属性时,我们有一系列短语:

儿童歌曲
欢快歌曲
各种歌曲
悲伤歌曲
...

如果进行了词性标注,我们可以发现一些能够描述歌曲属性的模板,比如

[形容词]歌曲
[名词]歌曲

[代词]歌曲往往不是描述歌曲属性的模板。

词性标记集:LTP中采用863词性标注集,其各个词性含义如下表:

Tag Description Example Tag Description Example
a adjective 美丽 ni organization name 保险公司
b other noun-modifier 大型, 西式 nl location noun 城郊
c conjunction 和, 虽然 ns geographical name 北京
d adverb nt temporal noun 近日, 明代
e exclamation nz other proper noun 诺贝尔奖
g morpheme 茨, 甥 o onomatopoeia 哗啦
h prefix 阿, 伪 p preposition 在, 把
i idiom 百花齐放 q quantity
j abbreviation 公检法 r pronoun 我们
k suffix 界, 率 u auxiliary 的, 地
m number 一, 第一 v verb 跑, 学习
n general noun 苹果 wp punctuation ,。!
nd direction noun 右侧 ws foreign words CPU
nh person name 杜甫, 汤姆 x non-lexeme 萄, 翱

论文地址:

  <2>把 text = "我爱北京天安门" 修改成你要处理的文本;

图片 3

正文

1、本文报告了第一个在 span 和 Dependency 两种形式的语义角色标注的标准树库上同时获得最高精度的系统;

在运算资源有限,编程语言受限的情况下,语言云无疑是用户进行语言分析更好的选择。

图片 4

LTP语言云平台

雷锋网 AI 科技评论消息,AAAI 2019 已于月初落幕,国内企业也在陆续公布自家被录用论文名单。本届大会共收到 7700 余篇有效投稿,其中 7095 篇论文进入评审环节,最终有 1150 篇论文被录用,录取率为 16.2%。

在这个网址申请一个API key,稍后会用到;

图片 5

依存句法分析

依存语法 (Dependency Parsing, DP) 通过分析语言单位内成分之间的依存关系揭示其句法结构。 直观来讲,依存句法分析识别句子中的“主谓宾”、“定状补”这些语法成分,并分析各成分之间的关 系。仍然是上面的例子,其分析结果为:

图片 6

从分析结果中我们可以看到,句子的核心谓词为“提出”,主语是“李克强”,提出的宾语是“支持上海…”,“调研…时”是“提出”的 (时间) 状语,“李克强”的修饰语是“国务院总理”,“支持”的宾语是“探索 新机制”。有了上面的句法分析结果,我们就可以比较容易的看到,“提出者”是“李克强”,而不是“上海”或“外高桥”,即使它们都是名词,而且距离“提出”更近。

依存句法分析标注关系 (共14种) 及含义如下:

关系类型 Tag Description Example
主谓关系 SBV subject-verb 我送她一束花 (我 <-- 送)
动宾关系 VOB 直接宾语,verb-object 我送她一束花 (送 --> 花)
间宾关系 IOB 间接宾语,indirect-object 我送她一束花 (送 --> 她)
前置宾语 FOB 前置宾语,fronting-object 他什么书都读 (书 <-- 读)
兼语 DBL double 他请我吃饭 (请 --> 我)
定中关系 ATT attribute 红苹果 (红 <-- 苹果)
状中结构 ADV adverbial 非常美丽 (非常 <-- 美丽)
动补结构 CMP complement 做完了作业 (做 --> 完)
并列关系 COO coordinate 大山和大海 (大山 --> 大海)
介宾关系 POB preposition-object 在贸易区内 (在 --> 内)
左附加关系 LAD left adjunct 大山和大海 (和 <-- 大海)
右附加关系 RAD right adjunct 孩子们 (孩子 --> 们)
独立结构 IS independent structure 两个单句在结构上彼此独立
核心关系 HED head 指整个句子的核心

传统的语义角色标注是建立在句法分析的基础上的,但由于构建准确的语法树比较困难,基于此方法的语义角色标注准确率并不高,因此,近年来无句法输入的端到端语义角色标注模型受到了广泛的关注。这些模型算法,根据对论元的表示不同,又划分为基于区间和基于依存(dependency)两类方法,不同方法的模型只能在对应的论元表示形式上进行优化,不能扩展、应用到另一种论元表示上。

官方网址:

我们的论文则通过提出一个统一的谓词与论元表示层,实现了将论元表示形式的统一(参见上图中的 Predicate&Argument Representation 层),因此,该模型可以接受不同论元表示形式的数据集进行训练。

作为基于云端的服务,语言云具有如下一些优势:

2、本文首次把目前最为有效的三大建模和机器学习要素集成到一个系统内,包括 span 选择模型、双仿射注意力机制以及预训练语言模型;

  不支持自定义词表,但是你可以先用其他支持自定义分词的工具(例如中科院的NLPIR)把文本进行分词,再让ltp帮你标注

图一 Span 与 Dependency 统一语义角色标注架构

  <3>根据需求设置不同的参数(其实只需要api_key,text,pattern,format四个参数就够了,仔细看下pattern):

图片 7

分词

中文分词指的是将汉字序列切分成词序列的问题。 因为在汉语中,词是承载语义的最基本的单元,分词成了是包括信息检索、文本分类、情感分析等多项中文自然语言处理任务的基础。

由于在自然语言处理框架中的基础地位,很多学者对于中文分词任务进行了深入的研究。 主流的分词算法包括基于词典匹配的方法和基于统计机器学习的方法。 LTP分词模块使用的算法将两种方法进行了融合,算法既能利用机器学习较好的消歧能力,又能灵活地引入词典等外部资源。

在LTP中,我们将分词任务建模为基于字的序列标注问题。 对于输入句子的字序列,模型给句子中的每个字标注一个标识词边界的标记。

同时,为了提高互联网文本特别是微博文本的处理性能。我们在分词系统中加入如下一些优化策略:

  • 英文、URI一类特殊词识别规则
  • 利用空格等自然标注线索
  • 在统计模型中融入词典信息
  • 从大规模未标注数据中统计字间互信息、上下文丰富程度

分词模块在人民日报数据集上的性能如下

  • 准确率

 

P

R

F

开发集

0.973152

0.972430

0.972791

测试集

0.972316

0.970354

0.972433

  • 运行时内存:119m
  • 速度:176.91k/s
  • CLP 2012 评测任务1:微博领域的汉语分词,第二名。

图片 8

     支持C#、Go、Java、JavaScript、Nodejs、PHP、Python、R、Ruby等语言调用;  

哈工大讯飞语言云 由哈工大 和科大讯飞 联合研发的中文自然语言处理云服务平台。结合了哈工大“语言技术平台——LTP” 高效、精准的自然语言处理核心技术和讯飞公司在全国性大规模云计算服务方面的 丰富经验,显著提升 LTP 对外服务的稳定性和吞吐量,为广大用户提供电信级稳定 性和支持全国范围网络接入的语言云服务,有效支持包括中小企业在内开发者的商 业应用需要。

依存句法分析

基于图的依存分析方法由McDonald首先提出,他将依存分析问题归结为在一个有向图中寻找最大生成树(Maximum Spanning Tree)的问题。

在依存句法分析模块中,LTP分别实现了

  • 一阶解码(1o)
  • 二阶利用子孙信息解码(2o-sib)
  • 二阶利用子孙和父子信息(2o-carreras)

在LDC数据集上,三种不同解码方式对应的性能如下表所示。

model 1o   2o-sib   2o-carreras  
  Uas Las Uas Las Uas Las
Dev 0.8190 0.7893 0.8501 0.8213 0.8582 0.8294
Test 0.8118 0.7813 0.8421 0.8106 0.8447 0.8138
Speed 49.4 sent./s   9.4 sent./s   3.3 sent./s  
Mem. 0.825g   1.3g   1.6g  
  • SANCL 2012 互联网数据依存句法分析评测,第二、三名。
  • CoNLL 2009 句法和语义依存分析评测,中文依存句法分析第三名。

在线演示:

有关更多语言云API的使用方法,请参考:

  支持分词、词性标注、命名实体识别、依存句法分析、语义角色标注;

从官网搬过来

词性标注

与分词模块相同,我们将词性标注任务建模为基于词的序列标注问题。 对于输入句子的词序列,模型给句子中的每个词标注一个词性标记。 在LTP中,我们采用的北大标注集。

词性标注模块在人民日报数据集上的性能如下。

  • 语料信息:人民日报1998年2月-6月(后10%数据作为开发集)作为训练数据,1月作为测试数据。
  • 准确率:

      P
    开发集 0.979621
    测试集 0.978337
  • 运行时内存:291m

  • 速度:106.14k/s

语义角色标注

 

在LTP中,我们将SRL分为两个子任务,其一是谓词的识别(Predicate Identification, PI),其次是论元的识别以及分类(Argument Identification and Classification, AIC)。对于论元的识别及分类,我们将其视作一个联合任务,即将“非论元”也看成是论元分类问题中的一个类别。在SRL系统中,我们在最大熵模型中引入 L1正则,使得特征维度降至约为原来的1/40,从而大幅度地减小了模型的内存使用率,并且提升了预测的速度。同时,为了保证标注结果满足一定的约束条 件,系统增加了一个后处理过程。

在CoNLL 2009评测数据集上,利用LTP的自动词性及句法信息,SRL性能如下所示。

Precision Recall F-Score Speed Mem.
0.8444 0.7234 0.7792 41.1 sent./s 94M(PI AIC)
  • CoNLL 2009 句法和语义依存分析评测,联合任务第一名。

使用文档:

  <1>把 api_key = "YourApiKey" 中的 "YourApiKey" 修改成你Step1申请的API Key;

 1 public class SimpleAPI {
 2     public static void main(String[] args) throws IOException {
 3         if (args.length < 1 || !(args[0].equals("xml") 
 4                                 || args[0].equals("json") 
 5                                 || args[0].equals("conll"))) {
 6             System.out.println("Usage: java SimpleAPI [xml/json/conll]");
 7             //return;
 8         }
 9         System.out.println("yst");
10 
11         String api_key = "y8B2P7W97QluyxiokMCssbmu0fBXbCwrgzgPOM7v";
12         String pattern = "srl";
13         String format  = "xml";//"xml"
14         String text    = "我爱中国,中华文化历史悠久";
15         text = URLEncoder.encode(text, "utf-8");
16 
17         URL url     = new URL("http://api.ltp-cloud.com/analysis/?"
18                                 "api_key="   api_key   "&"
19                                 "text="      text      "&"
20                                 "format="    format    "&"
21                                 "pattern="   pattern);
22         URLConnection conn = url.openConnection();
23         conn.connect();
24 
25         BufferedReader innet = new BufferedReader(new InputStreamReader(
26                                 conn.getInputStream(),
27                                 "utf-8"));
28         String line;
29         while ((line = innet.readLine())!= null) {
30             System.out.println(line);
31         }
32         innet.close();
33     }
34 }

例如Python版本的:

分词

中文分词 (Word Segmentation, WS) 指的是将汉字序列切分成词序列。 因为在汉语中,词是承载语义的最基本的单元。分词是信息检索、文本分类、情感分析等多项中文自然语言处理任务的基础。

例如,句子

国务院总理李克强调研上海外高桥时提出,支持上海积极探索新机制。

正确分词的结果是

国务院/ 总理/ 李克强/ 调研/ 上海/ 外高桥/ 时/ 提出/ ,/ 支持/ 上海/ 积极/ 探索/ 新/ 机制/ 。

如果分词系统给出的切分结果是

国务院/ 总理/ 李克/ 强调/ 研/ 上海 …

因为强调也是一个常见的词,所以很可能出现这种分词结果。 那么,如果想要搜索和李克强相关的信息时,搜索引擎就很难检索到该文档了。

切分歧义是分词任务中的主要难题。 LTP的分词模块基于机器学习框架,可以很好地解决歧义问题。 同时,模型中融入了词典策略,使得LTP的分词模块可以很便捷地加入新词信息。

      不支持离线调用;

本文由彩世界注册首页发布于彩世界彩票注册平台官网,转载请注明出处:云从科技与上海交大 AAAI 入选论文解读:语义角

上一篇:民法典应强化对数据共享中个人信息的保护彩世 下一篇:没有了
猜你喜欢
热门排行
精彩图文