@mmrostami you could indeed try a fuzzy match if you have a list of all correct spellings.
You can also try and use a (local) LLM to let it clean and detect the correct names. You might have to see how to instruct the model to just give back the results and no big speech.