[PYTHON] [Échec] Je voulais générer des phrases en utilisant TextRegressor de Flair

Mise en garde! C'est juste une histoire d'échec, donc si vous voulez générer un document, je vous recommande de faire demi-tour!

J'ai essayé de générer des phrases en utilisant Flair, qui est une bibliothèque PNL super pratique, mais je ne pouvais pas le faire en premier lieu. D'après le nom de TextRegressor, il semble qu'il va en quelque sorte ré-analyser et générer des phrases ...? Le flair est incroyablement pratique, mais il n'y a pas beaucoup d'articles en japonais, donc j'écrirai un article même si ce n'est pas un gros problème.

Livrables

https://github.com/ochiba0227/flair_text_regressor

Créer des données d'entraînement

Il n'apparaît pas dans le tutoriel de Flair, donc TextRegressor test code et [TextRegressor model implementation](https: / J'ai lu sur /github.com/flairNLP/flair/blob/master/flair/models/text_regression_model.py) et préparé une phrase intitulée comme suit. Il semble que seul le type float puisse être utilisé pour l'étiquette, donc j'ai mis le même numéro pour le moment. Peut-être que vous pouvez apprendre les articles générés par étiquette, mais cette fois, nous apprendrons tout avec un désordre.

<détails>

Texte étiqueté </ summary>
Ceci est emprunté au titre de l'article de TechCrunch.

label_topic text
1 Pour résoudre le problème d'affichage d'un message d'erreur à chaque démarrage de Windows
S'il s'agit d'un étui à 1 clé, le "Wunderkey" de fabrication allemande est multifonctionnel et recommandé pour une utilisation en extérieur!
1 Mettez-le simplement dans la machine à laver. La puissance de «l'iode» naturel peut empêcher la moisissure pendant 3 mois, et le linge est également stérilisé et désodorisé!
1 Préparez 3 articles et faciles à cuisiner. Pré-fait pour une semaine+Résumé des recettes à usage unique
1 Quels sont les conseils pour utiliser Slack pendant le travail à distance? Technique pratique à demander au représentant de SlackJapan Sasaki
1 [Informations sur la vente du jour] Sur Amazon Time Sale, 1,Montre intelligente multifonctionnelle de l'ordre de 000 yens et 2,Une lampe de bureau pliante qui devient une batterie mobile de l'ordre de 000 yens est une bonne affaire
1 Pensez à l'efficacité plutôt qu'à un effort fastidieux. Méthode d'auto-apprentissage «pas seul» des étudiants universitaires actifs
1 sac combiné parfait pour les voyages d'affaires et les excursions faciles [Outil de piratage de la vie d'aujourd'hui]
1 Diverses illustrations et mises en page peuvent être sélectionnées et des caractères alphabétiques sont également possibles. Autocollant de nom qui donne envie d'appuyer
1 Cette nouvelle épidémie de virus corona ne s'arrête pas immédiatement. Il n'y a pas d'autre choix que d'accepter la réalité et de vivre
1 Éliminez le manque d'exercice! Vidéos / jeux / applications de fitness à domicile recommandés
1 J'ai remarqué dans le travail à distance "Seul le PC est Wi-Problème Fi lent ". Quelle est la raison et les contre-mesures?
1 Produits recommandés pour le télétravail! J'ai essayé d'utiliser "beblau" qui peut transporter un ordinateur portable et des périphériques ensemble
1 Le beurre d'anchois facile et délicieux peut être utilisé dans n'importe quel plat
1 [Pour les lecteurs seulement 10%Off] Si quelque chose bouge, un avertissement sonore et une notification sur votre smartphone. "TracMo Leaf" qui peut être suivi pour empêcher le vol et les choses laissées pour compte
1 Qu'est-ce que ça fait de travailler avec votre famille? Quel est le défi? | Le travail à distance de chacun
1 Précautions lors de la fabrication de désinfectant à la maison | Il est dangereux de mettre les matériaux dans le mauvais ordre
1 [Informations de vente du jour] Chez Amazon Time Sale, vous pouvez faire une bonne affaire sur un bain de bouche avec 6 types d'effets tels que le blanchiment et la stérilisation dans la gamme de 900 yens et un coussin de gel pour les maux de dos avec une bonne respirabilité.
1 Équilibre et calme même dans des situations difficiles et difficiles. Deux mots "ne peuvent pas être traduits"
1 Un étui où vous pouvez retirer quelques stylos immédiatement pour ceux qui ne veulent pas tordre leur poche poitrine [Today's Life Hack Tool]

Apprentissage

Divisez les données créées ci-dessus en train.tsv, dev.tsv, test.tsv. Placez le fichier dans resources / data et exécutez my_text_regressor.py.

Génération de phrases (impossible)

Cette fois, nous allons générer un document commençant par `au démarrage de Windows. Les résultats sont les suivants.

# create example sentence
sentence = Sentence('Lorsque Windows démarre', use_tokenizer=japanese_tokenizer)
print(sentence.to_tokenized_string())
# predict tags and print
regressor.predict(sentence)
sentence.to_dict()

{'entities': [],
 'labels': [{'confidence': 1.0, 'value': '0.8864221572875977'}],
 'text': 'Lorsque Windows démarre'}

Oh, le texte était juste vectorisé ...? Quel bordel.

Impressions

Comme il n'y a pas de tutoriel, c'était un peu gênant de lire le code source ... Je reçois un message d'erreur pendant l'apprentissage, c'est donc probablement encore une fonctionnalité en cours de développement. Pour être honnête, cela a pris environ une heure, mais je me sentais triste ... Ce n'est pas si bon de le faire avec élan. C'est regrettable que je ne puisse pas le faire, alors la prochaine fois, j'essaierai de générer des phrases en utilisant GPT-2.

Il semble que certaines personnes apprennent déjà le corpus japonais de Wikipédia. https://qiita.com/tanreinama/items/3b73fdeff09dfe74ef52

Recommended Posts

[Échec] Je voulais générer des phrases en utilisant TextRegressor de Flair
[Introduction à Pytorch] Je souhaite générer des phrases dans des articles de presse
Chaîne de hachage que je voulais éviter (2)
Je voulais contester la classification du CIFAR-10 en utilisant l'entraîneur de Chainer
Je voulais faire évoluer cGAN vers ACGAN
Chaîne de hachage que je voulais éviter (1)
Je voulais générer une phrase comme "Fucking Rashomon" (ancienne forme)
J'ai essayé de résumer diverses phrases à l'aide de l'API de synthèse automatique "summpy"
J'ai essayé d'utiliser Azure Speech to Text.
Je voulais résoudre ABC160 avec Python
Je voulais résoudre ABC159 avec Python
Je voulais résoudre ABC172 avec Python
Je voulais vraiment copier avec du sélénium
Implémentation de DQN avec TensorFlow (je voulais ...)
Je voulais résoudre NOMURA Contest 2020 avec Python
Scraping de pages i-Town: je voulais prendre la place de Wise-kun
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
J'ai essayé de synthétiser des fichiers WAV en utilisant Pydub.
Je veux visualiser les fichiers csv en utilisant Vega-Lite!
Je voulais jouer avec la courbe de Bézier
Je voulais installer Python 3.4.3 avec Homebrew + pyenv
J'ai essayé de générer une chaîne de caractères aléatoire
[Je veux classer les images à l'aide de Tensorflow] (2) Classifions les images
J'ai créé un jeu ○ ✕ avec TensorFlow
Je voulais juste comprendre le module Pickle de Python