Uncovering the hidden meaning of names