3.6 数据库语义学示例:DBS字母
在一个简单而完整的体系当中,数据库语义学的基本功能如下面的DBS-字母的形式定义所示。这个例子不涉及语言学研究,只是用合适的LA-hear语法对字母串进行时间线性分析,结果得到一组相互关联的命题因子,按序存入词库,再用合适的LA-think和LA-speak语法把字母串读出来。
DBS-字母的输入是一串字母,定义为命题因子。例词LOVE,LOSS和ALSO所包含的各个字母按照字母顺序定义如下:
3.6.1 代表字母A,E,L,O,S,V的孤立命题因子
这些命题因子的核心属性是“lett”,接续属性是“prev(ious)”和“next”,簿记属性是“wrd(见4.1.2)”。
用于DBS-字母的LA-hear语法称作LA-letter-IN。该语法把当前命题因子的属性“lett”的值复制到下一命题因子的属性“prev”槽内,同时把下一命题因子的属性“lett”的值复制到当前命题因子的属性“next”槽内。
3.6.2 用于连接孤立命题因子的LA-letter-IN的定义
和任何一个LA语法一样,LA-letter-IN有一个起始状态STS,一组规则(这里只有一个),一组最终状态STF。变量α和β不受任何限制,可以(纵向)绑定输入命题因子层的任何值。规则r-in的应用情况如下所示:
3.6.3 LA-letter-IN规则应用示例
变量α绑定值“L”,变量β绑定值“O”之后,分别把这些值复制到对方槽内,结果如下:
3.6.4 LA-letter-IN规则应用结果
除了根据语法规则交叉复制接续属性的值以外,分析器的控制结构还会把属性“wrd”的值设置为“1”,表示命题因子“L”和“O”属于同一个词。
下面是字母串求导过程的示意图(与3.4.2相似):
3.6.5 连接love各字母的时间线性求导过程
求导过程包括规则“r-in”的三次时间线性应用。由分析结果可见,表示该单词第一个字母的命题因子当中,其属性“prev”的值为空(用空格表示)。
求导结束,得到一组相互关联的命题因子,存储在DBS-字母的词库里,如下所示:
3.6.6 存储在词库里的love,loss和also命题因子
与3.3.1相比,这个词库相对简单,没有语境层和语言层之间的区别。
现在来看一下单词的生成过程。生成过程的起点是在3.6.6的词库中进行自主导航。应用于DBS-字母的LA-think语法称作LA-letter-OUT。其功能是根据任意一个字母命题因子的属性“next”和“wrd”的值向指定的下一个接续命题因子转移。
3.6.7 遍历关联命题因子的LA-letter-OUT的定义
应用规则从字母L转移到字母O的过程如下所示:
3.6.8 LA-letter-OUT规则应用示例
根据变量α,β和k的赋值情况,规则“r-out”应用数据库的提取机制激活接续命题因子“O”:
3.6.9 LA-letter-OUT规则应用结果
求导过程继续应用相同的规则(见3.6.7中定义的r-out规则包),从“O”导向“V”,再从“V”导向“E”。注51
遍历到的命题因子构成LA-speak的输入内容。这个例子当中,LA-speak语法的规模很小,只简单地按照遍历的顺序来实现导航激活的命题因子的核心属性值。
要把DBS-字母这样一个简单的体系扩展成全面的自然语言交流系统需要如下几个步骤:
3.6.10 扩展到自然语言交流系统需要的步骤
1. 自动词形识别和生成
LA-letter-IN只识别“L”或者“O”之类的基本字母,全面的自然语言交流系统必须能够识别不同语言的复杂词形。同样,也必须能够生成比LA-letter-OUT更复杂的词形。
2. 导航和语言实现分开
LA-letter-OUT的输出语表和存储在数据库里的命题因子核心属性值是相同的。全面的自然语言交流要求通过LA-think和LA-speak来分别实现导航功能和语言实现功能(见3.5.4)。这要求区分命题因子的核心属性值和语表属性值(见3.2.2)。
3. 语言数据和语境数据分开
语言和语境是两个不同的概念,所以词库也要分成语言和语境两个部分(对比3.6.6和3.3.1)。与外部世界的指代关系要求用语境层的输入-输出来补充语言层的输入-输出(对比2.5.1和2.4.1)。
4. 将导航扩展为控制结构
LA-letter-OUT只跟踪命题因子内编码的接续信息,而全面的自然语言交流系统必须把导航扩展为推理。这就要求把绝对命题注52和情景命题(见5.2)区分开。为主体补充值构造之后,推理又必须扩展为一个控制结构。
以上扩展步骤当中的前两个主要涉及自然语言处理部分,后两个则需要机器人具备语境界面。本书的第二部分和第三部分分别讨论如何实现前两个步骤。