'Tokenization/string cleaning for all datasets except for SST.
Original taken from https://github.com/yoonkim/CNN_sentence/blob/master/process_data'

def clean_str(self, string):

    string = re.sub("[^\xea\xb0\x80-\xed\x9e\xa3A-Za-z0-9(),!?\\'\\`]", '    ', string)
    string = re.sub("\\'s", "    's", string)
    string = re.sub("\\'ve", "    've", string)
    string = re.sub("n\\'t", "    n't", string)
    string = re.sub("\\'re", "    're", string)
    string = re.sub("\\'d", "    'd", string)
    string = re.sub("\\'ll", "    'll", string)
    string = re.sub(',', '    ,    ', string)
    string = re.sub('!', '    !    ', string)
    string = re.sub('\\(', '    \\(    ', string)
    string = re.sub('\\)', '    \\)    ', string)
    string = re.sub('\\?', '    \\?    ', string)
    string = re.sub('\\s{2,}', '    ', string)
    return string.strip().lower()
