MesureRessemblanceToponymeSamal { @SuppressWarnings("unused") public static double mesureRessemblanceToponymeSamal(String string1, String string2) { List<String> tokenLigne = new ArrayList<String>(); List<String> tokenColonne = new ArrayList<String>(); ApproximateMatcher matcher = new ApproximateMatcher(); String toponyme, oronyme; MatriceConfiance matriceToken; StringTokenizer st1, st2; matcher.setIgnoreCase(true); matcher.setIgnoreAccent(true); double ecart = 0, ecartRelatif = 0, confiance = 0; string1 = matcher.process(string1); string1 = TraitementChainesDeCaracteres.ignorePunctuation(string1); string2 = matcher.process(string2); string2 = TraitementChainesDeCaracteres.ignorePunctuation(string2); st1 = new StringTokenizer(string1); st2 = new StringTokenizer(string2); matriceToken = new MatriceConfiance(string1, string2); for (int i = 0; i < matriceToken.nbRows; i++) { for (int j = 0; j < matriceToken.nbColumns; j++) { matriceToken.values[i][j] = 0; } } while (st1.hasMoreElements()) { tokenLigne.add(st1.nextToken()); } while (st2.hasMoreElements()) { tokenColonne.add(st2.nextToken()); } for (int i = 0; i < tokenLigne.size(); i++) { for (int j = 0; j < tokenColonne.size(); j++) { ecart = matcher.distance(tokenLigne.get(i).toString(), tokenColonne .get(j).toString()); ecartRelatif = 1 - (ecart / Math.max(tokenLigne.get(i).toString() .length(), tokenColonne.get(j).toString().length())); matriceToken.values[i][j] = ecartRelatif; } } confiance = matriceToken.confidenceMaxsRows(); return confiance; }  @SuppressWarnings("unused") static double mesureRessemblanceToponymeSamal(String string1, String string2);  }
@Test public void testToponyme() { System.out.println("=============== 1 ==================="); System.out.println("('Borde', 'la borde') : " + MesureRessemblanceToponymeSamal.mesureRessemblanceToponymeSamal("Borde", "la borde")); System.out.println("('Brosses', 'croix des brosses') : " + MesureRessemblanceToponymeSamal.mesureRessemblanceToponymeSamal("Brosses", "croix des brosses")); System.out.println("('Chaume-du-Roi', 'la chaume du roi') : " + MesureRessemblanceToponymeSamal.mesureRessemblanceToponymeSamal("Chaume-du-Roi", "la chaume du roi")); System.out.println("('Maison-Rouge', 'maison rouge') : " + MesureRessemblanceToponymeSamal.mesureRessemblanceToponymeSamal("Maison-Rouge", "maison rouge")); System.out.println("('Saint-Roch', 'croix saint-roch') : " + MesureRessemblanceToponymeSamal.mesureRessemblanceToponymeSamal("Saint-Roch", "croix saint-roch")); System.out.println("('Ramisse', 'pont de la ramisse') : " + MesureRessemblanceToponymeSamal.mesureRessemblanceToponymeSamal("Ramisse", "pont de la ramisse")); System.out.println("('Pont-de-Colonne', 'pont de colomne') : " + MesureRessemblanceToponymeSamal.mesureRessemblanceToponymeSamal("Pont-de-Colonne", "pont de colomne")); }