我想探讨在自然语言环境中使用形式语言处理.为了做到这一点,我正在寻找一种解析器生成器,它对于模糊性是健壮的,因为当多个生产可用于生成相同的字符串时,它不会将EBNF表示为无效.此外,处理冗余的标准方法是返回解析林而不是解析树.
我不是问最好的工具是什么,但只有在有C#可以获得的工具时才会这样.如果有,我在哪里可以找到它们.
无论该工具是开源还是专有工具都无关紧要.
答案将授予最长的唯一(未提及的)早期工具列表,这些工具满足解析器生成器返回的解析器所需的约束.
请帮我探索解析森林.
最佳答案 您可能会发现Earley算法的实现可以满足您的需求,例如:
https://github.com/coonsta/earley
我自己的自然语言引擎(nlp.abodit.com)基于类似于Earley的算法.