
рдЖрдЬ рд╣рдо рдЧреАрддреЛрдВ рдХреЗ рдмреЛрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛ рдирдореВрдирд╛ рд╣реИрдВрдбреНрд╕ рдЕрдк рд╕рдореВрд╣ рдХреЗ рдЧреНрд░рдВрде рд╣реЛрдВрдЧреЗред рдХреБрдЫ рднреА рдирд╣реАрдВ рдЖрдк рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдореВрд╣реЛрдВ рдХреЗ рдЧреНрд░рдВрдереЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо Python3 (рдореЙрдбреНрдпреВрд▓ BeautifulSoup) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдп рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ (рдЧреНрд░рдВрдереЛрдВ) рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдХрд╛рд░реНрдп рдХреЛ 2 рдЪрд░рдгреЛрдВ рдореЗрдВ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
рдЪрд░рдг 1: рдЧреАрдд рдХреЛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдирд▓реЛрдб рдФрд░ рд╕рд╣реЗрдЬреЗрдВред
рд╕реНрдЯреЗрдЬ 2: рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВред
рдЯреНрд░реЛрд▓ рдФрд░ рд╢реМрдХреАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЧреБрдкреНрдд рдЕрд░реНрде рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рддреБрд░рдВрдд рдХрд╣реВрдВрдЧрд╛
- рдореИрдВ рд╣реИрдВрдбреНрд╕ рдЕрдк рдХрд╛ рд╕рджрд╕реНрдп рдирд╣реАрдВ рд╣реВрдВред
- рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕реА рднреА рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ рд╣реИред
- рдореБрдЭреЗ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрд╕рд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
- рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрдореЛрджрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд▓реЗрдЦрдХ рдХреЛ рдирд╛рд░рд╛рдЬ рдХрд░рдиреЗ рдХрд╛ рд╕рд╛рд░ рд╣реИ, рдЯрд╛рдЗрдкреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдмреЗрд╢рдХ, рдореИрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХрд╛ рдореВрд▓ рд╡рдХреНрддрд╛ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рдХрднреА-рдХрднреА рдореИрдВ рдХреБрдЫ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░рддрд╛, рдХреГрдкрдпрд╛ рджрдпрд╛рд▓реБ рд░рд╣реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗрдВред рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдирд┐рд░рд╛рдзрд╛рд░ рднреЛрдЬ рдХреЗ рд╕рд╛рде, рдореИрдВ рдЬрдВрдЧрд▓ рдореЗрдВ рдЯрд╣рд▓рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред
рд╕реНрдЯреЗрдЬ 1
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг (virtualenv)ред
рд░реЗрдкреЛ
#start virtualenv -p python3 my_song #
#run source my_song/bin/activate
#install modules pip install -r requirements.txt
* .Csv рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рдореЗрдВ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдЧреАрддреЛрдВ рдХреЛ рдЙрддрд╛рд░рдирд╛ рдФрд░ рд╕рд╣реЗрдЬрдирд╛ред
#-*- coding: utf-8 -*- import urllib.request from bs4 import BeautifulSoup import pandas as pd URL = 'http://txtmusic.ru/index.php?s=%D0%F3%EA%E8+%C2%E2%E5%F0%F5%21' # page = urllib.request.urlopen(URL) soup = BeautifulSoup(page) li = soup.body.findAll('li') # <li> URL URLS = ['http://txtmusic.ru/'+laget('href') for l in li] df = pd.DataFrame(columns=['name', 'text']) list_of_names = [] list_of_text = [] ind=0 BIG = "" for URL in URLS: page = urllib.request.urlopen(URL) soup = BeautifulSoup(page) article = soup.body.findAll('article') # ( rticle) text = str(article[0]).split('\n')[8] text = text.split('<br/>') text = [t for t in text if t!=''] text = " ".join(text) name= str(article[0].h1).split(" - ")[1].rstrip("</h1>") list_of_text.append(text) list_of_names.append(name) df.name = list_of_names df.text = list_of_text df.to_csv('songs.csv') # 'songs.csv'
рдЕрдЧрд▓рд╛ рдХрджрдо рдкрд╛рда рдХреЛ рд▓реИрдЯрд┐рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реИ (рдореЙрдбрд▓ рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рд▓рд┐рдП рд▓реИрдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред
import pandas as pd df = pd.read_csv('songs.csv') df = df[['name','text']] df.text = df.text.apply(lambda x: cyrtranslit.to_latin(x, 'ru')) df.text.to_csv('trans.csv') ''' cyrtranslit.to_latin(' ', 'ru') 'Moyo sudno na vozdushnoj podushke polno ugrej' cyrtranslit.to_cyrillic('Moyo sudno na vozdushnoj podushke polno ugrej') ' ' '''
рд╕реНрдЯреЗрдЬ 2
from textgenrnn import textgenrnn textgen = textgenrnn() textgen.train_from_file('trans.csv', num_epochs=1) # created file textgenrnn_weights.hdf5
рдФрд░ рд╡рд╣ рд╕рдм рд╣реИ! рдпрд╣ (textgenrnn) [ https://github.com/minimaxir/textgenrnn ] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛, рдЧреНрд░рдВрде рдЕрднреА рднреА рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдореЙрдбрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

Textgenrnn рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдПрдХ рдХрдк рдХреЙрдлреА рдХреЗ рд╕рд╛рде рдмреИрдареЗрдВред
# textgen_2 = textgenrnn('textgenrnn_weights.hdf5') textgen_2.generate(3, temperature=1.0) textgen_2.generate_to_file('lyrics.txt')
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?
рдЕрдм, рдЬрдм рдЖрдкрдиреЗ рдкрд╛рда рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯрдЬреЗрди рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдЬреНрдЮрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдПрдХ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд▓реЗрдЦ рдмрдирд╛рдПрдБред
- рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреЛрд╕реНрдЯред
- рд╕рдорд╛рдЪрд╛рд░ред
рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реНрд░реЛрддреЛрдВ рдХреА рд╕реВрдЪреА:
https://github.com/minimaxir/textgenrnn
https://towardsdatascience.com/ai-generates-taylor-swifts-song-lyrics-6fd92a03ef7e