自然语言理解
解析句子,SQL查询
自然语言、语义与逻辑:



图灵测试
图灵测试是由现代计算机科学之父英国人阿兰·图灵1950年提出的。图灵测试会在测试
人在与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试
者随意提问。问过一些问题后,如果被测试者超过30%的答复不能使测试人确认出哪个
是人、哪个是机器的回答,那么这台机器就通过了测试,并被认为具有人类智能。
– 问:你会下国际象棋吗?
– 答:是的。
– 问:你会下国际象棋吗?
– 答:是的。
– 问:请再次回答,你会下国际象棋吗?
– 答:是的。
– 问: 你会下国际象棋吗?
– 答:是的。
– 问:你会下国际象棋吗?
– 答:是的,我不是已经说过了吗?
– 问:请再次回答,你会下国际象棋吗?
– 答:你烦不烦,干嘛老提同样的问题
命题逻辑
逻辑形式
布尔运算符
命题符号

一阶逻辑
语法
– 独立变量
– 独立常量
– 带不同数量的参数的谓词
• 喜欢(海伦,洋娃娃)
• 爱 (海伦,洋娃娃)
– 非逻辑常量
– 逻辑常量
– 存在量词
– 全称量词
采取约定:
是一种由n 个类型为e 的参数组成产生一个类型为t 的表达式的谓词
的类型。在这种情况下,我们说n 是谓词的元数。
– 1. 如果P 是类型的谓词,α1,... αn 是e 类型的术语,那么P(α1,...αn)的类型是t。
– 2. 如果α和β都是e 类型,那么(α=β)和(α!=β)是t 类型。
– 3. 如果φ是t 类型,那么是-φ也是t 类型。
– 4. 如果φ和ψ是t 类型,那么(φ&ψ)、(φ|ψ)、(φ -> ψ)和(φ<->ψ)也是t类型。
– 5. 如果φ是t 类型,x 是类型为e 的变量,那么exists x.φ和all x.φ也是t 类型。

真值模型
– 给定一阶逻辑语言L,L 的模型M 是一个对,其中D 是一个非空集合,称为模型的域,Val 是一个函数,
称为估值函数,它按如下方式从D 中分配值给L 的表达式:
• 1. 对于L 中每一个独立常量c,Val(c)是D 中的元素。
• 2. 对于每一个元数n≥0 的谓词符号P,Val(P)是从Dn 到{True, False}的函数。(如果P 的元数为0,则Val(P)是一个简单的
真值,P 被认为是一个命题符号。)
– 对于(2),如果P 的元数是2,然后Val(P)将是一个从D 的元素的配对到{True, False}的函数。我们将在NLTK
中建立的模型中采取更方便的替代品,其中Val(P)是一个配对的集合S,定义如下:S = {s | f(s) = True}。
• 这样的f 被称为S 的特征函数
独立变量与赋值
量化
量词范围歧义
模型建立
语句的语义
组合原则:整体的含义是部分的含义与他们的句法结合方式的函数

S[SEM=] -> NP[SEM=?subj] VP[SEM=?vp]

λ运算符
– {w | w ∈ V & P(w)} λw. (V(w) & P(w))

λ-抽象

– 如果α是τ类型,x 是e 类型的变量,那么\x.α是类型。
β简约
– \x.(walk(x) & chew_gum(x)) (gerald)
– (walk(gerald) & chew_gum(gerald))
– \x.\y.(dog(x) & own(y, x))

α-等价/ α-转换
量化的NP

量词歧义
– Every girl chases a dog.
• a. all x.(girl(x) -> exists y.(dog(y) & chase(x,y)))
• b. exists y.(dog(y) & all x.(girl(x) -> chase(x,y)))

• \P.exists y.(dog(y) & P(y))(\z2.chase(z1,z2))
• \P.all x.(girl(x) -> P(x))(\z1.exists x.(dog(x) & chase(z1,x)))

段落语义层
理解段落上下文含义
– Angus used to have a dog . But he recently disappeared.
• a. Angus owns a dog. It bit Irene.
• b. ∃x.(dog(x) & own(Angus, x) & bite(x, Irene))

• Det[NUM=sg,SEM=<\P Q.([x],[]) + P(x) + Q(x)>] -> 'a'
• Det[NUM=sg,SEM=<\P Q. exists x.(P(x) & Q(x))>] -> 'a'
