1.语义表示
目前,语义表示的两种主要方式为基于符号的形式化系统和基于向量的语义表示。基于符号的语义表示有逻辑表达式和语义图等。
基于向量的语义表示适用于神经网络的输入,文本中的语义信息可以通过神经网络提取出来。并且能够直接用于神经网络的下游任务。缺点是,表示语义的向量难以被人类理解,缺乏可解释性。
而基于符号的形式化系统的语义表示具有良好的可解释性,能够很好地被人类解读,并且可以方便地依托符号知识库进行研究,可以进行精确的逻辑推理。缺点是符号语义表示难以具有统一的规范性,很难统一符号语义表示的形式,难以建立有效统一,适用性强的单一标准。并且,构建文本的符号表示的解析器相当困难。
本文主要以向量为主介绍语义表示。
2.词表示
词是文本的最小组成单位,如果能够用向量表示词,那么就可以进一步用向量表示语义。
对于词的向量表示,分为稀疏向量表示和稠密向量表示两种主流类型。
2.1词的稀疏向量表示
2.1.1词-词共现矩阵
词的稀疏向量表示通过词-词共现矩阵实现。对于特定的词,词的上下文为在这个词前后出现的固定个数的词。这个词称之为中心词。词-词共现矩阵的元素表示,在该元素所在列的词的上下文里,该元素所在行的词的出现次数。词-词共现矩阵是一个对称矩阵。词-词共现矩阵的行或列,表现了一个词与其他词共同出现的次数的统计关系,实际上,反映了一个词与其他词共同出现的概率的多少。
词-词共现矩阵的一个潜在问题是,英语的定冠词‘the’和汉语中用于定语标记的助词‘的’频繁出现,使得这类词的共现统计失去意义,并且,远大于其他词出现次数的数值会影响其他词的向量表示。
2.1.2正点间互信息矩阵
解决这类问题的一种方案是根据词-词共现矩阵计算正点间互信息矩阵(PMI),再从正点间互信息矩阵中提取词的稀疏向量表示。
在词-词共现矩阵中,元素 c i j c{ij} cij 表示词 i i i 和词 j j j 在给定上下文窗口内共现的次数。词频定义为词在整个语料中的出现次数。计算PMI需要计算每个词对 w i , w j w_i, w_j wi,wj 在整个语料中的联合概率 P ( w i , w j ) P(w_i, w_j) P(wi,wj) 和各自的边缘概率 P ( w i ) P(w_i) P(wi) 与 P ( w j ) P(w_j) P(wj)。联合概率可以通过共现次数除以总的词对观察次数来估算,边缘概率可以通过词的总频数除以总的词数来估算。
- 联合概率: P ( w i , w j ) = C i j / N P(w_i, w_j) = C{ij} / N P(wi,wj)=Cij/N,其中
N
是所有词对的共现次数之和。 - 边缘概率: P ( w i ) = s u m ( C [ i ] ) / N P(w_i) = sum(C[i]) / N P(wi)=sum(C[i])/N 和 P ( w j ) = s u m ( C [ : , j ] ) / N P(w_j) = sum(C[:,j]) / N P(wj)=sum(C[:,j])/N,分别是对 i i i 列和 j j j 行的总和除以
N
。
PMI 定义为: