0
그래, NaiveBayes Movie Review Classifier를 교육 했으므로 ... (내가 복사하여 txt 파일에 붙여 넣은 웹 사이트에서) 부정적 리뷰에 대해 실행하면 'pos'를 얻는 ... 나는 틀린 무엇인가하고있다? 여기에 아래의 코드입니다 :부정적 리뷰에서 'pos'테스트 받기
import nltk, random
from nltk.corpus import movie_reviews
documents = [(list(movie_reviews.words(fileid)), category)
for category in movie_reviews.categories()
for fileid in movie_reviews.fileids(category)]
random.shuffle(documents)
all_words = nltk.FreqDist(w.lower() for w in movie_reviews.words())
word_features = list(all_words)[:2000]
def document_features(document):
document_words = set(document)
features = {}
for word in word_features:
features['contains({})'.format(word)] = (word in document_words)
return features
featuresets = [(document_features(d), c) for (d,c) in documents]
train_set, test_set = featuresets[100:], featuresets[:100]
classifier = nltk.NaiveBayesClassifier.train(train_set)
print(nltk.classify.accuracy(classifier, test_set))
classifier.show_most_informative_features(5)
>>>0.67
>>>Most Informative Features
contains(thematic) = True pos : neg = 8.9 : 1.0
contains(annual) = True pos : neg = 8.9 : 1.0
contains(miscast) = True neg : pos = 8.7 : 1.0
contains(supports) = True pos : neg = 6.9 : 1.0
contains(unbearable) = True neg : pos = 6.7 : 1.0
f = open('negative_review.txt','rU')
fraw = f.read()
review_tokens =nltk.word_tokenize(fraw)
docfts = document_features(review_tokens)
classifier.classify(docfts)
>>> 'pos'
UPDATE 여러 번 재 실행중인 프로그램을 한 후에는, 지금은 정확하게 누군가가 나에게 이유를 이해하는 데 도움이 ... 내 부정적인 리뷰가 부정적인 분류? 아니면이 평범한 마법인가?
NaiveBayes 분류 자만 사용하도록 과제가 지정되었습니다./ –
코드에 아무 문제가 없으며 기능을 향상시켜야합니다. 적중해야 할 특정 정확도 임계 값이 있습니까? – megadarkfriend
nah ... 실제로 이상한 것은 몇 번 다시 실행 한 후입니다 ... 실제로 부정적인 리뷰를 부정적인 것으로 분류합니다! 이것은 매우 이상합니다 ... 나는이 실행 스크린 샷을 찍어 내 과제 아래 게시 할 것입니다! 또한 정확도가 0.7로 상승했습니다! 이 마법이야? –