【发布时间】:2017-05-09 21:50:09
【问题描述】:
我正在使用omnicat-bayes 来分析文档(文本分类)。有了这个 gem,我可以创建类别并用文档“提供”这些类别。目前,这些类别有足够的文档,以便“足够好”地识别新文档应该放在哪个类别中。
现在在我的 Documents 控制器下创建操作有几个步骤。
- 创建一个新的贝叶斯实例
- 创建将使用的类别
- 使用预文档训练类别
- 实际训练类别
(所有这些步骤都在 run_all 函数下)
创建动作:
def create
@document = Document.new(document_params)
@document.case_id = @case.id
if @document.save
run_all
# Running the classify function on reden aanmelding
classify_one = @bayes.classify(@document.reden_aanmelding)
document_category = classify_one.to_hash[:top_score_key]
# Updating the document category by the top key returned by Bayes
@document.update_attribute(:category, document_category)
finding_required_records
# Training Cees Buddy with the document that got saved
@bayes.train(document_category, @document.reden_aanmelding)
redirect_to case_path(@case)
else
render :new
end
end
在@document.saverun_all 函数中(我知道这不是最佳实践)我正在创建上面提到的四个步骤。
现在创建函数完成后,贝叶斯实例消失了,可以说 AI 现在又“愚蠢”了。
我的问题是: 合适的位置是什么,我如何才能创建新实例、新类别并为它们提供数据库中的文档。 singleton 在这里会很有趣吗?
【问题讨论】: