Word2Vecでsimilarityの値がマイナスになるのはどうしてなのでしょうか?
たとえば、次のコードを実行した時に、meowが-0.018となり、マイナスになっています。
この場合100次元空間のベクトルの内積ですから、マイナスではなくてプラスになると思っています。
今回はmeowだけでしたが、sizeのパラメーターを変更すると他のものもマイナスになったりします。

ソースコード

# sourcecode
from gensim.models import Word2Vec
sentences = [["cat", "say", "meow"],["dog","say","woof"]]
model = word2vec.Word2Vec(sentences, min_count=1,size=100)
print(model.wv.most_similar(positive=['cat']))

# output
[('woof', 0.12968875467777252),
('say', 0.06406527757644653),
('dog', 0.05123840644955635),
('meow', -0.01819145306944847)]

参考にしたページ

ページ中部のExample
https://radimrehurek.com/gensim/models/word2vec.html