diff --git a/libcorpus2/io/conllwriter.cpp b/libcorpus2/io/conllwriter.cpp index 8910e617c6dd89f792bb02f66b3c3fce6a43e528..dcaacfc85f38ea91ceacbdbfe7cc4c7394f7b3d4 100644 --- a/libcorpus2/io/conllwriter.cpp +++ b/libcorpus2/io/conllwriter.cpp @@ -1,6 +1,7 @@ #include "conllwriter.h" #include <libpwrutils/foreach.h> #include <boost/algorithm/string.hpp> +#include <algorithm> namespace Corpus2 { @@ -26,12 +27,13 @@ void ConllWriter::write_token(const Token &t) os()<<lex.lemma_utf8()+"\t"; std::string tag = myTagset.tag_to_string(lex.tag()); std::vector<std::string> strs; + std::transform(tag.begin(), tag.end(), tag.begin(), ::tolower); boost::split(strs, tag, boost::is_any_of(":")); - os()<<strs[0]<<"\t"<<strs[0]<<"\t"; - if(strs.size()>1) + os()<<strs[1]<<"\t"<<strs[0]<<"\t"; + if(strs.size()>2) { size_t i; - for(i=1;i<strs.size()-1;i++) + for(i=2;i<strs.size()-1;i++) { os()<<strs[i]<<"|"; } @@ -69,17 +71,4 @@ void ConllWriter::do_footer() { } -std::string ConllWriter::convert_tag(std::string tag) -{ - if(tag.compare("adja")==0||tag.compare("adjc")==0||tag.compare("adjp")==0||tag.compare("padj")==0||tag.compare("pact")==0||tag.compare("ppas")==0) - return "adj"; - if(tag.compare("padv")==0||tag.compare("pant")==0||tag.compare("pcon")==0) - return "adv"; - if(tag.compare("bedzie")==0||tag.compare("fin")==0||tag.compare("imps")==0||tag.compare("impt")==0||tag.compare("inf")==0||tag.compare("praet")==0||tag.compare("pred")==0||tag.compare("winien")==0) - return "verb"; - if(tag.compare("psubst")==0||tag.compare("depr")==0||tag.compare("ger")==0||tag.compare("ppron3")==0||tag.compare("ppron12")==0||tag.compare("siebie")==0) - return "subst"; - return tag; -} - } /* end ns Corpus2 */ diff --git a/libcorpus2/io/conllwriter.h b/libcorpus2/io/conllwriter.h index a2132b4ca6223b1805cd4d2c0e4cedcda285c936..c7a7d7b3c490ac79c80d28a4046019f1e9145f0c 100644 --- a/libcorpus2/io/conllwriter.h +++ b/libcorpus2/io/conllwriter.h @@ -27,7 +27,6 @@ protected: void do_footer(); private: Tagset myTagset; - std::string convert_tag(std::string tag); };