11

文字列を発音できるかどうか、またはスペルアウトする必要があるかどうかをプログラムで確認したいと思います。

たとえば、internationalization読み取ることはできますが、読み取ることはi18nできませんhhdirgxzf

文字列にアルファ文字以外の文字が含まれているかどうかを確認するなど、いくつかの単純なヒューリスティックを考えることができますが、それを行うためのより堅牢で科学的な方法があることを願っています。発音のしやすさに基づいて文字列をスコアリングできるアルゴリズムアプローチはありますか?

関連:単語の発音の難しさをランク付けする方法はありますか?、しかし、私はリストを持っておらず、事前計算することはできません。


コメントに基づいて更新します。

  • 私は英語を話すので英語に興味がありますが、特定の言語の特性ではなく、音と話し方に基づいたアルゴリズムを想像することができました。
  • 発音とは、文字列を自然に読み上げることができ、発音は可能hhdirgxzfですが、1つの自然言語の単語に聞こえないため、分割する必要があることを意味します。
  • 私が念頭に置いている特定のユースケースは、文字列が送信される場合であり、基本的なテキスト読み上げシステムを使用して文字列を読み上げたいと考えています。文字列内のどのトークンをTTSシステムに発音させ、どのトークンをスペルアウトさせるかを決定したいのですが、自信がない場合はスペルアウトの側で誤りがあります。
4

3 に答える 3

2

最初に単語を音節に分割することで、ある程度の成功を収めることができます。 SOに関するこの質問が役立つかもしれません。もちろん、これは、英語のように、文字を含み、その文字に母音が含まれるアルファベットを使用する言語でのみ機能します。

于 2012-08-29T10:12:31.247 に答える
0

たぶん、英字を数えて、文字列の長さで割ってください。アルファ文字の密度に基づくスコア?また、多分数あたりのスコアを減らしますか?

于 2012-08-29T10:06:49.050 に答える
0

これらの文字列のソースは何ですか?それらを自分で生成している場合は、発音可能な文字列を生成しようとする可能性があります。うまくいくかもしれないアイデアは次のとおりです。

  • 単語から始めて、母音を他の母音に置き換え、子音を同様の子音に置き換えます。

  • ランダムなSoundexを生成し、そのSoundexを生成する単語まで逆方向に動作します。

  • 3つまたは4つの発音可能な音節を連結します。

  • 交互の子音と母音。

  • Lorem Ipsum

于 2012-08-29T11:59:34.440 に答える