void TextModelIO::readConfig(KyteaConfig & config) { string line,s1,s2; getline(*str_,line); // ignore the header while(getline(*str_, line) && line.length() != 0) { istringstream iss(line); iss >> s1; iss >> s2; config.parseTrainArg(s1.c_str(), (s2.length()==0?0:s2.c_str())); } numTags_ = config.getNumTags(); getline(*str_,line); // check the header if(line != "characters") THROW_ERROR("Badly formatted file, expected 'characters', got '" << line << "'"); getline(*str_, line); // get the serialized string util config.getStringUtil()->unserialize(line); getline(*str_, line); // check the last line }
void TextModelIO::writeConfig(const KyteaConfig & config) { *str_ << "KyTea " << MODEL_IO_VERSION << " T " << config.getEncodingString() << endl; numTags_ = (int)config.getNumTags(); if(!config.getDoWS()) *str_ << "-nows" << endl; if(!config.getDoTags()) *str_ << "-notags" << endl; *str_ << "-numtags " << numTags_ << endl; if(config.getBias()<0) *str_ << "-nobias" << endl; *str_ << "-charw " << (int)config.getCharWindow() << endl << "-charn " << (int)config.getCharN() << endl << "-typew " << (int)config.getTypeWindow() << endl << "-typen " << (int)config.getTypeN() << endl << "-dicn " << (int)config.getDictionaryN() << endl << "-eps " << config.getEpsilon() << endl << "-solver " << config.getSolverType() << endl << endl; // write the character map *str_ << "characters" << endl << config.getStringUtil()->serialize() << endl; *str_ << endl; }