他の単語の近くにある単語を見つけるにはどうすればいいですか?

他の単語の近くにある単語を見つけるにはどうすればいいですか?

発音と単語の文字から、互いに近い単語を見つけることができる辞書を作成します。

例えばユーザーが検索したとき近く私のサイトでは、それに近い他の単語も表示します。近く、梨、親愛なる、後ろ、ここ

どうやってするの?

このウェブサイトが好きです:ライムゾーン

答え1

これはかなり複雑だと思います。これは自然言語プログラミングの分野です (他の NLP、Neuro Linguistic Pap ではありません)。"here" と "hear" を一致させる必要があるため、要素を分解して、音声上の同等性 (どちらも h-"ere" と h-"ere") にマッピングする必要があります。また、一部のスペルには音声上の差異 (cough、plough、through) があったり、さらにひどい同音異義語 (there、they're、their グループ) があったり、地域によって異なる場合があります (たとえば、英国では、garage、graph、glass の 'a' が長いか短いか)。音声上の同等性を作成する場合、必ずしも単数形とは限りません。

音声上の同値関係がわかれば、さまざまなヒューリスティックを使用してそれらの違いを最小限に抑えることができます。詩の場合、語尾の重みを過度に強調する必要があるでしょう。押韻は主に語尾に依存します。詩には頭韻法も必要かもしれません。耳に心地よい頭韻法には、異なる重み付けが必要になるでしょう。

私は、NLP に関する無料のオンライン大学コースの 1 つに参加します。現在、そのようなコースはいくつかあります。言語を解析するための最新の技術について、よりよく基礎を学ぶことができます。:)

答え2

同じ長さの文字列間で文字列比較を使用し、1 つ (または 2 つ) の不一致の文字を許容することができます。

ただし、Web サイトを見ると、単語を音声表現でマッピングし、文字列を文字配列のように扱い、後ろから比較を開始して検索することをお勧めします。

あなたの例を基に構築します: near -> \'nir\ pear -> \'per\ dear -> \'dir\ rear -> \'rir\ または \'rer\ here -> \'hir\

(ここでは発音表記にメリアム・ウェブスターオンラインから引用しています)

残念ながら、英語にはそれほど厳密な発音規則がないので、マッピングはルックアップ テーブルとして実行され、コンパイルすることはできません...

とにかく、単語をマッピングしたら、最後の音素を比較できます。この場合、「ir\」で終わる単語を探すとよいでしょう (この場合、「pear」は除外されます)。

この方法はあまり効率的ではないようです。ディスク領域をいくらか使用できる場合は、将来の参照用に検索を保存します。そのため、2 回目に使用して「near」と韻を踏むすべての単語を検索すると、アプリケーションは保存された検索を読み込むだけです。辞書は通常、それほど速く進化しないためです。

関連情報