错误模型语言

时间:2012-09-13 10:10:01

标签: machine-learning artificial-intelligence spell-checking

我必须写一个正确的拼写检查符。

我写了第一部分,语言模型检查器,但现在有最艰难的部分, 误差模型P(W | C),即当作者指的是C时,W将在文本中输入的概率。

为了解决这个问题,我提出了最简单的解决方案,算法选择具有最小Damerau-Levenshtein距离的单词,如果有一个名称,算法必须选择最常见的名称。

应用程序正常运行,但我想改进它。我想介绍一种从最常见的错误中学习的电子学习机算法。 我必须实现机器学习算法。

所以我开始思考如何做到这一点。

进入错误模型语言可以找到一些模式:

  • 最常见的是在单词中间拼写错误的字母,
  • 用另一个元音拼错元音更容易,
  • ...等......

我想将所有这些都视为事实。

此外,该算法可能用于文本识别或语音识别,因此我必须考虑:

  • homophones错误,例如,f的拼写错误比q错误拼写v更常见
  • 排印错误,例如拼错i,甚至找不到!在这个词里面。

更好地解释问题:我们可以想象这2个场景。

  • 第一个是使用算法从扫描的纸张中读取时
  • 另一个是当算法用于语音识别时。

在第一种情况下,诸如具有相似声音的字母之类的错误更可能,而在第二种情况下,印刷错误更可能是错误的。 由于我不知道我的算法将要工作的场景,我应该实现一个动态适应场景的算法,我的意思是如果有一个错误,如 g!useppe的可能性是giuseppe(o.4)geuseppe(o.6) 算法必须先挑选因为形状!类似于我,我发现了很多类似的错误。

我认为解决方案是一种从错误中学习的机器学习算法。

第一个问题,我是否清楚地解释了我的问题? 如果是这样,哪种算法符合我的要求?

我在人工智能和机器学习方面的经验有限。

1 个答案:

答案 0 :(得分:0)

选择单一最可能正确的拼写很难,这就是大多数拼写检查器提供多种选择的原因。如果可能的话,我建议你也这样做。有人甚至可能在没有任何统计学习的情况下离开 - 只需向用户提供每个可能的有效名称,使其与输入之间的编辑距离低于某个给定值N.