[PYTHON] Ich möchte meine Gefühle mit den Texten von Mr. Children ausdrücken

Einführung

Der Titel lautet "Was sagt diese Person?" (Lacht). Ich habe versucht, es mit 4 aufeinander folgenden Feiertagen zu schaffen und die Verarbeitung natürlicher Sprache zu studieren. In naher Zukunft werde ich es irgendwo im Web verfügbar machen.

Konzept und fertiges Bild

In dem Moment, als ich diese Geschichte fand, schrieb ich die aktuelle Situation auf (wie sie ist) → Probleme → was sie sein sollte (sein). Wie erwartet ein Geschäftsmann (lacht) image.png

Der folgende Mechanismus kam auf, als ich darüber nachdachte, wie ich es machen sollte. ↓ image.png Erstellen Sie intern einen Mistil-Lyrics-Datensatz und konvertieren Sie ihn in Word2Vec. Die Word2Vec-Verarbeitung wird auch nach meinen Gefühlen durchgeführt, und ähnliche Texte werden durch Ähnlichkeit gezogen.

PoC war fertig!

Ich habe schnell versucht, das obige Gesamtbild zu realisieren. Ergebnis ... ** Für mein Gefühl, dass "Ich kann nicht schlafen" ** ** "Mitglied der Gesellschaft werden und die Last tragen, an das Licht erinnert zu werden" ** ist das erste Ich kam zurück zu. Eh ... ich habe es so tief gelesen ... lol image.png

Was Sie verwenden

Morphologische Analyse: janome.tokenizer Word2Vec: word2vec in gensim.models

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

Die Texte werden durch morphologische Analyse zerstört und Word2Vec wird für jedes Wort verwendet. Schließlich wird Word2Vec mit einem Satz von Texten vervollständigt, indem der Durchschnitt der Vektoren ermittelt wird.

image.png ↓ Ergebnisse der morphologischen Analyse image.png

Word2Vec Teil des Textes

# skip-gram Mr.Kindertexte(sentences)Machen Sie also ein w2v-Modell.
skipgram_model = word2vec.Word2Vec(sentences,
                                   sg=1,
                                   size=250,
                                   min_count=2,
                                   window=10, seed=1234)



#Verwenden Sie Word2Vec für jedes Wort, das morphologisch analysiert wurde, und mitteln Sie schließlich die Funktion => Kann Word2Vec den Kontext der Texte widerspiegeln?
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

abschließend

Ich fand es interessant, Wörter in Vektoren umzuwandeln und den Grad der Übereinstimmung zu sehen. Ich möchte auch BERT studieren. Es ist dringend erforderlich, die Anzahl der Songs zu erhöhen, um dieses Spiel zu einem Dienst zu machen. (Stand 29. Juli 2020: 5 Lieder .. lol) Ich werde weiterhin stetig Songs sammeln.

Trotzdem bin ich froh, dass ich diese Art von Spiel in den vier aufeinander folgenden Ferien spielen kann, da ich mehr Fähigkeiten bekomme! !!

Recommended Posts

Ich möchte meine Gefühle mit den Texten von Mr. Children ausdrücken
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
Ich möchte das automatische Löschen des tmp-Bereichs in RHEL7 stoppen
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich habe versucht, die Texte von Hinatazaka 46 zu vektorisieren!
Ich habe Sie dazu gebracht, das Ende der IP-Adresse mit L Chika auszudrücken
Ich möchte PyTorch verwenden, um so etwas wie den Text von Japari Park zu generieren
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte mit Python-Datenklasse nach hinten erben
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
Ich möchte die Standortinformationen von GTFS Realtime auf Jupyter zeichnen! (Mit Ballon)
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich möchte eine andere Version von Python mit pyvenv angeben
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Ich möchte mit Numpy die japanische Flagge in die Palau-Flagge ändern
Ich möchte mit GAN Schwarzweißfotos von Erinnerungen ausmalen
[Python] Ich möchte die Option -h mit argparse verwenden
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich möchte die Natur von Python und Pip kennenlernen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich habe versucht, den Stromverbrauch meines Hauses mit Nature Remo E lite zu visualisieren
Ich möchte ○○ mit Pandas machen
Ich möchte mit Python debuggen
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
[Pytorch] Ich möchte die Trainingsparameter des Modells manuell zuweisen
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
Machen Sie sich mit der Pipeline von spaCy vertraut (wollen Sie es sein)
Ich möchte die HTML-Version der OpenCV 3.1-Version "OpenCV-Python Tutorials" lesen
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich möchte mit Python eine beliebige URL aus der Zeichenfolge der HTML-Quelle extrahieren
[Twitter] Ich möchte die heruntergeladenen vergangenen Tweets (meines Kontos) in eine schöne CSV verwandeln
Ich möchte Spyder an die Taskleiste anheften
Ich möchte Objekte mit OpenCV erkennen
Ich möchte kühl auf die Konsole ausgeben
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte einen Blog mit Jupyter Notebook schreiben
Ich möchte mit dem Reim part3 umgehen
Ich möchte eine Pip-Installation mit PythonAnywhere durchführen
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich möchte wütend auf meine Mutter werden, wenn die Erinnerung knapp ist
Ich versuchte, Trauer und Freude über das Problem der stabilen Ehe auszudrücken.
Ich möchte es nicht zugeben ... Die dynamische Systemdarstellung von Neural Network
Ich habe versucht, die Genauigkeit meines eigenen neuronalen Netzwerks zu verbessern
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich möchte die Django Debug Toolbar in Ajax-Anwendungen verwenden