The aim of this post is to share my experience in implementing a people search engine for a multicultural environment such as the Asian Development Bank. In this post, I will focus on “searching a person” only - the part “search for an expert” will be the subject of the next post.

Cultural differences make that searching for a person is often hard. In Asia, you can’t even imagine counting all the existing cultures. Even if your workplace assumes that every employee uses English for their everyday job, differences in prononciation and context transform a simple task in a nightmare. Usually this ends up calling a Friend of a Friend who still remembers that person that you need to call.

In terms of off-the-shelf solutions you may find some relief in your default digital workplace (what a chance to be able to browse the profile pictures all your colleagues!) but…

Why searching for people is so difficult?

Because of typos, misspellings, phonetics, incompatible vocabulary, incomplete or incorrect contextual information. At least! 😊

My personal list to solve this problem is this one:

Technically speaking, solving these problems requires the use of several techniques at the same time - phonetical matching along with trigrams and string distances for example.

Every technique will be producing results for a specific use case (ie. searching for a phoneme vs searching for a trigram), hence it will be paramount to research the best weights to blend the results of different techniques.

Always speaking of weights, the contextual information about a person should concur in finding her - just not all the context information is equivalent (the system identifier of the person has negligeable importance compared to the first name; the department acronym could be more important than the department long name; is it easy, in your context, to define whether the division or the department is more important?).

How can you determine if you are doing this right?