2016-01-27 7 views
6

私は自分のデータに対していくつかのデータ調整を行う予定です。ユーザー提供の国名の正しい国名を予測するにはどうすればよいですか?

状況 -Iには、フィールドがcountryであるデータがあります。これにはユーザー入力の国名が含まれています(スペルミスや、米国のような同じ国の異なる国名が米国の場合は米国/米国/米国が含まれている可能性があります)。私は正しい国名のリストを持っています。

私が欲しいもの - それが参照している最も近い国を予測する。たとえば、U.S.が指定されている場合、それはUSA(私たちのリストの国名が正しい)に変更されます。

私はそれをJavaやopennlpなどの方法で使用できますか?

答えて

3

Getty APIを使用できます。それはあなたに国名の略語を与えるでしょう。このAPIを試してみてください。

OR

また、ほとんどの最も近い国名を取得するためにLevenshtein Distanceを使用することができます。

これを試してください。が手伝う。

+0

Levenshtein Distanceは便利です!しかし、問題は、データがある場合USA'は、 'ユナイテッドStates'が、その後の距離は、それがどうあるべきかよりもはるかに来る'のような国のために、です! – AngryLeo

+0

@AyushBanka:その時、私は答えに追加したAPIを使うことができます。この[Git code](https://gist.github.com/maephisto/9228207)が役立ちます。あなたは自分で追加することができます。 – iNikkz

0

テキストボックスにGoogleの自動完全な位置情報APIを表示したり、選択したりできます。 このapiを使用する場合は、入力中に自動完全インテリジェンスのようなGoogleを取得します。 visit link

+0

私はオートコンプリートが参考になるかどうかわからないのですgot.Iしたデータをバックエンドでのデータのチューニングをしたいです。私が間違っていると私を訂正してください – AngryLeo

0

都市または州の情報が消毒されている場合は、国を調べることができます。

また、国名のリストにエイリアスを定義し、エイリアスを優先表記にすることもできます。たとえば、米国、米国、米国はすべて米国のエイリアスです。プログラムをエイリアスデータベースに追加して、使用時に改善されるようにすることができます。データに対して複数のパスを実行している可能性があり、手作業の一定量が関与しています。