[PYTHON] Analyse des composants principaux avec Livedoor News Corpus --Préparation--

À propos de cet article

La dernière fois, j'ai essayé d'analyser les principaux composants des données textuelles. Je veux l'essayer avec différentes données textuelles, Je voudrais contester l'analyse des composants principaux à l'aide de Livedoor News Corpus publié par Ronwitt Co., Ltd.

En tant que prétraitement, je voudrais lire le contenu du fichier texte divisé pour chaque article dans l'ordre, effectuer une analyse morphologique, puis les combiner en un seul fichier csv.

La bibliothèque d'analyse morphologique a utilisé janome.

référence

Structure du répertoire du corpus d'actualités Livedoor

Si vous téléchargez le fichier à partir du lien ci-dessus et le décompressez, il y a 9 dossiers sous chaque catégorie, comme it-life-hack sous le dossier texte, et les articles de cette catégorie sont stockés dans 1 unité de fichier article 1 sous chaque dossier. Ça a été.

Programme de prétraitement

python


import pandas as pd
import numpy as np
import pathlib
import glob
from janome.tokenizer import Tokenizer
tnz = Tokenizer()

pth = pathlib.Path('c:/temp/text')

l = []
for p in pth.glob('**/*.txt') :
    #Ignorer sauf les données d'article
    if p.name in ['CHANGES.txt','README.txt','LICENSE.txt']:
        continue
        
    #Ouvrez les données de l'article et analysez la morphologie avec janome ⇒ Conserver dans la liste sous forme de 1 mot par ligne
    with open(p,'r',encoding='utf-8-sig') as f :
        l.extend([[p.parent.name, p.name, t.surface, t.part_of_speech] for s in f for t in tnz.tokenize(s)])

#Convertir la liste en bloc de données
df = pd.DataFrame(np.array(l))

#Donnez le nom de la colonne
df.columns = ['Classification des articles','nom de fichier','mot','Partie']

#Trame de données de sortie CSV
df.to_csv('c:/temp/livedoor_corpus.csv', index=False)

Résultat de sortie

Le résultat de sortie ressemble à ceci. 出力結果.png

Recommended Posts

Analyse des composants principaux avec Livedoor News Corpus --Préparation--
Analyse des composants principaux avec le corpus d'actualités Livedoor - Pratique--
Analyse des composants principaux avec Spark ML
Compression dimensionnelle par auto-encodeur et analyse des composants principaux
J'ai essayé d'analyser les principaux composants avec les données du Titanic!
Analyse en composantes principales (Analyse en composantes principales: ACP)
Défiez l'analyse des composants principaux des données textuelles avec Python
Analyse des composants principaux à l'aide de python de nim avec nimpy
Apprendre sans enseignant 3 Analyse des principales composantes
Analyse pratique des composants principaux avec PyCaret [Normalisation + visualisation (tracé)] Mémo
Reconnaissance faciale à l'aide de l'analyse des composants principaux
Python: apprentissage non supervisé: analyse principale
<Cours> Machine learning Chapitre 4: Analyse des principaux composants
Langage naturel: Doc2Vec Part1 --livedoor NEWS Corpus
Commençons l'analyse multivariée et l'analyse des composants principaux avec Pokemon! Coopération entre R et Tableau
PRML Chapitre 12 Mise en œuvre de l'analyse principale bayésienne Python
2. Analyse multivariée décrite dans Python 3-2. Analyse en composantes principales (algorithme)
Compréhension mathématique de l'analyse en composantes principales depuis le début
Clustering et analyse en composantes principales par méthode K-means (débutant)
Analyse en composantes principales Analyser les nombres manuscrits à l'aide de l'ACP. Partie 2
Analyse en composants principaux (PCA) et analyse en composants indépendants (ICA) avec python
Analyse en composantes principales Analyser les nombres manuscrits à l'aide de l'ACP. Partie 1
2. Analyse multivariée expliquée dans Python 3-1. Analyse en composantes principales (scikit-learn)