diff options
author | Hieu Hoang <hieuhoang@gmail.com> | 2017-03-03 04:53:23 +0300 |
---|---|---|
committer | Hieu Hoang <hieuhoang@gmail.com> | 2017-03-03 04:53:23 +0300 |
commit | ade04eb2d8478b7f7bc36dbc9279680642dfd74f (patch) | |
tree | 15b089bd5aa1ab286093b2d32d48a106d2bd5208 | |
parent | 71abc5eabd88455203f3fd995d66e44147de1456 (diff) | |
parent | 0ce1a2541c5262fc19691f42fa7c950bef0e135c (diff) |
Merge ../mosesdecoder into perf_moses2
-rw-r--r-- | moses/parameters/AllOptions.cpp | 5 | ||||
-rw-r--r-- | moses/parameters/CubePruningOptions.cpp | 5 | ||||
-rw-r--r-- | moses/parameters/InputOptions.cpp | 5 | ||||
-rw-r--r-- | moses/parameters/NBestOptions.cpp | 5 | ||||
-rw-r--r-- | moses/parameters/OOVHandlingOptions.cpp | 5 | ||||
-rw-r--r-- | moses/parameters/OptionsBaseClass.cpp | 5 | ||||
-rw-r--r-- | moses/parameters/ReportingOptions.cpp | 19 | ||||
-rw-r--r-- | moses/parameters/SearchOptions.cpp | 5 | ||||
-rw-r--r-- | moses/parameters/SyntaxOptions.cpp | 5 | ||||
-rw-r--r-- | moses/server/TranslationRequest.cpp | 19 | ||||
-rw-r--r-- | moses/server/TranslationRequest.h | 4 | ||||
-rw-r--r-- | moses2/Jamfile | 2 | ||||
-rw-r--r-- | moses2/TranslationModel/ProbingPT.cpp | 4 | ||||
-rw-r--r-- | probingpt/Jamfile | 2 |
14 files changed, 74 insertions, 16 deletions
diff --git a/moses/parameters/AllOptions.cpp b/moses/parameters/AllOptions.cpp index 868b8e4fb..019e1b0c7 100644 --- a/moses/parameters/AllOptions.cpp +++ b/moses/parameters/AllOptions.cpp @@ -101,6 +101,11 @@ namespace Moses if (!syntax.update(param)) return false; return sanity_check(); } +#else + bool + AllOptions:: + update(std::map<std::string,xmlrpc_c::value>const& param) + {} #endif bool diff --git a/moses/parameters/CubePruningOptions.cpp b/moses/parameters/CubePruningOptions.cpp index 793ae2db6..847a421f8 100644 --- a/moses/parameters/CubePruningOptions.cpp +++ b/moses/parameters/CubePruningOptions.cpp @@ -72,6 +72,11 @@ namespace Moses return true; } +#else + bool + CubePruningOptions:: + update(std::map<std::string,xmlrpc_c::value>const& params) + {} #endif diff --git a/moses/parameters/InputOptions.cpp b/moses/parameters/InputOptions.cpp index dbdb2f60e..55bc49885 100644 --- a/moses/parameters/InputOptions.cpp +++ b/moses/parameters/InputOptions.cpp @@ -95,6 +95,11 @@ namespace Moses { xml_policy = Scan<XmlInputType>(xmlrpc_c::value_string(si->second)); return true; } +#else + bool + InputOptions:: + update(std::map<std::string,xmlrpc_c::value>const& param) + {} #endif } diff --git a/moses/parameters/NBestOptions.cpp b/moses/parameters/NBestOptions.cpp index 3000f49df..afae0ed6c 100644 --- a/moses/parameters/NBestOptions.cpp +++ b/moses/parameters/NBestOptions.cpp @@ -62,6 +62,11 @@ update(std::map<std::string,xmlrpc_c::value>const& param) enabled = (nbest_size > 0); return true; } +#else +bool +NBestOptions:: +update(std::map<std::string,xmlrpc_c::value>const& param) +{} #endif diff --git a/moses/parameters/OOVHandlingOptions.cpp b/moses/parameters/OOVHandlingOptions.cpp index 154074664..a55026b98 100644 --- a/moses/parameters/OOVHandlingOptions.cpp +++ b/moses/parameters/OOVHandlingOptions.cpp @@ -43,6 +43,11 @@ namespace Moses { // xml_policy = Scan<XmlInputType>(xmlrpc_c::value_string(si->second)); return true; } +#else + bool + OOVHandlingOptions:: + update(std::map<std::string,xmlrpc_c::value>const& param) + {} #endif } diff --git a/moses/parameters/OptionsBaseClass.cpp b/moses/parameters/OptionsBaseClass.cpp index a19aaf7a6..2b919b1fc 100644 --- a/moses/parameters/OptionsBaseClass.cpp +++ b/moses/parameters/OptionsBaseClass.cpp @@ -24,5 +24,10 @@ namespace Moses { if (m == param.end()) return dfltval; return Scan<bool>(xmlrpc_c::value_string(m->second)); } +#else + bool + OptionsBaseClass:: + check(std::map<std::string, xmlrpc_c::value> const& param, + {} #endif } diff --git a/moses/parameters/ReportingOptions.cpp b/moses/parameters/ReportingOptions.cpp index 210950a3c..4cd55d073 100644 --- a/moses/parameters/ReportingOptions.cpp +++ b/moses/parameters/ReportingOptions.cpp @@ -128,11 +128,17 @@ namespace Moses { for (size_t i = 0; i < MAX_NUM_FACTORS; ++i) factor_order.push_back(i); } + + m = param.find("no-ReportSegmentation"); + if (m == param.end() || !Scan<bool>(xmlrpc_c::value_string(m->second))) { + + // If we are reporting alignment info, turn on ReportSegmentation, unless XML request explicitly says not to + m = param.find("align"); + if (m != param.end() && Scan<bool>(xmlrpc_c::value_string(m->second))) + ReportSegmentation = 1; - m = param.find("align"); - if (m != param.end() && Scan<bool>(xmlrpc_c::value_string(m->second))) - ReportSegmentation = 1; - + } + PrintAlignmentInfo = check(param,"word-align",PrintAlignmentInfo); m = param.find("factor-delimiter"); @@ -147,5 +153,10 @@ namespace Moses { return true; } +#else + bool + ReportingOptions:: + update(std::map<std::string, xmlrpc_c::value>const& param) + {} #endif } diff --git a/moses/parameters/SearchOptions.cpp b/moses/parameters/SearchOptions.cpp index 958569e94..35028b8fb 100644 --- a/moses/parameters/SearchOptions.cpp +++ b/moses/parameters/SearchOptions.cpp @@ -102,6 +102,11 @@ namespace Moses return true; } +#else + bool + SearchOptions:: + update(std::map<std::string,xmlrpc_c::value>const& params) + {} #endif } diff --git a/moses/parameters/SyntaxOptions.cpp b/moses/parameters/SyntaxOptions.cpp index f76c187ec..e977dd4c0 100644 --- a/moses/parameters/SyntaxOptions.cpp +++ b/moses/parameters/SyntaxOptions.cpp @@ -77,6 +77,11 @@ namespace Moses { // xml_policy = Scan<XmlInputType>(xmlrpc_c::value_string(si->second)); return true; } +#else + bool + SyntaxOptions:: + update(std::map<std::string,xmlrpc_c::value>const& param) + {} #endif } diff --git a/moses/server/TranslationRequest.cpp b/moses/server/TranslationRequest.cpp index e2580fe2f..767358e5c 100644 --- a/moses/server/TranslationRequest.cpp +++ b/moses/server/TranslationRequest.cpp @@ -85,13 +85,14 @@ void TranslationRequest:: add_phrase_aln_info(Hypothesis const& h, vector<xmlrpc_c::value>& aInfo) const { - // if (!m_withAlignInfo) return; - if (!options()->output.ReportSegmentation) return; + if (!m_withAlignInfo) return; + // if (!options()->output.ReportSegmentation) return; Range const& trg = h.GetCurrTargetWordsRange(); Range const& src = h.GetCurrSourceWordsRange(); std::map<std::string, xmlrpc_c::value> pAlnInfo; pAlnInfo["tgt-start"] = xmlrpc_c::value_int(trg.GetStartPos()); + pAlnInfo["tgt-end"] = xmlrpc_c::value_int(trg.GetEndPos()); pAlnInfo["src-start"] = xmlrpc_c::value_int(src.GetStartPos()); pAlnInfo["src-end"] = xmlrpc_c::value_int(src.GetEndPos()); aInfo.push_back(xmlrpc_c::value_struct(pAlnInfo)); @@ -356,6 +357,12 @@ parse_request(std::map<std::string, xmlrpc_c::value> const& params) } } + // Report alignment info if Moses config says to or if XML request says to + m_withAlignInfo = options()->output.ReportSegmentation || check(params, "align"); + + // Report word alignment info if Moses config says to or if XML request says to + m_withWordAlignInfo = options()->output.PrintAlignmentInfo || check(params, "word-align"); + si = params.find("weights"); if (si != params.end()) { @@ -465,8 +472,8 @@ pack_hypothesis(const Moses::Manager& manager, << std::endl); dest[key] = xmlrpc_c::value_string(target.str()); - // if (m_withAlignInfo) { - if (options()->output.ReportSegmentation) { + if (m_withAlignInfo) { + // if (options()->output.ReportSegmentation) { // phrase alignment, if requested vector<xmlrpc_c::value> p_aln; @@ -475,8 +482,8 @@ pack_hypothesis(const Moses::Manager& manager, dest["align"] = xmlrpc_c::value_array(p_aln); } - // if (m_withWordAlignInfo) { - if (options()->output.PrintAlignmentInfo) { + if (m_withWordAlignInfo) { + //if (options()->output.PrintAlignmentInfo) { // word alignment, if requested vector<xmlrpc_c::value> w_aln; BOOST_REVERSE_FOREACH(Hypothesis const* e, edges) diff --git a/moses/server/TranslationRequest.h b/moses/server/TranslationRequest.h index 2554e5544..3463c72c8 100644 --- a/moses/server/TranslationRequest.h +++ b/moses/server/TranslationRequest.h @@ -38,8 +38,8 @@ TranslationRequest : public virtual Moses::TranslationTask Translator* m_translator; std::string m_source_string, m_target_string; - // bool m_withAlignInfo; - // bool m_withWordAlignInfo; + bool m_withAlignInfo; + bool m_withWordAlignInfo; bool m_withGraphInfo; bool m_withTopts; bool m_withScoreBreakdown; diff --git a/moses2/Jamfile b/moses2/Jamfile index f973456ec..a4fab29f6 100644 --- a/moses2/Jamfile +++ b/moses2/Jamfile @@ -175,7 +175,7 @@ alias deps : ..//z ..//boost_iostreams ..//boost_filesystem : : : $(max-factors $(includes) ; -exe moses2 : Main.cpp moses2_lib ../probingpt//probingpt ../util//kenutil ../util//rt ../lm//kenlm ; +exe moses2 : Main.cpp moses2_lib ../probingpt//probingpt ../util//kenutil ../lm//kenlm ; if [ xmlrpc ] { echo "Building Moses2" ; diff --git a/moses2/TranslationModel/ProbingPT.cpp b/moses2/TranslationModel/ProbingPT.cpp index 5f5090def..d99137f05 100644 --- a/moses2/TranslationModel/ProbingPT.cpp +++ b/moses2/TranslationModel/ProbingPT.cpp @@ -6,8 +6,8 @@ */ #include <boost/foreach.hpp> #include "ProbingPT.h" -#include "probingpt/querying.hh" -#include "probingpt/probing_hash_utils.hh" +#include "probingpt/querying.h" +#include "probingpt/probing_hash_utils.h" #include "util/exception.hh" #include "../System.h" #include "../Scores.h" diff --git a/probingpt/Jamfile b/probingpt/Jamfile index 7ea4c9d7d..c1d41e835 100644 --- a/probingpt/Jamfile +++ b/probingpt/Jamfile @@ -27,6 +27,6 @@ lib probingpt : deps ; -exe CreateProbingPT : CreateProbingPT.cpp probingpt ../util//kenutil ../util//rt ; +exe CreateProbingPT : CreateProbingPT.cpp probingpt ../util//kenutil ; alias programs : CreateProbingPT ; |