From 16336b4a240a4265d1f2df1e30d7b68d3a924287 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Sat, 28 Feb 2009 11:59:17 +0100 Subject: markov: refactor triplet learning --- data/rbot/plugins/markov.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/data/rbot/plugins/markov.rb b/data/rbot/plugins/markov.rb index 46f78c93..d03b6ede 100755 --- a/data/rbot/plugins/markov.rb +++ b/data/rbot/plugins/markov.rb @@ -307,18 +307,21 @@ class MarkovPlugin < Plugin random_markov(m, message) unless m.replied? end + def learn_triplet(word1, word2, word3) + k = "#{word1} #{word2}" + @registry[k] = @registry[k].push(word3) + end + def learn_line(message) # debug "learning #{message}" wordlist = message.split(/\s+/) return unless wordlist.length >= 2 word1, word2 = :nonword, :nonword + wordlist << :nonword wordlist.each do |word3| - k = "#{word1} #{word2}" - @registry[k] = @registry[k].push(word3) + learn_triplet(word1, word2, word3) word1, word2 = word2, word3 end - k = "#{word1} #{word2}" - @registry[k] = @registry[k].push(:nonword) end # TODO allow learning from URLs -- cgit v1.2.3