25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/ariel/example_document_loader.rb', line 25
def self.supervise_learning(structure, loaded_example_hash)
loaded_example_hash.each_pair do |structure_node, example_nodes|
start_examples=[]
end_examples=[]
example_nodes.each do |node|
start_tstream=node.parent.tokenstream start_tstream.set_label_at(node.tokenstream.tokens.first.start_loc)
start_examples << start_tstream
end_tstream=node.parent.tokenstream.reverse
end_tstream.set_label_at(node.tokenstream.tokens.last.start_loc)
end_examples << end_tstream
end
learner = Learner.new(*start_examples)
start_rules = learner.learn_rule :forward
learner = Learner.new(*end_examples)
end_rules = learner.learn_rule :back
structure_node.ruleset=RuleSet.new(start_rules, end_rules)
end
end
|