11

韻を踏む単語を見つけるためのある種のアルゴリズムを見つけたり作成したりするためのヒントや正しい方向を教えてくれる人がいるかどうか疑問に思っていました.

それを作成するためだけにアルゴリズムを作成することが私の最終目標であるため、特にAPIを使用したくありません。

重要ではありませんが、私は Java でコーディングしています。

ありがとうございました

4

5 に答える 5

8

API を使用したくない場合、これは巨大なプロジェクトになる可能性があるようです。困難なステップは、単語の音声学を決定することです (語尾が音声的に類似している場合、2 つの単語は韻を踏んでいます)。これができれば、発音の語尾を比較できます。既知の単語を音声スペルに変換する API を見つけることができるかもしれませんが、API を使用したくない場合は、自分で行う必要があり、簡単な作業ではありません... 言うまでもなく、誰も完璧ではありませんでした。 .

もう 1 つの方法は、ここで説明されている Metaphone アルゴリズムを調査することです

于 2012-12-19T21:23:20.643 に答える
6

最適なアルゴリズムは、語韻のあるグループに分類された単語の辞書を使用します。これは非常に難しい問題で、言語学のバックグラウンドが必要です。脚韻を自動的に見つけるための、おそらく最良ではないアルゴリズムが必要だと思います。

単語の発音 (単語自体ではない) を何らかの値でコード化するという基本的な考え方。そして、等しいコードで終わる値は語韻を識別します。

私の観点からは、正しいアルゴリズムを見つけるというよりも研究です。

その論文を見てみましょう: A System for the Automatic Identification of Rhymes

于 2012-12-19T21:28:56.400 に答える
4

ブログで押韻辞書プログラムを書きました。アイデアは、発音のある辞書を使用して、音素を最後から比較することです。末尾の音素が同じ 2 つの単語は、互いに韻を踏んでいます。

于 2012-12-19T22:04:57.483 に答える
4

標準の音声アルゴリズムを活用するのは良い考えだと思います。Soundex は少し制限があるかもしれないと思いますが、ダブル メタフォンはおそらく良い選択でしょう。

問題の単語のメタフォン表現を取得し、最初の文字を削除して、2 つの単語のうち短い方の残りの部分が長い方の末尾と一致するかどうかを確認します。ダブル メタフォンの場合は非常に似ていますが、プライマリからプライマリ、セカンダリからプライマリ、プライマリからセカンダリ、セカンダリからセカンダリの 4 つの比較を行います。

それは良い出発点になると思います。

これと他の多くの音声アルゴリズムに関する注意: 正確な音声定義を提供するようには設計されていません。さまざまな地理的発音、一般的な誤発音、および別の発音により、単語だけに基づいて、困難で迅速な単一の正しい発音を取得することは不可能になります. 斬新なスペルと文字の使用法により、アルゴリズムを使用して正確な発音を取得することが難しくなっています (いくつかのオードブルは気になりますか?)。また、このようなアルゴリズムの多くの主な目的は、似たような響きの単語や聞き間違いのある単語や名前を相互に照合することであるため、通常、結果は少し不正確になるように意図されています (これは、この目的のためにもおそらく良いことです)。

于 2012-12-19T21:29:56.820 に答える