Я тестирую приведенный ниже код.
features = df[['body','review_text']].values
labels = df['num_reviews'].values
processed_features = []
for sentence in range(0, len(features)):
# Remove all the special characters
processed_feature = re.sub(r'\W', ' ', str(features[sentence]))
# remove all single characters
processed_feature= re.sub(r'\s+[a-zA-Z]\s+', ' ', processed_feature)
# Remove single characters from the start
processed_feature = re.sub(r'\^[a-zA-Z]\s+', ' ', processed_feature)
# Substituting multiple spaces with single space
processed_feature = re.sub(r'\s+', ' ', processed_feature, flags=re.I)
# Removing prefixed 'b'
processed_feature = re.sub(r'^b\s+', '', processed_feature)
# Converting to Lowercase
processed_feature = processed_feature.lower()
processed_features.append(processed_feature)
Я обнаружил ошибку в этой строке:
processed_feature = re.sub(r'\W', ' ', str(features[sentence]))
Сообщение об ошибке: TypeError: 'str' object is not callable
Код, который я тестирую, взят по этой ссылке.
https://stackabuse.com/python-for-nlp-sentiment-analysis-with-scikit-learn/
Какой самый простой способ исправить это? Или есть ли вообще лучший способ выполнить это упражнение по очистке текста? Спасибо.