Letztes Mal habe ich versucht, die Hauptkomponenten von Textdaten zu analysieren. Ich möchte es mit verschiedenen Textdaten versuchen, Ich möchte die Hauptkomponentenanalyse mit Livedoor News Corpus, veröffentlicht von Ronwitt Co., Ltd., in Frage stellen.
Als Vorverarbeitung möchte ich den Inhalt der Textdatei lesen, die für jeden Artikel nacheinander unterteilt ist, eine morphologische Analyse durchführen und sie dann zu einer CSV-Datei kombinieren.
Die morphologische Analysebibliothek verwendete Janome.
Wenn Sie die Datei über den obigen Link herunterladen und entpacken, befinden sich unter jeder Kategorie 9 Ordner, z. B. it-life-hack, unter dem Textordner. Artikel dieser Kategorie werden in 1 Artikel-1-Dateieinheit unter jedem Ordner gespeichert. Es ist gewesen.
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') :
#Überspringen außer Artikeldaten
if p.name in ['CHANGES.txt','README.txt','LICENSE.txt']:
continue
#Öffnen Sie die Artikeldaten und analysieren Sie die Morphologie mit janome ⇒ In der Liste in Form von 1 Wort pro Zeile
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)])
#Liste in Datenrahmen konvertieren
df = pd.DataFrame(np.array(l))
#Geben Sie den Spaltennamen an
df.columns = ['Artikelklassifizierung','Dateiname','Wort','Teil']
#CSV-Ausgabedatenrahmen
df.to_csv('c:/temp/livedoor_corpus.csv', index=False)
Das Ausgabeergebnis sieht folgendermaßen aus.
Recommended Posts