Я пытаюсь отфильтровать свой набор данных, содержащий почти 50 тыс. Статей. Из каждой статьи я хочу отфильтровать стоп-слова и знаки препинания. Но этот процесс занимает много времени. Я уже отфильтровал набор данных, и это заняло 6 часов. Теперь у меня есть еще один набор данных для фильтрации, содержащий 300 тыс. Статей.
Я использую python в среде анаконды. Конфигурация ПК: Core i5 7-го поколения, 8 ГБ оперативной памяти и графический процессор NVIDIA 940MX. Чтобы отфильтровать мой набор данных, я написал код, который берет каждую статью в наборе данных, маркирует слова, а затем удаляет стоп-слова, знаки препинания и цифры.
def sentence_to_wordlist(sentence, filters="!\"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n?,।!.'0123456789০১২৩৪৫৬৭৮৯‘\u200c–“”…‘"):
translate_dict = dict((c, ' ') for c in filters)
translate_map = str.maketrans(translate_dict)
wordlist = sentence.translate(translate_map).split()
global c,x;
return list(filter(lambda x: x not in stops, wordlist))
Теперь я хочу сократить время для этого процесса. Есть ли способ оптимизировать это?