【发布时间】:2014-08-12 21:01:34
【问题描述】:
我无法在此处搜索合适的术语来解决以下问题;我确定它已经完成了,我只是找不到合适的术语来表达这个问题!
我基本上是在尝试创建一个分类器,该分类器将接受单词比较输出(例如来自 Levenstein 距离的一些输出)并确定单词是否足够不同。一个重要的输入可能类似于 soundex 比较。我遇到的麻烦是为算法创建训练集(在这种情况下是 SVM)。我有一长串名字,我需要对它们进行一些变异(基于单词中的相似发音)。
例如John 和 Jon 将是一个突变,我可以在测试集中将其标记为等效。 John 和 Johann 有足够不同的声音和字母距离,可以认为是不同的。
所以我有点要求是一种实现音素变化生成器的方法,但需要能够保留英文字母结构。
即使是简单的翻译也可能就足够了,例如“f”可以(有时)被“ph”替换。我正在用 Java 做这个,所以任何在这个方向上的提示都会很棒!谢谢。
编辑
这是迄今为止我遇到的最接近的:http://www.isi.edu/natural-language/people/hovy/papers/07IJCAI-spelling-variants.pdf
【问题讨论】:
-
您是否尝试过简单地使用编辑距离?注意 ed(john,jon)=1 而 ed(john,johann)=2
-
谢谢@Debasis,对不起,你到底是什么意思?我正在尝试生成变化而不是找出编辑距离
-
对不起,我误解了你的问题......我以为你打算计算语音距离......这就是为什么我建议使用编辑距离作为真实语音距离的“粗略”近似......跨度>
标签: java machine-learning nlp phoneme grapheme