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

在GF中生成属属案例

如何解决在GF中生成属属案例

我在GF库中检查了“’s”,就像在“我的朋友的房子”中一样,但是我似乎找不到找到建立这种关系的正确方法。有人可以指导我解决这个问题。

欣赏??

解决方法

在核心RGL中,对于所有格确实没有任何功能。仅使用RGL API就能获得的最接近的是“我朋友的房子”。

但是,有一个名为Extend的模块,它具有一个功能GenNP : NP -> Quant

那么如何使用Extend?您一直在使用RGL API,在打开“语法”和“范例”模块时所有mkX操作符都可用。 Extend模块比核心RGL更新得多,因此其功能未在摘要中显示。但是您可以像使用“语法”和“范例”模块一样使用它们。这是一个示例用法:

resource Test = open SyntaxEng,ParadigmsEng,LexiconEng,ExtendEng in {

  oper
    -- "the house of my friend"
    house1 : NP = mkNP the_Det (mkCN (mkN2 house_N) (mkNP i_Pron friend_N)) ;

    -- "my friend's house"
    house2 : NP =
      let myFriend : NP = mkNP i_Pron friend_N ;
          myFriends : Quant = GenNP myFriend ;   -- GenNP is from ExtendEng
       in mkNP myFriends house_N ;
}

如果您对如何使用Extend有任何其他疑问,我们将很乐意为您提供帮助!

将其复制到一个名为Test.gf的文件中,然后像通常一样打开GF Shell。然后,您可以导入带有标志-retain的文件,该标志使您可以使用cc命令评估操作员。像这样:

(You need to be inside the GF shell,not on the command line)
> i -retain Test.gf 
> cc -one house1
the house of my friend

> cc -one house2
my friend's house
,

如果您在英语RGL中搜索可实现格的实现(大部分情况下Gen),则可能会发现一些对实现有用的内容。

例如,您在CompatibilityEng.gf中拥有addGenitiveS,在ResEng.gf中具有regGenitiveS

> cc -table ResEng.regGenitiveS "dog"
ResEng.Nom => dog
ResEng.Gen => dog's

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