我无法在此处搜索正确的术语来解决以下问题;我确定它已经完成了,我只是找不到合适的术语来表达这个问题!
我基本上是在尝试创建一个分类器,它将获取单词比较输出(例如,来自 Levenstein 距离的一些输出)并确定单词是否足够不同。一个重要的输入可能类似于 soundex 比较。我遇到的麻烦是为算法创建训练集(在这种情况下是 SVM)。我有一长串名字,我需要对它们进行一些变异(基于单词中的相似发音)。
例如John
,并且Jon
将是一个突变,我可以在测试集中将其标记为等效。John
并且Johann
有足够不同的声音和字母距离被认为是不同的。
所以我有点要求是一种实现音素变化生成器的方法,但需要能够保留英文字母结构。
即使是简单的翻译也可能就足够了,例如“f”可以(有时)被“ph”替换。我正在用 Java 做这个,所以任何在这个方向上的提示都会很棒!谢谢。
编辑
这是迄今为止我遇到的最接近的:http ://www.isi.edu/natural-language/people/hovy/papers/07IJCAI-spelling-variants.pdf