Python ValueError:至少需要一个数组才能连接到Top2Vec错误中

Python ValueError:至少需要一个数组才能连接到Top2Vec错误中,python,arrays,concatenation,word2vec,word-embedding,Python,Arrays,Concatenation,Word2vec,Word Embedding,docs=[“非必需消费品、医疗保健和技术是首选的中国股票行业。”, “在中国重振国内消费政策的支持下,非必需消费品仍然具有吸引力。进一步货币和财政刺激的前景应该会强化中国的消费主题。”, “在医疗服务和药品需求增加的背景下,医疗保健部门应该是冠状病毒爆发的主要受益者。”, “随着中国继续从冠状病毒疫情中复苏,对云服务和硬件需求的增加将使科技行业受益。”, “首选中国非必需消费品行业。根据我们的评估,该行业在未来6-12个月的表现可能会超过摩根士丹利资本国际中国指数。”] 模型=Top2Vec(

docs=[“非必需消费品、医疗保健和技术是首选的中国股票行业。”, “在中国重振国内消费政策的支持下,非必需消费品仍然具有吸引力。进一步货币和财政刺激的前景应该会强化中国的消费主题。”, “在医疗服务和药品需求增加的背景下,医疗保健部门应该是冠状病毒爆发的主要受益者。”, “随着中国继续从冠状病毒疫情中复苏,对云服务和硬件需求的增加将使科技行业受益。”, “首选中国非必需消费品行业。根据我们的评估,该行业在未来6-12个月的表现可能会超过摩根士丹利资本国际中国指数。”]

模型=Top2Vec(文档,嵌入模型='通用句子编码器')

在运行上述命令时,我得到一个错误,该错误在调试时不清晰可见。错误的根本原因是什么

错误:

2021-01-19 05:17:08541-top2vec-信息-培训前处理文档 信息:top2vec:培训前处理文档 2021-01-19 05:17:08562-top2vec-信息-下载通用句子编码器型号 信息:top2vec:下载通用句子编码器型号 2021-01-19 05:17:13250-top2vec-信息-创建联合文档/文字嵌入 信息:top2vec:创建联合文档/单词嵌入 警告:tensorflow:最近6次调用中有5次调用触发了tf.function Retracting。跟踪代价高昂,跟踪次数过多可能是由于(1)在循环中重复创建@tf.function,(2)传递不同形状的张量,(3)传递Python对象而不是张量。对于(1),请在循环之外定义@tf.function。对于(2),@tf.function具有实验性的_relax_shapes=True选项,该选项可以松弛参数形状,从而避免不必要的回溯。有关(3),请参阅和了解更多详细信息。 警告:tensorflow:最近6次调用中有5次调用触发了tf.function Retracting。跟踪代价高昂,跟踪次数过多可能是由于(1)在循环中重复创建@tf.function,(2)传递不同形状的张量,(3)传递Python对象而不是张量。对于(1),请在循环之外定义@tf.function。对于(2),@tf.function具有实验性的_relax_shapes=True选项,该选项可以松弛参数形状,从而避免不必要的回溯。有关(3),请参阅和了解更多详细信息。 2021-01-19 05:17:13548-top2vec-信息-创建文档的低维嵌入 信息:top2vec:创建文档的低维嵌入 2021-01-19 05:17:15809-top2vec-信息-查找文档密集区域 信息:top2vec:查找文档密集区域 2021-01-19 05:17:15823-top2vec-信息-查找主题 信息:top2vec:查找主题 ValueError回溯(最近一次调用上次) 在() ---->1模型=Top2Vec(文档,嵌入模型='通用句子编码器')

2帧 在vstack(*args,**kwargs)中

/vstack(tup)中的usr/local/lib/python3.6/dist-packages/numpy/core/shape_base.py 281如果不存在(arrs,列表): 282 arrs=[arrs] -->283返回n.连接(arrs,0) 284 285

串联(*args,**kwargs)


ValueError:至少需要一个数组来连接

您需要使用更多文档和唯一的单词来查找至少两个主题。举个例子,我只是将你的列表乘以10,它就可以工作了:

from top2vec import Top2Vec

docs = ['Consumer discretionary, healthcare and technology are preferred China equity  sectors.',
'Consumer discretionary remains attractive, supported by China’s policy to revitalize domestic consumption. Prospects of further monetary and fiscal stimulus  should reinforce the Chinese consumption theme.',
'The healthcare sector should be a key beneficiary of the coronavirus outbreak,  on the back of increased demand for healthcare services and drugs.',
'The technology sector should benefit from increased demand for cloud services  and hardware demand as China continues to recover from the coronavirus  outbreak.',
'China consumer discretionary sector is preferred. In our assessment, the sector  is likely to outperform the MSCI China Index in the coming 6-12 months.']

docs = docs*10 
model = Top2Vec(docs, embedding_model='universal-sentence-encoder')
print(model)

我有几(30)份长达130000个字符的长文档,所以我只是将它们每5000个字符分割成更小的文档:


docs_split = []
for doc in docs:
    skip_n = 5000
    for i in range(0,130000,skip_n):
        docs_split.append(doc[i:i+skip_n])