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