if you have clear picture of what kind of stop words you would want to removeyou can also pass list of them setting stop_words to "englishwill use set of english stop words to find out which ones they areyou can use get_stop_ words()sorted(vectorizer get_stop_words())[ : [' ''about''above''across''after''afterwards''again''against''all''almost''alone''along''already''also''although''always''am''among''amongst''amoungst'the new word list is seven words lighter[ 'actually' 'capabilities' 'contains' 'data' 'databases' 'images' 'imaging' 'interesting' 'learning' 'machine' 'permanently' 'post' 'provide' 'safe' 'storage' 'store' 'stuff' 'toy'without stop wordswe arrive at the following similarity measurement==post with dist= this is toy post about machine learning actuallyit contains not much interesting stuff ==post with dist= imaging databases provide storage capabilities ==post with dist= most imaging databases safe images permanently ==post with dist= imaging databases store data ==post with dist= imaging databases store data imaging databases store data imaging databases store data best post is with dist= post is now on par with post overallit hashowevernot changed much as our posts are kept short for demonstration purposes it will become vital when we look at real-world data stemming one thing is still missing we count similar words in different variants as different words post for instancecontains "imagingand "imagesit would make sense to count them together after allit is the same concept they are referring to we need function that reduces words to their specific word stem scikit does not contain stemmer by default with the natural language toolkit (nltk)we can download free software toolkitwhich provides stemmer that we can easily plug into countvectorizer