Software for matching people based on their profile similarity
The algorithm uses NLP, SBERT semantic similarity, TF-IDF, and integer programming constraint optimisation to match people and then introduce to each other based on their profiles.
The assignments are computed based on persons' profile similarity and at the same time by considering that personal availability is not an infinite resource. By balancing these two contradicting aspects using a risk-averse strategy the algorithm maximises the satisfaction of everybody as equally as possible.
The algorithm is built for two non-profit organisations: EA Hub (Effective Altruism Hub) and AISS (AI Safety Support).
|
|
|
Simplify your life!
Simplify from human's perspective: it is the task of software to solve complex problems, especially when they have repetitive qualities or are of compositional nature. All this should be accomplished without excessively engaging the end user.
Simplify from the computer's perspective: it means restructuring the NP-hard tasks, which belong to the theoretically "intractable" class, in such a way that they become manageable. Often it is not possible to split such tasks into separate parts. Nevertheless it is possible to reduce computational complexity by finding structure and rules even where there initially seems none to be found. We also apply methods to "reduce" the volume of computations so that the same result is obtained requiring multiple orders of magnitude fewer operations compared to a solution without any special design.
| |