检测包含非字母字符的单词中的音节

时间:2010-10-16 17:29:18

标签: nlp spell-checking readability hyphenation

我正在实现可读性测试并且已经实现了检测可比性的简单算法。 检测元音的序列我用单词计算它们,例如单词“shoud”包含一个元音序列,即'ou'。在我计算它们之前,我正在删除像-les,-e,-ed这样的后缀(例如单词“like”包含一个音节但是两个元音序列,所以这个方法有效。)

但是... 考虑这些词/序列:

  • x-ray(它包含两个音节)
  • 我是(一个音节,也许我可以删除文中的所有撇号?)
  • goin'
  • 我有
  • n'(例如Pork n'Beans)
  • 3rd(如何对待?)
  • 12345

如何处理特殊字符?全部删除?大多数单词都可以,但不能用“n”和“x射线”。以及如何对待密码。

这些是特殊的单词案例,但我很高兴看到这个主题的一些经验或想法。

1 个答案:

答案 0 :(得分:1)

我建议您首先确定您的数据中有多少是由这些词组成的,以及它对您的程序的整体性能有多重要。还要汇编一些最常出现的统计数据。

对于这个问题没有简单的正确解决方案,但我可以提出一些启发式方法:

  • 两个辅音(')之间的shouldn't似乎标志着一个音节的缩写
  • '一侧带有元音或字边界(I'dgoin')似乎没有这样做(但请注意goin'仍然是两个音节)
  • 包括n'在内的任何字词都至少有一个音节
  • Dashes(-)可以通过将双方的文本视为单独的单词来处理

3rd可以通过将序数写为单词的代码或更简单的启发式方法来处理。