关于nlp:将用自然语言编写的条件解释为Java代码

interpreting conditions written in natural language into Java code

问题:

  • 我希望用户能够在文本编辑器中以简单语法编写条件,如:A?OutCOM1:(b?结果2:结果3)

A和B是布尔条件。所以上面这句话的意思是:如果A是真的,那么结果是1,否则如果B是真的,那么结果是2,否则结果是3。

在爪哇中,我实现了这种语法的解释器,使得A、B、OutCOMe1、OutCOMe2、OutCOMe3在预先存储的某个值中被翻译(A和B将返回布尔函数,结果将是对象),并且对条件进行评估并返回结果。

我的问题是,我是在这里重新发明轮子吗?是否有Java包或库已经提供了"[约束]自然语言解释为Java代码的简洁实现"类函数?

谢谢!


最后,我用Java编写了一个类,它读取人类编写的规则并解释它。在这里找到:https://github.com/seinecle/umigon/blob/master/src/java/ruleexplorer/explorer.java