自然语言语义分析与语料库管理
1. 自然语言语义分析基础
1.1 语义表示与解读
在语义分析中,我们会遇到不同的线程解读情况。例如,有如下表示:
d1: ['s0-r1', 's1-r0'] : ([z6,z10],[boy(z6), (([x],[dog(x)]) ->
([],[chases(x,z6)])), (z10 = z6), runs(z10)])
当检查线程 d0 和 d1 时,读取 s0 - r0 是不可接受的,因为第二句中的代词无法解析。而在 d1 中,代词(重新标记为 z10)通过等式 (z10 = z6) 被绑定。可以通过传递参数 filter = True 过滤掉不可接受的解读:
>>> dt.readings(show_thread_readings=True, filter=True)
d1: ['s0-r1', 's1-r0'] : ([z12,z15],[boy(z12), (([x],[dog(x)]) ->
([],[chases(x,z12)])), (z17 = z15), runs(z15)])
1.2 一阶逻辑与自然语言语义
一阶逻辑是在计算环境中表示自然语言意义的合适语言,原因如下:
- 灵活性:能够表示自然意义的许多有用方面。
- 推理工具:存在高效的定理证明器用于一阶逻辑推理。
超级会员免费看
订阅专栏 解锁全文
3249

被折叠的 条评论
为什么被折叠?



