【问题标题】:convert similar sound word parts转换相似的音词部分
【发布时间】:2014-08-12 21:01:34
【问题描述】:

我无法在此处搜索合适的术语来解决以下问题;我确定它已经完成了,我只是找不到合适的术语来表达这个问题!

我基本上是在尝试创建一个分类器,该分类器将接受单词比较输出(例如来自 Levenstein 距离的一些输出)并确定单词是否足够不同。一个重要的输入可能类似于 soundex 比较。我遇到的麻烦是为算法创建训练集(在这种情况下是 SVM)。我有一长串名字,我需要对它们进行一些变异(基于单词中的相似发音)。

例如JohnJon 将是一个突变,我可以在测试集中将其标记为等效。 JohnJohann 有足够不同的声音和字母距离,可以认为是不同的。

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

即使是简单的翻译也可能就足够了,例如“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


【解决方案1】:

我只是在大声思考。

基于规则:应用基于规则的系统,您可以使用标准替换规则(例如“ph”替换“f”)和插入规则(例如在元音和 a 之间插入 h)辅音。

字符 n-gram 对齐: 使用 Giza++ 等单词对齐工具来对齐来自 Europarl 等并行语料库的字符 n-gram。我猜你会发现有趣的单词拼写变体,例如“house”、“haus”等。你可以使用各种 n 值。

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

【讨论】:

  • +1 用于 n-gram 对齐,看起来很有希望。我希望这是一件“完成”的事情,并且有一些定义明确的算法可以做到这一点,但目前看起来并不乐观。会回来报告的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多