Download tools/mosesdecoder/mert/M2.cpp from Quagmire1/wiki-cased: direct link, hf CLI and curl.
- Browser
- Download file 1.06 kB
-
https://huggingface.co/Quagmire1/wiki-cased/resolve/main/tools/mosesdecoder/mert/M2.cpp
- Command line
-
hf download hf://Quagmire1/wiki-cased/tools/mosesdecoder/mert/M2.cpp
-
curl -L -o M2.cpp https://huggingface.co/Quagmire1/wiki-cased/resolve/main/tools/mosesdecoder/mert/M2.cpp
1.06 kB
| namespace MosesTuning | |
| { | |
| namespace M2 | |
| { | |
| bool Annot::lowercase = true; | |
| std::string Annot::transform(const std::string& e) | |
| { | |
| std::string temp = e; | |
| if(lowercase) { | |
| boost::erase_all(temp, " "); | |
| return ToLower(temp); | |
| } else | |
| return e; | |
| } | |
| const std::string ToLower(const std::string& str) | |
| { | |
| std::string lc(str); | |
| std::transform(lc.begin(), lc.end(), lc.begin(), (int(*)(int))std::tolower); | |
| return lc; | |
| } | |
| Edit operator+(Edit& e1, Edit& e2) | |
| { | |
| std::string edit; | |
| if(e1.edit.size() > 0 && e2.edit.size() > 0) | |
| edit = e1.edit + " " + e2.edit; | |
| else if(e1.edit.size() > 0) | |
| edit = e1.edit; | |
| else if(e2.edit.size() > 0) | |
| edit = e2.edit; | |
| return Edit(e1.cost + e2.cost, e1.changed + e2.changed, e1.unchanged + e2.unchanged, edit); | |
| } | |
| Edge operator+(Edge e1, Edge e2) | |
| { | |
| return Edge(e1.v, e2.u, e1.edit + e2.edit); | |
| } | |
| std::ostream& operator<<(std::ostream& o, Sentence s) | |
| { | |
| for(Sentence::iterator it = s.begin(); it != s.end(); it++) | |
| o << *it << " "; | |
| return o; | |
| } | |
| } | |
| } |