положить модель.wv с условием if в списке - PullRequest
0 голосов
/ 17 ноября 2018
import gensim
from gensim.models import word2vec
mainmodel = gensim.models.Word2Vec.load('C:/Users/user/2330.model')
data = open('C:/Users/user/vec_2330_segement.txt','r',encoding = 'utf-8')
data=data.read()

Выше загружается модель work2vec и список данных. Данные представляют собой огромный список китайских словарей (сокращено в jieba, около 100 мегабайт), но имеют две запятые ',' между каждым целым документом (новостями), например: ["我" "是" "個" "帥" "哥" ,, "你" "也" "是" ,, "..."] Всего 40 000 документов.Итак, я надеюсь, что я вижу в результате "doc_all".

Например (каждый вектор в документах 20 измерений)

0.12345, 1.23456, -2.34567, ..., -3.45678

...

...

0.12345, -1.23456, 2.34567, ..., 3.45678

(для 40000 строк)

data=data.read()
doc_all = []
doc_sent = []
for index in data:
    doc_sent.append(mainmodel.wv[index]),
    try:
        (doc_all if data[index] == ',').append(np.sum(doc_sent,axis=0)),        
    except KeyError:
        continue
len(doc_all)

, в который я не могу поверить: почему из-за синтаксиса возникает ошибка, у меня есть много связанных документов в потоке, но у меня нет такой ситуации, вместо этого моя грамматика кода такая же, есть что-то, что я должен заметитьно я не сделал?

====== Редактировать ====== вот трассировщик (извините за опоздание) Я думаю, что нужно еще сломать или ... нет?

File "<ipython-input-3-c55175ca5d96>", line 9
(doc_all if data[index] == ',').append(np.sum(doc_sent,axis=0)),
                              ^
SyntaxError: invalid syntax
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...