[PYTHON] Quelles sont les caractéristiques des actrices audiovisuelles? J'ai deviné d'après le titre de l'oeuvre! (^ _ ^) / ~~

introduction

Avez-vous déjà été préoccupé par les ** titres AV **?

A ce moment, j'avais une question.

"Le titre de l'œuvre audiovisuelle représente les caractéristiques de l'actrice audiovisuelle, non?" "Si c'est le cas, je pense que vous pouvez distinguer votre habitude AV de ses caractéristiques."

Si vous pensez que oui, agissez! Faisons le

Cette fois, nous prouverons l'hypothèse en utilisant une méthode appelée ** nuage de mots **. (Je voudrais demander à ma ** Mia Nanasawa ** préférée de coopérer.)

Qu'est-ce que Word Cloud?

Un «nuage de mots» est une image unique de mots qui apparaissent fréquemment dans une phrase. C'est l'un des moyens les plus rapides et les plus simples de ressentir une phrase car vous pouvez voir visuellement à quoi cela ressemble.

Acquisition HTML

import requests #Bibliothèque pour obtenir des pages Web
from bs4 import BeautifulSoup #Une bibliothèque capable de lire et d'exploiter des balises à partir des données HTML acquises
url = "https://ja.wikipedia.org/wiki/%E4%B8%83%E6%B2%A2%E3%81%BF%E3%81%82" #URL du wiki de Mia Nanasawa
response = requests.get(url)
response.encoding = response.apparent_encoding #response.apparent_SHIFT, qui est le code de caractère correct pour l'encodage_JIS est stocké(Vous pouvez éviter les caractères déformés)
soup = BeautifulSoup(response.text, "html.parser") #BeautifulSoup(HTML à analyser/XML,Analyseur à utiliser(Analyseur))
#Le HTML peut être indenté
print(soup.prettify())

image.png

J'ai pu obtenir le HTML correctement.

Acquisition de nom de travail

span_list1=soup.findAll("td")
titles=[]
for i in span_list1:
    tmp=i.find("b")
    if tmp==None:
        continue
    else:
        print(tmp.text)
        titles.append(tmp.text)
データ La sortie ci-dessus contient des éléments qui ne sont pas nécessaires pour cette analyse, tels que la marque "!" Et la marque "-", nous allons donc les supprimer à partir de maintenant.

Crazing

import re
changed_titles1=[]

for i in titles:
    tmp=re.sub("!","",i)
    tmp=re.sub(" ","",tmp)
    tmp=re.sub("!","",tmp)
    tmp=re.sub("!!","",tmp)
    tmp=re.sub("〜","",tmp)
    tmp=re.sub("~","",tmp)
    tmp=re.sub("-","",tmp)
    tmp=re.sub("・","",tmp)
    tmp=re.sub("「","",tmp)
    tmp=re.sub("」","",tmp)
    tmp=re.sub("Mia Nanasawa","",tmp)
    if tmp=="":
        continue
    else:
        changed_titles1.append(tmp)
changed_titles1
データ

Vous avez maintenant supprimé les caractères inutiles. À partir de là, nous allons commencer l'analyse morphologique.

Analyse morphologique

import MeCab

changed_titles2=''.join(changed_titles1) #Doit être une chaîne de la liste
text = changed_titles2
m = MeCab.Tagger("-Ochasen")#Instanciation de tagger pour l'analyse du texte

#J'essaierai de supprimer uniquement la nomenclature
nouns = [line for line in m.parse(text).splitlines()#L'utilisation de la méthode parse de la classe Tagger renvoie le résultat de l'analyse morphologique du texte
               if "nom" in line.split()[-1]]
for str in nouns:
    print(str.split())
データ
nouns = [line.split()[0] for line in m.parse(text).splitlines()
               if "nom" in line.split()[-1]]
print(nouns)
データ

Le résultat est! ??

from wordcloud import WordCloud
import matplotlib.pyplot as plt

text_new=""
for i in nouns:
    text_new = text_new + " " + i

word_cloud=WordCloud(background_color='white',font_path=r"C:\Users\tomoh\Apprentissage automatique capable\Mot nuage\meiryo.ttc",min_font_size=5,prefer_horizontal=1)
word_cloud.generate(text_new)

plt.figure(figsize=(10,8))
plt.imshow(word_cloud)
plt.axis("off")
plt.show()

七沢みあ七沢みあ

Vous pouvez voir que les résultats ci-dessus représentent correctement les caractéristiques de Mia Nanasawa **.

C'est parce que j'ai l'expérience de regarder les vidéos de Mia Nanasawa sans en manquer une seule. (Je suis désolé pour mon expérience.)

Regarder en arrière, ** ・ Tundele ** ** ・ Provocation ** ** ・ Université des femmes ** J'ai ressenti quelque chose qui m'attirait beaucoup.

Si j'avais une petite amie, j'aurais aimé avoir ces trois points ...

Comparez avec d'autres actrices

高橋しょうこ高橋しょうこ

** Shoko Takahashi ** est une actrice célèbre qui a fait ses débuts dans le monde de la gravure. À partir de ce résultat, vous pouvez lire non seulement la fonction «idole, gravure», mais aussi la fonction de ** S-ki plus ancien ** du mot ** «patron, sœur aînée» **.

** Recommandé pour les personnes de tempérament M qui ont envie de se mettre en colère **.

三上悠亜三上悠亜

** Yua Mikami ** est une actrice populaire qui appartient à l'ancien SKE. De ce résultat, non seulement la caractéristique d '«idole», mais aussi la caractéristique de ** dame de savon de luxe ** peut être lue du mot ** «luxe, gros seins, savon» **.

Il est recommandé à ceux qui n'ont pas d'argent mais qui veulent goûter du savon de première qualité.

水卜さくら水卜さくら

** Sakura Miura ** est une actrice qui a pris soin de Mia Nanasawa avant qu'elle ne tombe amoureuse d'elle. De ce résultat, on peut lire les caractéristiques de ** "seins, gros seins, sobres" **. Probablement, je pense qu'il est recommandé pour ** ceux qui aiment les femmes aux gros seins sobres d'Aniota **.

À partir des résultats ci-dessus, J'ai trouvé sur WordCloud que j'aime ** "une étudiante sobre, aux gros seins et à l'écoute" **.

** Cela peut très bien être vrai **

En termes de "gros seins", Shoko Takahashi et Yua Mikami sont d'accord, Puisqu'il y a plus d'opportunités de regarder des vidéos de Mia Nanasawa et Sakura Miura que cela, ** Cette hypothèse en est la preuve. ** **

Veuillez essayer.

Recommended Posts

Quelles sont les caractéristiques des actrices audiovisuelles? J'ai deviné d'après le titre de l'oeuvre! (^ _ ^) / ~~
Ce à quoi j'ai pensé dans la question de l'examen d'entrée de "Bayes Statistics from the Basics"
Lorsque j'ai créé un scan ECR à partir d'un CDK, je pouvais voir l'arrière du scan
Pas étonnamment connu! ?? Qu'en est-il des arguments de fonction intégrés? De quelle école êtes-vous? [Python]
J'ai essayé de prédire le genre de musique à partir du titre de la chanson sur le réseau neuronal récurrent
J'ai fait un graphique radar des émotions du travail d'Aozora Bunko
Ce que j'ai vu en analysant les données du marché des ingénieurs
J'ai créé un robot Line qui devine le sexe et l'âge d'une personne à partir de l'image
Je souhaite extraire une URL arbitraire de la chaîne de caractères de la source html avec python