Зацикливание каждого элемента и печать векторов word2vec на основе элемента - PullRequest
0 голосов
/ 03 октября 2018

Я хотел бы напечатать каждый вектор слова, используя gensim word2vec.

Вот мой код:

from gensim.models.word2vec import Word2Vec
a = [["man", "eater", "king"]]
model = Word2Vec(a, size =100, window=1, min_count=1)
model.build_vocab(a, update=True)
model.train(a, total_examples=1, epochs=1)

""" I know that I could use:
    for x in a:
        print(model.wv[x])

    This is not I intended because I wanted to know whether is there a possibility
    to loop each element in a list and return it into the model.wv[element] by printing 
    every each element by using only 1 line of code"""

#For example my intended way
print(model.wv[x for x in a])

Однако, это комплексный метод списка, и он не будет работать.Я также пытался

print(model.wv[lambda x:x, a])

Но все равно не работает.Может ли кто-нибудь сказать мне, как я могу печатать каждый вектор слова без использования цикла for?Я просто хочу, чтобы это была 1 строка для печатной части.Если это все еще не ясно, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 03 октября 2018

Да, вы можете использовать понимание списка здесь, но не в формате, который вы описали:

[print(model.wv[x]) for x in a]

...