5

geonames データの場所を明確にするための最良の方法は何ですか?

geonames 検索用のスコアリング アルゴリズムがいくつかありますが、それらはオープン ソース化されておらず、非常に洗練されているかどうかもわかりません。(つまり、非常に人気があるのではなく、ウィキペディアの記事さえないsoma, caものを返します)Soma lake in CanadaSoma Neirbohood in san francisco

私がグーグル・スカラーで見つけたいくつかの作品もありますが、それらは非常に浅く、何かでスコアリングするような私のヒューリスティックに似ているようです( log(population) + 1000*hasWikipedia(article)+ isCity100+isCapital(10))。

私のドメインは旅行記事であるため、スコア関数は最も可能性の高い観光地 (都市、関心のある場所 (ディズニーランド、コロシアム、ビッグ ベン)) を提供する必要があります。

この分野の重要な記事や、Google マップ、yahoo、bing、さらには地名で使用されるアルゴリズムを知っていますか?

4

1 に答える 1

3

@yura、これはあなたが探しているものではありませんが、「soma ca」のようなクエリが San Fran の Soma を参照しているのか、カナダの Soma Lake を参照しているのかを一貫して明確にすることができる巧妙なアルゴリズムはないと思います。問題は、アルゴリズムが十分に洗練されていないことではありません。問題は、クエリ「soma ca」に十分な情報がないことです。

うまく表現できませんが、ここで情報理論的なことが起こっています。これは、ランダム データを可逆圧縮できないのと似ています。目的の出力を計算するための十分な情報が入力にありません。

人間があなたのクエリを手動で解釈したとしても、「soma ca」が SF の Soma を意味することになっていることを必ずしも理解するとは限りません。「ca」のような 2 文字の略語は、「自然に」外国ではなく米国の州を指しているかもしれませんが、その選択について根本的に「正しい」ものは何もなく、純粋な論理を使用して導き出すことはできません。log(population)これは、あなたが言及したアドホック ヒューリスティックと同様に、任意のドメイン固有のアドホック ルールです。

いくつかの可能な「解決策」 (ユーザーの心を読むことができるテレパシー コンピューターの設計は別として):

  1. 各クエリの可能な一致のリストをユーザーに提供します。彼らが選択したものを追跡し、後で他のユーザーが同じクエリを入力したときに、人気順に結果を並べ替えます。
  2. または、クエリ結果の人気に関するデータを大量に収集すると、機械学習アルゴリズムを使用してデータをマイニングし、そこからより優れたヒューリスティックを導き出すことさえできるかもしれません.
  3. または、アプリケーションを本番環境で使用する前に、最初に偽のクエリの本体を、そのようなクエリごとにアルゴリズムが生成する必要があると思われる結果と共にコンパイルすることもできます。次に、その上で機械学習アルゴリズムを使用します。
  4. 一連の偽のクエリと望ましい応答をコンパイルするか、実際のユーザーの選択からデータを取得し、そのデータを使用して、手動で設計およびコード化されたランキング ヒューリスティックの精度をベンチマークします。テスト データ セットで高い精度を達成するヒューリスティックが見つかるまで、新しいヒューリスティックを発明し続けます。
于 2012-07-03T14:08:46.973 に答える