即使一个数据集中的短语存在于另一个数据集中,PySpark MinHashLSH的roximateSimlarityJoin返回None

时间:2019-08-29 15:38:30

标签: apache-spark pyspark minhash lsh

我正在尝试查找包含字符串的两组数据之间的Jaccard距离,但是即使数据集B中存在数据集A中的文本,它也始终返回None。下面是我已经尝试过的步骤。

管道:

model = Pipeline(
            stages=[
                RegexTokenizer(pattern="", inputCol=input_column, outputCol="tokens", minTokenLength=1),
                NGram(n=2, inputCol="tokens", outputCol="ngrams"),
                HashingTF(inputCol="ngrams", outputCol="vectors"),
                MinHashLSH(inputCol="vectors", outputCol="lsh", numHashTables=5)
            ]
        ).fit(data_frame)

LSH生成:

数据集A:

第1行:[[1986870.0],[2.1903113E7],[1308692.0],[4186425.0],[6684366.0]]

第2行:[[2.0131929E7],[2.1903113E7],[1308692.0],[4186425.0],[6684366.0]]

数据集B:

第1行:[[8.60015581E8],[3.28657332E8],[6.642221E7],[1.051655731E9],[8.350559E7]]

它应该给我两组之间的距离,而不是给我无。

0 个答案:

没有答案