Data Cleaning, refining etc
What you are trying to do is text normalization, which is a part of NLP pipeline.

To successfully preprocess your data, please try this below:


Install ekphrasis

pip install ekphrasis

Apply seg &amp; spell correction:

from ekphrasis.classes.spellcorrect import SpellCorrector
from ekphrasis.classes.segmenter import Segmenter
sp = SpellCorrector(corpus="English")
seg_eng = Segmenter(corpus="English") 

words_to_correct = ['Carpanter','Carepnter','Carpentor','Labourer','Labor','Labour','Housewife','House Wife','housewife.']
for word in words_to_correct:
    segmented = seg_eng.segment(word)
    corrected = sp.correct(segmented)
    print(word + " -&gt; " + corrected)



Outputs as:

Carpanter -&gt; carpenter
Carepnter -&gt; carpenter
Carpentor -&gt; carpenter
Labourer -&gt; labourer
Labor -&gt; labor
Labour -&gt; labour
Housewife -&gt; housewife
House Wife -&gt; housewife
housewife. -&gt; housewife


 
Note: Check this amazing work and paper if you are interested in!