【问题标题】:Drools for Morphological Analysis用于形态分析的 Drools
【发布时间】:2012-06-08 22:58:03
【问题描述】:

Drools 是否适合为词干和/或词性标记编写规则?欢迎提出更好的规则语言的建议。我阅读了该领域的许多使用基于规则的方法的论文,但没有一篇提到使用什么库或框架来编写规则。

我的规则如下:

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 条规则,这足以让我看到这种方法的效率有多低。我已经把我的规则组织成纸上的树。我只需要正确的框架来插入、表示、调整和测试它们。

我希望我的问题很清楚。谢谢。

【问题讨论】:

  • Drools 的一千条规则并不多。我有一个超过 3000 条规则的规则,比你的要复杂得多。 .drl 文件是从数据库生成的。

标签: rules drools stemming rule-engine pos-tagger


【解决方案1】:

您当然可以为此使用 Drools。 Drools 可以处理数千条规则(我见过具有 30k+ 条规则的 kbase),比您在上面介绍的规则复杂得多,而且毫不费力。

我看到的主要问题不是运行时,而是您的规则的维护。由于您的用例,手动执行此操作似乎需要做很多工作,无论您选择哪种语言/引擎。也许您可以使用决策表来定义您的规则,因为这通常会少很多“打字”?或者也许你可以让一个脚本为你生成所有规则? Drools 两者都支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多