3

私は可読性テストを実装しており、音節を検出する単純なアルゴリズムを実装しています。母音のシーケンスの検出私はそれらを単語で数えています。たとえば、単語「shoud」には「ou」という母音のシーケンスが1つ含まれています。それらを数える前に、-les、-e、-ed などの接尾辞を削除します (たとえば、「like」という単語には 1 つの音節が含まれていますが、母音のシーケンスが 2 つ含まれているため、この方法は機能します)。

しかし...これらの単語/シーケンスを検討してください:

  • X線(2音節を含む)
  • I'm (一音節、テキスト中のすべてのアポストロフィを削除してもよいでしょうか?)
  • 入る'
  • 私はしただろう
  • n' (例: Pork n' Beans)
  • 3番目(これをどのように処理するのですか?)
  • 12345

特殊文字はどうする?それらをすべて削除しますか?ほとんどの単語には問題ありませんが、「n'」や「x-ray」には問題があります。そして、サイファーをどのように扱うか。

これらは言葉の特殊なケースですが、この主題に関する経験やアイデアを見てとてもうれしく思います.

4

1 に答える 1

1

最初に、これらの種類の単語で構成されているデータの量と、プログラムの全体的なパフォーマンスにどの程度影響するかを判断することをお勧めします。また、どの種類が最も多く発生するかについていくつかの統計をまとめます。

この問題に対する単純で正しい解決策はありませんが、いくつかのヒューリスティックを提案できます。

  • '2 つの子音の間の ( shouldn't) は、音節の省略を示しているようです。
  • '片側に母音または単語の境界がある ( , I'd)goin'はそうではないようです (ただし、goin'それでも 2 つの音節であることに注意してください) 。
  • n'少なくとも 1 音節の長さを含む任意の単語
  • ダッシュ ( -) は、両側のテキストを別の単語として扱うことで処理できます。

3rd序数を単語として書き出すコード、またはより単純なヒューリスティックによって処理できます。

于 2010-10-17T10:58:03.073 に答える