学海荡舟手机网

主页 > 实用文摘 > 教育文摘_21 > > 详细内容

潜伏语义分析的理论及其应用_文字学论文

1.柏拉图问题谈起
  从古希腊哲人柏拉图(plato)开始,人们就为一个关于认知的神秘问题所困惑:人们为什么能够在他们所得到的稀少基础上获得那么多的知识?这个问题有时被称为柏拉图问题(注:在柏拉图对话录里,有几处接触到知识来源问题。他在meno里指出,灵魂是不灭的,已经学习了所有的事物,所以真正的学习无非是回忆内在的、忘记了的事物;在phaedo里,他又把内在论和形式理论联系起来,例如“平等”的形式不可能来自实际的观察,而是与生俱来的;在cratylus里则认为,词语是天生(physis),不是约定俗成(nomos)的。),有时被称为“刺激的贫乏”、“缺乏负面证据”或语言习得的逻辑问题。这个问题引起了哲学家、心理学家、语言学家、计算机家的广泛兴趣,各自提出不同的解释。chomsky派(注:chomsky(1965,1986,2000)在不同场合都以儿童词汇习得为例反复说明这个问题,因为“负面的证据”已成为他的语言共项论的主要支柱:pinker(1994)从进化、、解剖、生理和儿童发育的不同角度观察了语言的起源,认为语言习得一定是建筑在一个强有力的和特殊的内在机制,并称之为“语言天性”。)秉承了柏拉图和笛卡儿的观点提出了“天赋论”或“内在论”,对这个问题作出了一种回答。但是心理语言学家macwhinney(注:brian  mac  whinney最近在广东外语外贸大学召开的心理语言学与外语教学讨论会上谈到,在他所提出的竞争模型里没有负面的证据,只有正面的证据。)、自然语言处理家sampson(注:geoffrer  sampson(1997)写了一本关于语言天性争论的专著educating  eve,认为负面证据之说是自我矛盾的。在empirical  linguistics(2001)里,更进一步指出,负面证据是内省法臆想出来的。我们没有负面证据也能归纳出万有引力定律,为什么要编一本故意把of  of  the  of(负面证据)排除在外的语法?)却对此提出质疑。哲学家quine对这个问题做出另一种回答,他举了一个所谓"gavagai"的有趣的例子:一个到外国访问的人看到一只兔子,偶然听到他的资料提供人说gavagai。在这种证据贫乏的情况下,gavagai可以指“兔子”(一个完整的事物),“有皮毛的”(事物的未分离部分),或“天气不错,是吗?”(事物发生的时间段),他认为纯粹以经验为基础的客观真理和意义根本不存在,这简直是“归纳法的耻辱”(scandal  of  induction)。对田野作业的语言学家来说,分析和综合的区别并不存在。进化心理学家shepard(1987)却认为柏拉图问题是心理学的核心问题,关于概括和相似性的普遍理论对心理学就等于牛顿定律对学那样重要。
  尽管大多数人都承认语言能力的遗传性,但是这种机制的存在并没有解决shepard所提出的概括(在母语习得里,更成为“过度概括”)和相似性的问题。这个归纳性难题经常被看成是范畴化的问题,那就是说我们必须找出的这样一个机制,足以把一系列刺激、语词或概念(例如猎豹和老虎)看成是一类的(相似的)事物。但是相似性以什么为基础却众说纷纭,有特征论、原型论,范式论、心理本质论、心理语境论,等等,不一而足(桂诗春2000)。这些理论模型都旨在提出一些制约,以缩小归纳(也就是说学习)所要解决的问题空间。就儿童词汇习得而言,一些心理语言学家假设存在一些对词语赋予意义的制约,儿童在早期习得词汇时都假定:多数词语在感知上都是对应物体的名称;两个词通常都有两个不同的意义;享有共同声音的词语通常都是意义上相关的;一个不熟悉的言语声音可能指一些儿童还未能掌握其对应词的东西。但是这也不是没有问题,landauer与dumais(1997)指出,一个问题是我们不知道某一个制约是否真正存在;少年儿童虽然假定相同的物体只有一个名称,但是他们所接触的语言是否也是这样呢?又如某一种制约的产生是逐步进化的,还是通过认知而起作用的一种普遍性制约?还有一个问题是,某些制约的存在和产生出于逻辑的需要,但这又是不够的,可以从3方面看:1)某一套制约是否逻辑上和语用上充分,也就是说使用了它们以后是否就能解决问题?例如儿童认为没有同义词,这在多大程度上能帮助他们学习词汇?2)和方法论有关,怎样才能获得前一个问题的答案?怎样知道某一些特定制约的组合应用到自然环境的输入时才能解决问题?3)怎样决定一个提出来的模型是否具有心理现实性?landauer认为要解决这些问题必须使用模拟的模型。而他和其他几个研究人员foltz、dumais、deerwester、furnas等人(deerwester  et.al.1990)所提出的,而又得到著名语篇研究者kintsch支持的模型就是潜伏语义分析(latent  semantic  analysis,lsa)。这是一个多维数的线性组合模型,“这个模型只是一个普遍的学习机制,本身并不体现人类知识,但是它通过分析一个很大的自然语言文本语料库来生成一个足以体现词语和文本片段的相似性的表征。”
    2.lsa的理据
  从潜伏性语义分析的角度看来,归纳就是减少维数(reduction  of  dimensionality)。landauer举了一个形象的例子,一个人站在高原上打电话告诉他的朋友三间房子的位置,a和b、a和c的距离都是5个单位,而b和c的距离则是8个单位。在他的朋友脑海里就形成一个两个维数的三角形。如果他继续补充说,这三间房子是在一条直线上,他的朋友就会说,他一定是看错了这三个房子的距离。a和b、c的距离应该是4.5个单位,而b和c的距离应该是9个单位。因为在一个两维数的三角形里,其底边应该是其他两个边的和。这说明,减少维数可改善估算。在研究工作中,研究人员往往通过减少维数来降低计算的复杂性,即把数据作平滑化处理:简化数据并填补所缺的节点。在东京召开的联合国大学主持的混沌对科学和社会的冲击学术会议上,两个著名的混沌学专家feigenbaun和aihara就一致认为,人脑由100亿个神经元组成,而我们要对它的相互作用进行观察只能选取一个极低的维数。(注:这次大会的文集我国已由杨立、刘巨彬等译,刘式达、杜先之等校,湖南科学技术出版社出版,题为《混沌:对和社会的冲击》,两人的对话见该书394-395页。)在统计学中,这种减少维数的方法,例如因子分析、多维数量表也经常被采用,osgood(1971)在70年代所做的语义微分分析就用过因子分析。同样地,我们也可以把两个词的语义相似性表示为距离:距离越近,相似性就越强。假定两个词在一个语篇单位(短语、句子或段落)中出现的频率和它们的语义距离成反比例(频率越多,距离越近),那它们就和语义相似性直接相关。我们可以通过观察两个词在同一单位中出现的相对频率来估算出其语义相似性。因为人们进行交际时,都会使用一些基本成分(如词),使两个词语中存在某种相对的相似性。发送者会选择同一语义空间彼此相近的词,它们就会有不同的语义距离;而接收者则会按照它们在同一上下文中的相对频率来估算这些距离。但是自然语言中的词语数量极为庞大,而接收到的词语却数量极少,例如两个词的频率都是百万分之一,它们虽然有相关的意义,也不大可能会一起发生。可是如果我们的接收机制按照统计知识把接受到的词语表示为相似的语义空间,即同一个维数的各个节点,情况就会大大改善。
  附图
  基于上述的假设,潜伏性语义分析可以用来比较不同语篇的语义相似性。研究语篇理解的首要目标是:了解有哪些足以影响读者从文本材料中抽取和保存信息的能力的因素,例如让受试写一篇文本材料的摘要,然后再看他们从文本中获取了什么信息。这意味着把读者的文本表征(认知模型)和原来的文本表征加以比较,即把摘要中每一个句子的信息和文本中的句子信息加以比较。但是要对信息进行比较并非易事,它要求扫描原文,找出信息的所在。而且受试所写的摘要往往并不全都采用原文中的词语。所以光比较词语也不成。研究人员要比较的是摘要和原来文本的语义内容。kintsch(1988,1998)所提出的构建整合模型(construction-integration  model)就是一个观察读者对文本表征的认知模型,它把读者摘要的语义表示为一些语义成分组合,称之为命题(prepositions)。文本中的每一个子句是一个命题(如the  red  rose和the  rose  is  red,都属于一个命题)。这些命题根据各种范畴连接起来,例如看它们是否共享中项(arguments)和指称(referents)。一个文本的所有命题组合起来就成为文本结构。不少实验都证明命题是人们的心理处理单位(如graesser1981)。对文本和受试对它回述进行命题分析可以对一系列语义基本元素加以比较,其好处是这种比较并非表层结构的比较。但问题是,目前还没有生成命题的自动化程序,因为计算机必须对文本进行正确的语法分析,并且了解词语的正确意义。于是可以利用计算机来对语义相似性进行比较的潜伏性语义分析就应运而生了。
  lsa原来是建筑在以语义内容的基础上以改善提取的一种设计,称为潜伏性语义索引(latent  semantic  indexing,lsi)。在现实生活里,往往同一个语义概念表示为不同的词语,如果以原词作为检索单位,就费时失事。例如“电子计算机”往往又可以简称为“计算机”或“电脑”,甚至“服务器”和“机器”。如果在检索中只键入任何一种说法就能查出“电子计算机”,不是方便得多吗?这种方法还可以避免同义性的问题。lsa的基本假设是不同文件(文件可大可小,可以是词语所出现的整个语境,也可以是某些文本、段落和句子)的词语使用型式存在着某种“潜伏的”结构,而使用一些统计的方法可以估量出这种潜伏性结构。这些方法通过分析词语和文件之间的联系,产生一个在相同语境中使用的词语将会在语义上更为密切联系的表征。例如:
  (1)the  u.s.s.nashville  arrived  in  colon  harbor  with  42  marines
  (2)with  the  warship  in  colon  harbor,the  colombian  troops  withdrew.
  "warship"所出现的语境(lsa称之为“向量”,vector)和"nashville"所出现的语境相似,两者的上下文都有"colon"和"harbor"。lsa所使用的技巧可以自动找出这些更深层的联系的结构。
  又如我们读到下面的句子:
  (3)john  is  bob's  brother  and  mary  is  anne's  mother.
  (4)mary  is  bob's  mother.
  这两句话里并没有出现表示亲属关系的sister,daughter,father,son等词语,但第(4)句使我们意识到bob和ann是兄弟姐妹,anne是john的女儿,john是ann的父亲,bob是mary的儿子。当然lsa所推断出的词际关系往往并非完全符合逻辑,它所揭示的仅是相似性关系。这些关系相互牵连和制约,可以产生出一些模糊的间接推断,关系上可强可弱,逻辑上可对可错。
  3.怎样做lsa?
  lsa以大规模的语料库为基础,使用了一种完全自动化的/统计技巧来抽取和推断词际关系,这种技巧就是线性代数中的奇异值分解(singular  value  decomposition,svd)。从概念上说,lsa模型可以理解为一个具有三层的神经网络系统。在svd里,一个m×n的长方形矩阵{a}(m是行,n是列,m>n),被分解为三个矩阵:一个是m×n的成分矩阵{u},把原来的列的实体表示为派生的正交因子值的向量;另一个矩阵{w}用同样的方法表示原来列n×n的实体;第三个矩阵{v}的转置(transpose)是一个包括有标度值的直角矩阵(n×n)。  
{a}={u}{w}{v}[t]

 
  这三个矩阵相乘就可以恢复原来矩阵。如果我们在恢复时减少维数,就可以取得压缩语义空间的效果。
  附图
  下面是一个常被引用的例子:现有9条技术备忘录的题目,其中5条是关于人和计算机交互作用的,4条是关于图论的。这些题目在概念上不大相关,它们构成一个9列12行的矩阵,每一行是在这些题目中出现起码两次的实义词(均标为斜体),整理为表1。
  c1:human  machine  interface  for  abc  computer  applications
  c2:a  survey  of  user  opinion  of  computer  system  response  time
  c3:the  eps  user  interface  management  system
  c4:system  and  human  system  engineering  testing  of  eps
  c5:relation  of  user  perceived  response  time  to  error  measurement
  m1:the  generation  of  random,  binary,ordered  trees
  m2:the  intersection  graph  of  paths  in  trees
  m3:graph  minors  iv:widths  of  trees  and  well-quasi-ordering
  m4:  graph  minors:a  survey
  表1
  附图
  使用svd技术,就得到下列的3个矩阵,如表2:
  表2
  附图
  然后我们取这三个矩阵的头两列(即取其两个维数)来加以还原,便得到下面的矩阵(表3):
  表3
  附图
  我们可以首先看m4列的survey和trees。trees这个词在m4题目里并没有出现,但是m4里有graph  minors,而m3里也有graph  minors,且出现了trees,所以在原来矩阵里为0的值被变为0.66,它表示在有graph和minors的题目的无限样本中,trees可能出现0.66倍。相反地,survey在原来矩阵中的m4中为1,但是却变为0.42,反映了它在这样的上下文里并非人们所期望的,不足以表示这个题目的特征。我们还可以比较human和user,human和minors在原来矩阵和后来矩阵的相关系数:前者原为-.38,后者原为-.29,现分别提高到.94和-.83。而在原来的矩阵里,human并没有和user或minors一起出现。减少了维数后显示human和user是更为相似,而human和minors则相反,更为不相似。
  lsa可以用来揭示一些隐含的内部关系。让我们再看另一个例子。中国语料库(桂诗春、杨惠中,2002)是一个有100万词的语料库,对5种不同水平——中(st2)、大学英语4级(st3)、大学英语6级(st4)、专业英语低年级(st5)、专业高年级(st6)——的失误进行了标注(共有61种)。最常见的失误有21种,占全部失误的87%。根据landauer等人的意见,在进行svd之前,必须对这些数据作预处理:1)把每个频数+1,然后转换成对数;2)把每一列的数值计算为-plog  p,然后除以每列的平均量(即熵,entropy)。其公式(maletic  et  al.1999)为:
  附图
  这样做的目的是通过估算每一个词项在每一个语篇的重要性(即该词项与它所出现的语篇所提供的信息量的程度成反比例),对它的出现率加权。在提取中经常使用这种转换,可获显著效果。限于篇幅,我们略去了计算的中间数据和经svd处理后(包括将维数减为2个)结果(注:我们使用的工具是excel的“数据分析”和国际牲畜研究院greg  hood所编制的,可在excel上运转的poptools2.4版。),只报告几个有意义的变化,这些变化说明,由于减少了维数,几种学习者的言语失误的关系都有所微调,趋于更为合理。例如第一种失误是拼写失误(fml)。转换值并没有改变原来的次序,大学4级和6级学习者的拼写失误比中学学习者略多,因为它们的语源来自cet考试的命题写作,而中则是自由的居多。命题写作有特定的用词要求,往往成为拼写失误的来源(如要求学习者用pollution)。现在的分析并没有把特定用词要求考虑在里面,而仅就失误的频数和其他失误的关系而言,经过svd处理后,这种失误的发生率呈现为逐步略有降低的趋势,较符合中国学习者的实际

[1]