summaryrefslogtreecommitdiff
path: root/test/hg.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/hg.rb')
-rwxr-xr-xtest/hg.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/hg.rb b/test/hg.rb
new file mode 100755
index 0000000..16e6b6f
--- /dev/null
+++ b/test/hg.rb
@@ -0,0 +1,29 @@
+#!/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/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
+