原文链接:https://www.aclweb.org/anthology/2020.acl-main.444.pdf
(1)提出了人工标注的基于关系抽取数据集DialogRE;
(2)比较基于对话的关系抽取任务和传统关系抽取任务的异同。
(3)设计新的度量方法评估交互会话的时效性。
(4)在数据集DialogRE上,使用标准的基于学习的关系抽取技术建立baseline。
(5)证实明确对话者在基于对话的关系抽取任务中的重要性。
数据集源于《Friends》中1788段对话,36种关系类型,10168个关系二元组(subject,relation type,object)。同时,标注了最小文本最小跨度。表1是一段对话的示例。
定义
处理
对话D中,共有m条语句(turn),表示为:D=s1:t1,s2:t2,…,sm:tm.有参数对(a1,a2).
标准模式:
把对话D看作文本d。
输入:a1,a2,d
输出:a1,a2 之间的关系
评价标准:F1
会话模式:
把前 i 条语句看作 d 。
L基于整段对话(D)标注的关系集;R表示36种关系集。
定义辅助函数:
j ( x ) = { m , x 未 在 D 中 出 现 i , x 在 第 i 条 对 话 中 首 次 出 现 j(x)=\begin{cases} m,& x未在D中出现 \\ i,& x在第i条对话中首次出现 \\ \end{cases} j(x)={ m,i,x未在D中出现x在第i条对话中首次出现
i ( r ) = { j ( λ r ) , r ∈ L , λ r 为 关 系 r 所 标 注 的 触 发 , 即 关 系 r 的 触 发 词 λ r 首 次 出 现 的 位 置 。 m , r ∈ L 的 其 他 情 况 1 , r ∈ R − L i(r)=\begin{cases} j(\lambda_r), & r\in L,\lambda _r为关系r所标注的触发,\\ &即关系r的触发词\lambda _r首次出现的位置。 \\ m, & r\in L的其他情况 \\ 1, & r\in R-L \end{cases} i(r)=⎩⎪⎪⎪⎨⎪⎪⎪⎧j(λr),m,1,r∈L,λr为关系r所标注的触发,即关系r的触发词λr首次出现的位置。r∈L的其他情况r∈R−L
定义一组关系类型,这些关系类型是基于Ei评估的:
E i = { r ∣ i ≥ m a x { j ( a 1 ) , j ( a 2 ) , i ( r ) } } E_i=\{r|i\geq max\{j(a_1),j(a_2),i(r)\}\} Ei={ r∣i≥max{ j(a1),j(a2),i(r)}}
(即,给定前 i 条语句组成的d,如果a1,a2,以及 λ r \lambda _r λr在 d 中出现过,那么,基于a1,a2的关系类型 r 是可评估的,)
此定义基于假设:我们可以根据,能够清楚地表达关系的参数和触发器的位置,粗略估计我们需要多少条语句才能预测两个论点之间的关系。
输入:a1,a2,d(前 i 条语句,)
输出:Oi(a1,a2 之间的关系)
评价标准:Fc
对于单个输入,有Pc,Rc定义如下:
取所有实例的均值作为最终的准确率和召回率。
Majority:
若未在训练集中出现,则输出训练集中频数最大的关系类型;
否则,输出训练集中关于此两个参数频数最大的关系类型。
CNN/LSTM/BiLSTM:
遵循Yao 的工作。https://www.aclweb.org/anthology/P19-1074/
BERT:
使用Radfordhttps://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf
的预训练语言模型和BERT。
输入串:[CLS] d [SEP] a1 [SEP] a2 [SEP]
[CLS]的隐藏向量C ∈ R H \in R^H ∈RH,关系类型 W i ∈ R H W_i \in R^H Wi∈RH,
基于 d 的关于实例 i 的a1,a2之间的关系的概率 P i = s i g m o i d ( C W i t ) P_i=sigmoid(CW_i^t) Pi=sigmoid(CWit)
使用交叉熵损失函数。
BERTs:
为了(1)帮助模型根据说话人姓名定位相关语句的起始位置;(2)避过拟合
输入串:[CLS] d ^ \hat{d} d^ [SEP] a 1 ^ \hat{a_1} a1^ [SEP] a 2 ^ \hat{a_2} a2^[SEP]
d ^ = s 1 ^ : t 1 , s 2 ^ : t 2 , . . . , s n ^ : t n \hat{d}=\hat{s_1}:t_1,\hat{s_2}:t_2,...,\hat{s_n}:t_n d^=s1^:t1,s2^:t2,...,sn^:tn
[S1],[S1]是两个新引入的特殊短语
s n ^ = { [ S 1 ] , s i = a 1 [ S 2 ] , s i = a 2 s i , 其 他 \hat{s_n}=\begin{cases} [S_1], &s_i=a_1 \\ [S_2],& s_i=a_2\\ s_i,& 其他 \end{cases} sn^=⎩⎪⎨⎪⎧[S1],[S2],si,si=a1si=a2其他
a k ^ ( k ∈ { 1 , 2 } ) = { [ S k ] , 如 果 存 在 i 使 s i = a k a k , 其 他 \hat{a_k}(k \in \{1,2\})=\begin{cases} [S_k],& 如果存在i使s_i=a_k\\ a_k,&其他 \end{cases} ak^(k∈{ 1,2})={ [Sk],ak,如果存在i使si=ak其他
将BERT中的输入串做如下修改:(实现speaker-aware)
·对话者si处:如果对话者恰是所考察的两个论元之一,替换成新引入的短语[S1]/[S2];
·对话内容不变;
·论元a1/a2:如果所考察的论元是对话者,那么将a1/a2替换成新引入的短语[S1]/[S2]
论文还做了其他3种输入串的尝试,效果没有上述好。
略