问题:
A和B是布尔条件。所以上面的句子意味着:如果A为真,则为outcome1,否则如果B为真,则结果为2,否则为结果3。
在Java中,我实现了这种语法的解释器,以便A,B,outcome1,outcome2,outcome3被转换为预先存储在某处的值(A和B将是返回布尔值的函数,结果将是对象) ,并评估条件并返回结果。
我的问题是,我在这里重新发明轮子吗?是否有Java包或库已经提供了“[约束]自然语言解释为Java代码”类功能的整洁实现?
THX!
答案 0 :(得分:0)
我最终用Java编写了一个类,它读取了一个人为编写的规则并对其进行了解释。在这里找到它: https://github.com/seinecle/Umigon/blob/master/src/java/RuleInterpreter/Interpreter.java