0

我正在尝试基于来自 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 内存和 28 个 cpu 的机器。

谢谢你的帮助。

4

0 回答 0