Where I End and You Begin: студийные альбомы Radiohead в векторах

Author

Оксана Цегоева

1 Второе мини-исследование

В прошлый раз я смотрела на частотности слов и TF-IDF текстов британской группы Radiohead и пытались понять, о чём в целом альбомы Radiohead и чем они отличаются друг от друга. И хотя более менее четкие темы выделились лишь в нескольких альбомах, любопытно было то, что практически везде был уникальный набор частотных слов.

В этот же раз мы посмотрим на представления альбомов Radiohead в векторном пространстве, посмотрим на близость альбомов и попробуем понять, насколько это осмысленно.

В предыдущей работе мы уже столкнулись с тем, что материала в текстах не так много и они во многом специфичны (например, из-за многочисленных повторений слов или строк). Тем не менее, посмотреть на результат всё равно интересно!

2 Получение данных

Импортируем библиотеки

library(rvest)
library(dplyr)
library(stringr)
library(tidyverse)
library(stopwords)
library(udpipe)
library(tidytext)
library(irlba)

Здесь мы снова обратимся к ресурсу SongMeanings, так как его довольно просто и приятно обкачивать :) И сразу скажу, что в обкачке ничего практически не поменялось. Цель — получить тексты альбомов, т.е. объединить тексты песен по альбомам

rhtml <- read_html("https://songmeanings.com/artist/view/discography/200/")

#получаем информацию о дискографии
rh_discography <- rhtml |> 
  html_elements(".album-holder.albums-list") |>
  html_elements(".text") |>
  html_elements("a") 

#достаём ссылки на альбомы и их названия
hrefs <- rh_discography |>
  html_attr("href")
  
hrefs <- str_c("https://songmeanings.com", hrefs)
titles <- rh_discography |>
 html_attr("title")

#создаем таблицу из названий альбомов и ссылок на них
rh <- tibble(album_title = titles, album_href = hrefs)

#достаем годы
years_info <- read_html("https://songmeanings.com/artist/view/discography/200/") |>
  html_elements(".album-holder.albums-list") |>
  html_elements("li") |>
  html_text2()

#указаны года в формате XXXX-XX-XX, от них мы можем оставить только год
years <- unlist(str_extract_all(years_info, "\\d{4}\\-\\d{2}\\-\\d{2}"))
years <- str_replace_all(years, "\\-\\d{2}\\-\\d{2}", "")


rh <- rh |>
  filter(album_title != "See album details") |> #
  mutate(year = years) |>
  filter(album_title == "Pablo Honey" | album_title == "The Bends"
         | album_title == "OK Computer" | album_title == "Kid A" | album_title == "Amnesiac"
         | album_title == "Hail to the Thief" | album_title == "In Rainbows"
         | album_title == "The King of Limbs" | album_title == "A Moon Shaped Pool") |>
  arrange(year) #сортируем альбомы по датам выхода

knitr::kable(rh)
album_title album_href year
Pablo Honey https://songmeanings.com/albums/view/tracks/53/ 1993
The Bends https://songmeanings.com/albums/view/tracks/54/ 1995
OK Computer https://songmeanings.com/albums/view/tracks/55/ 1997
Kid A https://songmeanings.com/albums/view/tracks/56/ 2000
Amnesiac https://songmeanings.com/albums/view/tracks/57/ 2001
Hail to the Thief https://songmeanings.com/albums/view/tracks/2187/ 2003
In Rainbows https://songmeanings.com/albums/view/tracks/14461/ 2007
The King of Limbs https://songmeanings.com/albums/view/tracks/257755/ 2011
A Moon Shaped Pool https://songmeanings.com/albums/view/tracks/280180/ 2016

Опять же проходимся по каждой ссылке и собираем сначала ссылки на песни, а потом уже их тексты.

#получаем песни из каждого основного альбома
get_songs <- function(album) {
  Sys.sleep(1)
  album_info <- read_html(album) |>
    html_elements(".table-holder") |>
    html_elements("a")
  
  album_tibble <- tibble(song_title = html_attr(album_info, "title"),
                         song_href = html_attr(album_info, "href"),
                         album_href = album)
}

#получаем таблицу с названием песни, ссылкой на нее и ссылкой на альбом
songs_tibble <- map_df(pull(rh, album_href), get_songs)

#можем соединить таблицу с информацией об альбомах с songs_tibble по колонке с ссылкой на альбом
album_song_tibble <- full_join(rh, songs_tibble)

#достаем тексты
get_songs_texts <- function(song_url) {
  Sys.sleep(1)
  text <- read_html(song_url) |>
    html_elements(".none") |>
    html_text2()
  
  text <- str_replace_all(str_to_lower(text), "\n", " ")
  text <- str_replace_all(text, "    ", " ")
  text <- str_replace_all(text, "’", "'")
  text <- str_replace_all(text, "'m", " am")
  text <- str_replace_all(text, "won't", "will not")
  text <- str_replace_all(text, "can't", "can not")
  text <- str_replace_all(text, "n't", " not")
  text <- str_replace_all(text, "'s", " is")
  text <- str_replace_all(text, "'ll", " will")
  text <- str_replace_all(text, "'re", " are")
  text <- str_replace_all(text, "'ve", " have")
  text <- str_replace_all(text, "'d", " would")
  text <- str_replace_all(text, "[[:punct:]]", "")
  text <- str_replace_all(text, "payin", "paying")
  text <- str_replace_all(text, "gonna", "going")
  text <- str_replace_all(text, "\\s$", "")
  text <- str_replace_all(text, "   ", " ")
  text <- str_replace_all(text, "  ", " ")
}

songs_texts <- map(pull(album_song_tibble, song_href), get_songs_texts)

#добавляем текст в таблицу
album_song_text_tibble <- album_song_tibble|>
  mutate(song_text = songs_texts)

Объединиям тексты песен каждого альбома в один текст:

texts_to_one <- function(album){
  album_song_text_tibble |>
    filter(album_title == album) |>
    pull(song_text) |>
    str_c(collapse = " ")
}


all_texts <- map(pull(rh, album_title), texts_to_one)

albums_texts = tibble(album = pull(rh, album_title),
                      text = all_texts,
                      year = pull(rh, year)) |>
                unite("album_year", album, year, sep = "_")

albums <- pull(albums_texts, album_year) #пусть будут отдельно названия альбомов

knitr::kable(head(albums_texts, 2)) #здесь показано всего 2 альбома, чтобы не занимать слишком много пространства
album_year text
Pablo Honey_1993 you are the sun and moon and stars are you and i could never run away from you you try at working out chaotic things and why should i believe myself not you it is like the world is going to end so soon and why should i believe myself you me and everything caught in the fire i can see me drowning caught in the fire when you were here before could not look you in the eye you are just like an angel your skin makes me cry you float like a feather in a beautiful world and i wish i was special you are so very special but i am a creep i am a weirdo what the heck am i doing here i do not belong here i do not care if it hurts i want to have control i want a perfect body i want a perfect soul i want you to notice when i am not around you are so very special i wish i was special but i am a creep i am a weirdo what the heck am i doing here i do not belong here she is running out again she is running out she is run run run run whatever makes you happy whatever you want you are so very special i wish i was special but i am a creep i am a weirdo what the heck am i doing here i do not belong here i do not belong here he is bitter and twisted he knows what he wants he wants to be low down he wants to belong he wants us to listen he wants us to lead and he was a stupid baby turned into a power freak but how do you how do you how do you he lives with his mother but we show him respect he is a dangerous bigot but we always forget and he is just like his daddy because he cheats on his friends and he steals and he bullies any way that he can how do you how do you how do you and the wise man said i do not want to hear your voice and the thin man said i do not want to hear your voice and they are cursing me and they will not let me be there is nothing to say and there is nothing to do stop whispering stop shouting stop whispering stop shouting and my mother say we do nott love you son some more and the buildings say let me spit on your face some more and the feeling is that there is something wrong cause i can not find the words and i can not find the song stop whispering stop shouting stop whispering stop shouting dear sir i have a complaint dear sir i have a complaint can not remember what it is that is why i am here stop whispering stop whispering stop whispering stop whispering stop shouting been thinking about you your records are here your eyes are on my wall your teeth are over there but i am still no one and you are now a star what do you care been thinking about you and there is no rest shit i still love you still see you in bed but i am playing with myself and what do you care when the other men are far far better all the things you have got all the things you need who bought you cigarettes who bribed the company to come and see you honey i have been thinking about you so how can you sleep these people are not your friends they are paid to kiss your feet they do not know what i know and why should you care when i am not there been thinking about you and there is no rest shit i still love you still see you in bed but i am playing with myself what do you care when i am not there all the things you have got she will never need all the things you have got i have bled and i bleed to please you been thinking about you destiny destiny protect me from the world destiny hold my hand protect me from the world here we are with our running and confusion and i do not see no confusion anywhere and if the world does turn and if london burns i will be standing on the beach with my guitar i want to be in a band when i get to heaven anyone can play guitar and they will not be a nothing anymore grow my hair grow my hair i am jim morrison grow my hair i want to be want to be want to be jim morrison here we are with our running and confusion and i do not see no confusion anywhere and if the world does turn and if london burns i will be standing on the beach with my guitar i want to be in a band when i get to heaven anyone can play guitar and they will not be a nothing anymore soul destroyed with clever toys for little boys it is inevitable inevitable it is a soul destroyed you are free until you drop you are free until you have had enough and you do not understand no ripcord no ripcord no ripcord no ripcord aeroplane do i mean what i mean oh it is inevitable inevitable oh aeroplane a thousand miles an hour on politics and power that she do not understand no ripcord no ripcord no ripcord no ripcord the answer to your prayers we will drop you anywhere no ripcord no ripcord no ripcord no no no ripcord oh yeah i never wanted anything but this i tried hard worked hard i ran around in domestic bliss i fought hard died hard every time you are running over me every time you are running i can see i am not a vegetable i will not control myself i spit on the hand that feels me i will not control myself i never wanted any broken bones scarred face no home your words surround me and i asphyxiate and i burn all hate every time you are running out on me every time you are running i can see i am not a vegetable i will not control myself i spit on the hand that feels me i will not control myself the waters break the waters run all over me the waters break the waters run and this time you are going to pay i am not a vegetable i will not control myself i spit on the hand that feels me i will not control myself i can not afford to breathe in this town nowhere to sit without a gun in my hand hooked back up to the cathode ray i am better off dead i am better off dead i am better off prove yourself prove yourself prove yourself i want to breathe i want to grow i would say i want it but i do not know how i work i bleed i beg i pray but i am better off dead i am better off dead i am better off prove yourself prove yourself prove yourself i am better off dead i am better off dead i am better off prove yourself woh please forget the words that i just blurted out it was not me it was my strange and creeping doubt it keeps rattling my cage and there is nothing in this world will keep it down even though i might even thought i try i can not even though i might even thought i try i can not so many things that keep that keep me underground so many words that i that i can never find if you give up on me now i will be gutted like i have never been before and even though i might even thought i try i can not even though i might even thought i try i can not if you give up on me now i will be gutted like i have never been before and even though i might even thought i try i can not even though i might even thought i try i can not even though i might even thought i try i can not even though i might even thought i try i can not i feel better i feel better now you have gone i got better i got better i got strong i feel better i feel better now there is nothing wrong i got better i got better i got strong tell me something tell me something i do not know tell me one thing tell me one thing let it go i got something i got something heaven knows i got something i got something i do not know in my mind and nailed into my heels all the time killin what i feel and everything i touch turns into stone all wrapped up in crinoline all wrapped up in sugarcoated just in case i blow out i am glued just in case i crack out and everything i touch turns to stone everything i touch turns to stone all wrapped up in crinoline all wrapped up in sugarcoated
The Bends_1995 you can force it but it will not come you can taste it but it will not form you can crush it but it is always here you can crush it but it is always near chasing you home saying everything is broken everyone is broken you can force it but it will stay stung you can crush it as dry as a bone you can walk it home straight from school you can kiss it you can break all the rules but still everything is broken everyone is broken everyone is everyone is broken everyone is everything is broken why can not you forget why can not you forget why can not you forget where do we go from here the words are coming out all weird where are you now when i need you alone on an airplane falling asleep against the window pain my blood will thicken i need to wash myself again to hide all the dirt and pain cause i would be scared that there is nothing underneath and who are my real friends have they all got the bends am i really sinking this slow my baby is got the bends oh no we do not have any real friends no no no i am just lying in a bar with my drip feed on talking to my girlfriend waiting for something to happen and i wish it was the 60s i wish i could be happy i wish i wish i wish that something would happen where do we go from here the planet is a gunboat in a sea of fear and where are you they brought in the cia the tanks and the whole marines to blow me away to blow me sky high baby is got the bends we do not have any real friends i am just lying in a bar with my drip feed on talking to my girlfriend waiting for something to happen and i wish it was the 60s i wish i could be happy i wish i wish i wish that something would i want to live and breathe i want to be part of the human race i want to live and breathe i want to be part of the human race race race where do we go from here the words are coming out all weird where are you now when i need you two jumps in a week i bet you think that is pretty clever do not you boy flying on your motorcycle watching all the ground beneath you drop kill yourself for recognition kill yourself to never ever stop you broke another mirror you are turning into something you are not do not leave me high do not leave me dry do not leave me high do not leave me dry drying up in conversation you will be the one who cannot talk all your insides fall to pieces you just sit there wishing you could still make love they are the ones who will hate you when you think you have got the world all sussed out they are the ones who will spit at you you will be the one screaming out do not leave me high do not leave me dry do not leave me high do not leave me dry oh it is the best thing that you ever had the best thing you ever ever had it is the best thing that you ever had the best thing you have had is gone away ddo not leave me high do not leave me dry do not leave me high do not leave me dry do not leave me high do not leave me high do not leave me dry her green plastic watering can for her fake chinese rubber plant in the fake plastic earth what she bought from a rubber man in a town full of rubber bands to get rid of itself it wears her out it wears her out it wears her out it wears her out she lives with a broken man a cracked polystyreneman who just crumbles and burns he used to do surgery for girls in the eighties but gravity always wins and it wears him out it wears him out it wears him out it wears him she looks like the real thing she tastes like the real thing my fake plastic love but i can not help the feeling i could blow through the ceiling if i just turn and run and it wears me out it wears me out it wears me out it wears me out if i could be who you wanted if i could be who you wanted all the time all the time i do not want to be crippled and cracked shoulders and wrists knees and back ground to dust and ash crawling on all fours when you have got to feel it in your bones when you have got to feel it in your bones now i can not climb the stairs pieces missing everywhere prozac painkillers when you have got to feel it in your bones when you have got to feel it in your bones i used to fly like peter pan all the children flew when i touched their hands you see you have got to feel it in your bones you see you have got to feel it in your bones ahah they love me like i was a brother they protect me listen to me they dug me my very own garden gave me sunshine made me happy nice dream i call up my friend the good angel but she is out with her ansaphone she says she would love to come help but the sea would electrocute us all nice dream if you think that you are strong enough if you think you belong enough nice dream can not get the stink off he is been hanging around for days comes like a comet suckered you but not your friends one day he will get to you teach you how to be a holy cow do not get my sympathy hanging out the 15th floor you have changed the locks three times he still comes reeling through the door and soon he will get to you teach you how to get to purest hell you do it to yourself you do and that is what really hurts is you do it to yourself just you you and no one else you do it to yourself faith you are driving me away you do it everyday you do not mean it but it hurts like hell my brain says i am receiving pain a lack of oxygen from my life support my iron lung we are too young to fall asleep too cynical to speak we are losing it can not you tell we scratch our eternal itch a twentieth century bitch and we are grateful for our iron lung the headshrinkers they want everything my uncle bill my belisha beacon the headshrinkers they want everything my uncle bill my belisha beacon suck suck your teenage thumb toilet trained and dumb when the power runs out we will just hum this this is our new song just like the last one a total waste of time my iron lung the headshrinkers they want everything my uncle bill my belisha beacon the headshrinkers they want everything my uncle bill my belisha beacon and if you are frightened you can be frightened you can be it is ok and if you are frightened you can be frightened you can be it is ok the headshrinkers they want everything my uncle bill my belisha beacon limb by limb and tooth by tooth tearing up inside of me every day every hour i wish that i was bullet proof wax me mold me heat the pins and stab them in you have turned me into this just wish that it was bullet proof was bullet proof so pay me money and take a shot lead fill the hole in me i could burst a million bubbles all surrogate and bullet proof and bullet proof repeat get home from work and you are still standing in your dressing gown well what am i to do i know all the things around your head and what they do to you what are we coming to what are we going do blame it on the black star blame it on the falling sky blame it on the satellite that beams me home the troubled words of a troubled mind i try to understand what is eating you i try to stay awake but its 58hrs since that i last slept with you what are we coming to i just do not know anymore i get on the train and i just stand about now that i do not think of you i keep falling over i keep passing out when i see a face like you what am i coming to i am going melt down you bite through the big wall the big wall bites back you sit there and sulk sit there and bawl you are so pretty when you are on your knees disinfected eager to please sometimes you sulk sometimes you burn god rest your soul when the loving comes and we have already gone just like your dad you will never change each time it comes it eats me alive i try to behave but it eats me alive so i declare a holiday fall asleep drift away rows of houses all bearing down on me i can feel their blue hands touching me all these things into position all these things we will one day swallow whole and fade out again and fade out this machine will will not communicate these thoughts and the strain i am under be a world child form a circle before we all go under and fade out again and fade out again cracked eggs dead birds scream as they fight for life i can feel death can see its beady eyes all these things into position all these things we will one day swallow whole and fade out again and fade out again immerse your soul in love immerse your soul in love

3 Дополнительная обработка

Всё-таки я поняла, как мне стоило использовать Udpipe и в этот раз я не упущу этот шанс! Не получилось использовать map и поэтому код вышел не самым причесанным, но зато получилось то, что хотелось:

# udpipe_download_model(language = "english-partut")
eng_model <- udpipe_load_model(file = "english-partut-ud-2.5-191206.udpipe")
#
#
get_lems <- function(data, i){
  as_tibble(udpipe_annotate(eng_model, data$text[[i]])) |>
    filter(!lemma %in% stopwords() & !token %in% stopwords()) |>
    select(doc_id, lemma) |>
    add_count(lemma) |>
    count(lemma, doc_id) |> 
    mutate(doc_id = data$album_year[[i]])
  }

pb <- get_lems(albums_texts, 1)
tb <- get_lems(albums_texts, 2)
oc <- get_lems(albums_texts, 3)
ka <- get_lems(albums_texts, 4)
am <- get_lems(albums_texts, 5)
ht <- get_lems(albums_texts, 6)
ir <- get_lems(albums_texts, 7)
kl <- get_lems(albums_texts, 8)
ms <- get_lems(albums_texts, 9)

all_albums_data <- bind_rows(pb, tb, oc, ka, am, ht, ir, kl, ms)
all_albums_data
# A tibble: 2,834 × 3
   lemma     doc_id               n
   <chr>     <chr>            <int>
 1 aeroplane Pablo Honey_1993     2
 2 afford    Pablo Honey_1993     1
 3 always    Pablo Honey_1993     1
 4 angel     Pablo Honey_1993     1
 5 answer    Pablo Honey_1993     1
 6 anymore   Pablo Honey_1993     2
 7 anyone    Pablo Honey_1993     2
 8 anything  Pablo Honey_1993     1
 9 anywhere  Pablo Honey_1993     3
10 around    Pablo Honey_1993     2
# ℹ 2,824 more rows

4 TF-IDF

rh_tf_idf <- all_albums_data |>
  bind_tf_idf(lemma, doc_id, n) |> 
  arrange(-tf_idf)

5 Термин-документ и LSA

Поскольку меня интересуют именно векторы текстов, а не отдельных слов, то лучше будет применить именно LSA

dtm <- rh_tf_idf |> 
  cast_sparse(lemma, doc_id, tf_idf)

k <- 4 #максимальное возможное значение

lsa_space <- irlba(dtm, nv = k, maxit = 100)
rownames(lsa_space$v) <- colnames(dtm)
colnames(lsa_space$v) <- str_c("dim", 1:k)


doc_emb <- lsa_space$v |> 
  as.data.frame() 

doc_emb
                               dim1       dim2        dim3        dim4
The King of Limbs_2011  -0.97789148  0.1932342 -0.01071967 -0.04803218
Amnesiac_2001           -0.08651940 -0.5439202  0.61482320 -0.56193801
Hail to the Thief_2003  -0.08058970 -0.2209709 -0.10146814  0.17905994
Kid A_2000              -0.09013585 -0.6263302 -0.68655144 -0.14206875
Pablo Honey_1993        -0.09399772 -0.3725231  0.36655451  0.76542223
The Bends_1995          -0.06475549 -0.2090764 -0.07133361  0.15975419
OK Computer_1997        -0.05192867 -0.1369912 -0.01776967  0.11126469
In Rainbows_2007        -0.05060803 -0.1117640 -0.01860200  0.05315805
A Moon Shaped Pool_2016 -0.05776560 -0.1093141 -0.01078762  0.05544725

6 There’s a gap where we meet

Посмотрим на близость альбомов друг к другу и отрефлексируем. Постараюсь не так сильно пугать потоком рассуждений, а поскольку хоть и кратких комментариев будет по всем 9 альбомам, для лаконичности будем смотреть на топ-3 и по одному методу.

dist_mx <- doc_emb  |> 
  philentropy::distance(method = "euclidean", use.row.names = TRUE) 
Metric: 'euclidean'; comparing: 9 vectors.
nearest_doc <- function(dist_mx, doc, number = 4) {
  sort(dist_mx[doc, ], decreasing = FALSE) |> 
    head(number) |> 
    names()
}

6.1 Pablo Honey (1993)

nearest_doc(dist_mx, albums[1])
[1] "Pablo Honey_1993"       "Hail to the Thief_2003" "The Bends_1995"        
[4] "OK Computer_1997"      

Это занятно! Очень мило, что для Pablo Honey среди ближайших оказались буквально следующие альбомы по хронологии. Нужно признать, что я не так хорошо знаю этот альбом, поэтому сложно как-либо оценить его близость с Hail to the Thief — альбомом, где довольно много отчаяния и злости, связанных с остросоциальными проблемами. Но он еще не раз возникнет в комментариях!

6.2 The Bends (1995)

nearest_doc(dist_mx, albums[2])
[1] "The Bends_1995"         "Hail to the Thief_2003" "OK Computer_1997"      
[4] "In Rainbows_2007"      

Тут, кстати, Pablo Honey не попал в топ-3, зато есть OK Computer. Интересно отдельно прокомментировать связь с Hail to the Thief. На мой взгляд, в The Bends есть песни как скорее о человеке и его внутреннем состоянии, так и о злободневности бытия. Так или иначе, их объедиянет атмосфера удрученности, отчаяния, обиды и злости. И примерно такие же слова мне приходят на ум, когда я думаю о HttT. Тут же хочется еще добавить про OK Computer, ведь в нём поднимаются темы паранойи, тревоги и усталости от жизни в современном мире, где неумолимо развиваются технологии. Так что и хронологически, и тематически тут довольно хорошая картина. In Rainbows же видеть более неожиданно — этот альбом далек от социальных тем и сосредоточен на человеке самом по себе. Впрочем, это не противоречит некоторой доле The Bends)

6.3 OK Computer (1997)

nearest_doc(dist_mx, albums[3])
[1] "OK Computer_1997"        "A Moon Shaped Pool_2016"
[3] "In Rainbows_2007"        "The Bends_1995"         

Довольно неодназначный результат, отголоски которого еще не раз заставят меня задуматься об этом альбоме. OK Computer был кратко описан мной выше, в нём часто встречается ирония и где-то даже цинизм, местами он кажется даже бесчувственным. Однако его ближайшие два соседа — A Moon Shaped Pool и In Rainbows — пожалуй, самые искренние и лиричные альбомы группы. Однако, не стоит отрицать многогранность OK Computer, возможно “чувственная” составляющая здесь куда больше, чем это могло остаться в памяти. Также здесь есть и The Bends, который, как говорилось ранее, чувств не лишён.

6.4 Kid A (2000)

nearest_doc(dist_mx, albums[4])
[1] "Kid A_2000"             "Hail to the Thief_2003" "The Bends_1995"        
[4] "In Rainbows_2007"      

Неплохая соотнесенность по времени! В Kid A много внимания уделено именно звучанию, экспериментам с электронной музыкой, поэтому даже в текстах встречается какая-то “механичность”. Впрочем, есть тут элементы и паранойи, и иронии, и рассуждений на злободневные темы, и всё-таки искренности. Поэтому неудивительно видеть близость со всеми представленными альбомами. Удивительно, впрочем не видеть тут Amnesiac, который был записан в то же время (хотя для меня они действительно разные, в Amnesiac больше человечности)

6.5 Amnesiac (2001)

nearest_doc(dist_mx, albums[5])
[1] "Amnesiac_2001"           "A Moon Shaped Pool_2016"
[3] "In Rainbows_2007"        "OK Computer_1997"       

Между прочим и тут нет близости с Kid A! Зато есть те самые душевные AMSP и In Rainbows. Возможно, не зря Amnesiac мне казался довольно эмоциональным и в то же время спокойным альбомом? И между прочим, тут есть и многогранный OK Computer, может, его проявлению уже не стоит удивляться хех

6.6 Hail to the Thief (2003)

nearest_doc(dist_mx, albums[6])
[1] "Hail to the Thief_2003" "The Bends_1995"         "OK Computer_1997"      
[4] "In Rainbows_2007"      

А вот и здесь наблюдается близость с The Bends, это даже здорово. И приятно здесь же видеть OK Computer, я ждала этой связи еще на его обсуждении, всё-таки и там, и там как будто много похожих тем! Между тем, тут есть и In Rainbows, наличие которого объяснить уже сложно… Несмотря на то, что это соседствующие хронологически альбомы, всё-таки между ними перерыв в 4 года и их я бы могла даже противопоставить друг другу.

6.7 In Rainbows (2007)

nearest_doc(dist_mx, albums[7])
[1] "In Rainbows_2007"        "A Moon Shaped Pool_2016"
[3] "OK Computer_1997"        "The Bends_1995"         

Ура, AMSP — ближайший! Пожалуй, из всех связей эту я ожидала увидеть больше всего. И тут опять же есть OK Computer…) Стоит на этом этапе упомянуть, что существует фанатская теория о “Секретном альбоме Radiohead”, который представляет собой смесь OK Computer и In Rainbows (песни нужно слушать, чередуя их, т.е. первую песню OKC, затем первую песню IR, потом вторую OKC и т.д.). Но, честно, никогда не видела в ней чего-то осмысленного (хотя звучало красиво, но всё ещё не слишком связанно). Кстати тут также есть The Bends, их близость мы уже видели ранее.

6.8 The King of Limbs (2011)

nearest_doc(dist_mx, albums[8])
[1] "The King of Limbs_2011"  "A Moon Shaped Pool_2016"
[3] "In Rainbows_2007"        "OK Computer_1997"       

О и тут хорошо, мне нравится! TKoL был выпущен между In Rainbows и AMSP, обоим сильно уступает по популярности (что обидно). Но то самое сосредоточение на внутреннем состоянии человека чувствуется в этом альбоме. И конечно же, куда мы без OK Computer :)

6.9 A Moon Shaped Pool (2016)

nearest_doc(dist_mx, albums[9])
[1] "A Moon Shaped Pool_2016" "In Rainbows_2007"       
[3] "OK Computer_1997"        "The Bends_1995"         

In Rainbows ближайший! Можно спать спокойно Про The Bends и OK Computer было сказано уже не раз, поэтому, можно перейти и к некоторым итогам.

7 Возможные выводы

Работа совсем небольшая и весьма неглубокая, но любопытные и даже в какой-то степени осмысленные моменты здесь можно было наблюдать:

  • альбомы часто сближаются с более близкими по хронологии, хотя есть и неожиданное “отсутствие близости” между Kid A (2000) и Amnesiac (2001)

  • также есть и вероятные тематические связи, наиболее примечательные взаимные близости, на мой взгляд, это чувственные A Moon Shaped Pool и In Rainbows, полные отчаяния Hail To The Thief и The Bends

  • нужно внимательнее изучить OK Computer, я никогда не считала его слишком бесчувственным, напротив, он вызывает много эмоций, но никогда не ставила его в один ряд с AMSP и IR

Если думать о развитии данной работы, то стоило бы взглянуть на косинусную близость, возможно, взглянуть на сами значения, и выделять не только топ-3. Интересно было бы посмотреть и отдельно на близость песен, что могло бы обрисовать более подробное тематическое представление о творчестве группы. И в таком случае добавить песен не из студийных альбомов!