白硕:语义技术探索

作者: 上海证交所总工程师 白硕

就在2014年六一儿童节,微软推出了节操碎一地的聊天机器人“小冰”,仅仅存活了48小时就惨遭封杀。小冰之死又一次激活了关于语义分析识别技术和人工智能的话题。从专业角度,小冰所展现出来的语义分析和识别能力虽然乏善可陈,但它的最大价值是告诉我们,在聊天机器人设计领域,艺术成分将超过技术成分。一个小冰死在沙滩上,千万个具有不同个性的小X站起来。

不太了解我经历的朋友可能觉得奇怪,语义分析和识别这么玄乎的学术话题,怎么轮到一个传统金融机构的技术负责人来讲,你有没有这个专业能力。这里我简单说一下我的经历。我当过学者,当过官员,现在是核心金融机构的技术主管。我硕士和博士学位论文都是有关自然语言处理领域的。我的唯一一本学术专著是关于语言学知识的计算机辅助发现的。

从行政关系离开学术界那天起,我陆续淡出了曾经感兴趣的许多研究领域,但NLP和IR却一直是我关注和个人业余学术兴趣的焦点,也是我试图维持自己专业性存在的唯一领域。我微博认证的身份就是中国中文信息学会常务理事。我还在中国科学院的计算所、信工所两个研究所以及中国科学院大学的金融科技中心兼任博士生导师。所以,今天是以一个专业学者的身份而不是技术应用者管理者的身份来跟大家交流的。

因为是学术话题,所说的内容不一定是短平快付诸应用的,有些甚至可能要有比较长的开发和积累周期,可能要由比较有实力的大公司做上规模的投入,就像谷歌的知识图谱。但是,我可以向大家保证,今天的分享将是有价值的。

现在的IT界、互联网界,看见语义二字,总是把很多关于语言处理的未尽事宜都装了进去,把对于语言处理的许多美好展望都寄托在它的上面,一如当年的人工智能。

在非专业从事语言处理技术研究的人群中,存在两种倾向:一种是把相对表层的分词这样的词法问题,或者词项-文档向量空间的降维问题的解决,都归功于“语义”;另一种是把语义实际上管不到的领域知识建模、本体标引等工作也都贴上“语义”的标签。所以,学术意义上的语义,和非专业人士直观中的语义,有很大的区别。

从专业角度看,语义仅仅是把握语言的一个层次。向更加表层的方向看去,有语法(句法+词法)层次和语音文字层次;向更加深层的方向看去,有语用层次。

尽管跟其他层次有千丝万缕的联系,但别的层次可以单独解决的事情,就没语义什么事儿。比如结构歧义,大家经常举“咬死了猎人的狗”这样的例子。要解决这样的歧义,放大上下文就行:“那只狼咬死了猎人的狗”“咬死了猎人的狗掉进了陷阱”。上下文一放大,在句法层面就可以解决,不需要动用语义。

要揭示学术意义上的语义是什么,可以做什么,我们看几个推理的例子。

【例1】《祝福》是鲁迅的著作。鲁迅的著作不是一天能够读完的。所以,《祝福》不是一天能够读完的。
这个例子里面,“鲁迅的著作”一会儿指集合里的元素,一会儿又指集合。概念混淆。

【例2】8/12的分母是偶数。8/12=2/3。所以,2/3的分母是偶数。,故而推理错误。
这个例子里面,“分母”针对的是分数的构成,而等号针对的是分数的值。两个分数值相等不能推出在关于分数构成的命题中,两个分数可以互相取代。

【例3】“十三个字不能定义的最小整数”用十三个字定义了这个最小整数。

这个例子里面,用字定义数,在游戏里边;用特定数目的字能不能定义某个数的判断,在游戏的外面。用游戏外面的判断来定义游戏里面的数,出现了层次纠缠,不被游戏规则所允许。

这三个例子,说明了一个共同现象:语言所包含的意义,在我们人际语言交往的常态下,跟构成语言的符号是不分你我的。只有到了不得不去关注二者的区别的时候,比如处理悖论、双关、歧义、幽默、跨语言交流的时候,意义和表示意义的符号才被分离开来。

也就是说,语言符号有一种“牺牲自己、代表别人”的本性。“自己”是形式,“别人”是意义。在中国古代语言里,用来代表意义的语言符号,叫做“能指”;用语言符号所代表的事物,叫做“所指”。后者,也就是“语义”。

语义所处的世界,不一定是我们的现实世界。虚构的小说,其语义就不在我们的世界。人为的谎言,在现实世界并不为真。但这一切都不影响我们对小说的内容、对谎言的内容的理解。对语义所处世界的定位,学术上有各种各样的观点。从计算机处理的角度看,我们在语义建模(也就是确定“语义长什么样”)时,只需要关心两件事情——

第一件叫做“符号根基(symbol grounding)”。通俗地说也就是符号所指称的最小砖块(语义单位)是怎么“落地”的,是长在什么上面的。
不得不说,语义单位的落地方式千姿百态。比如表示颜色的词,大红、砖红、桃红、玫瑰红什么的,落地的方式可能是一组RGB值。表示亲属关系的词,舅妈、婶子、表大爷、姑奶奶什么的,落地的方式可能是一组由基本亲属关系(亲子关系、婚姻关系等)复合而成的复杂关系。为了区分“The scene of the crime is at the bank”所包含的歧义,不管bank怎么落地,一定要给两者打上类似“金融机构”和“自然地理”这样的“类别标签”。最意味深长的是Siri的落地方式,它把手机用户输入的词,跟手机通信录上的号码、跟提供位置服务的POI等进行了绑定,从而开辟了语义与移动互联服务相结合的广阔战场。

第二件叫做“角色指派(role assignment)”。通俗地说也就是符号所指称的大大小小砖块之间的相互关系。

角色指派的落地方式尽管也有不少种,不管是逻辑公式、框架、语义网络还是什么,但万变不离其宗,最终都要回归到“角色充当者”,和“角色提供者”之间的结合关系。前者类似化学里的正价原子(团),后者类似化学里的负价原子团。它们之间的结合关系就是角色指派,有点像化学里的“化学键”。许多奇特的证明中文“博大精深”的例子都跟角色指派有关,比如“一种人谁都看不上,另一种人谁都看不上”之类。
共性的角色,往往使用共同的名称。比如施事、受事、当事、与事、时间、处所、工具……等等。

角色指派和句法之间有着紧密的联系。在德、俄等语言里,名词有“格”的显性区分,用来表达角色指派关系;在日语里,名词后附“格助词”,用来表达角色指派关系;在英语和汉语里,名词前面附加介词组成介词短语,用来表达角色指派关系。这些是明的。还有很多角色指派关系是暗的,没有显性的标记,汉语里暗的角色指派关系尤其发达,以至于有人称汉语是一种“意合”的语言。

既然语义有“符号根基”和“角色指派”两个方面,那么语义处理技术也就必然要在这两个方面有所体现。

为自然语言建立符号根基,在实践中是不能没有、但可深可浅的一件事情。比如“张三”本来是指人的。对应不上真人,对应上以人为对象的数据库、知识库、号码簿、社交网络账号或其他档案,也都行。最差的就是终止于“张三”这一原子符号。为什么“知识图谱”理论上本来是语言无关的,但却被搞成了语言相关的,就是因为这种语言相关的原子符号太多了。

完成角色指派的方式有多种,但归根结底是两种:一种是句法结构制导的,一种是模板制导的。前者严谨,后者轻便。前者更多地被称为“语义分析”,后者更多地被称为“语义识别”。

所谓句法结构制导的方式,就是依托句法分析的结果,来构造语义分析的结果。看起来这种方法自底向上、步步为营,最可能取得尽可能精准的结果,但是句法方面的缺陷也会传导到语义分析当中来。比如,句法分析的可能结果特别多,反而需要靠语义层面来一甄别;句法层面的省略、移位、指代、呼应等等都需要借助语义信息来一还原等等。总而言之就是:常规情形还好,有一点非常规出现,立即出现理论上互相指望,实践上互相指望不上的被动局面。所以,句法结构制导的方式,具有某种先天的“脆弱性”,在自己覆盖范围内表现得像专家,在自己覆盖范围外表现得像白痴。

所谓模板制导的方式,就是依托事先定义好的模板,来“触发”语义识别的动作。触发的条件可以比较宽松灵活,比如不一定按语序邻接,可以逆序,可以隔着数个无关的词,等等。一个恐怖事件,可能会涉及到时间、地点、作案人、受害人、事件类型、作案目的(诉求)、侦破过程及结果、各方反应等。通过一个或多个文本,把这些信息填写全了,任务也就完成了。至于文本中其他部分,无需仔细分析和理解,无需精准到每一个成分和角色。很多应用场景,包括小冰与用户对话的场景,充其量就是这样一种模板制导的方式就够了。模板制导方式对于自己不理解、不具备分析能力的文本,可以做到视而不见听而不闻,对于自己有能力把握的文本,哪怕是一些还不完全掌握其语序规律的文本,都可以做出相对快捷、大致准确的反应。当然对于一些非常考究、复杂、高阶的表达,模板制导的方式则很有可能出错。

模板制导的方式目前已广泛应用于各类声称使用了语义技术的应用系统之中。特别值得指出的是,模板制导的方法更有条件引入机器学习特别是深度学习的技术,利用低成本的人工对大规模语料库进行标注,对无法规则化的句法到语义映射关系进行有监督或半监督的学习,从而达到“泛化”和“平滑”的效果。

但句法结构制导的方式目前则处在发展的瓶颈期。要度过这个瓶颈期绝非易事,因为这既需要从语言学领域对语义表示的理论进行根本性的创新,也需要在此基础上进行相当大规模的语义资源建设。这两件事情又是相辅相成的。没有好的理论创新,语义资源建设必然盲目且走不远。语义资源建设达不到合理的规模,也难以对语义表示的理论创新进行有说服力的验证。这两个环节又都需要跨界专家的大规模参与,成本上比模板制导的方式高上很多。

我赞成两条腿走路。既要鼓励模板制导的技术尽快形成好的商业模式,进入市场取得效益,同时也要鼓励句法结构制导的研究耐得住寂寞,拼得起成本,憋得出大招儿。我不赞成的是,利用模板制导技术在商业上的成功去封杀句法结构制导技术在学术界的发展。

接下来,我讲一下semantic network和semantic web的异同,顺带讲一下语义知识表示和领域本体知识表示的边界。

大家都知道“语义网”是个很流行的词儿。但是未必有很多人知道,这个汉语词汇对应着两个不同的英语词汇,一个是“semantic network”,另一个是“semantic web”。当然由于传播力的原因,后者比前者影响面大得多。这两个英语词汇,指的是完全不同的两个东西,其间又有一定的联系。

semantic network原本指的是多个语义单元通过角色指派连接而成的复杂语义表示。它在表层与文本的句法表示有着大致整齐的对应,它在深层采用的标签基本上是有语言学意义的角色和特征。但是后来,在一些AI系统的知识表示设计中,也借用了semantic network的基本表示框架来表示领域知识,跨出了语言学知识表示本身的边界。

semantic web则是直接面向网络信息的组织、标注和展现的一套技术框架,其部分思想或许借鉴了作为知识表示框架的semantic nekwork,但已经比语义知识表示走得更远。比如,一个公司可能会有董事长、总经理、副总经理,有自己的专利技术、产品和服务,有自己的客户群和财务指标,它们都可以围绕着“公司”这个本体对象来构建。但是从语义知识表示的角度看,“公司”是一个角色填充者,那些头衔、技术、产品、服务、指标等都是分立的角色提供者,只要角色指派能够得以建立,语义知识表示即告完成。又如,一笔“交易”可能涉及买方、卖方、标的、价格、数量、成交时间等要素,它们都可以围绕着“交易”这个本体事件来构建。但是从语义知识表示的角度看,只要“买”和“卖”作为角色提供者各自的角色指派能够得以建立,语义知识表示即告完成。语义知识表示并不追求把这些角色提供者封装成“公司”这类本体对象或“交易”这类本体事件。

谈到语义分析和语义识别,一般来说我们会把它理解为就是以完成角色指派、构建语义知识表示为己任,不扩展到语义知识表示之外的领域知识表示的构建和获取。但语义识别采用的模板制导技术,其实完全可以有条件跨越语义分析的传统边界,直接针对领域知识表示的单元,比如本体对象或本体事件,从文本中来进行知识抽取。在一些号称基于语义识别技术的应用系统中,大家其实也已经不拘泥于语义知识表示本身的构建和获取,而是直接把语义识别等同于知识抽取。

也就是说,语义分析和语义识别的产出物是以角色指派为主体的语义知识表示。知识抽取的产出物是领域本体知识表示,但它在方法上与语义识别相通,有时直接与语义识别相混同。

要想实现语义分析或语义识别的能力,有一件事是非做不可的,那就是语义资源建设。

对于语言相关的资源建设,大家可能并不陌生。搜索引擎对网上语言资源的爬取、文档数据库的标引、语料库的词性标注、语音/文字的相关原始资料库的整理和标注,都在其列。这些,都是针对“语言使用” 的实例的。但是,词法/句法分析使用的词典,同义词/近义词/反义词词典,各种双语乃至多语词典,并不是针对“语言使用”的实例,而是针对“语言要素”的实例的。语义资源建设的核心问题,是要解决精确到义项的角色提供者角色定义和角色提供者/角色填充者特征描述与匹配问题。这个问题必须直接面对,无法取巧。

我们大家知道的几个较大的语义资源库,包括wordnet、hownet和HNC等。其中的每一个都是顶级语言学家主导设计,历时多年不断完善的。应该说,没有顶级语言学家的主导,资源库一定是缺少灵魂的、平庸的、没有生命力的。没有多年的磨合和完善,达到几万词条、几十万义项规模的语义资源库一定无法保证它应有的品质和覆盖面。这项工作不可能通过比拼低成本人力来完成。每一个义项的标注背后凝聚的知识都相当于一篇小型的语言学论文。

我对语义资源建设的定位可以用16个字来概括:虽然难,必须有;不在多,而在精;大师工程。

最后说一说汉语与世界上其他语言的共性和个性的问题。

有人说,跟小明相关的各种汉语段子会让老外疯掉。不可否认,汉语是“博大精深”的。同样不可否认,一般智商的中国人乃至外国人,如果从小学习汉语,都是学得会的,汉语不存在显著得不得了的复杂度。其实,只有学了外国的语言再来用那一套思维定势套汉语,才觉得汉语巨复杂无比。

有人说,“这本书的出版”、“这本书的不出版”、“这本书的迟迟不出版”表明汉语是“词无定类”的;有人说,“晒太阳”、“打扫卫生”表明汉语是不合语法的;有人说“鸡不吃了”、“台上坐着主席团”、“这些馒头把我吃胖了”、“被地主放狗咬伤了腿”表明汉语的语序和角色指派是过于灵活、无规律可循的。其实,这不过是我们在中学、大学学的一种外部强加给汉语的语言学理论结合到汉语实际时产生的“水土不服”的现象。

我比较欣赏老子的名言“上善若水”。水本身的流动规律及其简单,简单的重力和流体力学定律足矣。但是水的流动却造就了姿态各异的江河湖海。之所以有这么多变化,那是地貌惹的祸。地貌的复杂度决定了江河湖海的复杂度。

我相信语言也是这样,简单的规律加上复杂的语料,造就了复杂的语言。我们面临的最富挑战性的任务,就是把简单的语言规律还原出来。乔姆斯基不愧是大师,他已经走在从复杂还原简单的路上,远远领先于同时代人。如果有一天我们对汉语的感觉能从“博大精深”走向“不过如此”,那么在语义技术上了不起的进步和不得了的突破就在眼前了。

[Datacn.Net-大数据应用从业者与爱好者组织,聚焦大数据业务价值实现。]