вчера я писал здесь о создании модели текстовой линейной регрессии для прогнозирования настроений, мне интересно, что после перевода текста в нижний регистр, удаления любых стоп-слов/пунктуации и чисел у меня остаются странные линии на некоторых из моих текстовых функций.
['_______',
'__________',
'__________ pros',
'____________',
'____________ pros',
'_____________',
'_____________ pros',
'aa',
'aa waist',
'ab',
'abdomen',
'ability',
'able',
'able button',
'able buy',
Я думаю, это потому, что вместо знаков препинания и цифр я заменил их пробелом? я все еще не совсем уверен.
Другой вопрос: как мне правильно структурировать это для линейной регрессии? должен ли я представлять каждое предложение столбцом их функций и передавать его в сеть? но как бы я справился, если матрица разрежена?
Извините, я просто узнаю больше о предварительной обработке текста
вот мои шаги по чистке: давайте предположим, что предложение выглядит так: «это платье из прекрасной платины женственно и идеально сидит, его легко носить и оно удобное!» настоятельно рекомендую!'
нижний регистр
AllSentences['Sentence'] = AllSentences['Sentence'].map(лямбда x: x.lower())
2.удалить стоп-слова
stop = stopwords.words('english')
AllSentences['Sentences_without_stopwords'] = AllSentences['Sentence'].apply(lambda x: ' '.join([word for word in x.split() if word not in (stop)]))
3.удалить номера
AllSentences['Sentences_without_stopwords_punc'] = AllSentences['Sentences_without_stopwords'].apply(lambda x: re.sub(r'[^\w\s]', '',x))
AllSentences['Sentences_without_stopwords_punc'] = AllSentences['Sentences_without_stopwords_punc'].apply(lambda x: re.sub(r'\d+', '',x))
разделение тестов/поездов, tfidvectorise
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.30, random_state=42) vect_word = TfidfVectorizer(max_features=20000, lowercase=True, analyzer='word',stop_words= 'english',ngram_range=(1,3),dtype=np.float32) tr_vect = vect_word.fit_transform(X_train) ts_vect = vect_word.transform(X_test)
который дал мне приведенный выше вывод для имен функций?