アルゴリズムを探していますが、問題の名前がわからないので何も見つかりません。うまくいけば、問題の私の説明は意味をなさない!単語とフレーズのリストに近い一致のリストを効率的に見つける
あなたが長いフレーズのリストを持っているとしましょう。各フレーズは単語のセットです。ユーザは単語のリストを入力し、そのリストはそのフレーズ内のすべての単語がそのリスト内に見つかるフレーズに「一致する」。リストの「スコア」は、一致するフレーズの数です。目標は、リストのスコアを最も向上させる単語のリストをユーザーに提供することです。
ここに簡単な例があります。我々は10個のフレーズ持っている:森の中で
- ウッドキャビン
- キャンプを
- キャンプキャビン
- 楽しいキャンプ
- ボン火災
- キャンプファイヤー
- スイミング穴
- 楽しいキャビン
- 木の火
- 暖炉
そして、ユーザーは、このリストを提供します:
キャンプ
- 木材
- 楽しい
- は、我々はフレーズ1と4と一致し、そのスコアがありますしかし、ユーザーが「キャビン」をリストに追加すると、さらに3つのフレーズが一致し、スコアが5になります。「火災」は2に追加されますスコア。
ほとんどの時間をかけてオプションを繰り返すことができるので、複雑な問題はほとんどありません。しかし、リストが数十万に増えると、数百ミリ秒もかかり始める。プロセスをより速くするためのインデックスを作成する方法があるはずだが、インデックスの構造を考えることはできないと思う。
このすべてを読む時間がかかった人は、ありがとう!うまくいけば誰かが私が話していることを知っているだろう。
リストに3つの要素しかない場合、なぜフレーズ1と4に一致するのですか? 「一致」とは何と見なされますか? – lyang