Download tools/mosesdecoder/moses2/parameters/ReportingOptions.cpp from Quagmire1/wiki-cased: direct link, hf CLI and curl.
- Browser
- Download file 4.74 kB
-
https://huggingface.co/Quagmire1/wiki-cased/resolve/main/tools/mosesdecoder/moses2/parameters/ReportingOptions.cpp
- Command line
-
hf download hf://Quagmire1/wiki-cased/tools/mosesdecoder/moses2/parameters/ReportingOptions.cpp
-
curl -L -o ReportingOptions.cpp https://huggingface.co/Quagmire1/wiki-cased/resolve/main/tools/mosesdecoder/moses2/parameters/ReportingOptions.cpp
4.74 kB
| // -*- mode: c++; indent-tabs-mode: nil; tab-width: 2 -*- | |
| namespace Moses2 | |
| { | |
| using namespace std; | |
| ReportingOptions:: | |
| ReportingOptions() | |
| : start_translation_id(0) | |
| , ReportAllFactors(false) | |
| , ReportSegmentation(0) | |
| , PrintAlignmentInfo(false) | |
| , PrintAllDerivations(false) | |
| , PrintTranslationOptions(false) | |
| , WA_SortOrder(NoSort) | |
| , WordGraph(false) | |
| , DontPruneSearchGraph(false) | |
| , RecoverPath(false) | |
| , ReportHypoScore(false) | |
| , PrintID(false) | |
| , PrintPassThrough(false) | |
| , include_lhs_in_search_graph(false) | |
| , lattice_sample_size(0) | |
| { | |
| factor_order.assign(1,0); | |
| factor_delimiter = "|"; | |
| } | |
| bool | |
| ReportingOptions:: | |
| init(Parameter const& param) | |
| { | |
| param.SetParameter<long>(start_translation_id, "start-translation-id", 0); | |
| // including factors in the output | |
| param.SetParameter(ReportAllFactors, "report-all-factors", false); | |
| // segmentation reporting | |
| ReportSegmentation = (param.GetParam("report-segmentation-enriched") | |
| ? 2 : param.GetParam("report-segmentation") | |
| ? 1 : 0); | |
| // word alignment reporting | |
| param.SetParameter(PrintAlignmentInfo, "print-alignment-info", false); | |
| param.SetParameter(WA_SortOrder, "sort-word-alignment", NoSort); | |
| std::string e; // hack to save us param.SetParameter<string>(...) | |
| param.SetParameter(AlignmentOutputFile,"alignment-output-file", e); | |
| param.SetParameter(PrintAllDerivations, "print-all-derivations", false); | |
| param.SetParameter(PrintTranslationOptions, "print-translation-option", false); | |
| // output a word graph | |
| PARAM_VEC const* params; | |
| params = param.GetParam("output-word-graph"); | |
| WordGraph = (params && params->size() == 2); // what are the two options? | |
| // dump the search graph | |
| param.SetParameter(SearchGraph, "output-search-graph", e); | |
| param.SetParameter(SearchGraphExtended, "output-search-graph-extended", e); | |
| param.SetParameter(SearchGraphSLF,"output-search-graph-slf", e); | |
| param.SetParameter(SearchGraphHG, "output-search-graph-hypergraph", e); | |
| param.SetParameter(SearchGraphPB, "output-search-graph-pb", e); | |
| param.SetParameter(DontPruneSearchGraph, "unpruned-search-graph", false); | |
| param.SetParameter(include_lhs_in_search_graph, | |
| "include-lhs-in-search-graph", false ); | |
| // miscellaneous | |
| param.SetParameter(RecoverPath, "recover-input-path",false); | |
| param.SetParameter(ReportHypoScore, "output-hypo-score",false); | |
| param.SetParameter(PrintID, "print-id",false); | |
| param.SetParameter(PrintPassThrough, "print-passthrough",false); | |
| param.SetParameter(detailed_all_transrep_filepath, | |
| "translation-all-details", e); | |
| param.SetParameter(detailed_transrep_filepath, "translation-details", e); | |
| param.SetParameter(detailed_tree_transrep_filepath, | |
| "tree-translation-details", e); | |
| params = param.GetParam("lattice-samples"); | |
| if (params) { | |
| if (params->size() ==2 ) { | |
| lattice_sample_filepath = params->at(0); | |
| lattice_sample_size = Scan<size_t>(params->at(1)); | |
| } else { | |
| std::cerr <<"wrong format for switch -lattice-samples file size"; | |
| return false; | |
| } | |
| } | |
| if (ReportAllFactors) { | |
| factor_order.clear(); | |
| for (size_t i = 0; i < MAX_NUM_FACTORS; ++i) | |
| factor_order.push_back(i); | |
| } else { | |
| params= param.GetParam("output-factors"); | |
| if (params) factor_order = Scan<FactorType>(*params); | |
| if (factor_order.empty()) factor_order.assign(1,0); | |
| } | |
| param.SetParameter(factor_delimiter, "factor-delimiter", std::string("|")); | |
| param.SetParameter(factor_delimiter, "output-factor-delimiter", factor_delimiter); | |
| return true; | |
| } | |
| bool | |
| ReportingOptions:: | |
| update(std::map<std::string, xmlrpc_c::value>const& param) | |
| { | |
| ReportAllFactors = check(param, "report-all-factors", ReportAllFactors); | |
| std::map<std::string, xmlrpc_c::value>::const_iterator m; | |
| m = param.find("output-factors"); | |
| if (m != param.end()) { | |
| factor_order=Tokenize<FactorType>(xmlrpc_c::value_string(m->second),","); | |
| } | |
| if (ReportAllFactors) { | |
| factor_order.clear(); | |
| for (size_t i = 0; i < MAX_NUM_FACTORS; ++i) | |
| factor_order.push_back(i); | |
| } | |
| 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"); | |
| if (m != param.end()) { | |
| factor_delimiter = Trim(xmlrpc_c::value_string(m->second)); | |
| } | |
| m = param.find("output-factor-delimiter"); | |
| if (m != param.end()) { | |
| factor_delimiter = Trim(xmlrpc_c::value_string(m->second)); | |
| } | |
| return true; | |
| } | |
| } | |