Archives par étiquette : Apprentissage Automatique

Onomastique appliquée à la validation de contacts téléphoniques

La reconnaissance du genre ou de l’origine des noms personnels a de nombreuses applications concrètes. Dans le domaine de la traduction automatique, il est nécessaire de reconnaître qu’un nom représente un sujet animé et son genre pour faire les bons accords. Par exemple, “Mary was tired” pourrait se traduire “Marie était lasse” ou “Marie était fatiguée” – mais il sera nécessaire, en français, d’accorder le genre au prénom.

Une application plus étonnante : une société dans le domaine du tourisme utilise NamSor Origin pour améliorer la qualité de ses données clients, et en particulier le formatage des numéros de téléphone à l’international.

Le tourisme est un secteur global par définition … chaque jour des réservations sont effectuées dans tous les pays, pour le train, l’avion, l’hôtel, AirBnB, … ces réservations sont consolidées par quelques acteurs dans des bases de données qui permettent la fluidité des transactions et des confirmations. La capture des données est faite dans des dizaines de langues différentes, quelque fois par des sociétés implantées très localement, rachetées par des acteurs plus importants ou intégrées “au forceps” dans des applications dont la vocation est internationale. Seriez vous surpris que la qualité des données ne soit pas toujours parfaite à l’arrivée?

Environ 10% des clients ou prospects des différentes bases de données consolidées dans le “Global Distribution System (GDS)” ont des numéros de téléphone erronés ou mal formatés, le plus souvent avec un numéro local. Ces numéros, une fois intégrés dans les différents “Hotel Property Management Systems (PMS)” sont inexploitables : impossible d’y faire parvenir
une offre commerciale ou une confirmation.

Il existe pourtant différents utilitaires permettant de valider des numéros de téléphone, en amont ou en aval de la capture de données. En amont, le plus souvent, ce sont les expressions régulières (Regexp) qui permettent de guider l’utilisateur lors de la saisie du numéro de téléphone. Par exemple, pour valider un numéro français, on pourra utiliser l’expression suivante : “(0|\+33|0033)[1-9][0-9]{8}”. En aval, il existe différentes librairies et APIs qui permettent de valider un numéro, donc une fournie par Google en Open Source, libphonenumber (sur GitHub https://github.com/googlei18n/libphonenumber, démo en ligne https://libphonenumber.appspot.com/). Cet utilitaire permet de vérifier n’importe quel numéro de téléphone et de le formater au standard international (norme E164), à condition de connaître le pays. Or, de nombreux voyageurs d’affaires utilisent des numéros de téléphone qui ne correspondent pas à leur pays de résidence, et c’est souvent une cause d’erreur.

Cette entreprise du tourisme utilise NamSor Origin pour reconnaître l’origine probable du nom: “Elena Rossi” est un nom Italien, donc avec le numéro de téléphone “339 7308986” il serait logique de tester en priorité s’il peut s’agir d’un numéro de téléphone italien. Ce cas d’usage a permis à ce client d’améliorer de 25% l’envoi des SMS de confirmations, dans les cas compliqués.

Ce cas d’usage innovant de la technologie onomastique NamSor nous a conduit à développer une nouvelle API, spécialisée dans la validation des numéros de téléphone à l’international, en combinant le nom personnel, mais aussi le formatage du numéro (le préfixe, le nombre d’espaces, s’il existe un +, des tirets, des parenthèses, etc.)

Vous pouvez l’essayer en ligne (https://apiphonenumber.com/) ou cloner le repo GitHub (https://github.com/namsor/phone-validation). Le principe d’apprentissage par le “Machine Learning” est assez amusant : l’API s’appuie elle aussi sur Google libphonenumber pour la validation du numéro de téléphone, mais elle s’appuie aussi sur un Classificateur Bayes Naïf pour reconnaître le pays / le code téléphonique le plus probable. Chaque fois qu’un numéro peut être validé par libphonenumber, l’apprentissage est renforcé. Résultat, pour ces 10% de numéros de téléphones mal formatés, l’API permet de valider 95% à 99% vers un numéro international correct. Et comme l’API apprend tous les jours 24h/24, elle s’améliore sans cesse.

Lire cet article en anglais.