语义计算的任务:解释自然语言句子或篇章各部分(词、词组、句子、段落、篇章)的含义。自然语言句子中存在大量的歧义,涉及指代、同义/多义、量词的辖域、隐喻等;
C. J. Fillmore 指出:诸如主语、宾语等语法关系实际上都是表层结构上的概念,在语言的底层,所需要的不是这些表层的语法关系,而是用施事、受事、工具、受益等概念所表示的句法语义关系。这些句法语义关系,经各种变换之后才在表层结构中成为主语或宾语。格语法的三条基本规则:
格语法中的格是“深层格”,它是指句子中体词(名词、代词等)和谓词(动词、形容词等) 之间的及物性关系(transitivity),如:动作和施事者的关系、动作和受事者的关系等,这些关系是语义关系,它是一切语言中普遍存在的现象。命题中的格包括6种:
分析的基础如下:
分析步骤:
语义网络通过由概念和语义关系组成的有向图来表达知识、描述语义。
有向图:图的节点表示概念,图的边表示概念之间的关系,例如“是一种”和“是部分”等等,IS-A,PART-OF,IS,COMPOSED-OF,HAVE,BEFORE,LOCATED-ON,事件的语义关系包括分类关系也就是事物之间的类属关系、聚焦关系,也就是多个下位概念构成一个上位概念、推论关系,也就是由一个概念推出另一个概念、时间位置关系,也就是事实发生或存在的事件、位置
知识图谱是一个描述实体和实体之间关系的有向图
词义消歧问题(word sense disambiguation, WSD)
总体思路:通过建立分类器,利用划分多义词的上下文类别的方法来区分多义词的词义。
基本思想:假设我们有一个双语对齐的平行语料库, 以法语和英语为例,通过词语对齐模型每个法语单词可以找到对应的英语单词,一个多义的法语单词在不同的上下文中对应多种不同的英语翻译。
可以把一个多义的法语单词的英语译词看作是这个法语单词的语义解释,而决定法语多义词语义的条件看作是语义指示(indicator),如:例子中法语单词 prendre 所带的宾语。因此,只要我们知道了 多义词的语义指示器,也就确定了该词在特定上下文中的语义。这样,多义词的词义消歧问题就变成了语义指示器的分类问题。假设 T 1 , T 2 , ⋯ , T m T_1,T_2,\cdots,T_m T1,T2,⋯,Tm是一个多义法语词的英语译文或语义, V 1 , V 2 , ⋯ , V n V_1,V_2,\cdots,V_n V1,V2,⋯,Vn是指示器可能的取值
一旦指示器的取值划分确定了,词义消解就变成了如下简单的过程:也就是根据上下文确定词义
假设某个多义词 w w w所处的上下文语境为 C C C,如果某个多义词 w w w的多个语义记作 s i , i ≥ 2 s_i,i\geq 2 si,i≥2,那么可通过计算 a r g m a x s i p ( s i ∣ C ) \mathop{arg\ max}\limits_{s_i} p(s_i|C) siarg maxp(si∣C)确定 w w w的词义,根据贝叶斯公式:
p ( s i ∣ C ) = p ( s i ) × p ( C ∣ s i ) p ( C ) p(s_i|C) = \frac{p(s_i)\times p(C|s_i)}{p(C)} p(si∣C)=p(C)p(si)×p(C∣si)
考虑分母的不不变性,并运用如下独立性假设:
p ( C ∣ s i ) = ∏ v k ∈ C p ( v k ∣ s i ) p(C|s_i) = \prod_{v_k\in C}p(v_k|s_i) p(C∣si)=vk∈C∏p(vk∣si)
因此:
s ^ i = a r g m a x s i [ p ( s i ) ∏ v k ∈ C p ( v k ∣ s i ) ] \hat s_i = \mathop{arg\ max}\limits_{s_i}\left[p(s_i)\prod_{v_k\in C}p(v_k|s_i)\right] s^i=siarg max[p(si)vk∈C∏p(vk∣si)]
概率 p ( v k ∣ s i ) , p ( s i ) p(v_k|s_i),p(s_i) p(vk∣si),p(si)都可以用最大似然估计求得
p ( v k ∣ s i ) = N ( v k , s i ) N ( s i ) p(v_k|s_i)= \frac{N(v_k,s_i)}{N(s_i)} p(vk∣si)=N(si)N(vk,si)
其中, N ( s i ) N(s_i) N(si)是在训练数据中词 w w w用于语义 s i s_i si时的次数,而 N ( v k , s i ) N(v_k,s_i) N(vk,si)为 w w w用于语义 s i s_i si时词 v k v_k vk出现在 w w w的上下文中的次数
p ( s i ) = N ( s i ) N ( w ) p(s_i) = \frac{N(s_i)}{N(w)} p(si)=N(w)N(si)
N ( w ) N(w) N(w)为多义词 w w w在训练数据中出现的总次数
在只掌握关于未知分布的部分知识的情况下,符合已知知识的概率分布可能有多个,但使熵值最大的概率分布最真实地反映了事件的分布情况,因为熵定义了随机变量的不确定性,当熵最大时,随机变量最不确定。也就是说,在已知部分知识的前提下,关于未知分布最合理的推断应该是符合已知知识最不确定或最大随机的推断。
对于求解的问题,就是估计在条件 b ∈ B b\in B b∈B下(已知知识),发生某个事件(未知分布)的概率 p ( a ∣ b ) p(a|b) p(a∣b),该概率使熵 H ( p ( A ∣ B ) ) H(p(A|B)) H(p(A∣B))最大:
p ∗ ( a ∣ b ) = 1 Z ( b ) e x p ( ∑ j = 1 l λ j ⋅ f j ( a , b ) ) p^*(a|b) = \frac{1}{Z(b)}exp(\sum_{j = 1}^l\lambda_j\cdot f_j(a,b)) p∗(a∣b)=Z(b)1exp(j=1∑lλj⋅fj(a,b))
其中 Z ( b ) = ∑ a e x p ( ∑ j = 1 l λ j ⋅ f j ( a , b ) ) Z(b) = \sum_aexp(\sum_{j = 1}^l\lambda_j\cdot f_j(a,b)) Z(b)=∑aexp(∑j=1lλj⋅fj(a,b)), λ j \lambda_j λj是特征权重, f j ( a , b ) f_j(a,b) fj(a,b)是特征函数, l = k + 1 , k l = k+1,k l=k+1,k是特征的个数,其中获取 λ \lambda λ参数的GIS算法如下,设 A 为某一多义词所有义项的集合,B为所有上下文的集合,可定义 { 0 , 1 } \{0, 1\} {0,1}域上的二值函数 f ( a , b ) f(a, b) f(a,b) 来表示上下文条件与义项之间的关系 ,上下文条件包括词性信息、词性信息和两种信息综合,这个也就是特征函数,可以是上下文满足条件下取1,其余取0这种特征函数,算法迭代过程中要求对应训练集中每个实例的任意 ( a , b ) ∈ A × B (a,b)\in A\times B (a,b)∈A×B, k k k个特征函数之和为一常数 C C C,即 ∑ j = 1 k f j ( a , b ) = C \sum_{j = 1}^kf_j(a,b) = C ∑j=1kfj(a,b)=C,假如该条件不满足,那么取 C = m a x a ∈ A , b ∈ B ∑ j = 1 k f j ( a , b ) C = \mathop{max}\limits_{a\in A,b\in B}\sum_{j = 1}^kf_j(a,b) C=a∈A,b∈Bmax∑j=1kfj(a,b),并增加一个修正特征 f l : f l ( a , b ) = C − ∑ j = 1 k f j ( a , b ) f_l:f_l(a,b) = C - \sum_{j = 1}^kf_j(a,b) fl:fl(a,b)=C−∑j=1kfj(a,b):
在学习过程中,首先有一个已标注的大规模训练样本,之后经过特征提取和筛选,选择特征模板,进行参数训练得到模型参数文件,在推理的过程中需要进行特征提取和选择特征模板,之后进行比对决策完成语义标记
对参数的估计不是根据有标注的训练语料,而是在无标注的语料上进行,开始时随机地初始化参数,然后根据EM算法重新估计该概率值。
基本任务:以句子为分析单位,以句子中的谓词为核心,分析句子中的其他成分与谓词之间的关系。主要用于信息抽取、自动文摘、机器翻译等
例如命题库将宾州树库(Treebank)中的《华尔街日报》语料和一部分布朗语料(Brown Corpus)进行了人工的语义角色标注。与具体谓词直接相关的,这些角色用ARG0,ARG1,…,ARG5表示,如ARG0 通常表示动作的施事,ARG1通常表示动作的影响等,ARG2-ARG5 对于不同的谓语动词会有不同的语义含义;起修饰作用的辅助性角色,其角色标签都以ARGM开头,常见的有表示时间的角色ARGM-TMP,表示地理位置的角色ARGM-LOC,表示一般性修饰成分的角色ARGM-ADV等。语义角色标注一般是在句法分析的基础上进行的。
首先给定句子到句法分析器得到句法分析结果,之后完成候选论元剪除以尽量减少候选项的数目,之后进行论元识别,这一步是识别真正的论元,是一个两类分类问题,之后进行论元标注,这个过程是一个多类分类问题,然后进行后处理,删除重复论元,得到SRL结果。
候选论元剪枝:
第1步:将谓词作为当前节点,依次考察它的兄弟节点:如果一个兄弟节点和当前节点在句法结构上不是并列的(coordinated)关系,则将它作为候选项。如果该兄弟节点的句法标签是PP,将它的所有子节点也都作为候选项。
第2步:将当前节点的父节点设为当前节点,重复第1步的操作,直至当前节点是句法树的根节点。
与基于短语结构句法分析的SRL方法的区别:
基于短语结构句法分析的语义角色标注方法中,一个论元被表示为连续的几个词(短语)和一个语义角色标签。在基于依存句法分析的语义角色标注中一个论元被表示为一个中心词和一个语义角色标签
候选论元剪除方法:
第1步:将谓词作为当前节点,将它所有的孩子都作为候选项;
第2步:将当前节点设为它的父节点,重复第1步的操作,直到当前节点是依存句法树的根节点。