Tag: s expression

是否有一个C#实用程序用于匹配(语法分析)树中的模式?

我正在开发一个自然语言处理(NLP)项目,我在其中使用语法分析器从给定的句子中创建一个语法分析树。 示例输入:我遇到乔和吉尔,然后我们去购物 示例输出: [TOP [S [S [NP [PRP I]] [VP [VBD运行] [PP [IN进入] [NP [NNP Joe] [CC和] [NNP Jill]]]]] [CC和] [S [ADVP [RB then]] [NP [PRP we]] [VP [VBD去] [NP [NN shopping]]]]]] 我正在寻找一个允许我执行复杂查询的C#实用程序: 获得与’Joe’相关的第一个VBD 让NP最接近’购物’ 这是一个Java实用程序 ,我正在寻找一个C#等价物。 任何帮助将非常感激。

S表达式解析

我今天早些时候遇到了这个问题 : 示例输入:我遇到乔和吉尔,然后我们去购物 示例输出: [TOP [S [S [NP [PRP I]] [VP [VBD运行] [PP [IN进入] [NP [NNP Joe] [CC和] [NNP Jill]]]]] [CC和] [S [ADVP [RB then]] [NP [PRP we]] [VP [VBD去] [NP [NN shopping]]]]]] 我打算建议简单地将预期输出(因为它看起来像一个s表达式)解析为一个对象(在我们的例子中是一个树),然后使用简单的LINQ方法来处理它。 但令我惊讶的是,我无法找到C#s-expression解析器。 我唯一能想到的是使用Clojure解析它,因为它编译成clr,我不确定它是一个很好的解决方案。 顺便说一句,我不介意输出dynamic类型的答案。 我在这里找到的答案只是用于反序列化为特定模式。 总结一下我的问题: 我需要在C#中反序列化s表达式 (序列化对于这个问题的未来读者来说会很好)