1

すべてのコンテンツ ワードを頻度の高い順に表示するスクリプトを作成する必要があります。最も頻繁に使用される 10 個のコンテンツ ワードが必要です。したがって、コーパスの最も頻繁に使用される 10 個のワードのリストを作成する必要があるだけでなく、コンテンツ ワード (および句読点など) を除外する必要もあります。私がこれまでに持っているものは次のとおりです

fileids=corpus.fileids ()
text=corpus.words(fileids)
wlist=[]
ftable=nltk.FreqDist (text)
wlist.append(ftable.keys () )

これにより、すべての単語が頻度の高い順に並べられた非常にきれいなリストが得られますが、関数の単語を除外するにはどうすればよいでしょうか?

ありがとうございました。

4

1 に答える 1

1

一連の単語 (ストップワード) を除外したいと考えています。このSOの回答から核となるアイデアを取り入れてください:

コードに数行追加する必要があります。

fileids=corpus.fileids ()
text=corpus.words(fileids)

次の行を追加します: ストップワードのリストを作成し、それらをテキストから除外します

#get a list of the stopwords
stp = nltk.corpus.stopwords.words('english')

#from your text of words, keep only the ones NOT in stp
filtered_text = [w for w in text if not w in stp]

さて、あなたがするように続けてください

wlist=[]
ftable=nltk.FreqDist (filtered_text)
wlist.append(ftable.keys () )

それが役立つことを願っています。

于 2013-01-23T21:04:04.813 に答える