summaryrefslogtreecommitdiff
path: root/test/test_hg.rb
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2014-06-18 16:19:32 +0200
committerPatrick Simianer <p@simianer.de>2014-06-18 16:19:32 +0200
commitf9106c8353aeaf6456a3eb0ea0c1e429f5de7650 (patch)
tree9b4c2baad153d189821633ef6649647d0992a1fa /test/test_hg.rb
parent33fda7f79c02b8ef152b88a11f3810c9a25a7381 (diff)
integration
Diffstat (limited to 'test/test_hg.rb')
-rwxr-xr-xtest/test_hg.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/test_hg.rb b/test/test_hg.rb
new file mode 100755
index 0000000..420d77f
--- /dev/null
+++ b/test/test_hg.rb
@@ -0,0 +1,30 @@
+#!/usr/bin/env ruby
+
+require_relative '../hg'
+
+
+def main
+ # viterbi
+ semiring = ViterbiSemiring.new
+ hypergraph, nodes_by_id = HG::read_hypergraph_from_json('../example/toy/toy.json', semiring, true)
+ #hypergraph, nodes_by_id = HG::read_hypergraph_from_json('../example/toy/toy-test.json', semiring, true)
+ #hypergraph, nodes_by_id = HG::read_hypergraph_from_json('../example/glue/glue.json', semiring, true)
+ #hypergraph, nodes_by_id = HG::read_hypergraph_from_json('../example/3/3.json', semiring, true)
+ path, score = HG::viterbi_path hypergraph, nodes_by_id[-1], semiring
+ s = HG::derive path, path.last.head, []
+ puts "#{s.map { |i| i.word }.join ' '}"
+ puts Math.log score
+ puts
+
+ # all paths
+ hypergraph.reset
+ paths = HG::all_paths hypergraph, nodes_by_id[-1]
+ paths.each_with_index { |p,i|
+ s = HG::derive p, p.last.head, []
+ puts "#{i+1}. #{s.map { |x| x.word }.join ' '}"
+ }
+end
+
+
+main
+