【发布时间】:2014-11-09 15:37:29
【问题描述】:
我正在尝试使用 lambda 演算功能实现概率 ccg。
基本上我想做以下代码:
>> lex = parseLexicon(r'''
:- S,NP
He => NP {sem=\x.he(x)} [1.0]
Walks => S\NP {sem=\X. walk(X)} [1.0]
There => S\S {sem=\x . there(x)} [1.0]
''')
>> parser = CCGChartParser(lex)
>> all_parses = parser.nbest_parse(“He walks
there”.split(),n=100)
>> for parse in all_parses:
printCCGDerivation(parse)
但现有的 NLTK 的 CCG 实现不支持 {sem=\x.he(x)} [1.0] 类词典中的语义部分。
是否有任何其他 CCG 实现可以处理这个问题? 或者我可以在 NLTK 中表示这个吗?
【问题讨论】:
-
我很好奇您是否找到了解决问题的方法?
-
@crackjack 不,不幸的是。对此有一个硕士论文项目实施,但尚未完成。我联系了论文导师,他说项目不再维护。
-
我就是那个人。最近实现了语义谓词。 CCG 的概率解析即将出现。请在下面查看我的答案。
标签: python nltk lambda-calculus combinatory-logic