2012-06-08 37 views
0

Drools是否適合用於編寫用於填充和/或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

Drools的千條規則並不多。我有一個比你的規則複雜得多的3000條規則。 .drl文件是從數據庫生成的。 –

回答

1

你當然可以使用Drools。 Drools可以處理數千條規則(我已經看過包含30k條規則的規則),比上面提到的規則複雜得多,沒有汗水。

我看到的主要問題不是運行時,而是維護規則。由於您的使用情況,手動執行此操作似乎有很多工作,無關您選擇哪種語言/引擎。也許你可以使用決策表來定義你的規則,因爲這通常比輸入少得多?或者你可以有一個腳本爲你生成所有的規則? Drools支持兩者。