You can use Cambridge Dictionaries to verify human words. In this case, if you find a "human valid" word you can skip it.
As the documentation says, to use the library, you need to initialize a request handler and an API object:
DefaultHttpClient httpClient = new DefaultHttpClient(new ThreadSafeClientConnManager()); SkPublishAPI api = new SkPublishAPI(baseUrl + "/api/v1", accessKey, httpClient); api.setRequestHandler(new SkPublishAPI.RequestHandler() { public void prepareGetRequest(HttpGet request) { System.out.println(request.getURI()); request.setHeader("Accept", "application/json"); } });
To use the "api" object:
try { System.out.println("*** Dictionaries"); JSONArray dictionaries = new JSONArray(api.getDictionaries()); System.out.println(dictionaries); JSONObject dict = dictionaries.getJSONObject(0); System.out.println(dict); String dictCode = dict.getString("dictionaryCode"); System.out.println("*** Search"); System.out.println("*** Result list"); JSONObject results = new JSONObject(api.search(dictCode, "ca", 1, 1)); System.out.println(results); System.out.println("*** Spell checking"); JSONObject spellResults = new JSONObject(api.didYouMean(dictCode, "dorg", 3)); System.out.println(spellResults); System.out.println("*** Best matching"); JSONObject bestMatch = new JSONObject(api.searchFirst(dictCode, "ca", "html")); System.out.println(bestMatch); System.out.println("*** Nearby Entries"); JSONObject nearbyEntries = new JSONObject(api.getNearbyEntries(dictCode, bestMatch.getString("entryId"), 3)); System.out.println(nearbyEntries); } catch (Exception e) { e.printStackTrace(); }