I wan't to add pre-trained embeddings to a model. But as it seems there is no out-of-vocabulary (OOV) token resp. no vector for unseen words existent.
So what can I do to handle OOV-tokens I come across? I have some ideas, but none of them seem to be very good:
I could just create a random vector for this token, but ideally I'd like the vector to within the logic of the existing model. If I just create it randomly I'm afraid the vector accidentally could be very similar to a very frequent word like 'the', 'for', 'that' etc. which is not my intention.
Or should I just initialize the vector with plain zeros instead?
Another idea would be averaging the token over other existing vectors. But averaging on what vectors then? On all? This doesn't seem to be very conclusive either.
I also thought about trying to train this vector. However this doesn't come very handy if I want to freeze the rest of the embedding during training.
(A general solution is appreciated, but I wanted to add that I'm using PyTorch - just in case PyTorch already comes with a handy solution to this problem.)
So what would be a good and easy strategy to create such a vector?