[PYTHON] Quand j'ai essayé de générer des phrases basées sur la «transformation» de Kafka avec LSTM, je ne pouvais devenir personne.

Aperçu

Quelle est la précision de la génération de phrases avec quel ensemble de données? Je ne l'ai jamais essayé, alors je l'ai essayé.

Méthode

Je l'ai écrit dans Tensorflow. Je pense que Keras est plus simple à écrire. .. .. Un LSTM à deux couches est installé et le caractère / mot après un caractère est appris comme données de l'enseignant. Lors de la génération de phrases, le caractère / mot avec la précision de prédiction la plus élevée est sélectionné. Si vous voulez faire des fluctuations, je pense que vous pouvez choisir au hasard parmi les principales prédictions.

Pour l'ensemble de données, j'ai choisi "Transformation" de Kafuka à partir de l'URL suivante. Il n'y a pas de signification particulière. http://www.gutenberg.org/ebooks/5200

Le prétraitement extrait uniquement la partie de texte et supprime la notation de chapitre. Je pense que ce sera encore plus beau si vous remplacez les symboles.

Cliquez-ici pour le code https://github.com/pigooosuke/lstm_text_generator

résultat

Génère des phrases commençant par "Le".

Niveau de caractères

Nombre de vocabulaires: 60 Nombre total de caractères: 116622

The same times that I've open upingoull, and his fordit the sigh of the reases,
and no tho gontoused and he pusied hers so that he was to became use to be ard
forgove and he would save with a cramous snignto and if he wolld with hiseof ball
paysfrom a lots of his beadionabthraif asting wouldnewpatreary himself asliad for
hil", and pust ho ewairsutention with anverask so stant that spert flack as home
and he would know all the bost of what had been sudfert horrikeltsubpessitratthr ,
was a giran in mupid.- Gregor had never could be seen fuc  award efuss to bong
severy decisavely atthis way warall.

Il semble que vous puissiez apprendre correctement l'espace vide. Pour être honnête, je ne comprends pas vraiment le sens.

Niveau de mot

Nombre de vocabulaires: 4997 Nombre total de mots: 20252 ↑ Le nombre total de mots peut être déséquilibré par rapport au vocabulaire. .. ..

The room for her hand and she had her her came hands often her selfcontrolled, It
was very sign and the father would have to him but she had been more for her and
she had not very indifferent to him more tried to get and difficult that she would
used to get himself than he had been before. for bed Gregor had him for him to it;
he had back and it was thought that he would have to him for the time that she had
already again in this mother and could not time about this I not me to ask I
parents to the hall, that father only to the door as his mother would always put on
the key on the door with the gold slightly in the notes and day,

Cela a l'air correct par rapport au niveau de caractère, mais je ne peux pas lire le sens ... Au fait, si vous passez ce qui précède via Google Traduction

Une place pour ses mains et elle l'avait Elle a souvent retenu ses mains,
C'était très impressionnant et mon père avait à lui,
Elle était pour elle et elle avait l'habitude de se faire plus qu'avant.
Gregor l'avait pour lui pour le lit.
Il est revenu et a pensé qu'il devait être avec lui pour le temps qu'il faisait à cette mère à nouveau.
Je ne m’ai pas fait rencontrer mes parents.
Verrouillez toujours la porte avec une note et un peu d'argent le jour même.

Hmm. Si vous êtes un passionné de Kafka, diriez-vous: "C'est une phrase de type Kafka!"

Je peux comprendre si c'est un mot très court, mais ... ・ Le père devrait ・ On pensait qu'il devrait ・ Sa mère mettait toujours la clé sur la porte

Améliorations

C’est un niveau d’idée, ・ Puisque les mots prédits ne sont pas limités, prédisez à partir du vocabulaire déterminé. ・ Remplissez la phrase de prédiction avec une longueur fixe plutôt qu'une longueur aléatoire. -Générer plusieurs phrases candidates et adopter celles avec une forte similitude cosinus des phrases précédentes et suivantes C'est peut-être un peu décent, mais je doute qu'il y ait une amélioration spectaculaire. De plus, avec la classification, il existe des cas où la précision est améliorée avec 2gram-char et 3gram-char, il peut donc être intéressant de l'essayer. Celui ci-dessus est 1gram-char.

La génération interactive de phrases est souvent mentionnée, Il est difficile de générer simplement une phrase.

Recommended Posts

Quand j'ai essayé de générer des phrases basées sur la «transformation» de Kafka avec LSTM, je ne pouvais devenir personne.
On m'a dit que je ne pouvais pas trouver XML_SetHashSalt lorsque j'ai essayé d'utiliser pip avec python.
Connectez-vous lorsque je craignais de ne pas pouvoir me connecter au Wi-Fi sous Linux
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
J'ai essayé de générer ObjectId (clé primaire) avec pymongo
Un mémorandum lors de l'acquisition automatique avec du sélénium
J'ai essayé la validation croisée basée sur le résultat de la recherche de grille avec scikit-learn
J'ai essayé de démarrer avec Bitcoin Systre le week-end
J'ai essayé d'afficher l'interface graphique sur Mac avec le système X Window
J'ai essayé de résumer les remarques de tout le monde sur le slack avec wordcloud (Python)
Générer du matériel pour la vidéo "J'ai essayé de chanter avec XX" [python-pptx]
J'ai essayé de faire une étrange citation pour Jojo avec LSTM
J'ai essayé de résumer des phrases avec summpy
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
J'ai essayé de mettre en œuvre un apprentissage en profondeur qui n'est pas profond avec uniquement NumPy
J'ai écrit un diagramme de configuration du système avec des diagrammes sur Docker
J'ai essayé avec les 100 meilleurs packages PyPI> J'ai essayé de représenter graphiquement les packages installés sur Python
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé de commencer avec Hy
J'ai essayé d'implémenter CVAE avec PyTorch
J'ai essayé de résoudre TSP avec QAOA
Lorsque j'ai essayé de changer le mot de passe root avec ansible, je ne pouvais pas y accéder.
Quand j'ai essayé de créer un VPC avec AWS CDK mais que je n'ai pas pu le faire
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
J'ai essayé de créer un projet en utilisant Python sur Docker avec PyCharm, mais cela a fonctionné avec Docker Compose