Удаление стоп-слов из списка строк в Python

Чтобы удалить стоп-слова из списка строк в Python, вы можете использовать различные методы. Вот несколько подходов:

  1. Использование NLTK (набора инструментов естественного языка):
    NLTK — это популярная библиотека Python для задач обработки естественного языка. Он предоставляет предопределенный набор стоп-слов для разных языков.

    from nltk.corpus import stopwords
    def remove_stopwords(text_list, language='english'):
       stop_words = set(stopwords.words(language))
       filtered_list = [word for word in text_list if word.lower() not in stop_words]
       return filtered_list

    Пример использования:

    text_list = ['This', 'is', 'a', 'sample', 'sentence']
    filtered_list = remove_stopwords(text_list)
    print(filtered_list)  # Output: ['sample', 'sentence']
  2. Использование spaCy:
    spaCy — еще одна мощная библиотека для обработки естественного языка. Он обеспечивает встроенную поддержку удаления стоп-слов.

    import spacy
    def remove_stopwords(text_list, language='english'):
       nlp = spacy.load(language)
       filtered_list = [token.text for token in nlp(' '.join(text_list)) if not token.is_stop]
       return filtered_list

    Пример использования:

    text_list = ['This', 'is', 'a', 'sample', 'sentence']
    filtered_list = remove_stopwords(text_list)
    print(filtered_list)  # Output: ['sample', 'sentence']

Обратите внимание, что для методов NLTK и spaCy вам может потребоваться установить необходимые библиотеки с помощью pip.