2016-01-27 17 views
6

Mam zamiar zrobić pewne dostrajanie danych na moich danych.Jak przewidzieć prawidłową nazwę kraju dla nazwy podanego przez użytkownika kraju?

Sytuacja - Posiadam dane, które mają pole country. Zawiera nazwy krajów wprowadzanych przez użytkownika (może zawierać błędy ortograficzne lub inne nazwy krajów dla tego samego kraju, jak USA/USA/Stany Zjednoczone dla USA). Mam listę prawidłowych nazw krajów.

Co chcę - Aby przewidzieć, który jest najbliższy kraj, do którego się odnosi. Na przykład - jeśli podasz U.S., zmieni się na USA (poprawna nazwa kraju na naszej liście).

Czy jest jakiś sposób mogę to zrobić za pomocą Java lub opennlp lub jakiejkolwiek innej metody?

Odpowiedz

3

Można użyć Getty API. Otrzymasz skróty nazwy kraju. Po prostu graj na tym API.

LUB

Można również użyć Levenshtein Distance aby uzyskać większość najbliższy nazwę kraju.

Wypróbuj to. Pomoże Ci.

+0

Odległość Levenshteina jest przydatna !! Ale problem jest taki, że w przypadku kraju takiego jak "USA", jeśli dane mają "Stany Zjednoczone", odległość będzie większa niż to, co powinno być !! – AngryLeo

+0

@AyushBanka: Tym razem możesz użyć interfejsu API, który dodałem w odpowiedzi. Ten [kod Git] (https://gist.github.com/maephisto/9228207) może ci pomóc. Możesz dodać swoje. – iNikkz

0

Możesz wypróbować funkcję automatycznego uzupełniania lokalizacji Google w swoim polu tekstowym lub wybrać. jeśli użyjesz tego API to otrzymasz google jak auto complete intellisence podczas pisania. visit link

+0

Chcę dokonać dostrajania danych na zapleczu z danymi, które mam. Nie jestem pewien, czy funkcja automatycznego uzupełniania będzie pomocna. Popraw mnie jeśli się mylę. – AngryLeo

0

Jeśli masz dane miasta lub stanu, które są odkażone, możesz sprawdzić stan kraju.

Można również zdefiniować aliasy na liście nazw krajów i wskazać aliasy do preferowanej notacji. Na przykład Stany Zjednoczone, Stany Zjednoczone i Stany Zjednoczone są aliasami USA. Można spowodować, że program uzupełni bazę danych alias, aby uległa poprawie w miarę jej używania. Możliwe, że wykonujesz wiele przekazów danych, a także bierzesz pod uwagę pewną ilość pracy ręcznej.

Powiązane problemy