Hi, Sorry if this is the wrong location for this, but I am using the CTranslate standalone decoder for my work. I have consistently seen mentions of ‘beam search’ being used in NMT but I’m not sure what for.
If someone with expertise could please clarify these for me, i would really appreciate it! I am only doing the decoding part here.
- First we take the word and tokenize it. Then we look up the word embedding for it from the table. Then we pass it to the encoder RNN ( where the RNN width == size of the word vector ).
- Then once the EOS tag is reached the the decoder RNN starts outputting a vector with every time step. We then look up this vector in the word vector table ( I assume this isnt an ‘exact’ search and we find the nearest word to the produced word. ). Then we detokenize this to generate the actual word.
I’m not sure where the beam search comes into this.