How do I group similar type of skills together?

Suppose that I have a file which has thousands of skills starting from A-Z. Now, I would like to create a model that can group similar skills together (example neural network and SVM can group together). I know that I can use NLP for this problem, but I'm not sure about the algorithm that I can use to get the best result.

I'm new to NLP so any help is greatly appreciated.

2. You can look at semantic similarity. You can use pre-trained word embeddings to map the words to a new vector space where you can calculate the distance between the word embeddings, e.g. with word2vec or other implementations. Alternatively, you can use a dictionary/corpus (e.g. https://www.nltk.org/index.html) that provides you a word taxonomy that allows you to compute semantic similarity between words via relationships like synonyms etc. See here for different approaches.