转换类似的声音部分

时间:2014-08-12 21:01:34

标签: java machine-learning nlp phoneme grapheme

我在这里寻找合适的术语以解决以下问题;我确定这是一件已经完成的事情,我找不到合适的条款来表达这个问题!

我基本上试图创建一个分类器,它将采用单词比较输出(例如来自Levenstein距离的一些输出)并确定单词是否足够不同。一个重要的输入可能就像soundex比较。我遇到的麻烦是为算法创建训练集(在这种情况下是SVM)。我有一长串的名字,我需要稍微改变一下(根据单词中的类似声音)。

E.g。 JohnJon将是一个突变,我可以在测试集中将其标记为等效。 JohnJohann具有完全不同的声音和字母距离,可视为不同。

所以我有点要求是一种实现音素变异发生器的方法,但需要能够保留英文字母结构。

即使简单的翻译也可能就足够了,比如“f”可以(有时)被“ph”取代。我在Java中这样做,所以在这方面的任何提示都会很棒!感谢。

修改

这是我到目前为止最接近的地方:http://www.isi.edu/natural-language/people/hovy/papers/07IJCAI-spelling-variants.pdf

1 个答案:

答案 0 :(得分:1)

我只是在大声思考。

基于规则:应用基于规则的系统,您可以使用标准替换规则,例如'f'代表'f',以及插入规则,例如在元音和元音之间插入h辅音。

字符n-gram对齐: 使用诸如Giza ++之类的单词对齐工具来对齐来自并行语料库(如Europarl)的字符n-gram。我想你可以找到有趣的单词拼写变体,如“house”,“haus”等。你可以使用各种n值。

使用基于规则的引导字符n-gram对齐:您可能还希望使用两者的组合,原则上可以通过使用a来提高某些对齐的概率一套外部规则和启发式。