[PYTHON] Récapitulatif du format des formats qui peuvent être sérialisés avec gensim

gensim

Une bibliothèque de modèles de sujets implémentés en Python. Les détails de la fonction ne sont pas traités ici. Cette fois, je vais résumer les formats des différents formats qui peuvent être convertis lors de la conversion d'une chaîne de caractères au format BoW avec gensim.

Code d'exécution

Sortie en tant que Référence officielle.

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

référence

Recommended Posts

Récapitulatif du format des formats qui peuvent être sérialisés avec gensim
[Python] Introduction au scraping WEB | Résumé des méthodes pouvant être utilisées avec webdriver
Comparaison de 4 styles pouvant être passés à seaborn avec set_context
Résumé de base du scraping avec des requêtes que les débutants peuvent absolument comprendre [Python]
Types de fichiers pouvant être utilisés avec Go
Résumé des exemples qui ne peuvent pas être pyTorch à l'envers
Répertorier les packages pouvant être mis à jour avec pip
Résumé des sources de données scikit-learn pouvant être utilisées lors de la rédaction d'articles d'analyse
Formatez les données DataFrame avec Pytorch sous une forme pouvant être entraînée avec NN
Liste des couleurs pouvant être définies avec tkinter (mémorial)
Notes sur les connaissances Python utilisables avec AtCoder
Limites qui peuvent être analysées à la fois avec MeCab
Résumé des méthodes d'analyse de données statistiques utilisant Python qui peuvent être utilisées en entreprise
Résumé des éléments à installer pour exécuter tf-pose-estimation
Il semble que le suivi des squelettes puisse être effectué avec RealSense
Connaissance de base du DNS qui ne peut pas être entendue maintenant
Les zéros NumPy peuvent être définis même avec une taille de 0
J'ai étudié le prétraitement qui peut être fait avec PyCaret
Faisons un diagramme sur lequel on peut cliquer avec IPython
Index d'évaluation pouvant être spécifié pour GridSearchCV de sklearn
Voici un résumé des choses qui pourraient être utiles pour traiter des nombres complexes en Python
À propos du fait que le résumé de la torche peut être vraiment utilisé lors de la construction d'un modèle avec Pytorch
[Python] Un programme qui trouve le nombre maximum de jouets pouvant être achetés avec votre argent
Prédisez le nombre de coussins qui peuvent être reçus en tant que répondants rires avec Word2Vec + Random Forest
[Python] Créez un graphique qui peut être déplacé avec Plotly
Enquête sur l'alimentation CC contrôlable par Python
Créez une Spinbox qui peut être affichée en binaire avec Tkinter
J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python
Créez un graphique des devises qui peut être déplacé avec Plotly (2)
Résumé de l'entrée standard de Python pouvant être utilisée dans Competition Pro
Créez une Spinbox pouvant être affichée dans HEX avec Tkinter
Créez un graphique des devises qui peut être déplacé avec Plotly (1)
requirements.txt peut être commenté avec #
Confirmation que rkhunter peut être installé
Obtenez une liste des paramètres de caméra qui peuvent être définis avec cv2.VideoCapture et faites-en un type de dictionnaire
Remplissage facile des données pouvant être utilisées dans le traitement du langage naturel
Résumé des problèmes d'AtCoder C qui peuvent être résolus en mathématiques au secondaire
Module de traitement du signal acoustique qui peut être utilisé avec Python-Sounddevice ASIO [Application]
Créez une application Web qui peut être facilement visualisée avec Plotly Dash
Optimisation mathématique pour un travail gratuit avec Python + PuLP
Nombre maximum de paramètres de fonction pouvant être définis dans chaque langue
Python-Sound device Module de traitement du signal acoustique ASIO [Basic]
Article qui peut être une ressource humaine qui comprend et maîtrise le mécanisme de l'API (avec du code Python)
Résumé de l'extrait de code lors du développement avec Go
Matières qui ne peuvent pas être importées avec sklearn
Résumé des opérations souvent effectuées avec asyncpg
Notes pour créer des figures pouvant être publiées dans des revues avec matplotlib
Analyse des données de pratique Python Résumé de l'apprentissage que j'ai atteint environ 10 avec 100 coups
Tensorflow, il semble que même la valeur propre de la matrice puisse être automatiquement différenciée
Classe pour PYTHON qui peut être utilisée sans connaître LDAP
Notes personnelles des opérations liées aux pandas qui peuvent être utilisées dans la pratique
Déplacement de Raspberry Pi à distance afin qu'il puisse être connecté à une LED avec Python
Modèle de conception qui commence par "Je peux le faire à cause des spécifications du langage" ①-Bases-
Liste des outils qui peuvent être utilisés pour essayer facilement l'analyse des émotions des phrases japonaises avec Python (essayez avec google colab)
[Python] J'ai examiné une pratique qui peut être exécutée en parallèle avec le thread principal par traitement asynchrone (multiprocessing, asyncio)