我們上節(jié)課講到了基礎(chǔ)模型,但是基礎(chǔ)模型所選擇出來的句子并不一定是最好的句子。

我們這次要說的就是如何選擇最好的句子。首先我們還是要像上周一樣建立一個(gè)seq2seq的神經(jīng)網(wǎng)絡(luò),然后通過這個(gè)網(wǎng)絡(luò),進(jìn)行一個(gè)條件語句選擇,就是P(x/y)。在輸入的法語句子的前提下,進(jìn)行英語句子的翻譯輸出。

如果,你只是對(duì)這個(gè)y的概率進(jìn)行采樣的話,得到的語句會(huì)有好有壞,前3個(gè)都還可以,第四個(gè)就不太行。為了避免這種情況,我們需要找到一個(gè)算法,能使Y值最大化,找到合適的句子。
在這里我們即將使用的算法叫做束約束算法。這個(gè)在下一節(jié)課當(dāng)中會(huì)進(jìn)行討論,這一節(jié)課我們先來聊一些看起來可行但是實(shí)際上有些問題的算法。

比如說貪心,貪心算法是計(jì)算機(jī)科學(xué)當(dāng)中很普遍的一個(gè)算法,最簡(jiǎn)單來說,就是取每一步的最優(yōu)值,然后再走下一步。
由于我們所關(guān)心的是整個(gè)p(Yi/x)之和最大,因此通過上面那個(gè)貪心算法算出來的答案不見得是可行的。作者通過一個(gè)例子來說明,在is之后,going的可能性有可能要高于visiting,但是得到的并不是最優(yōu)的翻譯。
由于,我們整個(gè)序列很長,一個(gè)字典有可能有10000或者是是100000個(gè)詞,如果我們一個(gè)句子有10個(gè)詞,那么全部的排列組合就有10000的10次方,是很難去計(jì)算所有排列組合的得分然后再進(jìn)行比較的。因此我們需要一個(gè)算法來做一個(gè)近似最大值的計(jì)算,也就是束搜索算法,這個(gè)算法在下節(jié)課會(huì)講到。