[PYTHON] Formatübersicht der Formate, die mit gensim serialisiert werden können

gensim

Eine Bibliothek von in Python implementierten Themenmodellen. Die Details der Funktion werden hier nicht behandelt. Dieses Mal werde ich die Formate verschiedener Formate zusammenfassen, die konvertiert werden können, wenn eine Zeichenfolge mit gensim in das BoW-Format konvertiert wird.

Ausführungscode

Ausgabe als Offizielle Referenz.

from gensim import corpora
from collections import defaultdict
from pprint import pprint

documents = ["Human machine interface for lab abc computer applications",
             "A survey of user opinion of computer system response time",
             "The EPS user interface management system",
             "System and human system engineering testing of EPS",
             "Relation of user perceived response time to error measurement",
             "The generation of random binary unordered trees",
             "The intersection graph of paths in trees",
             "Graph minors IV Widths of trees and well quasi ordering",
             "Graph minors A survey"]
stoplist = set('for a of the and to in'.split())
texts = [[word for word in document.lower().split() if word not in stoplist]
         for document in documents]

frequency = defaultdict(int)
for text in texts:
    for token in text:
        frequency[token] += 1

texts = [[token for token in text if frequency[token] > 1]
         for text in texts]
dictionary = corpora.Dictionary(texts)
corpus = [dictionary.doc2bow(text) for text in texts]

corpora.MmCorpus.serialize("./corpus.mm", corpus)
corpora.BleiCorpus.serialize("./corpus.blei", corpus)
corpora.LowCorpus.serialize("./corpus.low", corpus)
corpora.SvmLightCorpus.serialize("./corpus.svmlight", corpus)
corpora.UciCorpus.serialize("./corpus.low", corpus)

pprint(texts)
print("\n")
pprint(dictionary.token2id)
print("\n")
pprint(corpus)

Output

[['human', 'interface', 'computer'],
 ['survey', 'user', 'computer', 'system', 'response', 'time'],
 ['eps', 'user', 'interface', 'system'],
 ['system', 'human', 'system', 'eps'],
 ['user', 'response', 'time'],
 ['trees'],
 ['graph', 'trees'],
 ['graph', 'minors', 'trees'],
 ['graph', 'minors', 'survey']]


{'computer': 1,
 'eps': 8,
 'graph': 10,
 'human': 2,
 'interface': 0,
 'minors': 11,
 'response': 6,
 'survey': 4,
 'system': 5,
 'time': 7,
 'trees': 9,
 'user': 3}


[[(0, 1), (1, 1), (2, 1)],
 [(1, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1)],
 [(0, 1), (3, 1), (5, 1), (8, 1)],
 [(2, 1), (5, 2), (8, 1)],
 [(3, 1), (6, 1), (7, 1)],
 [(9, 1)],
 [(9, 1), (10, 1)],
 [(9, 1), (10, 1), (11, 1)],
 [(4, 1), (10, 1), (11, 1)]]

Matrix Market format

corpus.mm


%%MatrixMarket matrix coordinate real general
9 12 28                                           
1 1 1
1 2 1
1 3 1
2 2 1
2 4 1
2 5 1
2 6 1
2 7 1
2 8 1
3 1 1
3 4 1
3 6 1
3 9 1
4 3 1
4 6 2
4 9 1
5 4 1
5 7 1
5 8 1
6 10 1
7 10 1
7 11 1
8 10 1
8 11 1
8 12 1
9 5 1
9 11 1
9 12 1

Blei format

corpus.blei


3 0:1 1:1 2:1
6 1:1 3:1 4:1 5:1 6:1 7:1
4 0:1 3:1 5:1 8:1
3 2:1 5:2 8:1
3 3:1 6:1 7:1
1 9:1
2 9:1 10:1
3 9:1 10:1 11:1
3 4:1 10:1 11:1

text:corpus.blei.vocab


0
1
2
3
4
5
6
7
8
9
10
11

UCI format

corpus.uci


9                   
12                  
28                  
1 1 1
1 2 1
1 3 1
2 2 1
2 4 1
2 5 1
2 6 1
2 7 1
2 8 1
3 1 1
3 4 1
3 6 1
3 9 1
4 3 1
4 6 2
4 9 1
5 4 1
5 7 1
5 8 1
6 10 1
7 10 1
7 11 1
8 10 1
8 11 1
8 12 1
9 5 1
9 11 1
9 12 1

text:corpus.uci.vocab


0
1
2
3
4
5
6
7
8
9
10
11

Low format

corpus.low


9
0 1 2
1 3 4 5 6 7
0 3 5 8
2 5 5 8
3 6 7
9
9 10
9 10 11
4 10 11

text:corpus.low.vocab


0
1
2
3
4
5
6
7
8
9
10
11

SvmLight format

corpus.svmlight


0 1:1 2:1 3:1
0 2:1 4:1 5:1 6:1 7:1 8:1
0 1:1 4:1 6:1 9:1
0 3:1 6:2 9:1
0 4:1 7:1 8:1
0 10:1
0 10:1 11:1
0 10:1 11:1 12:1
0 5:1 11:1 12:1

Referenz

Recommended Posts

Formatübersicht der Formate, die mit gensim serialisiert werden können
[Python] Einführung in das WEB-Scraping | Zusammenfassung der Methoden, die mit dem Webdriver verwendet werden können
Vergleich von 4 Stilen, die mit set_context an seaborn übergeben werden können
Grundlegende Zusammenfassung des Scrapings mit Anfragen, die Anfänger absolut verstehen können [Python]
Dateitypen, die mit Go verwendet werden können
Zusammenfassung von Beispielen, die nicht rückwärts pyTorch sein können
Listen Sie Pakete auf, die mit pip aktualisiert werden können
Zusammenfassung der Scikit-Learn-Datenquellen, die beim Schreiben von Analyseartikeln verwendet werden können
Formatieren Sie DataFrame-Daten mit Pytorch in ein Formular, das mit NN trainiert werden kann
Liste der Farben, die mit tkinter (Denkmal) eingestellt werden können
Hinweise zu Python-Kenntnissen, die mit AtCoder verwendet werden können
Grenzwerte, die mit MeCab sofort analysiert werden können
Zusammenfassung der statistischen Datenanalysemethoden mit Python, die im Geschäftsleben verwendet werden können
Zusammenfassung der Dinge, die installiert werden müssen, um die tf-Pose-Schätzung auszuführen
Es scheint, dass Skeleton Tracking mit RealSense durchgeführt werden kann
Grundkenntnisse in DNS, die jetzt nicht zu hören sind
NumPy-Nullen können auch bei einer Größe von 0 definiert werden
Ich habe die Vorbehandlung untersucht, die mit PyCaret durchgeführt werden kann
Lassen Sie uns ein Diagramm erstellen, auf das mit IPython geklickt werden kann
Bewertungsindex, der für GridSearchCV von sklearn angegeben werden kann
Hier finden Sie eine Zusammenfassung der Dinge, die beim Umgang mit komplexen Zahlen in Python hilfreich sein können
Über die Sache, dass Fackelzusammenfassung wirklich verwendet werden kann, wenn ein Modell mit Pytorch erstellt wird
[Python] Ein Programm, das die maximale Anzahl von Spielzeugen findet, die mit Ihrem Geld gekauft werden können
Sagen Sie mit Word2Vec + Random Forest die Anzahl der Kissen voraus, die als Lachbefragte empfangen werden können
[Python] Erstellen Sie ein Diagramm, das mit Plotly verschoben werden kann
Untersuchung der von Python steuerbaren Gleichstromversorgung
Erstellen Sie eine Spinbox, die mit Tkinter in Binär angezeigt werden kann
Ich habe ein Shuffle gemacht, das mit Python zurückgesetzt (zurückgesetzt) werden kann
Erstellen Sie ein Währungsdiagramm, das mit Plotly (2) verschoben werden kann.
Zusammenfassung der Standardeingabe von Python, die in Competition Pro verwendet werden kann
Erstellen Sie eine Spinbox, die mit Tkinter in HEX angezeigt werden kann
Erstellen Sie ein Währungsdiagramm, das mit Plotly (1) verschoben werden kann.
require.txt kann mit # auskommentiert werden
Bestätigung, dass rkhunter installiert werden kann
Rufen Sie eine Liste der Kameraparameter ab, die mit cv2.VideoCapture festgelegt werden können, und machen Sie daraus einen Wörterbuchtyp
Einfaches Auffüllen von Daten, die in der Verarbeitung natürlicher Sprache verwendet werden können
Zusammenfassung der AtCoder C-Probleme, die in der Mathematik der High School gelöst werden können
Akustisches Signalverarbeitungsmodul, das mit Python-Sounddevice ASIO [Anwendung] verwendet werden kann
Erstellen Sie eine Web-App, die mit Plotly Dash einfach visualisiert werden kann
Maximale Anzahl von Funktionsparametern, die in jeder Sprache definiert werden können
Python-Sound Gerät ASIO akustisches Signalverarbeitungsmodul [Basic]
Artikel, der eine Person sein kann, die den Mechanismus der API versteht und beherrscht (mit Python-Code)
Snippet-Zusammenfassung bei der Entwicklung mit Go
Angelegenheiten, die mit sklearn nicht importiert werden können
Zusammenfassung der häufig mit asyncpg ausgeführten Vorgänge
Hinweise zum Erstellen von Zahlen, die mit matplotlib in Zeitschriften veröffentlicht werden können
Python-Übungsdatenanalyse Zusammenfassung des Lernens, dass ich ungefähr 10 mit 100 Schlägen getroffen habe
Tensorflow scheint es, dass sogar der Eigenwert der Matrix automatisch unterschieden werden kann
Klasse für PYTHON, die ohne Kenntnis von LDAP betrieben werden kann
Persönliche Notizen zu Pandas-bezogenen Vorgängen, die in der Praxis verwendet werden können
Raspberry Pi aus der Ferne verschoben, damit es mit Python LED-verbunden werden kann
Entwurfsmuster, das mit "Ich kann das aufgrund von Sprachspezifikationen tun" beginnt ①-Basics-
Liste der Tools, mit denen Sie auf einfache Weise die Emotionsanalyse japanischer Sätze mit Python ausprobieren können (versuchen Sie es mit Google Colab).
[Python] Ich habe eine Praxis untersucht, die durch asynchrone Verarbeitung (Multiprocessing, Asyncio) parallel zum Hauptthread ausgeführt werden kann.