将带有if条件的model.wv放到列表中

时间:2018-11-17 00:17:53

标签: list if-statement syntax-error word2vec

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 MB),但每个完整文档(新闻)之间都有两个逗号“,”,例如: [“我”“是”“个”“帅”“哥” ,,“你”“也”“是” ,,“ ...”] 共有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

0 个答案:

没有答案