[PYTHON] UML est utilisé pour illustrer la bataille chaude de la lutte professionnelle (vue d'ensemble)

Backgorund [Plan actuel de l'API Qiita x COTOHA] Ceci est un article connexe.

J'ai extrait les noms de personnes et de techniques dans J'ai essayé d'extraire les noms de joueurs et de techniques d'articles sportifs, mais ici j'utilise UML dans cette application J'essaierai de l'illustrer.

L'approche consiste à utiliser l'API COTOHA pour l'analyse syntaxique ou l'extraction de mots-clés pour obtenir ce que font les joueurs, puis à le tracer avec PlantUML.

J'ai essayé d'abandonner un peu samedi et dimanche et de le développer (appel mystérieux occupé: bureau :), mais il a semblé prendre du temps pour comprendre l'étiquette dans la réponse de l'analyse syntaxique, voici donc un article sportif Je n'ai commencé que la méthode d'illustration en UML. (Temps mort simplement: hourglass_flowing_sand :)

Dataset Tokyo Sports Le meme que la derniere fois.

[Nouveau jour 1.5 Tokyo Dome] Minoru attaque Moxley pour défendre le trône américain "A qui vendez-vous des combats!"

https://www.tokyo-sports.co.jp/prores/njpw/1682622/

Dans le championnat IWGP / US Heavyweight, qui s'est déroulé au plus grand box-office de l'année "Wrestle Kingdom 14" (Tokyo Dome le 5), le champion John Moxley (34 ans) était le champion du tag IWGP Juice Robinson (30 ans). Il a rejeté le défi et a réussi sa première défense.
Au Tokyo Dome Tournament la veille (4e), Moxley a repris le titre à Reims Archer (32). Juice a remporté le championnat Tag en combinaison avec David Finley (26). Le lendemain, c'était une bataille décisive entre les nouveaux champions, mais Moxley avait pris le trône de Juice en juin dernier et avait déclaré qu'il s'installerait sur le ring la nuit précédente.
Au début, Juice a pris les devants, mais Moxley a pris une chaise à l'extérieur de la salle et lui a frappé le dos. De plus, il mord sur le front du jus. Un homme brutal qui s'est déchaîné en tant que «chien fou» pendant l'ère de la WWE a repris de force son rythme.
Juice a contre-attaqué avec une bombe puissante audacieuse à angle élevé, mais le champion a lancé une série d'attaques inattendues avec un pilier de fer en forme de quatre à partir d'un personnage à quatre pattes. Le challenger est allemand, de l'avalanche brain buster à Jack Hammer. J'ai évité le Deslider de Moxley (DDT à double bras) et l'ai frappé avec Lariart.
Cependant, le champion montre un genou puissant après la bataille fracassante. Il a inversé le frottement de la pulpe du jus et a fait exploser un deslider mortel du DDT, prenant 12 minutes 48 secondes et 3 comptes.
Après le match, la chanson thème d'entrée a été jouée et Minoru Suzuki (51 ans) est soudainement apparu. Lors du tournoi d'Hiroshima le 8 décembre de l'année dernière, il a été frappé par un deslider d'un moustique, et il ne peut pas cacher sa colère avec un regard dur. Après avoir enlevé le maillot sur la route des fleurs et se préparer pour la bataille, il a rencontré le champion et le coude sur le ring. Minoru, qui est puissant, a mis Moxley KO avec un pilote de pile de type Gotch à partir d'une strangulation nue.
Minoru a saisi le micro et a déclaré la guerre, "A qui vendez-vous le combat, cette millefeuille! Je suis Minoru Suzuki, un lutteur professionnel. J'achèterai ce combat!" L'épidémie de «rage» contre «méchant» sur le trône américain a dégagé une odeur dangereuse.
L'histoire de Minoru "A qui vendez-vous des combats? Hé. J'attendais que vous veniez devant moi. John Moxley ... Non, John Boy, prends soin de moi. Je te tuerai."
L'histoire de Juice "Tout se termine ici. John Moxley était plus fort que moi aujourd'hui. Je ne pouvais plus le surpasser. J'ai pensé à aujourd'hui après le match d'hier. Je n'y ai pas pensé. "

Method

Titre Match nom et lieu (date)

Même s'il s'agit d'un article sportif, contrairement à l'écriture libre comme les romans et les écrits, le format est fixe, et généralement le contenu de quand, où et qui a joué est écrit sur la première ligne. UML semble avoir une atmosphère si vous utilisez un package.

ground.png

Adversaire

Les adversaires peuvent être obtenus par extraction d'expressions uniques (/ nlp / v1 / ne). (Référence: J'ai essayé d'extraire les noms des joueurs et des techniques d'articles sportifs)

Le souci est de savoir comment identifier les joueurs qui sont apparus dans les matchs précédents. Il semble que le joueur qui n'apparaît que dans cette phrase comme cela a été fait dans le passé avec "acquis" et "déclaré" peut être jugé ne pas participer à ce match pour le titre, mais l'article lui-même est dans le système de temps passé Puisqu'il est écrit, si vous voulez juger du passé, vous pouvez juger s'il y a une date et une heure telles que «la nuit d'avant (4)» ou «en juin de l'année dernière». S'il peut être jugé, il est idéal de pouvoir l'afficher à l'extérieur du ring.

Au Tokyo Dome Tournament la veille (4e), Moxley a repris le titre à Reims Archer (32). Juice a remporté le championnat Tag en combinaison avec David Finley (26). Le lendemain, c'était une bataille décisive entre les nouveaux champions, mais Moxley avait pris le trône de Juice en juin dernier et avait déclaré qu'il s'installerait sur le ring la nuit précédente.

player.png

Je veux écrire le nom du joueur directement sans utiliser Player1 comme nom de classe, mais j'ai écrit le nom dans le champ car seuls les caractères alphanumériques sont autorisés en raison de la structure d'écriture du script qui relie à la classe.

Reprenez le trône

Moxley regagne le trône de Reims Archer (32).

Lorsque vous recevez ou prenez quelque chose de quelqu'un, vous pouvez utiliser une classe connexe.

rob.png

Gagnez le championnat Tag

Juice a remporté le championnat Tag en combinaison avec David Finley (26).

J'utilise Composition pour obtenir quelque chose.

rob.png

Un coup dans le dos

Moxley prend une chaise à l'extérieur de la salle et frappe son dos.

Cette expression est un peu difficile. Vous pouvez vous connecter directement à la classe, mais il est difficile de dire quelle partie du joueur vous avez attaqué. Par conséquent, l'affichage suivant s'affiche comme "J'ai attaqué le dos du joueur". Je l'ajoute également à la classe ʻattribute` chaque fois que je fais quelque chose.

rob.png

Contre-attaque avec bombe puissante à angle élevé

Jus contre-attaqué avec une bombe dynamique à grand angle

Lors de l'exécution d'une technique sur un joueur, le nom de la technique est ajouté à «l'attribut» de la classe, et qui a exécuté la technique et qui a exécuté la technique est affiché.

rob.png

Commentaire du joueur

L'histoire de Juice "Tout se termine ici. John Moxley était plus fort que moi aujourd'hui. Je ne pouvais plus le surpasser. J'ai pensé à aujourd'hui après le match d'hier. Je n'y ai pas pensé. "

Nous pouvons écrire des commentaires d'après-match dans les dernières lignes. Dans ce cas, il semble bon d'utiliser une note au lieu d'un ballon.

rob.png

Development

J'ai créé un script en utilisant PlantUML basé sur la méthode ci-dessus.

** Script code ** (Cliquez pour voir le code.)
@startuml

rectangle "Wrestle Kingdom 14 IWGP / US Heavyweight Championship" {
cadre Tokyo Dome{

		class Player1 {
		  username =John Moxley
Reprise()
Déclaration()
coup()
Mordant()
Consolidation des personnages de l'étape 4()
Deslider (DDT à double bras)()
Genou courant()
coude()
		}

		class Player2 {
		  username =Juice Robinson
Bombe de puissance à angle élevé()
Avalanche Brain Buster()
Jack Hammer()
allemand()
Lariart()
Frottement de la pulpe()
coude()
		}

		class senaka {
			name =retour
		}

		class hitai {
			name =montant
		}

		class Player5 {
			username =Minoru Suzuki
coude()
Strangulation nue()
Pilon de pieux type Gotch()
		}

	}
}

class Player3 {
	username =Lance Archer
}

class Player4 {
	username =David Finley
}

class oza {
	name =trône
}

class tag_oza {
	name =Tag trône
}


Player1 --> Player3 :Reprise>
(Player1, Player3) .. oza

Player2 -- Player4
Player2 *- tag_oza
Player4 *- tag_oza

Player1 --> Player2 :Reprise>
(Player1, Player2) .. oza

Player1 --> senaka :coup>
Player1 --> hitai :Mordant>
Player2 *- senaka
Player2 *- hitai

Player2 --> Player1 :Bombe de puissance à angle élevé>
Player2 --> Player1 :Consolidation des personnages de l'étape 4>
Player2 --> Player1 :Avalanche Brain Buster>
Player2 --> Player1 :Jack Hammer>
Player2 --> Player1 :allemand>
Player2 --> Player1 :Lariart>

Player1 x-- Player2 :Deslider (DDT à double bras)>
Player1 --> Player2 :Genou courant>
Player2 x-- Player1 :Frottement de la pulpe>
Player1 --> Player2 :Deslider (DDT à double bras)>

Player1 --> Player5 :coude>
Player5 --> Player1 :coude>
Player5 --> Player1 :Strangulation nue>
Player5 --> Player1 :Pilon de pieux type Gotch>

note "Tout se termine ici.\n John Moxley était plus fort que moi aujourd'hui.\n Je ne pouvais plus le dépasser.\n J'ai pensé à aujourd'hui après le match d'hier.\n Jusque-là, je n'avais pas du tout pensé au match d'aujourd'hui" as N1
note "À qui vendez-vous votre combat, cette Yarrow!\n Je suis Minoru Suzuki, un lutteur professionnel.\n Le combat de ce gars, je vais l'acheter!" as N2
note "A qui vendez-vous?\n J'attendais que vous veniez devant moi.\n John Moxley ... Non, John Boy, prends soin de toi.\n tuer" as N3

Player1 .. N1
Player5 .. N2
Player5 .. N3

@enduml

Figure

battle1.png

Il semble préférable d'optimiser la disposition des classes et la manière de relier les lignes pour faciliter la lecture. La sortie est la valeur par défaut.

Future

Ici, j'ai essayé de résumer comment illustrer des articles de sport à UML. Il y aura peut-être de nouveaux modèles auxquels vous devrez réfléchir lorsque vous essayez d'illustrer avec quelques articles supplémentaires. Ensuite, je dois réfléchir à la façon d'extraire la relation maître-esclave des phrases en utilisant COTOHA, mais comme il y a une "étiquette de dépendance" dans la réponse de l'analyse syntaxique (nlp / v1 / parse), cela semble être utilisable.

:expressionless::expressionless::expressionless::expressionless::expressionless: Cependant, il existe de nombreux modèles comme indiqué ci-dessous. Cela semble être strict si vous ne déterminez pas quelle étiquette sera retournée en demandant des phrases plusieurs fois.

Nom de l'étiquette de dépendance La description Exemple syntaxe
nsubj Nomenclature liée aux prédicats dans le cas principal. L'air est délicieux Délicieux → nsubj air
nsubjpass Une nomenclature liée à un proverbe avec un verbe auxiliaire passif. L'espoir est confié Confié → nsubjpass espoir
dobj Une nomenclature liée à un prédicat dans un cas d'objet. Tiens la main Connecter → main dobj
iobj Une nomenclature liée à un prédicat, comme avec l'aide au cas "ni". Donner à Hanako Je te donnerai → iobj Hanako
nmod Lors de la modification d'un mot avec une nomenclature autre que "ga", "o" et "ni", ou une nomenclature de phase temporelle. Criez ici Crier → nmod ici
csubj Nomenclature qui devient le sujet. Quand une phrase avec un assistant quasi-corporel est le sujet. Pas doué pour rire Pauvre → csubj rire
csubjpass Lors de la modification d'une phrase avec un verbe auxiliaire passif lorsque la phrase avec un auxiliaire quasi-corporel est le sujet. Je regrette ce que j'ai dit. Regret → csubjpass say
ccomp Texte supplémentaire. Je veux gâter Je pense → ccomp
advcl Clause complémentaire. Une clause qui modifie un mot, principalement avec une aide à la connexion. C ’est médiocre, mais c’ est bien. Bon → advcl médiocre
advmod Modification par adjonction. Ne jamais pardonner Pardon → advmod Absolument
neg Octroi de mots négatifs. Ne jamais pardonner Pardon → nég pas
nummod Précisez la quantité. 3 livres Livre → nummod 3
appos Expression du même rang. Ami (♀) Amis → appos ♀
acl Clause de modification de l'Union. Cependant, cela ne s'applique pas à un mod. En outre, des expressions de connexion telles que "tekara" et "while". Présent avec amour Présent → acl inclus
amod Adjectifs / formes / adjoints(DET(Ceci, cela, cela, quoi, etc.)Autre que)Modifie une nomenclature sans cas. Grand pouvoir Puissance → amod grand
det DET(Ceci, cela, cela, quoi, etc.)Modification par. ce livre Réserver → dét.
compound Complexe de nomenclature et nomenclature / verbe et verbe. Symptômes subjectifs Symptômes → conscience composée
name Un mot composé d'une nomenclature appropriée. Yamada Taro Yamada → nom Taro
conj Structure parallèle. L'élément de gauche est le sujet principal. Adam et Eve Adam → conj Eve
cc Coordonner la connexion. Adam et Eve Adam → cc et
aux Verbes auxiliaires attachés au mot et mots auxiliaires non indépendants. Inclut les verbes finaux tels que "ka". Je veux gâter Amae → aux want
auxpass Un verbe auxiliaire qui se connecte à un verbe pour former une phrase verbale passive. "Ré/Sera. " L'espoir est confié Confié → auxpass
cop Copule. Taro est un étudiant. Étudiant → flic
case Affichage de la casse par mots auxiliaires. L'air est délicieux Air → étui
mark Lorsque des connecteurs subordonnés, des assistants de connexion, des signes supplémentaires tels que "à" et "ka" sont attachés. Pas doué pour rire Rire → marque
punct Ponctuation. manger. Manger → ponctuer ponctuellement.
vocative Appel. Taro, cours Courir → vocatif
discourse Élément de discours. je suis fatigué Fatigué → discours Ah

PostScript

Ce contenu a beaucoup de volume à réaliser. Il semble qu'il faudra du temps pour tout faire, de certains articles de lutte professionnelle à UML, en analysant syntaxiquement les articles avec COTOHA pour en saisir les caractéristiques et en écrivant un script à écrire en Plant UML une fois que la tendance est saisie. est. [Plan actuel de l'API Qiita x COTOHA] traite du contenu fraîchement créé ou comment utiliser COTOHA lui-même. Il y en a beaucoup, mais je pensais qu'il pourrait être écrit dans un état à moitié fini comme Sakurada Familia, alors je l'ai écrit à la dernière minute de la date limite: sueur:

Reference

Recommended Posts

UML est utilisé pour illustrer la bataille chaude de la lutte professionnelle (vue d'ensemble)
Malheureusement, il n'y a pas de sens d'unité dans la méthode where
L'histoire de la participation à AtCoder
La probabilité de précipitation est-elle correcte?
L'histoire du "trou" dans le fichier
Science "Saito est-il le représentant de Saito?"
Le client API pour le plan du site dans la console de recherche Google est dans les webmasters au lieu de searchconsole
Quel genre de livre est le "Python Crash Course" le plus vendu au monde?