0

Pythonのストップワードのリストの方が速いのは何ですか:

 stopwords = ('a','and', 'etc')

またはファイルを使用して呼び出すには?

4

3 に答える 3

2

NLTKリストとしてストップワードがあります。

nltk.corpus.stopwords.words('english')

それがあなたが意図したものであるならば、それはストップワードを越えながらファイルを使用してそれから読み取るよりも速いです。

于 2012-12-29T17:33:33.047 に答える
1

ファイル操作は、通常のコード実行よりも常にはるかに遅くなります。したがって、必要なデータが十分に小さい場合は、ファイルを使用しないでください。

次のいずれかに該当する場合は、ファイルを使用します。

  • 実際のコードを変更せずに入力データを変更する必要があります
  • 処理する大量のデータ
  • データは別のプロセス/アプリケーションによって供給されています

ストップワードの数が限られていて、頻繁に変更する必要がない場合は、常に

stopwords = ('a','and', 'etc')
于 2012-12-29T17:33:19.737 に答える
1

をダウンロードしたくない場合は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
于 2012-12-29T18:20:14.367 に答える