小编Zer*_*ero的帖子

在R中两个句子之间的距离:通过最小编辑距离进行词级比较

在尝试学习 R 时,我想在 R 中实现下面的算法。考虑下面的两个列表:

List 1: "crashed", "red", "car"
List 2: "crashed", "blue", "bus"
Run Code Online (Sandbox Code Playgroud)

我想知道将“list1”转换为“list2”需要多少操作。正如你所看到的,我只需要执行两个操作: 1. Replace "red" with "blue". 2. Replace "car" with "bus".

但是,我们如何才能自动找到这样的动作数量呢?我们可以通过多种操作来转换句子:添加、删除或替换列表中的单词。现在,我将尽力解释该算法应该如何工作:

第一步:我将创建一个如下表:

行:i= 0,1,2,3,列:j = 0,1,2,3

(example: value[0,0] = 0 , value[0, 1] = 1 ...)

                 crashed    red     car
         0          1        2       3

crashed  1
blue     2
bus      3
Run Code Online (Sandbox Code Playgroud)

现在,我将尝试填满表格。请注意,表中的每个单元格显示了我们需要执行的重新格式化句子的操作数量(添加、删除或替换)。考虑“crashed”和“crashed”( )之间的交互value[1,1],显然我们不需要更改它,因此该值将为“0”。因为它们是相同的词。基本上,我们得到了对角线值=value[0,0]

                 crashed    red     car
         0          1        2       3

crashed  1          0
blue     2
bus      3 …
Run Code Online (Sandbox Code Playgroud)

nlp r edit-distance matrix dataframe

2
推荐指数
1
解决办法
1116
查看次数

标签 统计

dataframe ×1

edit-distance ×1

matrix ×1

nlp ×1

r ×1