形態学的検索

データベースでの正確な検索は、正確なフレーズに関して非常に優れています。 しかし、文書間にキエフマップがあり、 キエフマップがない場合はどうすればよいでしょうか? 最初に、語彙レベルでは、モノリシックなテキストブロックで操作して、あらゆる種類の単語の並べ替えとそれらの間の距離を考慮することが困難になります。 第二に、言語を深く掘り下げるほど、セマンティックWebが、ある種の画像やモデルの自動アナライザーやジェネレーター、さらにはRDFを手動で作成するための非常に複雑なバーであることが明確になります 。科学のさまざまな分野のオブジェクト(植物学など)。 したがって、次の2つの方法があります。

検索時にすべてのフォームを考慮するか、単語のルートを切り取って検索する

それだけで。 後者の方法はステミングと呼ばれ、異なる

スピード、シンプルさ、辞書を必要としません。 BitrixおよびMS Sharepoint 、Sphinxで使用されます。 ルートが変更可能な単語(ランラン、グローグロース、ライオンライオン)で問題が発生します。 ステミングについては説明しません。これは、ロシア語の形態のphpによってどのように実装されるかを参照してください。 辞書にもっと興味がありますロシア語の国語コーパスは、どの単語が持つことができるおおよその特性を示します。 現在、セマンティックネットワークのプロトタイプである最新の単語の形態学的データベース( RMUAOT )が必要であるという理解に徐々に近づいています。





インデックス作成と検索

アイデアは、モーフのテーブル(すべての可能な単語)と関連するトークン(ルートと接辞)でデータベース(Postgre)を使用することです。 文書の索引付けが発生する場合: 検索する場合、同様のプロセスが実行されます。各クエリワードがトークンに含まれていて、ドキュメントのリストが「クエリトークンモーフドキュメント」関係から取得される場合、各クエリワードは正規化されます。 辞書を高速化するために、テーブル全体をRAMにすぐにロードできます( Zhenyaから軽量データベース-hsqldbについて聞いた)

最高レベルの言語

関連性をどうするか? 単語の距離や順序を考慮することは、すでに構文レベルの問題です 。 構文索引付けでは、文を分割し、単一の文で使用される単語間のリンクを作成します。 さらに、語彙素がどの程度のスピーチを行うかを考慮することができます。 データベースでは、トークン間の接続を含む別のテーブルのように見え、検索中に、たとえば、1つの文に複数の単語が存在するかどうかがチェックされます。 .e。 理想的には、「ボナパルトの子供」というクエリでは、「ワレフスキーの父-ナポレオン」などのドキュメントが見つかりますが、最高レベルの主なタスクは、 同音異義語を分析することです。 根(キー、弓)とストレスの両方の曖昧さ(眠りに落ちる/眠りに落ちる、蒸気/急上昇)。 現時点では、googleとyandexの両方が単語の活用を考慮に入れていますが、あなたはどのような意味を意味するのか、二度と尋ねません。 また読む: 話している猫のカップルは、コミュニケーションが生まれるところで言語が生じることを明確に示しています。 PS残念ながら、私はRunetでWordnetの類似物を見つけませんでした(Zaliznyakの辞書に基づく「 Ariadne 」の言及のみ)。 誰もこれについて考えましたか?





+ オリジナル



All Articles