微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

发生检查友好 Prolog 特征结构统一

如何解决发生检查友好 Prolog 特征结构统一

特征结构有时会用开放的地图来识别。然后可以将它们表示为使用运算符 (:)/2 进行配对的开放 Prolog 列表。此功能术语:

enter image description here

会给这个 Prolog 术语:

[number:sg,person:3 | _ ]

特征结构统一的代码通常如下所示,取自本教程here

unify0(Dag,Dag) :- !.         
unify0([Feature:Value|Rest],Dag) :-   
    val(Feature,Value,Dag,StripDag),unify0(Rest,StripDag).

但这不是很容易检查友好。 Dag,Dag 模式导致 unify0 的实际第一个参数和 unify0 调用方的实际第二个参数之间的统一。这种统一尝试一次又一次。

周围有更好的实现吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。