我有一个医药名称列表(regular_list)和一个新名称列表(new_list)。我想检查一下new_list中的名字是否已经存在于regular_list中。问题是名称new_list可以有一些拼写错误,我希望这些名称被视为与常规列表的匹配。我知道使用stringdist是问题的解决方案,但我需要机器学习算法
答案 0 :(得分:0)
正如在machine learning to overcome typo errors已经提到的那样,机器学习工具对于这样的任务来说太过分了,但最简单的可能就是合并这些方法。
一方面,您可以计算给定单词edit distance
和每个字典单词x
之间的d_i
。另外,你可以跟踪单词分类器
c(d_i, distance(x,d_i))
如果已了解给定的编辑距离足以考虑True
1
的误导版本,则返回x
(班级d_i
)。这可以为您提供更通用的模型,然后不使用机器学习,因为您可以为每个词典单词设置不同的阈值(某些单词通常拼写错误,然后是其他单词),但显然,您必须以{{1}的形式准备训练集。 (并添加(misspelled_word, correct_one)
)。
您可以使用任何类型的二进制分类器来执行此类任务,该任务可以处理“真实”输入数据。