'not in stop'メソッドを追加するとソートされないリストの理解度が得られます。基本的には、このNLTKのストップワードを含めると、以前は持っていたソート機能が失われます。誰かが私が間違っていたことを指摘できますか?ソートされたキー値ラムダが動作しない
ここでは、参照のためにコードにすべてを含めました。
EDITEDは:/
('white', 'people') 4362
('.', 'i') 3734
('in', 'the') 2880
('of', 'the') 2634
('to', 'be') 2217
('all', 'white') 1778
'ではない停止で' なし
('or', 'irish') 3
('put', 'one') 1
('was', 'repealed') 1
('please', '?') 6
('contact', 'your') 2
('wear', 'sweats') 1
'ではない停止で' あなたが見ることができるようにソートwはここで
from nltk import word_tokenize
from nltk.corpus import stopwords
import string
stop = stopwords.words('english') + list(string.punctuation)
f = open('review_text_all.txt', encoding="utf-8")
raw = f.read().lower().replace("'", "").replace("\\", "").replace(",",
"").replace("\ufeff", "")
tokens = nltk.word_tokenize(raw)
bgs = nltk.bigrams(tokens)
fdist = nltk.FreqDist(bgs)
for (k,v) in sorted(fdist.items(), key=lambda x: (x[1] not in stop),
reverse=True):
print(k,v)
は私の結果であり、作品は、一度だけ私は '停止していない'を削除する
'fdist'とどのようなご希望のソートされた出力は何ですか?最小の例を含める –
あなたの入力と希望の出力を投稿してください。 – Ajax1234
リストの並べ替えやフィルタリングを行いますか?ブール値の基準で並べ替えることは、あなたが期待するものをほぼ確実に生成しないためです。 – Guillaume