在做NLP領域的NMT或者chatbot等方面的工作時,在進行inference(推理)的時候,經常會用到兩種搜索方式,即Greedy Search和Beam Search。
1. Greedy Search
貪心搜索最爲簡單,直接選擇每個輸出的最大概率,直到出現終結符或最大句子長度。
2. Beam Search。
Beam Search可以認爲是維特比算法的貪心形式,在維特比所有中由於利用動態規劃導致當字典較大時效率低,而集束搜索使用beam size參數來限制在每一步保留下來的可能性詞的數量。集束搜索是在測試階段爲了獲得更好準確性而採取的一種策略,在訓練階段無需使用。
針對上例,得到如下計算(beam size=2)