2

文字列 (名詞句) のリストがあり、それらからすべての有効な地理的位置を除外したいと考えています。これら (不要な場所の名前) のほとんどは、国、都市、または州の名前です。これを行う方法は何ですか?世界のすべての国、州、都市を含むオープンソースの参照テーブルはありますか?

望ましい出力の例: TREC4 : false、 Vienna : trueMinistry : false、 IBM : false、 Montreal : trueSingapore : true

この投稿とは異なり: Verify user input location string is a valid geographic location? 私はこれらのような文字列を多数 (~70 万) 持っているので、Google Geolocation APIはおそらく私にとって選択肢ではありません。

4

2 に答える 2

3

Yahoo の geoplanet データ、または geonames.org の geonames データを使用できます。世界の 500 万の地理的な場所を含む geoplanet TSV ファイルへのリンクは次のとおりです: https://developer.yahoo.com/geo/geoplanet/data/

さらに、ジオプラネット データは、地理的な場所のタイプ (都市、国、郊外など) と一意の ID を提供します。 https://developer.yahoo.com/geo/geoplanet/guide/concepts.html

このデータに存在する名前に対して、針の文字列を小文字でサニタイズ (特殊文字やその他の例外を削除) して一致させることができます。ファイル全体をスキャンしたくない場合は、最初にこのデータを処理して、mongodb や redis などの高速検索データベースに保存すると効果的です。

于 2016-01-09T12:32:55.847 に答える
1

次の 3 つのオプションを提案できます。

a) Alchemy API の使用: http://www.alchemyapi.com/ デモを試すと、フランス、ホノルルなどの場所で国または都市としてエンティティ タイプが指定されます。

b) TAGME の使用: http://tagme.di.unipi.it/ TAGME は、特定のテキスト内のすべてのエンティティを、対応するウィキペディアのページに接続します。ウィキペディアのページをクロールし、インフォボックスとフィルターを確認します

c) Wikipedia Miner の使用: これに関連するリンクを見つけることができませんでした。ただし、これも TAGME のように機能します。

3 つすべてを試して、各インスタンスで多数決を行うことをお勧めします。

于 2016-01-09T17:07:54.910 に答える