[PYTHON] Créez rapidement des données de classification de documents à l'aide de NLTK

J'ai créé un classificateur en appelant des manuels et des articles, alors j'aimerais voir s'il peut être bien classé. Dans un tel cas, je pense qu'il est facile de créer des données d'évaluation en utilisant le corpus fourni par NLTK. Un corpus de critiques de films est fourni pour les données de classification des documents. Une critique de film intitulée "pos" ou "neg" est convertie en une simple identité {0, 1} indiquant si elle contient ou non un mot.

import nltk
from nltk.corpus import movie_reviews

def document_features(document, word_features):
    document_words = set(document)
    features = {}
    for word in word_features:
        if word in document_words:
            features[word] = 1 
        else: features[word] = 0 
    return features

def dataset():
    d = []

    freqdist = nltk.FreqDist()
    for category in movie_reviews.categories():
        for fileid in movie_reviews.fileids(category):
            for word in movie_reviews.words(fileid): freqdist.inc(word.lower())

    word_features = freqdist.keys()
    for category in movie_reviews.categories():
        for fileid in movie_reviews.fileids(category):
            fv = document_features(movie_reviews.words(fileid), word_features)
            x_i = [v for k, v in sorted(fv.items(), key=lambda f: f[0])]
            if category == 'pos':
                y_i = 1 
            elif category == 'neg':
                y_i = -1
            d.append((y_i, x_i))
    return d

Recommended Posts

Créez rapidement des données de classification de documents à l'aide de NLTK
[PyTorch] Introduction à la classification de documents à l'aide de BERT
[PyTorch] Introduction à la classification des documents japonais à l'aide de BERT
Créer des données d'imprimante 3D (fichier STL) à l'aide de CadQuery
Créer un analyseur de données binaires à l'aide de Kaitai Struct
Créer un bot de collecte de données en Python à l'aide de Selenium
Créez des données factices à l'aide des packages NumPy et Faker de Python
Analyse des données à l'aide de xarray
Nettoyage des données 2 Nettoyage des données à l'aide de DataFrame
Nettoyage des données à l'aide de Python
Créer des données de polyèdre régulières
Créez instantanément un diagramme de données 2D à l'aide de matplotlib de python
Créez rapidement une API avec Python, lambda et API Gateway à l'aide d'AWS SAM
Créez rapidement des données pour l'étiquetage des séries (balisage de participation)
J'ai essayé d'obtenir rapidement des données d'AS / 400 en utilisant pypyodbc