Cet article a été publié le 7ème jour du Calendrier de l'Avent IT avec le thème ** "Sadamasashi x IT" **.
Les 450 chansons chantées par Masashi Sada sont analysées morphologiquement pour recueillir des paroles en 5 et 7 tons. Si vous les combinez, vous aurez un programme qui chante ** Sadamasashi Kawayanagi **.
――Inarizushi, pas adroit, l'amour est bon ――Ah, je ne peux pas atteindre l'amour qui passe
lyric.py
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from bs4 import BeautifulSoup
import requests
# uta-Une colonne URL de la chanson de M. Masashi Sada sur le net
urls = [
'http://www.uta-net.com/artist/1399/0/1/',
'http://www.uta-net.com/artist/1399/0/2/',
'http://www.uta-net.com/artist/1399/0/3/',
]
class LyricSheet(object):
"""
Paroles
"""
def __init__(self, title, song_id):
self.title = title
self.song_id = song_id
def __repr__(self):
return str(self.song_id) + ':' + self.title
@property
def url(self):
_base = 'http://www.uta-net.com/user/phplib/svg/showkasi.php?ID={}'
return _base.format(str(self.song_id))
def write_file(self):
with open("./data/main.txt", 'a') as text:
response = requests.get(self.url)
assert response.status_code == 200
text.write(response.text)
def generate_lyrics(url):
response = requests.get(url)
assert response.status_code == 200
soup = BeautifulSoup(response.text)
songs = []
for td in soup.tbody.find_all("td"):
if td.a:
_url = td.a['href']
if 'song' in _url:
_song_id = _url.replace('/', '').replace('song', '')
songs.append(LyricSheet(td.a.text, _song_id))
return songs
#Perspective de la page de liste de chansons
lyrics = []
for url in urls:
lyrics += generate_lyrics(url)
#Sortie URL
for lyric in lyrics:
print lyric.url
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from bs4 import BeautifulSoup
from janome.tokenizer import Tokenizer
import random
def cut_word(count):
"""
Nombre de caractères lors de la lecture de katakana à partir d'un fichier:Couper et retourner ne compte que
Exemple)
input - 5
output - ["a-I-U-E-O", "Kakikukeko", "Sasis Seso"]
"""
_tmp = []
result = []
path = './data/main.txt'
f = open(path, "r")
for body in f:
soup = BeautifulSoup(body)
for t in soup.find_all('text'):
if t is None:
continue
for token in tokenizer.tokenize(t.text):
#Réinitialiser si vide
if 'Vide' in token.part_of_speech:
_tmp = []
# _Seules la nomenclature, les adjectifs et les verbes commencent par tmp
if len(_tmp) == 0:
if 'Verbe auxiliaire' in token.part_of_speech:
continue
if 'suffixe' in token.part_of_speech:
continue
if 'Non indépendant' in token.part_of_speech:
continue
if 'nombre' in token.part_of_speech:
continue
if 'nom' in token.part_of_speech or 'adjectif' in token.part_of_speech or 'verbe' in token.part_of_speech:
pass
else:
continue
_tmp.append(token)
#Lire en lisant Katakana
reading = ''.join([_token.reading for _token in _tmp])
if len(reading) == count:
s = ''.join([_token.surface for _token in _tmp])
if '¥' not in s:
# debug
# result.append(s + ' :' + ''.join([_.surface + _.part_of_speech for _ in _tmp]))
result.append(s)
_tmp = []
elif len(reading) > count:
#réinitialiser
_tmp = []
f.close()
return result
tokenizer = Tokenizer()
word_seven = cut_word(7)
word_five = cut_word(5)
for x in xrange(100000):
print random.choice(word_five), random.choice(word_seven), random.choice(word_five)
print len(word_five), len(word_seven)
À la suite de la génération de 100 000 phrases de Kawayanagi, par exemple, une grande quantité de Kawayanagi ridicules tels que «Parler, devenez soupe miso, je suis heureux» et «Kusafue est le calendrier» de vos yeux a été généré. Il peut être facilement identifié par les humains, mais lorsqu'il s'agit de clarifier une définition concrète et bonne de Kawayanagi, c'est un problème difficile car il est difficile de le verbaliser.
J'ai consulté une personne détaillée. Quand j'ai montré une phrase à un ami de la Faculté de littérature anglaise, on m'a fait remarquer qu'il y avait de nombreuses phrases pour lesquelles la dépendance n'était pas établie. En tant que tâche future, il semble que nous puissions développer un filtre qui extrait de meilleures phrases en effectuant une analyse de dépendance et en notant s'il est établi ou non.
Il est rare qu'une personne soit capable de distinguer correctement le haïku et le Kawayanagi. Il n'y a pas de temps pour lister les histoires de rire qui ont été saluées comme ** "C'est un bon Kawayanagi" **. Cette fois, j'ai réfléchi à la logique d'extraction du bon Sadamasashi Kawayanagi en référence au haïku moderne, qui a une longue histoire et est à l'étude.
Le professeur Takeo Kuwahara, un érudit littéraire français, publié dans le numéro de novembre 1946 de la revue Iwanami Shoten "World" ** "Second Art-About Contemporary Haiku-" ** Il a fait valoir qu'il devrait être distingué de l'art et a causé beaucoup de controverse sur le podium à cette époque (deuxième controverse sur l'art). D'un point de vue humain du côté du podium, un érudit français a rejeté le fait que le haïku était moins artistique que les autres arts, mais le célèbre poète de l'époque ne pouvait pas bien argumenter, et il ne pouvait pas rivaliser avec le savant. C'est une histoire qui a jeté.
Kuwahara a répondu à la question ** "Qu'est-ce que l'art?" ** "Qu'est-ce qui impressionne le cœur humain. Et l'art est significatif de penser profondément." **. Il déclare également que ** l'art n'a pas de sens à moins que "l'expérience de l'auteur ne soit reproduite dans le spectateur" **. En d'autres termes, c'est une impression partagée. J'ai pensé qu'il était indispensable de partager l'impression entre l'auteur et le spectateur pour un bon Sadamasashi Kawayanagi. Après avoir lu, j'ai extrait les phrases qui me font penser à la scène. En revanche, les phrases qui ne sont qu'une liste de mots sont exclues.
――Je suis vivant, douloureux, les dents de ver sont du kirarin ――Voir, demander et visiter l'herbe de Kasumi
On dit que la chanson de M. Sadamasashi touche le cœur pour une raison quelconque. L'une des raisons pour lesquelles il est aimé par les gens depuis 40 ans est qu'il est excellent dans la méthode de partage des impressions en faisant penser au spectateur la scène au cœur du spectateur qui a écouté la chanson en raison de son excellente expression. Ça pourrait être.
Enfin, je vais joindre 100 000 phrases de Sadamasashi Kawayanagi. Je voudrais laisser la modélisation et la programmation de la logique pour extraire le bon Kawayanagi aux chercheurs suivants.
Si vous tweetez la phrase que vous aimez, ce sera utile et utile à l'avenir. Merci pour votre attention aujourd'hui.
Recommended Posts