Pythonのストップワードのリストの方が速いのは何ですか:
stopwords = ('a','and', 'etc')
またはファイルを使用して呼び出すには?
NLTK
リストとしてストップワードがあります。
nltk.corpus.stopwords.words('english')
それがあなたが意図したものであるならば、それはストップワードを越えながらファイルを使用してそれから読み取るよりも速いです。
ファイル操作は、通常のコード実行よりも常にはるかに遅くなります。したがって、必要なデータが十分に小さい場合は、ファイルを使用しないでください。
次のいずれかに該当する場合は、ファイルを使用します。
ストップワードの数が限られていて、頻繁に変更する必要がない場合は、常に
stopwords = ('a','and', 'etc')
をダウンロードしたくない場合はnltk
、ストップワード ファイルがどこにでもあります。通常、1 行に 1 つの単語がリストされているため、それらを独自の構造に簡単に配置できます。
stopwords = ()
for line in open('stopwordfile'):
stopwords += (line,)
ただし、タプル内の単語を検索するよりも高速なのは、おそらくデフォルトの戻り値を使用して辞書を使用することです。
stopdict = {w:True for w in stopwords}
for word in text_you_want_to_index:
if word not in stopdict: # or: not stopdict.get(word, False): don't know which one more performant
print word