コード例 #1
0
ファイル: MarkovModel.cpp プロジェクト: comenerv/Boom
 void MarkovSuf::Update(const MD & dat){
   MD * prev = dat.prev();
   if(!prev) init_(dat.value())+=1;
   else{
     int oldx = prev->value();
     int newx = dat.value();
     trans_( oldx, newx) += 1; }}
コード例 #2
0
ファイル: MarkovModel.cpp プロジェクト: comenerv/Boom
 void MarkovSuf::add_mixture_data(Ptr<MarkovData> dp, double prob){
   uint now = dp->value();
   MD * prev = dp->prev();
   if(!prev) init_(now)+=prob;
   else{
     uint then = prev->value();
     trans_( then, now) += prob;
   }
 }
コード例 #3
0
ファイル: icu_filter.cpp プロジェクト: KoreanFoodComics/meta
void icu_filter::next_token()
{
    while (*source_)
    {
        auto tok = source_->next();
        if (tok == "<s>" || tok == "</s>")
        {
            token_ = tok;
            return;
        }
        auto trans = trans_(tok);
        if (!trans.empty())
        {
            token_ = trans;
            return;
        }
    }
    token_ = util::nullopt;
}
コード例 #4
0
ファイル: MarkovModel.cpp プロジェクト: comenerv/Boom
 void MarkovSuf::add_transition(uint from, uint to){
   ++trans_(from,to);
 }