现在的位置: 首页 > 综合 > 正文

《 语义构建与推理》读后感

2018年04月03日 ⁄ 综合 ⁄ 共 1831字 ⁄ 字号 评论关闭

          《自然语言的表达和推理》读后总结

    本书全篇没有对语义进行直接定义,但是从我们的已有知识和对本书总结,可以这样对其定义:语义是我们抽象世界中的语言信息(自然语言)所对应的客观现实世界的实物。简单来说就是某一个词或者某一个句子对应的到底是现实世界的什么东西。每提到“水”,我们脑中立马可以对应出“水”这个词的现实含义:维持动物生命需求的一种液体。但是假如我们在最开始造词的时候把这种液体起另外一个名字,譬如“冈”,那么“冈”这个字的语义就是我们现在理解的“水”的语义。所以说语义仅仅是一种从具体物理世界对应抽象概念世界的映射,从这个角度我们可以看出语义和哲学的息息相关。而计算语义学则是从“可计算”的角度实现语义。“可计算”即为可以在计算机中实现。

    为了依靠语义进行自然语言处理,我们必须首先将语义表达和构建出来,上述可知我们的语义和哲学逻辑有很大关联,因而可以用一阶谓词逻辑的形式将各种语义进行构造表达。与经典的命题逻辑相比,一阶逻辑包含量词信息,因而更符合现实世界的自然语言(当然还有表达效果更好的高阶逻辑)。有这样一个形式化框架后,我们可以对语义进行构建。拉姆达演算是现在最好最流行的方法,它的核心思想是某个词出现后,它代表这一个句子中的信息,而一个句子中的其他信息则必须包含在这个词的语义中,比如,我们看到一个词“打”,那么必须从整个句子的角度考虑这个词的语义——“打”的主语(如“铁匠”)和宾语(“铁锹”)。所以拉姆达演算(抽象)可看做对未知信息(主语和宾语)的一种临时替代。然后根据句法规则将各部分语义结合在一起形成整个句子的语义。语义表达的难点不在于单个词项的语义表达,而在于如何将它们结合在一起。

      有了语义的表达后,我们可以依靠这些语义进行推理。对于简单的不包含量词的命题逻辑来说,我们可以使用逻辑学的方法进行构建,书中介绍的理论的Tableau方法和可以计算机实现的resolution方法其实在逻辑学中就是证明树的方法(proof tree):为了判断某个公式(句子是公式的一种)的真伪我们将句子各个部分拆开,看看有没有矛盾的地方, 这个矛盾可以是和现有的知识(也即已经被证明是真的公式)相矛盾,或者和这个句子中其他部分相矛盾。这是最简单的query task(已经有模型即已有被证明是真的知识)。但是我们很多时候要进行推理的公式没有对应的模型,比如“咱们班有个人去过法国”,“女人都是爱美的”,这种话没有在任何一个模型中出现过,但是我们又不能说这句话是错的。类似这种问题又可以分为一致性任务(consistency task)和有信息性任务(informative task)。前者是某个公式至少在一个模型中成立,如上面第一句。后者是某个公式在所有情况下都成立,如上面第二句。处理的方法包括将两个任务转化为有效性(validity)检查任务在进行处理。

上面可以看出我们进行语义构建和推理过程中,构建部分已经有了相当成熟的技术(拉姆达演算),但是对于推理还没有一个特别有效的方法(因为部分自然语言语义的推理问题属于NP-完全问题)。所以只能依靠部分转化的方法将非模型的推理内容转化为模型推理内容,那么重点就在于知识库(或者模型库的构建),当我们的规则或者推理一条条的加进知识库中,那么随着知识库的增长就可以包含越来越多的情景条件因而可以处理更复杂多变的语言了,这其中可能由相互矛盾的知识,也可能有重复的知识,如何处理是个难点。这一过程就和我们人学习知识一样,开始的时候存储知识少判断能力低随着不断积累慢慢的会更加合理有效的进行判断选择。

      当今自然语言处理方法中,与现在流行的基于统计的经验主义相比,语义学属于理性主义的规则学派,更强调词项句子本身的含义,所以对句子和词项本身出现的概率并没有太多考虑。由于近十几年来特别是到21世纪随着计算机处理能力的不断增强,基于统计的机器学习方法逐渐占据上风。但是我们的自然语言是蕴含知识的,这部分知识虽然可以通过统计方法得到,但是这些知识也只是自然语言的“外延”即抽象世界的“词”的联系,但是深层次的原因更可能是他们“内涵”的联系,即代表的现实世界物体的联系。我们一步步对自然语言语义的联系进行学习推理。但是如何将语义形式化的表达处理以及如何依靠这些表达进行知识构建,最后运用这些知识进行推理还没有一个系统的成熟的方法,所以当这部分难点被攻克后相信自然语言处理能力将会得到质的提高。

抱歉!评论已关闭.