Python NLTK-CCG中的Lambda演算表示

Python NLTK-CCG中的Lambda演算表示,python,nltk,lambda-calculus,combinatory-logic,Python,Nltk,Lambda Calculus,Combinatory Logic,我正在尝试实现一个具有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) >

我正在尝试实现一个具有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中表示这一点吗?

不幸的是,这还不存在。我也一直在看这个空间。 这似乎是在他们的维基上提到的作品中- 语义分析

如果您对其他语言/框架感兴趣,请浏览或

如果你想从头开始构建一些东西,你可能需要获得CCGBank或恢复C&C工具

上面的大部分内容都是用Java编写的,但我已经看过了


我个人希望看到CCG来到Node.js。

NLTK CCG最近支持语义谓词(Lambda演算表示)计算。请参见此处的测试:


CCG的概率分析即将出现:

如果您不介意切换到Common LISP,那么Cem Bozsahin开发了一个CCG工具(CCGlab)。它还提供PCCG培训

“我很好奇你是否找到了解决问题的办法?”crackjack不,不幸的是。在这方面有一个硕士论文项目的实施,但尚未完成。我和论文导师联系过,他说这个项目不再被维护了。我就是那个家伙。语义谓词最近实现了。CCG的概率分析即将出现。请看下面我的答案。经过这么长时间,我非常感谢你的回答。谢谢。如果我理解正确的话,这只是一个解析器,但要实现完整的功能,我们需要广泛的覆盖范围词典?谢谢你提供的信息。我查看了我可以下载CCGBank(语言数据联盟网站)的页面,但似乎我需要付费才能获得。