/** * @file guess_cdHMM.c * * * @brief %HMM 定義がコンテキスト依存モデルかどうかを推定する * * %HMMの名前付けルールから判定が行われます. * * * * @brief Guess whether the %HMM definition data is a context-dependent model * * The naming rule of %HMM data will be used to determine whether this * is a context-dependent model. * * * @author Akinobu LEE * @date Tue Feb 15 22:30:37 2005 * * $Revision: 1.4 $ * */ /* * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology * All rights reserved */ #include #include /** * Guess whether the given %HMM definition contains context-dependent modeling, * just by the naming rule. * * @param hmminfo [in] target %HMM definition * * @return TRUE if the result is context-dependent model, FALSE if context-dependent model. */ boolean guess_if_cd_hmm(HTK_HMM_INFO *hmminfo) { HMM_Logical *dt; int rnum, lnum, totalnum; /* check if there is a logical HMM whose name includes either HMM_RC_DLIM or HMM_LC_DLIM */ rnum = lnum = totalnum = 0; for (dt = hmminfo->lgstart; dt; dt = dt->next) { if (strstr(dt->name, HMM_RC_DLIM) != NULL) rnum++; if (strstr(dt->name, HMM_LC_DLIM) != NULL) lnum++; totalnum++; } if (rnum > 0) { if (lnum == 0) { jlog("Warning: guess_cdHMM: cannot handle right-context dependency correctly\n"); return(FALSE); } else { return(TRUE); } } return(FALSE); }