将生成的 TFIDF 稀疏向量链接到 Spark 中的原始文档

Linking the resulting TFIDF sparse vectors to the original documents in Spark

我正在使用 Spark 和 Python 使用以下代码计算 TFIDF:

    hashingTF = HashingTF()
    tf = hashingTF.transform(documents)
    idf = IDF().fit(tf)
    tfidf = idf.transform(tf)
    for k in tfidf.collect(): 
      print(k)

我得到了三个文档的以下结果:

    (1048576,[558379],[1.43841036226])
    (1048576,[181911,558379,959994],  [0.287682072452,0.287682072452,0.287682072452])
    (1048576,[181911,959994],[0.287682072452,0.287682072452])

假设我有数千个文档,如何将生成的 TFIDF 稀疏向量 link 到原始文档,知道我不关心将哈希键反转为原始术语。

由于 documentstfidf 具有相同的形状(分区数,每个分区的元素数)并且没有需要洗牌的操作你可以简单地 zip 两个 RDDs :

documents.zip(tfidf)

反向 HashingTF 不可能。