如何使用sparklyr计算字符串之间的距离?

4
我需要使用sparklyr在R中计算两个字符串之间的距离。是否有一种使用stringdist或其他包的方法?我想使用余弦距离。此距离被作为stringdist函数的一种方法使用。
提前致谢。

你是在指Hamming距离吗?如果是的话,你需要使用stringdist包。 - C-x C-c
我在考虑余弦距离,无论如何我真的需要使用stringdist包,但它似乎在sparklyr中无法工作。我正在寻找一种使用它或替代这个包的方法。 - Daniel Limaviegas
1
你能重现一下那个不起作用的尝试吗? - C-x C-c
1个回答

3
您可以使用内置的levenshtein函数:
df <- copy_to(sc, data.frame(a=c("This is it", "Foo"), b=c("This is", "foobar)))

# df %>% mutate(dist = levenshtein(a, b))
# # Source:   lazy query [?? x 3]
# # Database: spark_connection
#   a          b        dist
#   <chr>      <chr>   <int>
# 1 This is it This is     3
# 2 Foo        foobar      4

1
有没有办法在 sparklyr 中使用非内置的字符串距离度量方法?比如 Jaro-Winkler,该方法可在此包中获得:https://github.com/MrPowers/spark-stringmetric。 - jfeigenbaum
@jfeigenbaum你找到使用非内置字符串距离度量的方法了吗? - johnckane
@johnckane 我没有花太多时间在这上面,但是...我从来没有弄清楚这个。 - jfeigenbaum
@jfeigenbaum 如果你有兴趣,我在这里回答了如何在pyspark中最终实现它的问题:https://dev59.com/Cbbna4cB1Zd3GeqPTwHg#61149452 - johnckane

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接