0

これは私にとって新しい分野であり、これが私が探しているものであるかどうかはわかりません。データベースをクエリするときに制約を変更する必要があります。この例は、求人検索Webアプリです。ユーザーが特定の特性を持つ半径50マイルの仕事を探している場合、完全に一致するわけではないが、彼に非常に関連性のある仕事を取得する必要があります。

ほぼ100%一致しているが、52マイル離れているユーザーのジョブがある場合は、それを取得してユーザーに提示する必要もあります(50の2マイルはわずか4%多いため、関連性を考慮します)。

アイデアは新しい就職活動ウェブアプリを開発することであり、うまくいけばそれは成長するでしょう。企業はサイトで求人情報を作成し、ユーザーがこれらを検索します。それはほとんどいつものことです。違いは検索メカニズムにあります。単純なdbクエリよりも少し賢いので、後でフィルタリングするためにより多くの結果を取得する方法を知る必要があります。(saly>25000またはsalary<26000のジョブから*を選択)のような制限がある場合、100%一致しているが、給与が24999であるジョブは、近いため、結果に表示されません。アイデアは、ベイジアンネットワークなどを介して、データベース内の近くにあるすべてのジョブを取得し(そのため、制約をより大きな値に緩和する必要があります)、ユーザーとの関連性を判断することです。

したがって、この主題に関する詳細情報を探す場所、これらの制約を緩和してより広い検索を行い、ベイジアンネットワークを介してユーザーとの関連性を計算して表示する方法について、いくつかのポインターが必要です。

誰か助けてもらえますか?ありがとうございました

4

1 に答える 1

1

一般的なアプローチの 1 つは、最初の段階で簡単な検索を行い、そこから得られる結果をより詳細に確認することです。あなたの例では、クエリ用語をそれぞれ 10% ずつ変更するだけなので、(select * from jobs where salary > 25000 or salary < 26000) は (select * from jobs where salal > 22500 or salary < 23400) になります。ところで、本当に意味がありますか、ここですか、それともそうあるべきですか?

次に、最初の段階を通過した回答を取得し、理想値からのパーセンテージ差の二乗和のようなもので並べ替え、上位 N の回答をユーザーに表示します。それは簡単で、何かのベイジアン計算としてそれを正当化する正規分布を含む引数を見つけることができるかもしれません。

于 2012-09-12T04:22:25.353 に答える