2012-05-08 9 views
2

私はC++でコードを書いていますが、私は音節変換器に言葉が必要です。オープンソースの標準アルゴリズムがあります。word to syllable converter

for a word like invisible syllable would be in-viz-uh-ble 

"不可視"のような複雑な単語を解析することも理想的です。

は、私はすでにPerlやPythonでのアルゴリズムのためのリンクを見つけましたが、私は、任意のライブラリが++

どうもありがとうCで利用可能であるかどうかを知りたいです。

+0

背後にあるアプリケーションは何ですか? – log0

+0

私はそれが辞書なしで英語のために可能だとは思わない。英語では、スペルと発音の間の1対1のマッピングが失われており、たとえ数の音節であってもスペルから控えていない程度です。 – skyking

答えて

4

あなたの例は、単純に音節に分割するのではなく、単語の発音表現を示しています。これは複雑なNLPの問題です。

soundexmetaphoneをご覧ください。両方のC/C++実装があります。

多くの辞書では、単語の表記IPAが提供されています。 Wiktionary APIを見てください。

+0

Soundexとメタフォンはハッシュアルゴリズムであり、それらは転写を行いません。 –

+0

技術的には、両方とも大まかな表音文字列です。 soundexで非常に破壊的で、メタフォンでより防腐剤。両方とも多かれ少なかれ母音を捨てるので、OPがそれらをどのように使用するかによって、面白くないかもしれないと私は認めている。 – log0

+0

私の[double_metaphone](https://github.com/pixelglow/double_metaphone)の実装をC++ 11で調べることができます。それは元の母音を元に戻すか、原語のおおよその音節に近い部分にタグを付けるコールバックパラメータを持っています。 –

0

単語の音節を検出するために、私のプロジェクトをニーズに合わせることができます。 tinyhyphenatorと呼ばれています。

単語内に可能なすべてのハイフネーションインデックスの整数リストを提供します。ドイツ語の場合、かなり正確にレンダリングされます。インデックスリストを取得し、ハイフンを自分で挿入する必要があります。

「適応する」とは、英語の音節の指定を追加することを意味します。ソースコードを見て、それはかなり自明であると考えられています。