NLTKのコーパスを用いたストップワード除去(英語)[Python][NLP]

以下手順

In [1]: import nltk.corpus import stopwords
In [2]: stopWords = stopwords.words('english')

In [3]: stopWords
Out[3]: ['i', 'me', 'my', 'myself', 'we', 'our', (省略)]

In[4]: len(stopWords)
Out[4]: 179

In[5]: words = ["he", "gets", "an", "apple"]

In[6]: [w for w in words if w not in stopWords]
Out[6]: ['gets', 'apple']

終わり。


LookupErrorが発生した場合の対処法

In[1]: from nltk.copus import stopwords
In[2]: stopWords = stopwords.words('english')
Out[2]:
LookupError: 
**********************************************************************
  Resource stopwords not found.
  Please use the NLTK Downloader to obtain the resource:

import nltk
nltk.download('stopwords')
  
  Searched in:
    - '/home/hoge/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
    - '/usr/nltk_data'
    - '/usr/lib/nltk_data'
**********************************************************************

LookupError発生時は以下のコマンドを入力し、コーパスをダウンロードしエラー回避。

In[1]: import nltk
In[2]: nltk.download('stopwords')

Proxy下の場合は、エラーがでる。

In[1]: nltk.download('stopwords')
[nltk_data] Error loading stopwords: <urlopen error [Errno -5] No
[nltk_data]     address associated with hostname>
Out[1]: False

Proxy下の場合は、一旦ターミナルに戻って、以下のコマンドを打ってエラー回避。

# コーパスのダウンロード
$ sudo -E python -m nltk.downloader -d /home/hoge/nltk_data all