5

クエリを概念にマッピングできる内部検索エンジン(数千のXMLファイルの非常に大きなコレクションがあります)を構築したいと思います。たとえば、「大きな猫」​​を検索した場合、ランクの高い結果で「大きな猫」​​のドキュメントも返されるようにします。しかし、関連性スコアははるかに低いものの、「巨大な動物」を返すようにすることにも興味があるかもしれません。

私は現在Pythonの本で自然言語処理を読んでおり、WordNetには役立つと思われる単語マッピングがいくつかあるようですが、それを検索エンジンに統合する方法はわかりません。Luceneを使用してこれを行うことはできますか?どのように?

さらなる研究から、「潜在意味解析」は私が探しているものに関連しているようですが、それをどのように実装するかはわかりません。

これを行う方法について何かアドバイスはありますか?

4

4 に答える 4

9

それを検索エンジンに統合する方法がわかりません。Luceneを使用してこれを行うことはできますか?どのように?

手順1.停止します。

ステップ2.何かを動作させる。

ステップ3.それまでに、PythonとLucene、およびその他のツールとそれらを統合する方法について理解を深めることができます。

統合の問題を解決しようとすることから始めないでください。ソフトウェアはいつでも統合できます。それがオペレーティングシステムが行うことです。ソフトウェアを統合します。「より緊密な」統合が必要な場合もありますが、それが最初に解決する問題ではありません。

解決すべき最初の問題は、検索や概念など、古いコマンドラインアプリケーションとして機能するものを取得することです。または、アプリケーションのペアは、ファイルを渡すことによって一緒に編成するか、OSパイプなどと一緒に編成します。

後で、ユーザーエクスペリエンスをシームレスにする方法を試してみることができます。

しかし、統合から始めたり、統合の質問のために失速したりしないでください。統合を脇に置いて、何かを機能させます。

于 2010-10-23T13:56:42.217 に答える
1

これは非常に難しい問題であり、常に適切な結果が得られるような方法で解決することはできません。結果が少なくとも予測可能になるように、代わりにいくつかの非常に単純な原則に固執することをお勧めします。基本的な形態論エンジンと同義語の辞書の2つが必要だと思います。

検索クエリが到着するたびに、単語ごとに

  1. 文字通りの一致を探す
  2. 形態学エンジンを使用して単語を「正規化/正規化」します。つまり、単数形、最初の形などにし、一致するものを探します
  3. 単語の同義語を探す

次に、入力された単語のすべての組み合わせ、つまり「大きな猫」​​、「大きな猫」​​、「巨大な猫」、「巨大な猫」などについて繰り返します。

実際、インデックスデータも標準形(単数形、最初の形など)で文字通りの形で保存する必要があります。

猫などの概念も動物ですが、ここで注意が必要です。そうでなければGoogleはすでに概念的な一致を返していたでしょうが、それは実際には機能しませんでした。

于 2010-10-23T12:48:54.467 に答える
1

まず、ゆっくりと始めて、最初にこの壮大な計画の断片を構築し、最小限の最初の製品を考案し、そこから継続することについてのここでのアドバイスのほとんどに同意します。次に、LuceneでWordnetの機能を使用したい場合は、LuceneクエリをWordnetとインターフェースするためのcontribパッケージがあります。それがピルセンに移植されたかどうかはわかりません。頑張って、気をつけてください。

于 2010-10-23T20:50:55.247 に答える
0

まず、アップルを入力するとパイナップル、オレンジ、パパイヤを返すPythonコードを記述します。セマンティックネットワークの「is」関係に焦点を当てることによって。その後、関係などを持って続行します。

最後に、学校のプロジェクトにかなり十分なコードを取得できると思います。

于 2010-10-23T14:10:50.107 に答える