[PYTHON] Je veux exprimer mes sentiments avec les paroles de Mr. Children

introduction

Le titre est "Que dit cette personne ...?" (Rires) .. J'ai essayé de le faire en utilisant 4 jours fériés consécutifs ainsi qu'en étudiant le traitement du langage naturel. Dans un proche avenir, je le rendrai disponible sur le Web quelque part.

Concept et image terminée

Au moment où j'ai trouvé cette histoire, j'ai écrit la situation actuelle (telle quelle) → problèmes → ce qu'elle devrait être (être). Comme prévu, un homme d'affaires (rires) image.png

Le mécanisme suivant est apparu lorsque j'ai réfléchi à la façon de le fabriquer. ↓ image.png Créez en interne un ensemble de données de paroles mistil et convertissez-le en Word2Vec. Le traitement Word2Vec est également effectué sur mes sentiments, et des paroles similaires sont tirées par la similitude.

PoC était fait!

J'ai essayé rapidement de réaliser l'image d'ensemble ci-dessus. Résultat ... ** Pour mon sentiment que "je ne peux pas dormir" ** ** "Devenez membre de la société et portez le fardeau sur mon dos-pour être rappelé-vers la lumière" ** est le premier Je suis revenu. Eh ... je l'ai lu si profondément ... lol image.png

Ce que vous utilisez

Analyse morphologique: janome.tokenizer Word2Vec: word2vec dans gensim.models

from janome.tokenizer import Tokenizer
from gensim.models import word2vec

Les paroles sont déchiquetées par analyse morphologique et Word2Vec est utilisé pour chaque mot. Enfin, en obtenant la moyenne des vecteurs, Word2Vec avec un ensemble de paroles est complété.

image.png ↓ Résultats de l'analyse morphologique image.png

Word2Vec partie du texte

# skip-gram Mr.Paroles pour enfants(sentences)Alors, faites un modèle w2v.
skipgram_model = word2vec.Word2Vec(sentences,
                                   sg=1,
                                   size=250,
                                   min_count=2,
                                   window=10, seed=1234)



#Est-ce que Word2Vec pour chaque mot qui a été analysé morphologiquement, et enfin moyenne la fonction => Word2Vec peut-il refléter le contexte des paroles?
def avg_document_vector(data, num_features):
    document_vec = np.zeros((len(data), num_features))
    for i, doc_word_list in enumerate(data):
        feature_vec = np.zeros((num_features,), dtype="float32")
        for word in doc_word_list:
            try:
                feature_vec = np.add(
                    feature_vec, skipgram_model.wv.__getitem__(word))
            except:
                pass

        feature_vec = np.divide(feature_vec, len(doc_word_list))
        document_vec[i] = feature_vec
    return document_vec

en conclusion

J'ai trouvé intéressant de convertir des mots en vecteurs et de voir le degré d'accord. Je veux aussi étudier BERT. Il est urgent d'augmenter le nombre de chansons afin de faire de cette pièce un service. (Au 29 juillet 2020: 5 chansons .. lol) Je continuerai à accumuler des chansons régulièrement.

Même ainsi, je suis heureux d'avoir pu jouer à ce genre de jeu pendant les quatre vacances consécutives, car il semble que mes compétences progressent! !!

Recommended Posts

Je veux exprimer mes sentiments avec les paroles de Mr. Children
Je veux vérifier la position de mon visage avec OpenCV!
Je souhaite arrêter la suppression automatique de la zone tmp dans RHEL7
Je souhaite personnaliser l'apparence de zabbix
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
Je t'ai fait exprimer la fin de l'adresse IP avec L Chika
Je veux utiliser PyTorch pour générer quelque chose comme les paroles de Japari Park
Je veux grep le résultat de l'exécution de strace
Je veux hériter de l'arrière avec la classe de données python
Je souhaite augmenter la sécurité de la connexion SSH
Je veux tracer les informations de localisation de GTFS Realtime sur Jupyter! (Avec ballon)
J'ai essayé de trouver l'entropie de l'image avec python
Je souhaite spécifier une autre version de Python avec pyvenv
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
Je veux changer le drapeau japonais en drapeau des Palaos avec Numpy
Je veux colorier des photos en noir et blanc de souvenirs avec GAN
[Python] Je souhaite utiliser l'option -h avec argparse
Je veux déterminer l'authenticité d'un élément du tableau numpy
Je veux connaître la nature de Python et pip
Keras Je veux obtenir la sortie de n'importe quelle couche !!
Je veux connaître la légende du monde des technologies informatiques
J'ai essayé de visualiser la consommation électrique de ma maison avec Nature Remo E lite
Je veux faire ○○ avec les Pandas
Je veux déboguer avec Python
Je veux obtenir le nom de la fonction / méthode en cours d'exécution
[Pytorch] Je souhaite attribuer manuellement les paramètres d'entraînement du modèle
Je veux connaître la météo avec LINE bot avec Heroku + Python
Familiarisez-vous avec (voulez être) autour du pipeline de spaCy
Je veux lire la version html de la version "OpenCV-Python Tutorials" OpenCV 3.1
[Introduction à StyleGAN] J'ai joué avec "The Life of a Man" ♬
J'ai essayé d'agrandir la taille du volume logique avec LVM
Pour le moment, je veux convertir n'importe quel fichier avec ffmpeg !!
Je veux connaître la population de chaque pays du monde.
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
Je souhaite extraire une URL arbitraire de la chaîne de caractères de la source html avec python
[Twitter] Je veux faire des tweets téléchargés (de mon compte) dans un beau CSV
Je veux épingler Spyder à la barre des tâches
Je veux détecter des objets avec OpenCV
Je veux sortir froidement sur la console
Je veux gérer la rime part1
Je veux écrire un blog avec Jupyter Notebook
Je veux gérer la rime part3
Je veux installer Python avec PythonAnywhere
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
Je veux afficher la barre de progression
Je veux gérer la rime part2
Je veux gérer la rime part5
Je veux gérer la rime part4
Je veux me mettre en colère contre ma mère quand la mémoire est serrée
J'ai essayé d'exprimer de la tristesse et de la joie face au problème du mariage stable.
Je ne veux pas l'admettre ... Représentation dynamique du système de Neural Network
J'ai essayé d'améliorer la précision de mon propre réseau neuronal
Je veux expliquer en détail la classe abstraite (ABCmeta) de Python
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
Je souhaite trier une liste dans l'ordre des autres listes
Je souhaite utiliser Django Debug Toolbar dans les applications Ajax