Word Sense Disambiguation: Algorithms and Applications