我正在尝试根据text2vec中的Glove模型聚类句子嵌入。我使用手套模型生成嵌入(就像我用标准方式创建迭代器,词汇等)。
# create document term matrix
dtm = create_dtm(it, vectorizer)
# assign the word embeddings
common_terms = intersect(colnames(dtm), rownames(word_vectors) )
# normalise
dtm_averaged <- text2vec::normalize(dtm[, common_terms], "l1")
# compute average sentence embeddings
sentence_vectors = dtm_averaged %*% word_vectors[common_terms, ]
结果对象是dgeMatrix类,相当于矩阵类,据我所知。 dgeMatrix类不用于许多下游任务,所以我想转换矩阵。但是,该对象大6GB,我在将矩阵转换为数据帧甚至文本文件以进行进一步处理时遇到问题。
理想情况下,我会在Spark中使用此矩阵进行进一步分析,例如k-means聚类。我的问题是什么是将矩阵用于下游任务的最佳策略。
a)转换为矩阵类或数据框 b)将矩阵写入文件? c)完全不同的东西
我在Google Cloud上运行模型,并拥有一台32GB RAM和28 cpu的机器。
感谢您的帮助。