beam search主要用來進(jìn)行加速解空間的搜索,假設(shè)集束寬度為2,詞典大小為3(a,b,c),那么其解碼過程如下所示:
- 生成第1個(gè)詞的時(shí)候,選擇概率最大的2個(gè)詞,假設(shè)為a,c,那么當(dāng)前序列就是a,c;
- 生成第2個(gè)詞的時(shí)候,我們將當(dāng)前序列a和c,分別與詞表中的所有詞進(jìn)行組合,得到新的6個(gè)序列aa ab ac ca cb cc,然后從其中選擇2個(gè)得分最高的,作為當(dāng)前序列,加入aa cb
- 后面不斷重復(fù)這個(gè)過程,直到遇到結(jié)束符為止。最終輸出2個(gè)得分最高的序列。