Class: Decidim::Ai::SpamDetection::Resource::Base
- Inherits:
-
Object
- Object
- Decidim::Ai::SpamDetection::Resource::Base
show all
- Includes:
- TranslatableAttributes
- Defined in:
- decidim-ai/lib/decidim/ai/spam_detection/resource/base.rb
Instance Method Summary
collapse
#attachment?, #default_locale?
Instance Method Details
#batch_train ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
|
# File 'decidim-ai/lib/decidim/ai/spam_detection/resource/base.rb', line 12
def batch_train
query.find_each(batch_size: 100) do |resource|
classification = resource_hidden?(resource) ? :spam : :ham
fields.each do |field_name|
raise "#{resource.class.name} does not implement #{field_name} as defined in `#{self.class.name}`" unless resource.respond_to?(field_name.to_sym)
train classification, translated_attribute(resource.send(field_name.to_sym))
end
end
end
|
#fields ⇒ Object
10
|
# File 'decidim-ai/lib/decidim/ai/spam_detection/resource/base.rb', line 10
def fields; end
|
#train(category, text) ⇒ Object
24
25
26
27
28
|
# File 'decidim-ai/lib/decidim/ai/spam_detection/resource/base.rb', line 24
def train(category, text)
raise error_message("Decidim::Ai::SpamDetection.resource_detection_service", __method__) unless classifier.respond_to?(:train)
classifier.train(category, text)
end
|
#untrain(category, text) ⇒ Object
30
31
32
33
34
|
# File 'decidim-ai/lib/decidim/ai/spam_detection/resource/base.rb', line 30
def untrain(category, text)
raise error_message("Decidim::Ai::SpamDetection.resource_detection_service", __method__) unless classifier.respond_to?(:untrain)
classifier.untrain(category, text)
end
|