NLTK、Python中的FCFG错误。语法问题

NLTK、Python中的FCFG错误。语法问题,python,nlp,nltk,context-free-grammar,Python,Nlp,Nltk,Context Free Grammar,我正在使用NLTK用Python编写的基于特性的上下文无关语法中的一行代码给出了以下错误 Error parsing feature structure ADJ[SEM=<\x.x(\y.(some(y))>] -> 'some' ^ Expected logic expression 分析功能结构时出错 形容词[SEM=]->“一些” ^期望逻辑表达式 我认为SEM=之后的表达式是一个逻辑表达式 错误来自NLTK如何实现类型lambda演算 \x.x(

我正在使用NLTK用Python编写的基于特性的上下文无关语法中的一行代码给出了以下错误

Error parsing feature structure
ADJ[SEM=<\x.x(\y.(some(y))>] -> 'some'
         ^ Expected logic expression
分析功能结构时出错 形容词[SEM=]->“一些” ^期望逻辑表达式
我认为
SEM=
之后的表达式是一个逻辑表达式

错误来自NLTK如何实现类型lambda演算

 \x.x(\y.some(y)) 
它要求小写字母的类型为
,大写字母的类型为
。也就是说,小写字母不能表示谓词

以下分析:\X.X(\y.some(y))

另一方面,一个表示“某些X是Y”中“某些”的概念,并带有一个连词,如下所示:

 \X Y.(X(x) & Y(x))

换句话说,有些X是Y,逻辑上等同于有些项目同时具有X和Y的质量。

尝试在SEM之后重写表达式(将其完全括在括号中)或写入\X Y。而不是嵌套表达式。NLTK对lambda表达式中的括号没有明确的规则。我尝试了几种变体,但它们仍然返回“预期的逻辑表达式”和所有类型的错误