検索時にすべてのフォームを考慮するか、単語のルートを切り取って検索する
それだけで。 後者の方法はステミングと呼ばれ、異なる
スピード、シンプルさ、辞書を必要としません。 BitrixおよびMS Sharepoint 、Sphinxで使用されます。 ルートが変更可能な単語(ランラン、グローグロース、ライオンライオン)で問題が発生します。 ステミングについては説明しません。これは、ロシア語の形態のphpによってどのように実装されるかを参照してください。 辞書にもっと興味があります 。 ロシア語の国語コーパスは、どの単語が持つことができるおおよその特性を示します。 現在、セマンティックネットワークのプロトタイプである最新の単語の形態学的データベース( RMU 、 AOT )が必要であるという理解に徐々に近づいています。
インデックス作成と検索
アイデアは、モーフのテーブル(すべての可能な単語)と関連するトークン(ルートと接辞)でデータベース(Postgre)を使用することです。 文書の索引付けが発生する場合: - ドキュメントの改ページ
- 正規化-各単語は、もしあれば、モーフに関連付けられています
- モーフがない場合、特定の単語の言及の登録頻度のために、将来的にそれらは辞書に手動で追加されます
最高レベルの言語
関連性をどうするか? 単語の距離や順序を考慮することは、すでに構文レベルの問題です 。 構文索引付けでは、文を分割し、単一の文で使用される単語間のリンクを作成します。 さらに、語彙素がどの程度のスピーチを行うかを考慮することができます。 データベースでは、トークン間の接続を含む別のテーブルのように見え、検索中に、たとえば、1つの文に複数の単語が存在するかどうかがチェックされます。 .e。 理想的には、「ボナパルトの子供」というクエリでは、「ワレフスキーの父-ナポレオン」などのドキュメントが見つかりますが、最高レベルの主なタスクは、 同音異義語を分析することです。 根(キー、弓)とストレスの両方の曖昧さ(眠りに落ちる/眠りに落ちる、蒸気/急上昇)。 現時点では、googleとyandexの両方が単語の活用を考慮に入れていますが、あなたはどのような意味を意味するのか、二度と尋ねません。 また読む: 話している猫のカップルは、コミュニケーションが生まれるところで言語が生じることを明確に示しています。 PS残念ながら、私はRunetでWordnetの類似物を見つけませんでした(Zaliznyakの辞書に基づく「 Ariadne 」の言及のみ)。 誰もこれについて考えましたか?
+ オリジナル