亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ngram_decode.c

?? julius version 4.12.about sound recognition.
?? C
?? 第 1 頁 / 共 2 頁
字號:
/** * @file   ngram_decode.c *  * <JA> * @brief  N-gram澄唯に答づく肌帽胳徒盧∈媽2パス∷  * * Julius のN-gramを脫いたスタックデコ〖ディング(媽2パス)において· * 肌に儡魯しうる帽胳の礁圭を瘋年する.  *  * 涂えられた鷗倡傅簿棱の幌眉フレ〖ムを徒盧し·帽胳トレリス懼で * その徒盧フレ〖ム件收に姜眉が賂哼する帽胳の礁圭を· * そのN-gram叫附澄唯とともに手す.  * * Julius では ngram_firstwords(), ngram_nextwords(), ngram_acceptable() が * それぞれ媽2パスのメイン簇眶 wchmm_fbs() から鈣び叫される. なお· * Julian ではこれらの簇眶の洛わりに dfa_decode.c の簇眶が脫いられる.  * </JA> *  * <EN> * @brief N-gram based word prediction for the 2nd pass. * * These functions returns next word candidates in the 2nd recognition * pass of Julius, i.e. N-gram based stack decoding. * * Given a partial sentence hypothesis, it first estimate the beginning frame * of the hypothesis based on the word trellis.  Then the words in the word * trellis around the estimated frame are extracted from the word trellis. * They will be returned with their N-gram probabilities. * * In Julius, ngram_firstwords(), ngram_nextwords() and ngram_acceptable() * are called from main search function wchmm_fbs().  In Julian, * corresponding functions in dfa_decode.c will be used instead. * </EN> *  * @author Akinobu Lee * @date   Fri Jul  8 14:57:51 2005 * * $Revision: 1.3 $ *  *//* * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology * All rights reserved */   #include <julius/julius.h>/**  * <JA> * 肌帽胳鉻輸ソ〖ト脫 qsort コ〖ルバック簇眶.  *  * @param a [in] 妥燎1 * @param b [in] 妥燎2 *  * @return aの帽胳ID > bの帽胳ID なら1, 嫡なら -1, 票じなら 0 を手す.  * </JA> * <EN> * qsort callback function to sort next word candidates by their word ID. *  * @param a [in] element 1 * @param b [in] element 2 *  * @return 1 if word id of a > that of b, -1 if negative, 0 if equal. * </EN> */static intcompare_nw(NEXTWORD **a, NEXTWORD **b){  if ((*a)->id > (*b)->id) return 1;  if ((*a)->id < (*b)->id) return -1;  return 0;}/**  * <JA> * 肌帽胳鉻輸リスト柒から帽胳を浮瑚する.  *  * @param nw [in] 肌帽胳鉻輸リスト * @param w [in] 浮瑚する帽胳のID * @param num [in] 肌帽胳鉻輸リストの墓さ *  * @return 斧つかった眷圭その肌帽胳鉻輸菇隴攣へのポインタ·斧つからなければ * NULL を手す.  * </JA> * <EN> * Find a word from list of next word candidates. *  * @param nw [in] list of next word candidates * @param w [in] word id to search for * @param num [in] length of @a nw *  * @return the pointer to the NEXTWORD data if found, or NULL if not found. * </EN> *//* find next word candiate whose id 'w' */static NEXTWORD *search_nw(NEXTWORD **nw, WORD_ID w, int num){  int left,right,mid;  NEXTWORD *tmp;  if (num == 0) return NULL;  left = 0;  right = num - 1;  while (left < right) {    mid = (left + right) / 2;    if ((nw[mid])->id < w) {      left = mid + 1;    } else {      right = mid;    }  }  tmp = nw[left];  if (tmp->id == w) {    return tmp;  } else {    return NULL;  }}/**  * <EN> * Compute backward N-gram score from forward N-gram. * </EN> * <JA> * 稿羹きの N-gram スコアを漣羹き N-gram から換叫する.  * </JA> *  * @param ngram [in] N-gram data structure * @param w [in] word sequence * @param wlen [in] length of @a w *  * @return the backward probability of the word w[0]. *  */static LOGPROBngram_forw2back(NGRAM_INFO *ngram, WORD_ID *w, int wlen){  int i;  LOGPROB p1, p2;  p1 = 0.0;  for(i = 1; i < ngram->n; i++) {    if (i >= wlen) break;    p1 += ngram_prob(ngram, i, &(w[1]));  }  p2 = 0.0;  for(i = 0; i < ngram->n; i++) {    if (i >= wlen) break;    p2 += ngram_prob(ngram, i+1, w);  }  return(p2 - p1);}/**  * <JA> * @brief  帽胳トレリスから肌帽胳鉻輸を藐叫する.  * * 帽胳トレリス懼の回年したフレ〖ム懼に姜眉が賂哼するトレリス帽胳 * のリストを藐叫し·それらの肌帽胳としての N-gram 儡魯澄唯を紛換する.  * そのリストを肌帽胳攫鼠菇隴攣に納裁して手す.  *  * @param r [in] 千急借妄インスタンス * @param nw [i/o] 肌帽胳鉻輸リスト∈藐叫馮蔡は @a oldnum 笆慣に納裁される∷ * @param oldnum [in] @a nw にすでに呈羌されている肌帽胳の眶 * @param hypo [in] 鷗倡傅の矢簿棱 * @param t [in] 回年フレ〖ム *  * @return 藐叫リストを納裁したあとの @a nw に崔まれる肌帽胳の另眶.  * </JA> * <EN> * @brief  Extract next word candidates from word trellis. * * This function extracts the list of trellis words whose word end * has survived in the word trellis at the specified frame. * The N-gram probabilities of them are then computed and added to * the current next word candidates data. *  * @param r [in] recognition process instance * @param nw [in] list of next word candidates (new words will be appended at @a oldnum) * @param oldnum [in] number of words already stored in @a nw * @param hypo [in] the source sentence hypothesis * @param t [in] specified frame *  * @return the total number of words currently stored in the @a nw. * </EN> */static intpick_backtrellis_words(RecogProcess *r, NEXTWORD **nw, int oldnum, NODE *hypo, short t){  int i;  WORD_ID w;  LOGPROB rawscore;#ifdef WPAIR  int w_old = WORD_INVALID;#endif  int num;  WORD_ID cnword[MAX_N];	///< Last two non-transparent words  WORD_ID cnwordrev[MAX_N];	///< Last two non-transparent words  int cnnum;		///< Num of found non-transparent words (<=2)  int last_trans;		///< Num of skipped transparent words  BACKTRELLIS *bt;  WORD_INFO *winfo;  NGRAM_INFO *ngram;  LOGPROB lm_weight2, lm_penalty2, lm_penalty_trans;  num = oldnum;  bt = r->backtrellis;  winfo = r->lm->winfo;  ngram = r->lm->ngram;  lm_weight2 = r->config->lmp.lm_weight2;  lm_penalty2 = r->config->lmp.lm_penalty2;  lm_penalty_trans = r->config->lmp.lm_penalty_trans;  /* set word contexts to cnword[] from 1 considering transparent words */  if (ngram) {    cnnum = 0;    last_trans = 0;    for(i=hypo->seqnum-1;i>=0;i--) {      if (! winfo->is_transparent[hypo->seq[i]]) {	cnword[cnnum+1] = hypo->seq[i];	cnnum++;	if (cnnum >= ngram->n - 1) break;      } else {	last_trans++;      }    }    if (ngram->dir == DIR_RL) {      for(i=0;i<cnnum;i++) {	cnwordrev[cnnum-1-i] = cnword[i+1];      }    }    /* use ngram id */    if (ngram->dir == DIR_RL) {      for(i=0;i<cnnum;i++) cnwordrev[i] = winfo->wton[cnwordrev[i]];    } else {      for(i=0;i<cnnum;i++) cnword[i+1] = winfo->wton[cnword[i+1]];    }  }  /* lookup survived words in backtrellis on time frame 't' */  for (i=0;i<bt->num[t];i++) {    w = (bt->rw[t][i])->wid;#ifdef WORD_GRAPH    /* only words on the word graphs are expanded */    if (!(bt->rw[t][i])->within_wordgraph) continue;#endif /* not WORD_GRAPH */#ifdef WPAIR    /* some word have same word ID with different previous word, so       only one will be opened (best word will be selected later       by next_word() */    if (w == w_old) continue;	/* backtrellis is sorted by word ID */    else w_old = w;#endif /* WPAIR */    /* skip if already exist */    if (search_nw(nw, w, oldnum) != NULL) continue;    /* compute LM probability of the word */    if (ngram) {      /* compute N-gram probability */      if (ngram->dir == DIR_RL) {	/* just compute N-gram prob of the word candidate */	cnwordrev[cnnum] = winfo->wton[w];	rawscore = ngram_prob(ngram, cnnum + 1, cnwordrev);      } else {	cnword[0] = winfo->wton[w];	rawscore = ngram_forw2back(ngram, cnword, cnnum + 1);      }#ifdef CLASS_NGRAM      rawscore += winfo->cprob[w];#endif    }    if (r->lmvar == LM_NGRAM_USER) {      /* call user-defined function */      /* be careful that the word context is ordered in backward direction */      rawscore = (*(r->lm->lmfunc.lmprob))(winfo, hypo->seq, hypo->seqnum, w, rawscore);    }    nw[num]->tre   = bt->rw[t][i];    nw[num]->id    = w;    nw[num]->lscore = rawscore * lm_weight2 + lm_penalty2;    if (winfo->is_transparent[w]) {      /*nw[num]->lscore -= (LOGPROB)last_trans * TRANS_RENZOKU_PENALTY;*/      if (winfo->is_transparent[hypo->seq[hypo->seqnum-1]]) {	nw[num]->lscore += lm_penalty_trans;      }    }        /* j_printf("%d: %s added\n", num, winfo->wname[nw[num]->id]); */    num++;  }  return num;}/**  * <JA> * @brief  帽胳トレリスから肌帽胳礁圭を瘋年する.  * * 回年フレ〖ムの漣稿 lookup_range 尸に姜眉があるトレリス懼の帽胳を礁め· * 肌帽胳菇隴攣を菇蜜する. 票じ帽胳が懼淡の認跋柒に剩眶ある眷圭· * 回年フレ〖ムにもっとも奪いトレリス懼の帽胳が聯買される.  *  * @param r [in] 千急借妄インスタンス * @param nw [out] 肌帽胳礁圭を呈羌する菇隴攣へのポインタ * @param hypo [in] 鷗倡傅の嬸尸矢簿棱 * @param tm [in] 帽胳を玫す面看となる回年フレ〖ム * @param t_end [in] 帽胳を玫すフレ〖ムの寶眉 *  * @return @a nw に呈羌された肌帽胳鉻輸の眶を手す.  * </JA> * <EN> * @brief  Determine next word candidates from the word trellis.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本到不卡精品视频在线观看 | 国产在线精品一区二区| 一区二区三区欧美日韩| 国产精品乱码人人做人人爱| 欧美极品另类videosde| 国产清纯白嫩初高生在线观看91| 日韩精品一区二区三区视频 | 欧洲精品中文字幕| 91麻豆精品一区二区三区| 成年人国产精品| 成人免费黄色在线| 99久久免费精品高清特色大片| 国产一区二区三区蝌蚪| 久久精品国产亚洲aⅴ| 久久99久久久久久久久久久| 五月婷婷综合在线| 日本不卡123| 精彩视频一区二区| 成人app软件下载大全免费| av亚洲精华国产精华精| 欧美亚洲图片小说| 91精品婷婷国产综合久久竹菊| 日韩欧美中文字幕一区| 久久久午夜精品理论片中文字幕| 中文字幕av一区二区三区免费看| 中文字幕在线不卡一区二区三区| 亚洲免费高清视频在线| 日韩高清不卡一区二区| 国产精品自拍三区| 91首页免费视频| 欧美日韩国产高清一区二区| 日韩欧美国产一区二区三区 | 蜜桃精品视频在线观看| 国产精品88av| 在线精品视频免费观看| 日韩欧美国产一区在线观看| 国产调教视频一区| 蜜桃视频在线观看一区二区| 精品福利一区二区三区 | 国产日韩高清在线| 日韩你懂的电影在线观看| 国产人伦精品一区二区| 精品成人免费观看| 精品久久久久久久久久久久久久久 | 91.成人天堂一区| 成人动漫一区二区在线| 欧美图片一区二区三区| 日本韩国一区二区| 欧美性一级生活| 久久青草国产手机看片福利盒子 | 九九热在线视频观看这里只有精品| 丝袜美腿成人在线| 一级特黄大欧美久久久| 老汉av免费一区二区三区| 蜜臀91精品一区二区三区| 美国毛片一区二区三区| 色综合久久久久网| 91色porny在线视频| 免费看日韩a级影片| 国产在线播放一区| 国产剧情av麻豆香蕉精品| 成人免费的视频| 日韩欧美国产午夜精品| 日本一区二区三区高清不卡| 国产精品二区一区二区aⅴ污介绍| 欧美xfplay| 亚洲国产精品久久久久秋霞影院 | 在线免费观看日本欧美| 欧美性大战久久久久久久| 91免费观看视频| 国产色一区二区| 亚洲日本在线看| 日本最新不卡在线| 91精品福利视频| 91麻豆精品91久久久久久清纯| 日韩写真欧美这视频| 亚洲婷婷综合色高清在线| 图片区日韩欧美亚洲| 久久丁香综合五月国产三级网站| 经典三级在线一区| 91精品国产91久久久久久最新毛片 | 韩国成人精品a∨在线观看| 丰满少妇在线播放bd日韩电影| 精品国产自在久精品国产| 亚洲国产综合在线| 久久国产精品99精品国产 | 欧美在线免费观看视频| 国产乱码精品一区二区三区五月婷| 91在线视频免费观看| 国内精品伊人久久久久av影院| 欧美精品aⅴ在线视频| 国产欧美一区二区精品婷婷| 国产真实乱偷精品视频免| 一本色道亚洲精品aⅴ| 日韩欧美国产高清| 国产亚洲欧美色| 亚洲bdsm女犯bdsm网站| 国产福利不卡视频| 国产成人在线网站| 国产午夜精品理论片a级大结局| 一区二区三区加勒比av| 日韩精品一级中文字幕精品视频免费观看 | 国产中文字幕精品| 在线观看视频一区二区| 极品少妇一区二区| 日韩一区二区高清| 亚洲婷婷综合色高清在线| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美老肥妇做.爰bbww| 中文字幕一区二区不卡| 国产一区二区在线视频| 久久先锋影音av| 石原莉奈在线亚洲二区| 99视频在线精品| 一区二区日韩电影| 成年人国产精品| 久久久亚洲综合| 不卡的av电影| 日本一区二区三区dvd视频在线| 亚洲高清免费观看| 在线91免费看| 亚洲成人黄色影院| 高清av一区二区| 亚洲激情一二三区| www.视频一区| 日韩欧美的一区| 国产91综合网| 国产女人18水真多18精品一级做| 精品福利一区二区三区| 成人黄色777网| 久久免费看少妇高潮| 91蝌蚪porny成人天涯| 91精品视频网| 久久久久久**毛片大全| 高清免费成人av| 日韩色视频在线观看| 国产精品乡下勾搭老头1| 欧美国产欧美亚州国产日韩mv天天看完整 | 在线观看网站黄不卡| 91啪亚洲精品| 日韩专区欧美专区| 色婷婷精品大在线视频| 国产精品美日韩| 欧美日韩精品欧美日韩精品一 | 91黄色免费看| 日韩激情一区二区| 欧美军同video69gay| ...xxx性欧美| 欧美高清视频不卡网| 麻豆视频观看网址久久| 91麻豆自制传媒国产之光| 毛片av一区二区三区| 久久夜色精品一区| 五月天婷婷综合| 国产精品视频观看| 97超碰欧美中文字幕| 国产偷v国产偷v亚洲高清| 欧美日韩成人高清| 天堂va蜜桃一区二区三区| 欧美手机在线视频| 国产精品1区2区| 亚洲男人的天堂在线观看| av欧美精品.com| 亚洲美女偷拍久久| 91麻豆精品国产91久久久更新时间| 成人免费看的视频| 亚洲美女偷拍久久| 911精品国产一区二区在线| 不卡av在线网| 夜夜嗨av一区二区三区中文字幕| 欧美日韩日日摸| 91免费看视频| 一区二区在线电影| 91麻豆精品国产91久久久使用方法| 99国产精品国产精品毛片| 亚洲成av人在线观看| 欧美性videosxxxxx| 成人激情动漫在线观看| 一区二区在线观看视频| 日韩一二三区不卡| 不卡的av中国片| 夜夜爽夜夜爽精品视频| 日韩欧美国产综合在线一区二区三区| 国产一区二区三区四区五区入口| 3d动漫精品啪啪1区2区免费| 国产一区二区女| 亚洲欧洲精品一区二区精品久久久| 成人av影院在线| 偷拍自拍另类欧美| 国产欧美一区二区精品秋霞影院 | 激情综合网av| 午夜精品免费在线观看| 久久先锋资源网| 国内欧美视频一区二区| 亚洲精品日韩专区silk| 精品欧美乱码久久久久久| 91网上在线视频| 国产福利精品一区| 中文字幕中文字幕一区| 成人免费福利片|