[PYTHON] J'ai créé un téléchargeur pour l'expression distribuée par mot

Les expressions distribuées de mots sont couramment utilisées dans le traitement moderne du langage naturel. Récemment, de nombreux modèles formés ont été publiés et il est moins nécessaire de dépenser du temps et de l'argent pour apprendre par soi-même. Cependant, même s'il est ouvert au public, il faut beaucoup de temps pour le trouver et le télécharger.

Pour éliminer ce problème, j'ai créé un téléchargeur d'expression de distribution de mots. Le nom est ** chakin **. chakki-works/chakin (Je me sens motivé si vous me donnez une étoile m (__) m)

La caractéristique de chakin est qu'il est écrit en Python et peut être installé avec pip, cela peut être fait de la recherche au téléchargement en un seul arrêt, et il prend en charge 23 vecteurs (au 29 mai 2017). .. Nous prévoyons d'augmenter le nombre de vecteurs pris en charge à l'avenir.

Voyons comment l'utiliser.

Comment utiliser chakin

L'installation est simple. Utilisez pip pour exécuter la commande suivante:

$ pip install chakin

Vous pouvez l'utiliser après l'installation. Vous devez écrire trois lignes de code pour télécharger l'ensemble de données. Cette fois, essayons de télécharger un jeu de données de représentation distribué japonais. Tout d'abord, lancez Python:

$ python

Après avoir lancé Python, importez le [chakin] installé (https://github.com/chakki-works/chakin). Après l'importation, vous pouvez rechercher des modèles pré-entraînés en spécifiant la langue (japonais dans ce cas) dans la méthode de recherche:

>>> import chakin
>>> chakin.search(lang='Japanese')
                         Name  Dimension     Corpus VocabularySize               Method  Language
6                fastText(ja)        300  Wikipedia           580K             fastText  Japanese
22  word2vec.Wiki-NEologd.50d         50  Wikipedia           335K   word2vec + NEologd  Japanese

Actuellement, seule la langue cible peut être recherchée. Ce domaine est l'un des endroits où nous voulons améliorer la convivialité à l'avenir.

Une fois que vous avez trouvé l'ensemble de données que vous souhaitez télécharger, spécifiez son index dans la méthode de téléchargement pour le télécharger. Cette fois, j'ai spécifié ** 22 **, qui est l'index de "word2vec.Wiki-NEologd.50d":

>>> chakin.download(number=22, save_dir='./')
Test: 100% ||               | Time: 0:00:02  60.7 MiB/s
'./latest-ja-word2vec-gensim-model.zip'

C'est tout pour savoir comment l'utiliser.

Vecteurs pris en charge

Il prend actuellement en charge les vecteurs suivants. Nous continuerons d'ajouter des vecteurs correspondants à l'avenir, veuillez donc les utiliser.

Name Dimension Corpus VocabularySize Method Language
fastText(ar) 300 Wikipedia 610K fastText Arabic
fastText(de) 300 Wikipedia 2.3M fastText German
fastText(en) 300 Wikipedia 2.5M fastText English
fastText(es) 300 Wikipedia 985K fastText Spanish
fastText(fr) 300 Wikipedia 1.2M fastText French
fastText(it) 300 Wikipedia 871K fastText Italian
fastText(ja) 300 Wikipedia 580K fastText Japanese
fastText(ko) 300 Wikipedia 880K fastText Korean
fastText(pt) 300 Wikipedia 592K fastText Portuguese
fastText(ru) 300 Wikipedia 1.9M fastText Russian
fastText(zh) 300 Wikipedia 330K fastText Chinese
GloVe.6B.50d 50 Wikipedia+Gigaword 5 (6B) 400K GloVe English
GloVe.6B.100d 100 Wikipedia+Gigaword 5 (6B) 400K GloVe English
GloVe.6B.200d 200 Wikipedia+Gigaword 5 (6B) 400K GloVe English
GloVe.6B.300d 300 Wikipedia+Gigaword 5 (6B) 400K GloVe English
GloVe.42B.300d 300 Common Crawl(42B) 1.9M GloVe English
GloVe.840B.300d 300 Common Crawl(840B) 2.2M GloVe English
GloVe.Twitter.25d 25 Twitter(27B) 1.2M GloVe English
GloVe.Twitter.50d 50 Twitter(27B) 1.2M GloVe English
GloVe.Twitter.100d 100 Twitter(27B) 1.2M GloVe English
GloVe.Twitter.200d 200 Twitter(27B) 1.2M GloVe English
word2vec.GoogleNews 300 Google News(100B) 3.0M word2vec English
word2vec.Wiki-NEologd.50d 50 Wikipedia 335K word2vec + NEologd Japanese

en conclusion

Les représentations distribuées de mots pré-appris sont courantes et importantes dans le traitement du langage naturel. Cependant, il est étonnamment difficile de les trouver par vous-même. Dans cet article, j'ai présenté un téléchargeur que j'ai créé pour éliminer le problème. Nous espérons que vous trouverez cet article utile.

Je tweet également des informations sur l'apprentissage automatique et le traitement du langage naturel dans mon compte Twitter. @Hironsan

Nous nous réjouissons de votre suivi si vous êtes intéressé par ce domaine.

Recommended Posts

J'ai créé un téléchargeur pour l'expression distribuée par mot
J'ai fait une bibliothèque pour l'assurance actuarielle
J'ai créé un fichier de dictionnaire python pour Neocomplete
〇✕ J'ai fait un jeu
J'ai fait un algorithme de rechange2 moins cher pour uWSGI
J'ai créé un outil utile pour Digital Ocean
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
Nous avons créé un produit de prévention du télétravail.
Création de l'outil de gestion des utilisateurs Let's Chat
J'ai créé une fenêtre pour la sortie du journal avec Tkinter
J'ai créé un outil de nettoyage pour Google Container Registry
J'ai créé une VM qui exécute OpenCV pour Python
[Python] J'ai créé un classificateur pour les iris [Machine learning]
J'ai fait un texte Python
Fait une commande pour FizzBuzz
J'ai fait un robot discord
[VSCode] J'ai créé un extrait d'utilisateur pour Python print f-string
J'ai créé un outil pour créer un nuage de mots à partir de wikipedia
J'ai créé un moniteur de ressources pour Raspberry Pi avec une feuille de calcul
J'ai fait un kit d'apprentissage pour word2vec / doc2vec / GloVe / fastText
J'ai essayé de faire un diagnostic de visage AI pour les golfeuses professionnelles ③
J'ai créé un site d'apprentissage C ++
J'ai touché PyAuto pendant un moment
J'ai fait un Line-bot avec Python!
J'ai créé un script de traduction basé sur CUI (2)
J'ai fait un wikipedia gacha bot
J'ai fait une loterie avec Python.
J'ai créé un script de traduction basé sur CUI
J'ai créé un démon avec Python
Python> J'ai créé un code de test pour mon propre fichier externe
Création d'un outil CLI client / serveur WebSocket (comme WebSocket version netcat)
J'ai créé beaucoup de fichiers pour la connexion RDP avec Python
J'ai créé un environnement de développement pour Django 3.0 avec Docker, Docker-compose, Poetry
J'ai essayé de créer un outil d'échafaudage pour le framework Web Python Bottle
J'ai créé une bibliothèque de wrapper Python pour l'API de reconnaissance d'images docomo.
J'ai créé un conteneur Docker pour utiliser JUMAN ++, KNP, python (pour pyKNP).
J'ai créé un nouveau compartiment AWS S3
J'ai fait un programme de gestion de la paie en Python!
J'ai touché "Orator" alors j'ai fait une note
[Mise à jour Ver1.3.1] J'ai créé une bibliothèque de prétraitement de données DataLiner pour l'apprentissage automatique
J'ai créé un module alternatif pour les japandas.
Débutant: j'ai créé un lanceur à l'aide d'un dictionnaire
J'ai fait un interlocuteur comme Siri
J'ai fait un script pour afficher des pictogrammes
J'ai fait une carte hexadécimale avec Python
J'ai fait un jeu de vie avec Numpy
J'ai fait un générateur Hanko avec GAN
J'ai créé un outil d'estampage automatique du navigateur.
Après avoir étudié Python3, j'ai créé un Slackbot
J'ai fait un jeu rogue-like avec Python
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait une application WEB avec Django
Un manuel pour les débutants réalisé par des débutants Python
J'ai fait un simulateur de neurones avec Python
[Pour les débutants] J'ai fait un capteur humain avec Raspberry Pi et notifié LINE!
J'ai fait un robot de remplacement de tampon avec une ligne
J'ai fait une prévision météo de type bot avec Python.
J'ai créé une application graphique avec Python + PyQt5
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①