我正在实现可读性测试,并已经实现了检测音节的简单算法。 通过检测元音字母序列,我在单词中计数它们。例如,单词“should”包含一个元音序列,即“ou”。在计数之前,我会删除后缀,如-les、-e、-ed(例如,单词“like”包含一个音节但两个元音序列,所以这种方法是有效的)。
但是... 考虑这些单词/序列:
- x-ray(它包含两个音节)
- I'm(一个音节,也许我可以在文本中删除所有撇号?)
- goin'
- I'd've
- n'(例如猪肉n'豆)
- 3rd(如何处理?)
- 12345
特殊字符怎么办?全部删除吗?对于大多数单词来说这样做没问题,但对于“n'”和“x-ray”就不行了。还有数字怎么办。
这些都是单词的特殊情况,但我很乐意在这个主题上看到一些经验或想法。