获得Lambda演算表达式中的谓词

时间:2015-03-26 06:41:51

标签: python nlp nltk lambda-calculus

在给定的lambda演算表达式中获取谓词的代码是什么?

鉴于lambda表达式

(race(x) & run(I2,x))

我知道种族和奔跑都是谓词。

如何在代码或任何给定代码中提取谓词?

1 个答案:

答案 0 :(得分:2)

如果您已经在使用NLTK,则可以重复使用它们的解析器(假设您的表达式是字符串):

import nltk

read_expr = nltk.sem.Expression.fromstring

teststr = '(race(x) & run(I2,x))'

parsed = read_expr(teststr)
for p in parsed.predicates():
    print(p)