返回

机翻技术

搜索 导航
超值满减
程序语义学与问答系统
2023-06-28 09:29:07    etogether.net    网络    



可以将其转换为如下形式的查询:


(PRINT-ALL ?f (FLIGHT ?f) (ATIME ?f CHI ?t) (DTIME ?f ?s 1600HR))


这里,如前所述,DEST关系映射为ATIME关系,LEAVE谓词映射为DTIME关系。需要注意的是,这个逻辑形式中没有指定出发地点,所以我们将出发地点当做变量来处理。在真实的应用中,出发城市应根据上下文或者根据默认规则来确定。在图1 所示的小数据库中,只有一个航班符合现有的描述,即F1,因此它是这个例子的答案。


下面,考虑涉及迭代的更复杂的例子,比如查询“Give the departure time of each flight to Chicago”,其逻辑形式为:


(EACH f1 : (& (FLIGHT f1) (DEST f1 (NAME c1 "Chicago")))

         (THE t1 : (DEPART-TIME f1 t1)

                 (GIVE-SPECIFY1 g1)))


上式可转换成下面的查询:

(ITERATE ?f1 (CHECK-ALL-TRUE (FLIGHT ?f1) (ATIME ?f CHI ?t1))

       (FIND-THE ?t1 (DTIME ?f1 ?city ?t1)

                (PRINT ?t1)))


在这个例子中,动词“give”的解释仅仅是打印出其参数,例如离开时间。这个表达式的执行步骤如下:


1. ITERATE步骤的第一部分是找出满足条件的所有 ?f1。只有(FLIGHT ?f1)和(ATIME ?f CHI ?t1)都在数据库中,CHECK-ALL-TRUE步骤对?f1才成功。这一步骤返回航班F1,F2和F3。


2. 这一步的第二部分是对这3个值中的每一个都执行(FIND-THE ?t1(DTIME ?f1 ?city ?t1)(PRINT ?t1))。分析对第一个值F1的执行过程,表达式为:


(FIND-THE ?t1 (DTIME F1 ?city ?t1) (PRINT ?t1))


转换FIND-THE后的程序首先执行查询(Retrieve ?t1(DTIME F1 ?city ?t1))。这一步返回惟一的答案,即时间1700HR。FIND-THE程序的第二步对这个值执行PRINT,这样就打印出1700HR。第二次和第三次迭代分别打印值1000HR和900HR。


很多自然语言数据库查询系统都使用了程序语义学技术。对无法用数据库系统所提供的受限语言来表示其意义的那些结构来说,这种技术提供了一种刻画其合适特性的便利方法。由于数据库应用本身的性质,这些技术的局限性在实际应用中并没有表现出来。例如,在某些信息中,使用量词的整体性解释的那些查询是必要的,而数据库系统通常无法描述这样的信息。另外,由于数据库不能包含析取信息,所以有限的析取查询形式也不构成问题。


程序语义学技术还可以和基于霍恩子句的数据库一同使用。大多数结构的程序性定义都可以用霍恩子句公理进行定义,这样它还多了一种能力,即递归地调用证明程序,以执行查找满足某些文字命题集合的所有对象这样的任务。对其进行扩展使之能处理有限集,这种表示方法就能够借助程序来处理很多的量词。由于具有额外的表达能力,作为一种支持自然语言查询的系统,基于霍恩子句的数据库是传统关系数据库的一种很好的泛化形式。

图2.png



责任编辑:admin



[上一页][1] [2] [3] 【欢迎大家踊跃评论】

上一篇:综合的知识表示方法
下一篇:时态在机器翻译中的表示

微信公众号搜索“译员”关注我们,每天为您推送翻译理论和技巧,外语学习及翻译招聘信息。

  相关机器翻译技术文章




PC版首页 -关于我们 -联系我们