Я пытаюсь перебрать кучу документов, я должен поместить каждое слово в список для этого документа. Я делаю это так. stoplist
это просто список слов, которые я хочу игнорировать по умолчанию.
texts = [[word for word in document.lower().split() if word not in stoplist]
for document in documents]
Я вернулся со списком документов, и в каждом из этих списков есть список слов. Некоторые из слов все еще содержат пунктуацию или другие аномалии. Я думал, что смогу сделать это, но, похоже, он не работает правильно
texts = [[word.rstrip() for word in document.lower().split() if word not in stoplist]
for document in documents]
Или
texts = [[word.rstrip('.,:!?:') for word in document.lower().split() if word not in stoplist]
for document in documents]
Мой другой вопрос заключается в следующем. Я могу видеть такие слова, где я хочу сохранить слово, но выбросить конечные числа / специальные символы.
agency[15]
assignment[72],
you’ll
america’s
Таким образом, чтобы убрать большую часть других шумов, я подумал, что мне следует продолжать удалять символы с конца строки до тех пор, пока она не станет a-zA-Z или если в строке больше специальных символов, чем буквенных символов, бросьте ее , Вы можете видеть, хотя в моих последних двух примерах конец строки является альфа-символом. Так что в этих случаях я должен просто игнорировать слово из-за количества специальных символов (больше, чем альфа-символов). Я подумал, что мне нужно просто поискать конец строки, потому что я хотел бы сохранить дефисные слова нетронутыми, если это возможно.
По сути, я хочу удалить все конечные знаки препинания для каждого слова и, возможно, подпрограмму, которая обрабатывает случаи, которые я только что описал. Я не уверен, как это сделать или если это лучший способ.