天天看点

中国人工智能学会通讯——NLP与知识图谱的对接

中国人工智能学会通讯——NLP与知识图谱的对接

第一个问题是,为什么有人说“中文知 识图谱”?难道知识图谱是有国籍的吗?知 识是无国界的,这个当然是理论上的说法。 具体到一个国度,一个语言文化的大环境, 我们就会发现,事实上知识是有母语的。 理论依据就是所谓的语言相对论。可能大 家最近都看了《降临》,《降临》讲的就 是语言相对论。其要点为:一种思维方式、 一种文化是被它的语言、它所操的母语所 塑造。这是一个很重要的论断,也正因为它, 在英语世界里搞得非常好的一些技术,到 汉语的世界来,就有可能水土不服。这给 我们提出的任务,就不止是一个移植、汉化 的问题。实际上就是知识处理与自然语言 处 理(NLP, Natural Language Processing) 对接的这一块,任务比我们想象中重。语 言的差距越大,亲属关系离得越远,这个 任务就越重。因为英语和德语之间不会那 么费劲,法语跟意大利语之间也没有那么 费劲,但是英语跟汉语之间,可能就是要 费劲的。这与语言相对论是同样的道理。

第二个问题,知识图谱与 NLP 对接是 一个新问题吗?这需要看我们从什么意义 上讲。从学术意义上讲,肯定不是一个新 问题,这个问题早已有之。在知识图谱不 叫知识图谱的年代,实际上自然语言处理 的研究者们,就已经在研究如何表示自然 语言的语义。自然语言的语义和具体的知 识、具体的常识、具体的一些事实陈述之 间,到底是什么样的关系,也有不少研究。 这里面我们暂且还不说这些具体的研究, 就说知识抽取里面很多经典性的工作,比 如恐怖活动、恐怖事件这样一个大的范畴,里面涉及一系列的环节,比如从凶杀案现 场延展到之前的恐吓信。还有事件范围更 大的,比如总统选举,它的选举前期怎么样, 中期怎么样,后期怎么样,就不是一个事 件而是一个话题了。

从学术观点看,作为自然语言的语义 和作为知识的表示之间,是有着天然的联 系的;但是还不完全是一回事。因为语言 有语言的单位,有它叙述的单位,有它切 入的视角。叙述单位和知识要把握的,一 个大的场景要把握的单位之间,可能会有 一个粒度不一样的衔接。比如我们可能一 句一句地说发生了什么事情,什么人死了, 在什么地点,那么语义理解也是一句一句 把它转义为语义的表示。但是这个语义的 表示,还不直接就是知识图谱,还不是那 样一个大的场景的描述。所以还要通过不 同的蛛丝马迹,通过不同外围的描述,再 去激发核心的大的场景,然后再往里面添 一些相应的添项。

从技术观点看,它也是一个不新不旧的 问题。不新不旧就是说它与过去是有很多 衔接的。但是在新的形势下,对技术也提 出了一些新的要求。这些新的要求,也需 要我们把它落地。具体到金融领域,我们 也会看到确实是有一些新的要求,面对这 样一些要求,需要去把它们落地。

从产业观点看,它则是一个新的问题。 我们怎样有效地把知识图谱的资源和 NLP 的资源衔接起来。不久前,有一位投资人 说他想找这样的资源,找这样的人,找这 样的团队合作,把 NLP 直接与量化投资结 合,一起合作开发一个系统。在我看来, 这不是一个系统,这是好几个系统了。系 统之间是有衔接的,不能说淘金的人,把 卖水的生意都一块做了,这是不行的。术 业有专攻,有人擅长这个,就让擅长这个 的人去做,有什么需求就给人家提,但不 要都搞成一个系统。这个说明了领域的产 业分工,NLP 做哪一段,知识图谱做哪一段, 知识图谱的应用做哪一段,这分别是几个 系统,分别由不同的人来提供。这个事情 可能还是没有形成一个稳定的业态导致的。 因此需要大家一起来探索和努力。

现在,我们讨论一下什么是模态算子。 模态算子有几种表达形式。

第一种表示未然,就是说还没发生,但 是预计或者计划将要发生。例如,我们预 计增产 15%,或者准备裁员 20%,或者计 划涨价 50%,或者拟采购多少吨。如果把 这些词放过去了,那就可能错把一个未然 的东西,当成一个事实来处理。如果放到 知识库,那么这个没有发生的事情,跟已 经发生的事情搅在一起,有一些推理能力 的话,就会推出很多最后自己都不相信的 结果。所以怎么样去处理未然?这里面我 们提出的模态算子一类,在中文的这个语 言学里面,算是计划类。

第二类在陈述前面加了主观的折扣或 者表示分寸的东西。比如说我不认为有必 要怎样,这样一个前缀,或者说倾向于暂缓什么,或者说坚信一定不会怎么样。可 能会用一些,就是副词或者说一些表示认 知的这样一些词,再进行什么样的组合。 这样一种组合,它会把一个裸的陈述加上 一些分寸感,一种主观的过滤。这样一些 东西,我们也要注意,不能忽略。如果把 这些前缀都忽略掉,然后把后面的被前缀 约束的东西,当作一种事实陈述,然后再 跟事实混在一起,无论是进行推理也好, 进行问答也好,都可能会放大一些小概率 的事情。

第三类是一些高阶表述。我们在外交场 合会见到一些高阶表述的外交辞令。不幸 的是,关于财经类的新闻报道中,也看到 了这样的表述。比如说“对房价过快上涨 的预期减弱”,这里面对价格做了“上涨” 的修饰,然后又对“预期价格上涨”这件事 做了减弱。这种套了好几层的套路,是一 些对高阶导数的定性描述。我们怎样去把 它落到所谓的知识库里面,也是一个问题。 再比如“对去产能措施的成功充满信心”, 还没成功呢只是充满信心,还没有去产能, 只是要采取一些措施。

如果我们去采集这样一些数据,采集 到的不全是客观事实。因为除了陈述本身 之外,还覆盖了一些东西:到底是谁说的, 说的是哪个世界的事,是现实世界的事还 是我们未来世界的事,说的时候打了多少 折扣,从里到外套了多少套路,这些都是 我们需要关注的。如果不关注这些点,或 者只去采系统认识的东西,就会采出一些 裸事实来。如果不看这些裸事实外面套的 外套,就可能会有偏颇。

另一方面,这些不全是客观事实的表 述,它也有自己的意义。俗话说“无风不 起浪”。但是在金融领域,尤其是资本市 场,最典型的逻辑是:不管有没有风,起 浪就够了。因为它造成的一些效果,在人 的心理上有投射,而这些效果会引发后面 的一些动荡和行为。不管这个东西是真是 假,它引发行为总是真的。如果焦点恰恰 在引发行为的这个分析上,那么有这个风, 它的作用就会存在,我们就要分析它的作 用。那么具体怎么分析呢?我们刚才说的 这三类,一类是未然的,那它到底能不能 变成已然,这里面是有它的主观性在内的, 是谁说的,来源是否可靠。其来源是否可 靠,也对它从未然到已然的概率会产生影 响。所以这时候我们需要一些标签把看到 的模态算子变成标签,比如说消息源的标 签、就绪度的标签。第二类就是打了折扣 的这些,我们就要根据这个折扣的分寸感, 去给它标注相应的可信度的标签。第三类 是定性的导数,我们还要给它标变化率的 标签,比如变化率的定性取值。通过这样 一些标签,我们就能够区分哪些是带了模 态算子帽子的陈述,哪些是裸的事实陈述。 这些标签也可以在后期加以利用,我们把 它叫做模态元数据。

关于如何使用模态元数据,可以想到的 有三种方法。

一种是分库存放,隔绝推理。我推我的,事实跟事实在一起推,不是事实也许可能成 为事实的,或者说有一定概率成为事实的, 或者怎么样的,那些放到另外的地方另外推, 这两个不相往来。这样分库存放可以减少一 定的混乱,但隔绝推理就可能会使我们失去 了一些挖到更多知识的机会。

第二种方式就是混合存放,放开推理, 这种其实也不好。因为它们长的也不一样, 性质也是有所区别的,如果全放在一起, 放开推理的话,推出来的东西可能你就无 法掌控。

我们推荐的是第三种,就是分库存放, 同时对推理有一定的控制。就是说不让它 放开了推。当然说是这么说,具体实施还 是要注意到很多事情,我们这里就是从学 术角度强调,有这样一类陈述,这类陈述 需要大家引起重视。那么一些路径上的考 虑先放在这儿,至于说怎么样去实现,我 们可以底下再做一些探讨。

模态元数据能怎么用?比如说一个公 司在不同的时间,会承诺未来做一些事 情,它到底做的怎么样?这个可以给计 划执行的进度画像,什么时候哪些东西 的未然成为已然了,哪些承诺还没有兑 现,我们可以看它实现的情况。还有就 是观点聚类,也就是说根据大家对同一 件事情打的不同的折扣,我们可以给这 样一个人群的观点的分布画像,让大家 知道谁是站在左边,谁是站在右边,谁 是站在中间。我们还可以对趋势进行一 些定性导数的分析。

我们接着讨论一下深层语言分析的结 果如何与知识图谱进行对接。

深层语言分析是相对浅层而言的。传 统来说,是把语言分成词法、句法、语义 三个层面,然后剩下的就是进入应用场景, 语用也属于应用场景的一部分。如果我们 可以画一条线,线的左边是语言领域、线 的右边是知识领域的话,实际上语义已经 有一小块延伸到知识领域了,应用场景基 本都属于知识这个领域,但是还有一大部 分语义、句法的全部、词法的全部都是属 于语言这个领域的,如图 1 所示。

中国人工智能学会通讯——NLP与知识图谱的对接

最早是用词袋来激活场景,在知识表 示里面当时叫做框架。从这儿到场景就隔 得非常远,我们可以利用的信息就非常少。 当然这个应用,如果说有一些非常限定领域 的应用,出于效率的考虑,我们可以这样用。 基于模板的技术就往前进了一步,它利用 了一些浅层的句法,但是这个句法不够深。 虽然不够深,它毕竟离场景近了一点;但 是实际上,它还是有一些信息没有捕捉到, 或者有一些结构性的关键信息没有捕捉到。因为没有捕捉到,所以这里面还是有一些 失误,或者说不够精准的情况,下面我们 会举例。利用句法分析去做,可以用所谓 的 SVO, 就是主谓宾角色在语言学上的一 个简写。去找这种主谓宾的搭配,然后利用 主谓宾的角色这种深层的信息,跟相应的 一些场景里面的知识图谱也好,什么样的 表示也好去对接。SVO 也有它的一个位置。 深层分析,在图 1 我们画红色箭头的地方。 它除了采用深层的句法之外,还采用了一 定的语义特征,我们叫做次范畴语义特征, 这个深层句法加上次范畴语义特征能干的 事,又比这个又多一点。现在这种对接的 效果,我们看它处的位置跟我们的场景距 离就比较短了,它能够利用的一些结构性 的信息就更多了。

说到这儿,我想说一个真实的故事:一 个小孩拿到了一款新机器人,很高兴跟机 器人对话玩。小孩说,你给我讲个故事吧, 然后机器人从故事库里面挑一些故事就开 始讲了。小孩挺高兴,但是过一会,他表 现欲很强,就跟机器人说,那我给你讲个 故事吧。机器人不懂,以为是让他讲故事, 又开始讲。是“我给你”还是“你给我” 这个事情没有搞明白。可以肯定,它是基 于模板来做的,可你要考虑一下语序这个 事情,至少你这个技能就不会是单打一的 出来,一定是成对的或者怎么样出来。正 因为它不是成对出来的,所以我们可以很 有信心的说,他们是基于模板的技术。就 是说,“我给你,你给我”这种利用语序 进行区别的信息,它是没有捕捉到的。

在证券市场里有买 - 卖,在银行里面 有借 - 贷,包括我们生活当中的娶 - 嫁, 都存在一个相对关系。一个讲一个听也是 一样。在你赋予它讲故事的能力的同时, 如果说能够因为语义上的关联,顺手赋予 它一个倾听的能力,不是更好嘛。所以这 是我们从这个故事里面看到的基于模板的 对接技术的不足。

采用了SVO分析技术肯定会有所改进。 那么 SVO 会出现什么问题?它会出现这样 的问题:比如说在一个场景里说,一个公司 “增长率超过了 15%”;然后,另一个场景 表示,它的“增长率是超过了联想(公司)”。 这在句法上都是主谓宾,宾语是放在同一个 地方的,说明我们知道谁跟谁有关系,但是 关系的性质其实是不一样的,而这是一个细 粒度才能区分,只从 SVO 区别不了这件事 情。为什么区别不了?因为超过了联想的意 思是以联想为对标,在这个增长率上,是超 过了联想的那个增长率。

如图 2 所示,我们的做法是采用深层 parsing,这里面我们看底下那行,这一行 就是语义次范畴,那个 Cat 还是句法的范 畴,这个 Subcat 就是语义次范畴。那么 在这里面,我们就看到有一个做法,就是 脑补。把联想顺着杆往下滑,从一个组织 滑到一个组织的某项指标,再在某项指标 的数值,用这种方法顺着杆滑下来,然后 从不可比就变成可比了。其实我们提出语 法分析的过程,不仅能分析我们金融领域 比较实用的句子,还能分析看起来老大难 的句子。

中国人工智能学会通讯——NLP与知识图谱的对接

比如说“这个问题老张的处理方法我有 意见”,这句就不是常规的用法,而是宾 语提前的用法。这种宾语提前的用法,就 是说处理的,处理的是问题,办法是处理 的办法,意见是对办法的意见。像这样一 些名词,按说都是不挖坑的,但是我们这 里是要挖坑的,而且要有其他的名词给它 填坑,甚至是动词给它填坑,那么这样复 杂的过程,我们也可以做。比如说用线图 的方式去表达这个分析的结果,或者用平 面图的方式去表达这个分析的结果,这都 是可以做的。

最后我们简单说一下自然语言当中的 风格选择问题。实际上,如果把语言生成 的粒度变细,让每一个零件都是可替换的, 而替换的不同选择反映了不同的风格特征。 风格可以反映听说对方的关系,反映说话 人的性格特征和情感状态。知识图谱跟自 然语言的对接,知识图谱自身的推理需要 有一个共同的中间,我们比拟的说法、虚 拟的说法,它是图谱操作的系统,这可能 是需要的。

(本文根据白硕博士在杭州金融知识图谱论坛 上的演讲整理)

中国人工智能学会通讯——NLP与知识图谱的对接

继续阅读