python - tutorial - Uso de conjunto de datos para entrenamiento y prueba en NLTK
nltk tokenize (0)
Intento usar el algoritmo de Naive Bayes para hacer análisis sentimentales y estaba repasando algunos artículos. Como mencioné en casi todos los artículos, necesito entrenar mi algoritmo de Naive Bayes con algunos sentimientos precalculados.
Ahora, tengo un fragmento de código usando el módulo movie_review proporcionado con NLTK. El código es:
import nltk
import 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 = []
for w in movie_reviews.words():
all_words.append(w.lower())
all_words = nltk.FreqDist(all_words)
word_features = list(all_words.keys())[:3000]
def find_features(document):
words = set(document)
features = {}
for w in word_features:
features[w] = (w in words)
return features
featuresets = [(find_features(rev), category) for (rev, category) in documents]
training_set = featuresets[:1900]
testing_set = featuresets[1900:]
classifier = nltk.NaiveBayesClassifier.train(training_set)
print("Classifier accuracy percent:",(nltk.classify.accuracy(classifier, testing_set))*100)
Entonces, en el código anterior, tengo un conjunto de entrenamiento y un conjunto de prueba. Revisé el módulo movie_review y dentro del módulo de revisión de películas tenemos muchos pequeños archivos de texto que contienen reseñas.
- Por lo tanto, mi pregunta es: tuvimos el módulo de revisión de películas, lo importamos, entrenamos y probamos usando el módulo, pero ¿cómo podemos hacerlo cuando estoy usando un conjunto externo de datos de capacitación y un conjunto externo de datos de prueba?
- Además, ¿cómo está NLTK analizando el directorio movie_review que tiene tantos archivos de texto dentro de él? Como usaré http://ai.stanford.edu/~amaas/data/sentiment/ como mi conjunto de datos de entrenamiento, entonces necesito entender cómo se hace.