1

我有一个药物名称列表(regular_list)和一个新名称列表(new_list)。我想检查 new_list 中的名称是否已经存在于 regular_list 中。问题是名称 new_list 可能有一些错字错误,我希望这些名称被视为与常规列表匹配。我知道使用 stringdist 是解决问题的方法,但我需要机器学习算法

4

1 回答 1

0

正如这里已经提到的机器学习来克服拼写错误,机器学习工具对于此类任务来说太多了,但最简单的可能性是合并这些方法。

一方面,您可以计算edit distance给定单词x和每个字典单词之间的距离d_i。另外,您可以训练每个单词的分类器

c(d_i, distance(x,d_i)) 

如果给定的编辑距离足以考虑.的拼写错误版本,则返回True(class ) 与不使用机器学习相比,这可以为您提供更通用的模型,因为您可以为每个字典单词设置不同的阈值(有些单词比其他单词更容易拼写错误),但显然,您必须准备一个训练集(并添加也)。1xd_i(misspelled_word, correct_one)(correct_one, correct_one

您可以为此类任务使用任何类型的二进制分类器,它可以处理“真实”输入数据。

于 2013-08-22T08:36:09.803 回答