library(dplyr)
library(fuzzyjoin)
df1 <- data.frame(x = c("Socks", "Mouse"))
df2 <- data.frame(y = c("Sock", "House"))
stringdist_left_join(df1, df2,
by = c(x = "y"),
max_dist = 1,
ignore_case = TRUE,
distance_col = "distance")
输出:
x y distance
1 Socks Sock 1
2 Mouse House 1
对于这两种比较(Socks vs. Sock 和 Mouse vs. House),我得到相同的距离。到目前为止,一切都很好。但是现在我想在语义级别上匹配单词。在第一个比较(Socks 与 Sock)中,区别仅在于复数与单数。我会把这算作一场比赛。然而,在第二个比较(Mouse vs. House)中,这两个词的含义不同。我不想把这算作一场比赛。有什么建议我可以添加另一列(例如,“匹配”),在第一行(对于 Socks 与 Sock)和 FALSE 在第二行(对于 Mouse vs. House)中我将具有 TRUE?
有没有办法表明我想忽略后缀?考虑类似于“ignore_case = TRUE”的东西(见代码)
我有一个带有德语单词的长数据集。我更喜欢不需要使用字典的解决方案(即适用于更多用例的解决方案)。但是,如果没有办法解决它,我将不胜感激有关如何使用德语词典解决我的问题的详细信息。