Merge ../mosesdecoder into perf_moses2

This commit is contained in:
Hieu Hoang 2017-03-03 01:53:23 +00:00
commit ade04eb2d8
14 changed files with 74 additions and 16 deletions

View File

@ -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

View File

@ -72,6 +72,11 @@ namespace Moses
return true;
}
#else
bool
CubePruningOptions::
update(std::map<std::string,xmlrpc_c::value>const& params)
{}
#endif

View File

@ -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
}

View File

@ -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

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -102,6 +102,11 @@ namespace Moses
return true;
}
#else
bool
SearchOptions::
update(std::map<std::string,xmlrpc_c::value>const& params)
{}
#endif
}

View File

@ -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
}

View File

@ -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)

View File

@ -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;

View File

@ -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" ;

View File

@ -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"

View File

@ -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 ;