summaryrefslogtreecommitdiff
path: root/data/geoquery/smt-semparse/decode_sentence.py
diff options
context:
space:
mode:
authorPatrick Simianer <simianer@cl.uni-heidelberg.de>2014-04-14 16:05:40 +0200
committerPatrick Simianer <simianer@cl.uni-heidelberg.de>2014-04-14 16:05:40 +0200
commitb0bff4f48b2de88560199be09e5a29feecaa267c (patch)
tree448db9b6a6964223c2c5ec59a233885e01d22b74 /data/geoquery/smt-semparse/decode_sentence.py
parent1bf772018b77e68137614a11add9f9f2f43ad344 (diff)
smt-semparse
Diffstat (limited to 'data/geoquery/smt-semparse/decode_sentence.py')
-rw-r--r--data/geoquery/smt-semparse/decode_sentence.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/data/geoquery/smt-semparse/decode_sentence.py b/data/geoquery/smt-semparse/decode_sentence.py
new file mode 100644
index 0000000..1914734
--- /dev/null
+++ b/data/geoquery/smt-semparse/decode_sentence.py
@@ -0,0 +1,36 @@
+import sys
+import os
+import tempfile, shutil
+from src.extractor import Extractor
+from src.smt_semparse_config import SMTSemparseConfig
+from src.moses import Moses
+from src.functionalizer import Functionalizer
+
+#input: English sentence
+if __name__ == '__main__':
+ sentence = ''
+ if len(sys.argv) == 3:
+ experiment_dir = sys.argv[1]
+ sentence = sys.argv[2]
+ else:
+ assert False
+
+ # load config
+ config = SMTSemparseConfig('/workspace/grounded/smt-semparse-cp/settings.yaml', '/workspace/grounded/smt-semparse-cp/dependencies.yaml')
+
+ #stem
+ sentence = Extractor(config).preprocess_nl(sentence)
+
+ # we need a temp dir!
+ temp_dir = tempfile.mkdtemp()
+
+ #decode
+ moses = Moses(config)
+ moses.decode_sentence(experiment_dir, sentence, temp_dir)
+
+ #convert to bracket structure
+ print Functionalizer(config).run_sentence(experiment_dir, temp_dir)
+
+ #delete tmp files
+ shutil.rmtree(temp_dir)
+