Я создал функцию для удаления стоп-слов из списка предложений. Каждая запись в списке - это отдельное предложение. Однако выводом является печать каждой буквы слов и удаление некоторых букв.
Код ниже - это то, что я пробовал. Я думаю, что он печатает букву за буквой, потому что это один дополнительный цикл, чем необходимо, но когда я удаляю внутренний цикл, он выводит только предложения без каких-либо заметных изменений.
import pandas as pd
from nltk.corpus import stopwords
def remove_stop(data):
filtered_line = []
filtered_data = []
stop_words = set(stopwords.words("english"))
for line in data:
for word in line:
if word not in stop_words:
filtered_line.append(word)
filtered_data.append(filtered_line)
filtered_line = []
return filtered_data
data = pd.read_csv("text.csv") # each row is a sentence or sentences
title = list(data['Title'])
clean = remove_stop(title)
print(type(clean))
print(clean)
Пример ввода: [«Лошадь была в сарае», «Желтая куртка укусила мальчика», «Дом был красным»]
Предполагаемый результат: ["сарай для лошадей", "желтый пиджак, мальчик", "красный дом"]
Фактический результат: [['T', 'h', 'e', '', 'h', 'r', 'e', '', 'w', '', '', 'h ',' e ',' ',' b ',' r ',' n '], [' T ',' h ',' e ',' ',' e ',' l ',' l ', 'w', '', 'j', 'c', 'k', 'e', '', 'b', '', 'h', 'e', '', 'b'], [ 'T', 'h', 'e', '', 'h', 'u', 'e', '', 'w', '', 'r', 'e']]