Все,
У меня есть текст, который мне нужно очистить, и у меня есть небольшой алгоритм, который "в основном" работает.
def removeStopwords(self, data):
with open(r'stopwords.txt') as stopwords:
wordList = []
for i in stopwords:
wordList.append(i.strip())
charList = list(data)
cat = ''.join(char for char in charList if not char in wordList).split()
return ' '.join(cat)
Возьмите первую строку на этой странице.http://en.wikipedia.org/wiki/Paragraph и удалите все символы, которые нам не интересны, в данном случае это все не алфавитно-цифровые символы.
Абзац (от греческого paragraphhos, «писать рядом» или «написано рядом») - это отдельная единица дискурса в письме, касающегося определенного момента или идеи.Абзац состоит из одного или нескольких предложений. [1] [2]Начало абзаца указывается в начале новой строки.Иногда первая строка с отступом.В разное время начало абзаца указывалось пилигроем: *.
Вывод выглядит довольно хорошо, за исключением того, что некоторые слова неправильно объединены, и я не уверен, как это исправить.
Абзац из греческого параграфа, который пишется рядом или написан рядом, представляет собой самостоятельную единицу
Обратите внимание, что слово «автономный» было «автономным».
РЕДАКТИРОВАТЬ: Содержимое файла стоп-слов, который представляет собой просто набор символов.
!$% ^, & * () {} [] <</p>
,./ |\?~ `:;"
Оказывается, мне вообще не нужен список слов, потому что я действительно пытался удалить символы, которые в данном случае были знаками препинания.
cat = ''.join(data.translate(None, string.punctuation)).split()
print ' '.join(cat).lower()