diff options
author | Patrick Simianer <simianer@cl.uni-heidelberg.de> | 2014-04-14 16:05:40 +0200 |
---|---|---|
committer | Patrick Simianer <simianer@cl.uni-heidelberg.de> | 2014-04-14 16:05:40 +0200 |
commit | b0bff4f48b2de88560199be09e5a29feecaa267c (patch) | |
tree | 448db9b6a6964223c2c5ec59a233885e01d22b74 /data/geoquery/smt-semparse/decode_sentence.py | |
parent | 1bf772018b77e68137614a11add9f9f2f43ad344 (diff) |
smt-semparse
Diffstat (limited to 'data/geoquery/smt-semparse/decode_sentence.py')
-rw-r--r-- | data/geoquery/smt-semparse/decode_sentence.py | 36 |
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)
+
|