Dieser Artikel wurde am 7. Tag des IT-Adventskalenders mit dem Thema ** "Sadamasashi x IT" ** veröffentlicht.
Die 450 von Masashi Sada gesungenen Songs werden morphologisch analysiert, um Texte in 5 und 7 Tönen zu sammeln. Wenn Sie sie kombinieren, haben Sie ein Programm, das ** Sadamasashi Kawayanagi ** singt.
――Inarizushi, nicht geschickt, Liebe ist gut »Ah, ich kann die vorbeiziehende Liebe nicht erreichen
lyric.py
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from bs4 import BeautifulSoup
import requests
# uta-Eine Spalten-URL des Songs von Mr. Masashi Sada im Internet
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):
"""
Text
"""
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
#Perspektive der Songlistenseite
lyrics = []
for url in urls:
lyrics += generate_lyrics(url)
#URL-Ausgabe
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):
"""
Anzahl der Zeichen beim Lesen von Katakana aus einer Datei:Schneiden und zurückgeben nur zählen
Beispiel)
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):
#Zurücksetzen, wenn leer
if 'Leer' in token.part_of_speech:
_tmp = []
# _Nur Nomenklatur, Adjektive und Verben beginnen mit tmp
if len(_tmp) == 0:
if 'Hilfsverb' in token.part_of_speech:
continue
if 'Suffix' in token.part_of_speech:
continue
if 'Nicht unabhängig' in token.part_of_speech:
continue
if 'Nummer' in token.part_of_speech:
continue
if 'Substantiv' in token.part_of_speech or 'Adjektiv' in token.part_of_speech or 'Verb' in token.part_of_speech:
pass
else:
continue
_tmp.append(token)
#Lesen beim Lesen von 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:
#zurücksetzen
_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)
Als Ergebnis der Generierung von 100.000 Kawayanagi-Phrasen wurde beispielsweise eine große Menge dummer Kawayanagi wie "Sprechen, Miso-Suppe werden, ich bin glücklich" und "Kusafue ist dein Augenkalender" generiert. Es kann vom Menschen leicht identifiziert werden, aber wenn es darum geht, eine konkrete und gute Definition von Kawayanagi zu klären, ist es ein schwieriges Problem, weil es schwierig ist, es zu verbalisieren.
Ich habe mich mit einer detaillierten Person beraten. Als ich einem Freund der Fakultät für Englische Literatur einen Satz zeigte, wurde darauf hingewiesen, dass es viele Sätze gab, für die die Abhängigkeit nicht festgestellt wurde. Als zukünftige Aufgabe scheint es, dass wir einen Filter entwickeln können, der bessere Phrasen extrahiert, indem wir eine Abhängigkeitsanalyse durchführen und bewerten, ob er eingerichtet ist oder nicht.
Nur wenige Menschen können richtig zwischen Haiku und Kawayanagi unterscheiden. Es ist keine Zeit, die Lachgeschichten aufzulisten, die als ** "Es ist ein guter Kawayanagi" ** gelobt wurden. Dieses Mal dachte ich über die Extraktionslogik des guten Sadamasashi Kawayanagi in Bezug auf das moderne Haiku nach, das eine lange Geschichte hat und untersucht wird.
Der französische Literaturwissenschaftler Takeo Kuwahara veröffentlichte in der Novemberausgabe 1946 von Iwanami Shotens Magazin "World" ** "Zweite Kunst über zeitgenössisches Haiku" ** In seiner Dissertation wurde Haiku als "zweite Kunst" bezeichnet. Er argumentierte, dass es von der Kunst unterschieden werden sollte und verursachte damals auf dem Podium große Kontroversen (zweite Kunstkontroverse). Aus menschlicher Sicht auf dem Podium wies ein französischer Gelehrter zurück, dass Haiku weniger künstlerisch als andere Künste sei, aber der berühmte Dichter zu dieser Zeit konnte nicht gut argumentieren und er konnte nicht mit dem Gelehrten konkurrieren. Es ist eine Geschichte, die geworfen hat.
Kuwahara antwortete auf die Frage ** "Was ist Kunst?" ** "Was beeindruckt das menschliche Herz. Und Kunst ist sinnvoll, um tief zu denken." **. Es heißt auch, dass ** Kunst bedeutungslos ist, es sei denn, "die Erfahrung des Autors wird im Betrachter reproduziert" **. Mit anderen Worten, es ist ein gemeinsamer Eindruck. Ich fand es unabdingbar, Eindrücke zwischen dem Autor und dem Betrachter für den guten Sadamasashi Kawayanagi auszutauschen. Nach dem Lesen extrahierte ich die Sätze, die mich an die Szene denken lassen. Auf der anderen Seite werden Phrasen, die nur eine Liste von Wörtern sind, ausgeschlossen.
――Alive, schmerzhafte Wurmzähne sind Kirarin »Sehen Sie, fragen Sie und besuchen Sie Kasumi Gras
Es wird gesagt, dass Mr. Sadamasashis Lied aus irgendeinem Grund die Herzen berührt. Einer der Gründe, warum es seit 40 Jahren von den Menschen geliebt wird, ist, dass es sich hervorragend dazu eignet, Eindrücke auszutauschen, indem es die Zuschauer, die das Lied gehört haben, an seinen hervorragenden Ausdruck erinnert. es könnte sein.
Schließlich werde ich 100.000 Sätze Sadamasashi Kawayanagi anhängen. Ich möchte die Modellierung und Programmierung der Logik überlassen, um den nachfolgenden Forschern gutes Kawayanagi zu entlocken.
Wenn Sie den gewünschten Satz twittern, wird er in Zukunft hilfreich und hilfreich sein. Vielen Dank für Ihre Aufmerksamkeit heute.
Recommended Posts