--Création d'un système de synthèse (type d'extraction) --Construire une configuration opérationnelle sur AWS
--Contenu de l'algorithme de résumé
Au travail, on m'a demandé "Puis-je créer un système de synthèse?", Alors j'ai essayé de le construire. Mon lieu de travail gère un site d'actualités et ma motivation est de «publier un résumé dans les actualités publiées».
Certes, le site d'actualités d'une grande entreprise de presse a également un résumé en trois lignes, ce qui est un bon contenu pour ceux qui n'ont pas le temps de lire l'article en entier.
Il est préférable que les éditeurs rédigent leurs propres résumés, mais la création de résumés semble être une compétence particulière (j'ai entendu parler des éditeurs).
Je pense qu'il y a une demande de récapitulation automatique à de tels moments.
Il existe deux principaux types de récapitulation automatique.
Le premier est __ type de génération d'instruction __.
Il s'agit d'un type dans lequel l'algorithme interprète la signification du document d'entrée et crée un texte résumé en __good feeling __ (afin qu'il puisse montrer une tendance similaire aux données d'apprentissage).
Depuis que l'apprentissage profond est devenu populaire, il a enfin atteint un niveau pratique.
Et l'autre est le __type __ extrait.
Ce type sélectionne N textes (généralement une unité de texte) qui peuvent bien exprimer la signification de l'ensemble du document à partir du texte d'entrée.
Il existe un niveau d'algorithme pratique avant même l'apprentissage en profondeur [^ 1]
Si vous pensez que "la synthèse automatique est intéressante", veuillez également consulter cet article.
Cette fois, nous utiliserons l'algorithme de 2004 appelé LexRank parmi les types d'extraction.
Pour le dire clairement, il s'agit d'un algorithme de l'idée qu '"une phrase dans laquelle le même mot apparaît fréquemment est sûrement importante".
Qiita a également publié des articles avec des idées intéressantes jusqu'à présent.
Cette fois, les données cibles sont du texte d'actualité. Les textes d'actualité sont caractérisés par "les mots utilisés sont aussi unifiés que possible" et "la structure logique de la phrase est claire".
Pour cette raison, il est difficile que des erreurs de division morphologique se produisent, et je pense que la pondération graphique de LexRank est également facile à travailler __. Et mon fantôme a chuchoté: "Eh bien, ça va."
C'est pourquoi cette fois, j'ai sauté l'enquête rigoureuse et l'ai mise en œuvre en premier. [^ 2]
Je l'ai fait comme ça.
Les points sont les suivants.
La répartition des rôles est la suivante.
La taille minimale du RDS est suffisante.
La communication avec RDS n'a lieu que quelques fois par jour et les connexions simultanées ne se produisent pas.
J'ai donc choisi db.t3.micro
.
Avec cette configuration, le coût d'exploitation est d'environ 2 000 yens par mois. De plus, la majeure partie est le coût de fonctionnement de RDS.
D'une manière ou d'une autre, il est sorti légèrement, mais Fargate est un service de conteneur qui utilise Docker. Les frais informatiques ne sont engagés que lorsque vous le souhaitez. La configuration d'un travail par lots est également très simple.
Je ne peux pas introduire les commandes pour diverses raisons, mais les images de travail sont dans cet ordre.
J'ai un package d'API Wordpress pour Python, alors utilisez ceci (https://python-wordpress-xmlrpc.readthedocs.io/en/latest/).
Il y a d'autres ce genre de chose, donc celui-ci aurait pu convenir.
La mise en œuvre de Japanese Lexrank est présentée dans Blog Recruit Technologies.
Puisqu'il s'agit de la version Python 2, j'ai utilisé l'implémentation de la version Python 3.
Il existe un Package Lexrank, donc cela peut convenir. Cependant, puisque c'est une prémisse que l'élément de formulaire est divisé, il est divisé en éléments de formulaire à l'avance avec Mecab etc. et séparés par un espace.
J'ai donc introduit un système de synthèse de type d'extraction utilisant LexRank.
Si le texte en question est comme un texte d'actualité, je pense qu'il fonctionnera assez bien.
La création d'une configuration sans serveur Docker + sur AWS est également devenue plus facile, il semble donc qu'elle puisse également être utilisée pour créer un système de travail par lots.
[^ 1]: La question "Quand avez-vous commencé le Deep Learning?" Semble se poser, mais quand il s'agit de traitement du langage naturel, c'est vers 2015? J'ai le sentiment que le résumé automatique généré s'est amélioré depuis environ 2017 __. On a l'impression que l'encodeur-décodeur utilisant RNN est devenu une percée. [^ 2]: Pour le moment, je n'ai fait qu'une simple évaluation. Généralement, ROUGE-N et BLEU sont utilisés pour évaluer l'algorithme de synthèse. Cependant, il est assez difficile d'amener les gens du côté des entreprises à comprendre ROUGE-N et BLEU. Cette fois, je l'ai fait à peu près avec Accuracy. Il peut être exprimé dans Excel. ʻAccuracy = N (document avec résumé que j'ai jugé OK) / N (nombre de documents d'entrée) `
Recommended Posts