Drools是否适合编写Stemming和/或POS标记规则?欢迎提出更好的规则语言建议。我在这个领域读过许多使用基于规则的方法的论文,但没有一篇提到用什么库或框架来编写规则。
我的规则如下:
if (length = 3 & first_letter in group1 and second_letter in group2) then ...
if (length = 3 & first_letter in group1 and second_letter not_in group2) then ...
if (length = 3 & first_letter not_in group1 and second_letter in group2) then ...
if (length = 3 & first_letter not_in group1 and second_letter not_in group2) then ...
if (length = 4...
......等等。
问题是这些规则太多而无法处理。想象一下,有十个字母组,每个字母属于每个组都有一个案例。我可以很容易地有超过一千条规则来正确地对一个单词进行分类。我用普通的C#代码编写了30条这样的规则,这足以让我看出这种方法效率低下。我已经将我的规则组织成纸上的树。我只需要正确的框架来插入,表示,调整和测试它们。
我希望我的问题很明确。谢谢。
答案 0 :(得分:1)
你当然可以使用Drools。 Drools可以处理数千条规则(我已经看到了规则为30k +的kbases),比你上面提到的规则复杂得多,没有汗水。
我看到的主要问题不是运行时,而是维护规则。由于您的使用案例,手动执行此操作似乎很多工作,无论您选择哪种语言/引擎。也许您可以使用决策表来定义规则,因为这通常不会“打字”吗?或者你可以让脚本为你生成所有规则? Drools支持两者。