Exemplo n.º 1
0
 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; }}
Exemplo n.º 2
0
 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;
   }
 }
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
 void MarkovSuf::add_transition(uint from, uint to){
   ++trans_(from,to);
 }