第十章 语义分析

  Mary owns a cat.
  ex(cat(X),own(mary,X)).

  量词ex可以用Prolog的规则定义为:
  ex(P,Q):-P,Q.
在其他场合下,最好把不定冠词对逻辑式的贡献看作是"零",并让管辖其中心名词的真正量词来担当量化作用。例如:
  A cat always likes Mary.(猫总是喜欢玛丽)
  always(cat(X),1ike(X,mary)).

它的意思同"All cats like Mary"(所有的猫都喜欢玛丽)基本一样。在上面这个例句中,不定冠词"a"的贡献为零,逻辑式的真正量词来自副词"always"。这个例句的意思同"cats always like Mary"也一样,但后一句的主语名词是复数且没有限定词。同理,在前面给出的例子:
  Each man that owns a car washes it.
  each(man(x)&car(Y)&own(X,Y),wash(X,Y)).

中,"a"的贡献也为零,而让"each"控制整个逻辑式。
  定冠词"the"是英语中最常用的词之一。the(P,Q)的基本意思是:P唯一地为真,且Q也为真。所以在某些应用中the可以这样定义:
  the(P,Q):-card(P,1),P,Q.
利用这条定义来分析的例句如:
  John likes the cat that Bill owns.(约翰喜欢比尔的猫)
  the(cat(X)&own(bill,X),like(john,X)).

但在"the"的许多应用中谓词the的基在字面上其实不能唯一地取真值。例如下面这一对句子:
  A cat came to our house last night.
  (昨晚一只猫来到我们家)
  The cat was starving.(那只猫在挨饿)

在这种情况下为了获得一个准确的逻辑式,可以在以下三种方式中挑选一种解决办法:
  (1)定名词短语的贡献可以看作是一个到处被量化的变量,
  例如:
  John owns a cat.(约翰有一只猫)
  John likes the cat.(约翰喜欢那只猫)
  ex(cat(X),own(john,X)&like(john,X)).

  (2)定名词短语的贡献可以是一个用来指称它的常量。
  (3)填补必要的信息,从而使谓词the的基唯一地取真值。对于除"the"以外的限定词来说,如果发生名词短语描写不充分的情况.也必须采用这种方式来解决。
定冠词"the"的另一个复杂性表现在,使"the"时预设了它的基的存在性和唯-性,而不是明确地宣布它们。举例来说,如果有人问:
  Is the cat Bill owns Siamese?
  (比尔的猫是不是叫塞厄梅斯?)

而比尔没有猫或有不只一只猫,那么回答'不是"将是错误的。这里我们不可能深入讨论预设的问题,但是在某些应用中仅仅忽略谓词the的唯一性条件就可以了,这时the可以定义为:
  the(P,Q):-P,Q.