15 fst::VectorFst<fst::ArcTpl<FeatureWeight> >*
fst) {
16 fst::VectorFst<fst::ArcTpl<FeatureWeight> > fsttmp1;
17 fst::ShortestPath (*
fst, &fsttmp1);
18 fst::Project (&fsttmp1, fst::PROJECT_INPUT);
19 fst::RmEpsilon (&fsttmp1);
20 fst::TopSort (&fsttmp1);
22 for (fst::StateIterator<fst::VectorFst<fst::ArcTpl<FeatureWeight> > > si (
24 !si.Done(); si.Next() ) {
25 for (fst::ArcIterator<fst::VectorFst<fst::ArcTpl<FeatureWeight> > > ai (fsttmp1,
26 si.Value() ); !ai.Done(); ai.Next() ) {
27 best.push_back (ai.Value().ilabel);
34 fst::VectorFst<fst::ArcTpl<FeatureWeight> > * fsttmp1 =
new fst::VectorFst <
35 fst::ArcTpl<FeatureWeight> > ();
43 fst::VectorFst<fst::ArcTpl<FeatureWeight> > *fsttmp2 =
new fst::VectorFst <
44 fst::ArcTpl<FeatureWeight> >;
45 ShortestPath (*fsttmp1, fsttmp2);
50 h.size() < 2 ? offset = 0 : offset = 1;
Sentence GetBestHypothesis(const TupleArcFst *fst, const PARAMS &lambda)
fst::TropicalWeightTpl< F > Map(double)
std::vector< Wid > Sentence
Map functor used with generic weight mapper.
Sentence GetBestHypothesisTokens(const fst::VectorFst< fst::ArcTpl< FeatureWeight > > *fst)