RECOMENDACIÓN PERSONALIZADA DE CANCIONES
PERSONALIZED MUSIC RECOMMENDER
TRABAJO FIN DE GRADO
CURSO 2023-2024
AUTORAS
LEIRE JIMÉNEZ GONZÁLEZ
LAURA MARTÍNEZ TOMÁS
DIRECTORA
Mª BELÉN DÍAZ AGUDO
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
RECOMENDACIÓN PERSONALIZADA DE CANCIONES
PERSONALIZED MUSIC RECOMMENDER
TRABAJO DE FIN DE GRADO EN INGENIERÍA INFORMÁTICA
AUTORAS
LEIRE JIMÉNEZ GONZÁLEZ
LAURA MARTÍNEZ TOMÁS
DIRECTORA
Mª BELÉN DÍAZ AGUDO
CONVOCATORIA: JUNIO 2024
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
27 DE MAYO DE 2024
2
DEDICATORIA
A odos los que nos han apoyado en odo
es e p oceso.
3
AGRADECIMIENTOS
Que emos ag adece a odas las pe sonas que nos han odeado y apoyado
du an e la elabo ación de es e p oyec o. Es e abajo ep esen a un camino lleno de
ap endizaje y supe ación de desa íos.
A Belén po guia nos y o ien a nos en odas las e apas del p oyec o.
A nues os amigos y compañe os po ayuda nos y compa i con noso as odos
esos buenos y malos momen os, haciendo que el camino ue a más ácil.
A nues as amilias po el apoyo cons an e.
4
RESUMEN
Music4u, ecomendación pe sonalizada de canciones
Hoy en día la música es una de las ep esen aciones a ís icas más usadas y
accesibles pa a odo el público. Es po ello po lo que cada día son más las pe sonas
que u ilizan pla a o mas digi ales que o ecen con enido musical, como Spo i y, Amazon
Music o YouTube, en e o as.
La amplia a iedad y el aumen o p og esi o de canciones en es as pla a o mas
puede hace que sea ab umado pa a el usua io. Los ecomendado es suponen una
buena solución a es e p oblema, siendo de g an ayuda pa a clasi ica y mos a al
usua io con enido elacionado con sus gus os y p e e encias.
En es e T abajo de Fin de G ado hemos implemen ado un algo i mo de
ecomendación híb ido de canciones median e la in es igación y análisis de di e en es
écnicas. En nues o caso hemos op ado po un ecomendado que ap o eche las
en ajas de los ecomendado es basados en con enido y de il ado colabo a i o
a endiendo a los p oblemas que pueden su gi , como es el cold-s a y long ail, y la
con ianza del usua io con la ecomendación, mejo ándola con la explicabilidad.
Asimismo, se ha desa ollado una in e az de usua io pa a mos a isualmen e los
esul ados del algo i mo de ecomendación al usua io.
Palab as cla e
Música, ecomendado , Py hon, explicabilidad, playlis .
5
ABSTRACT
Music4u, pe sonalized music ecommende
Music is one o he mos widely used and accessible o ms o a is ic exp ession
oday. As a esul , mo e and mo e people a e using digi al pla o ms ha o e music
con en , such as Spo i y, Amazon Music, o YouTube, among o he s.
The wide a ie y and he p og essi e inc ease o songs on hese pla o ms can
make i o e whelming o use s. Recommende s a e a good solu ion o his p oblem,
being o g ea help o classi y and show use s con en ela ed o hei as es and
p e e ences.
In his Final Deg ee P ojec , we ha e implemen ed a hyb id song ecommenda ion
algo i hm h ough he esea ch and analysis o di e en echniques. In ou case, we ha e
op ed o a ecommende ha akes ad an age o he ad an ages o con en -based
ecommende s and collabo a i e il e ing, conside ing he p oblems ha may a ise, such
as cold-s a and long ail, and he use 's us in he ecommenda ion, imp o ing i wi h
explainabili y. Likewise, a use in e ace has been de eloped o isually show he esul s
o he ecommenda ion algo i hm o he use .
Keywo ds
Music, ecommenda ion, Py hon, explainabili y, playlis
6
ÍNDICE DE CONTENIDOS
Capí ulo 1 - In oducción ...................................................................................................... 1
1.1. Mo i ación .............................................................................................................. 1
1.2. Obje i os ................................................................................................................. 2
1.3. Plan de abajo ...................................................................................................... 4
1.4. P oyec o .................................................................................................................. 5
Capí ulo 2 - Es ado de la cues ión ...................................................................................... 6
2.1. Fundamen os de los sis emas de ecomendación. ......................................... 7
2.1.1. Tipos de sis emas de ecomendación. ........................................................ 8
2.1.1.1. Fil ado colabo a i o. .............................................................................. 9
2.1.1.2. Basado en con enidos. ......................................................................... 11
2.1.1.3. Sis emas híb idos. .................................................................................... 13
2.1.2. Explicabilidad ................................................................................................ 15
2.1.3. P oblemas ...................................................................................................... 19
2.1.3.1. P oblemas de Cold-S a ....................................................................... 19
2.1.3.2. P oblemas de Long Tail ......................................................................... 20
2.2. A qui ec u a so wa e ......................................................................................... 22
2.3. Me odología ......................................................................................................... 24
2.4. Tecnologías........................................................................................................... 27
2.4.1. Lenguajes ....................................................................................................... 28
2.4.2. Lib e ías ........................................................................................................... 28
2.4.3. F amewo ks .................................................................................................... 29
2.4.4. He amien as ................................................................................................. 30
7
Capí ulo 3 - Implemen ación ............................................................................................. 31
3.1. Me odología ......................................................................................................... 31
3.2. Desc ipción del conjun o de da os .................................................................. 31
3.2.1. Da ase canciones ....................................................................................... 32
3.2.2. Da ase a ing ................................................................................................ 34
3.3. Diseño de la in e az de usua io ........................................................................ 35
3.4. Desa ollo del algo i mo de ecomendación.................................................. 44
3.4.1. P ime a e sión .............................................................................................. 44
3.4.2. Segunda e sión............................................................................................ 46
3.4.3. Te ce a e sión .............................................................................................. 46
3.4.4. Úl ima e sión ................................................................................................. 48
3.5. Desa ollo de la aplicación web. ...................................................................... 50
3.5.1. Back-End ........................................................................................................ 52
3.5.1.1. Tabla “Cancion". .................................................................................... 54
3.5.1.2. Tabla Ra ing. ........................................................................................... 55
3.5.1.3. Tabla Playlis . ........................................................................................... 55
3.5.1.4. Tabla Usua io. .......................................................................................... 56
3.5.2. F on -End ........................................................................................................ 56
Capí ulo 4 - E aluación con usua ios ................................................................................ 67
4.1. P epa ación del plan de e aluación ............................................................... 67
4.2. P epa ación del en o no de e aluación ......................................................... 68
4.3. Encon a y selecciona a los usua ios .............................................................. 68
4.4. P epa ación de los ma e iales pa a la e aluación ........................................ 69
4.5. Sesiones de e aluación ...................................................................................... 69
8
4.6. Deb ie ing con los pa icipan es y los obse ado es...................................... 74
4.7. Análisis de los da os y las obse aciones. ........................................................ 77
4.8. In o me de hallazgos y ecomendaciones. ..................................................... 79
Capí ulo 5 - Conclusiones y abajo u u o ....................................................................... 80
5.1. Conclusiones. ....................................................................................................... 80
5.2. T abajo u u o. ...................................................................................................... 81
4
5. Obje i o 5. Expe imen a con usua ios eales pa a alida el diseño
p opues o.
a. Ta ea 5.1. C ea usua ios de p ueba pa a p oba el uncionamien o.
b. Ta ea 5.2. In eg a en el sis ema usua ios po enciales de la aplicación.
6. Obje i o 6. Esc ibi y e isa la memo ia.
a. Ta ea 6.1. Desa ollo secuencial de la memo ia.
b. Ta ea 6.2. Re isión de la comple i ud y cohesión de la memo ia.
1.3. Plan de abajo
Pa a es ablece el plan de abajo hemos enido en cuen a los iempos de
in es igación, desa ollo y en ega de cada una de las pa es de nues o p oyec o.
Du an e odo el p oceso hemos seguido un desa ollo ágil basado en la me odología
Sc um ( e apa ado 2.3) con en egas pequeñas en pe iodos co os de iempo
(gene almen e, dos semanas), adap ando las necesidades que pudie an su gi a es os
obje i os de iempo. También, hemos ealizado euniones pe iódicas pa a e isa los
p og esos, la calidad y pone en común el abajo a ealiza u u o. Pa a ealiza el
seguimien o de odo es e p oceso, hemos usado la he amien a Excel con las di e en es
a eas a ealiza en los sp in s y los iempos de en ega.
La in es igación ha sido la p ime a a ea ealizada, con el in de amilia iza nos
con los concep os y conoce las di e en es he amien as disponibles pa a la pos e io
implemen ación de nues o p oyec o. Es as in es igaciones se han ealizado du an e
odo el p oceso de desa ollo del p oyec o con el in de mejo a la consis encia y
endimien o del abajo.
Después de ealiza la ase de in es igación y alcanza los conocimien os
necesa ios, hemos con inuado con la ase de desa ollo. En es a ase hemos
implemen ado el algo i mo ecomendado y la aplicación, y nos ha se ido pa a pone
en p ác ica odo lo es udiado an e io men e.
Du an e la e olución del abajo, hemos ido al e nando las dos ases
an e io men e mencionadas, in es igación y desa ollo, con la a ea de esc i u a de la
5
documen ación del p oyec o. También, hemos ido co igiendo los e o es o cambios
p oducidos en el anscu so del mismo pa a que la in o mación aquí p esen e es é
ac ualizada y con o me con el abajo ealizado.
1.4. P oyec o
Pa a la ges ión y colabo ación en el desa ollo de nues o p oyec o, u ilizamos
Gi Hub, una de las pla a o mas de con ol de e siones y alojamien o de código que
hemos usado en di e en es asigna u as a lo la go de la ca e a ( e enlace).
A con inuación, enlazamos unos ídeos de los di e en es lujos de la aplicación:
• Regis o de usua io ( e enlace).
• Pe il de usua io y cie e de sesión ( e enlace).
• Descub i canciones ( e enlace)
• C ea playlis ( e enlace).
• Mis a o i os y mis playlis s ( e enlace)
6
Capí ulo 2 - Es ado de la cues ión
Pa a es e p oyec o nos hemos cen ado en el es udio de los sis emas de
ecomendación, una ama de la in eligencia a i icial que ha cob ado g an ele ancia
en los úl imos años y cómo in eg a lo en una aplicación web, como hemos in oducido
en el capí ulo an e io (sección 1.1). Po ello hemos es udiado los di e en es ipos de
ecomendado es pa a designa cual se adecua mejo a nues o p opósi o. Además de
in es iga las dis in as a qui ec u as de so wa e.
En es e capí ulo in oducimos los sis emas de ecomendación, que son
he amien as que p opo cionan suge encias pe sonalizadas a los usua ios (sección 2.1).
Exis en dis in os ipos de ecomendado es (sección 2.1.1), en e los que des acan los
basados en con enido, los colabo a i os y los híb idos. Cada uno de es os ipos iene sus
en ajas y des en ajas, y su elección depende del sis ema y múl iples ac o es ( abla
2.2).
O o aspec o impo an e en los sis emas de ecomendación es la explicabilidad,
es deci , la capacidad de p opo ciona a los usua ios azones comp ensibles sob e po
qué se les ha ecomendado un de e minado í em (sección 2.1.2). La explicabilidad no
solo aumen a la con ianza del usua io en el sis ema, sino que ambién puede mejo a su
sa is acción y su comp omiso con el sis ema ( abla 2.3).
Sin emba go, los sis emas de ecomendación ambién se en en an a a ios
desa íos. En e ellos es án los p oblemas de cold-s a y long ail. El p oblema de cold-
s a (sección 2.1.3.1) se e ie e a la di icul ad de hace ecomendaciones pa a nue os
usua ios o a ículos, mien as que el p oblema de long ail se e ie e a la endencia de
los sis emas de ecomendación a concen a se en un pequeño núme o de í ems
popula es, igno ando la g an can idad de í ems menos popula es (sección 2.1.3.2).
Asimismo, en es a sección ambién se de alla án los undamen os de los lenguajes
usados (sección 2.4), la a qui ec u a so wa e (sección 2.2) y la me odología (sección
2.3) seguida pa a el desa ollo del algo i mo de ecomendación, así como los de la
aplicación.
7
2.1. Fundamen os de los sis emas de ecomendación.
La idea de los sis emas de ecomendación (Ricci e al. 2010) su gió al obse a
que las pe sonas a menudo con ían en ecomendaciones de o os pa a oma
decisiones dia ias. Es e en oque inicial, conocido como il ado colabo a i o, es una de
las écnicas más usadas en las ecomendaciones y en el que se ap o echa los gus os
de usua ios simila es.
Los sis emas de ecomendación se siguen es udiando en la ac ualidad ya que se
a a de algo ela i amen e ecien e, su giendo como á ea de in es igación en la
década de 1990. El campo de in es igación abo da di e sas écnicas, explicabilidad
de ecomendaciones (como XAI o In eligencia A i icial Explicable), in e acción con los
usua ios y algo i mos a anzados pa a mayo e iciencia y iabilidad, así ambién incluye
el uso de con enido gene ado pa a el usua io y la p o ección del usua io. Ac ualmen e
se celeb an con e encias dedicadas al ema de los sis emas de ecomendación y se
o ecen cu sos pa a el ap endizaje del desa ollo de es os en ins i uciones educa i as.
Asimismo, con el desa ollo de si ios web de come cio elec ónico en los años
2000, su gió la necesidad de il a la amplia gama de opciones disponibles. Los sis emas
de ecomendación ayudan a supe a la sob eca ga de in o mación al di igi al usua io
hacia í ems nue os y ele an es pa a su a ea ac ual. Po lo que desempeñan un papel
c ucial en se icios digi ales popula es como Amazon, YouTube, Ne lix, T ipad iso y
muchos más, ya que supone un aumen o en las en as y bene icios pa a es os sí es á
bien diseñado el ecomendado .
Simpli icando la uncionalidad de los sis emas de ecomendación, las
ecomendaciones pe sonalizadas se o ecen como lis as clasi icadas de í ems, que son
e aluadas y clasi icadas basándose en las p e e encias del usua io. Las p e e encias del
usua io pueden se p opo cionadas explíci amen e po el usua io o median e
in e acciones, po ejemplo, con clasi icación del í em ecomendado. Se ha de ene en
cuen a que no necesa iamen e se a a de ecomendaciones pe sonalizadas, ambién
exis en ecomendado es no pe sonalizados.
8
2.1.1. Tipos de sis emas de ecomendación.
Todo modelo de sis ema de ecomendación ope a con dos ipos de da os, y
dependiendo de cuál p e alezca, se clasi ica como un ipo especí ico de sis ema de
ecomendación. Un ipo de da os se e ie e a las in e acciones en e el usua io y el í em,
como es el ejemplo a ings o alo aciones de la ecomendación o el his o ial de comp a.
El o o ipo co esponde a la in o mación asociada a los usua ios e í ems del sis ema,
como en el caso de las películas, que es un í em, un géne o se ía una ca ac e ís ica
(Agga wal 2016).
Si el sis ema ecomendado se basa p incipalmen e en el p ime ipo de da os, se
clasi ica como un sis ema de il ado colabo a i o (sección 2.1.1.1), el cual es el modelo
más comúnmen e empleado en los sis emas ecomendado es ac uales. Es e en oque
iene en cuen a los a ings de odos los usua ios y cuan o más simila es sean dos usua ios,
más se ecomenda án los í ems que el o o usua io ha alo ado de mane a posi i a
(Agga wal 2016).
Po o o lado, si el sis ema u iliza p incipalmen e el segundo ipo de da os, se a a
de una ecomendación basada en con enidos (sección 2.1.1.2). En es e caso, la
ecomendación se ealiza po simili ud de í ems con ca ac e ís icas asociadas pa ecidas
a los í ems que le gus a on al usua io an e io men e, po ejemplo, si el his o ial de un
usua io es que le gus a on bas an e canciones del géne o pop, la canción a
ecomenda se á pop ambién. Es e ipo de ecomendado es busca sa is ace de
mane a p ecisa las necesidades del usua io (Agga wal 2016).
Además, exis e la posibilidad de desa olla sis emas de ecomendación híb idos
(sección 2.1.1.3), que combinan aspec os de dis in os modelos de ecomendado es.
Es o se hace comúnmen e pa a ap o echa las en ajas de un modelo y co egi las
des en ajas del o o (Ricci e al. 2010). Exis en más modelos de ecomendado es como
los basados en conocimien os, demog á icos, basados en g a os, e c. (Agga wal 2016)
(Ca o Ma ínez 2022).
En la Tabla 2.1 se mues an las compa a i as de cada ipo.
9
En oque
Desc ipción
Da os
Fil ado
colabo a i o
P opo ciona ecomendaciones basadas en un
en oque colabo a i o ap o echando las a ings y
acciones del p opio usua io como de los demás
usua ios del sis ema.
a ings del usua io + a ings del
es o de usua io
Basado en
con enidos
P opo ciona ecomendaciones basadas en el
con enido (a ibu os) que ha a o ecido en a ings
y ecomendaciones an e io es.
a ings del usua io + a ibu os de
los í ems
Tabla 2-1. Compa ación de las ca ac e ís icas p incipales de los modelos básicos de sis emas de
ecomendación (Ca o Ma ínez 2022)
2.1.1.1. Fil ado colabo a i o.
El il ado colabo a i o es un modelo undamen al, como bien se a a en los lib os
de (Agga wal 2016) (Ricci e al. 2010) (Jannach e al. 2011), en el campo de los sis emas
de ecomendación, u ilizada pa a p edeci í ems que puedan gus a al usua io y p e e
las p e e encias de és e en unción de la in o mación acumulada sob e las in e acciones
y alo aciones o a ings de odos los usua ios del sis ema. La p emisa básica es que, si
dos usua ios ienen his o iales de in e acciones o a ings simila es, es p obable que
compa an p e e encias y, po lo an o, las ecomendaciones de uno pueden se
aplicables al o o.
Es a écnica se basa en la idea de que las comunidades de usua ios compa en
simili udes en sus compo amien os y p e e encias. A a és del análisis de pa ones en
los a ings o acciones de un g upo de usua io, el sis ema puede p edeci y suge i í ems
que pod ían in e esa al usua io ac ual. Es a in o mación ob enida se ha uel o esencial
en la indus ia, como en si ios de en a en línea, donde se pe sonaliza el con enido
según las necesidades de un clien e especí ico pa a mejo a la expe iencia del usua io,
omen a la comp a de a ículos adicionales y aumen a las en as.
El il ado colabo a i o puede implemen a se de dis in as mane as ya que hay
dis in os en oques pa a és e. Los mé odos más u ilizados, según (Agga wal 2016), son los
conocidos mé odos basados en memo ia y los mé odos basados en modelos:
10
1. Basados en memo ia. También conocidos como basados en ecinos. Se a a
de ob ene a ings usua io-í em en unción de sus ecinos. Los ecinos son
aquellos usua ios que alo an pa ecidos en e sí o í ems que son alo ados
pa ecidos. Es os ecinos pueden se aco de al es udio ealizado po (Ca o
Ma ínez 2022):
● Basados en usua ios. De e mina la clasi icación de un í em A pa a un
usua io X aco de a la clasi icación dada po los ecinos del usua io X al
í em A.
● Basados en í ems. De e mina la clasi icación de un í em A pa a un
usua io X aco de a la clasi icación dada po el usua io X a los ecinos
del í em A.
2. Basados en modelo. U ilizan mé odos de ap endizaje au omá ico y mine ía de
da os pa a modelos p edic i os. Algunos mé odos son á boles de decisión,
sis emas basados en eglas, Nai e Bayes, modelos de a iable la en es o
ac o ización de ma ices, en e o os.
El mé odo de ac o ización (Ko e al. 2022) de ma ices pe mi e
comp ende las p e e encias de los usua ios a a és de da os de e aluación,
almacenados como ec o es en una ma iz. Es o acili a la iden i icación de ac o es
la en es que exp esan la in o mación del usua io y sus p e e encias. Una o ma de usa
es e mé odo es con la descomposición de alo es singula es (SVD), que ayuda a
p edeci los da os a los clien es de mane a e icien e, ans o mando usua ios y
elemen os en un espacio común de ac o es la en es. O a o ma es usando las ma ices
de u ilidad, que se enca gan de almacena in o mación sob e las in e acciones en e
usua ios e í ems, como las cali icaciones dadas po los usua ios a los í ems. Pa a u iliza
co ec amen e es as ma ices se usan en modelos de il ado colabo a i o con mé odos
como las ma ices de ac o ización o modelos basados en memo ia (Ho, Le, and Vu
2023).
En esumen, el il ado colabo a i o se basa en la p emisa de que la sabidu ía
colec i a de la comunidad de usua ios puede guia de mane a e ec i a las
ecomendaciones pe sonalizadas. Es e en oque ha e olucionado a lo la go del iempo,
11
con desa ollos con inuos y adap aciones, como se e idencia en la in es igación y la
compe encia en el campo de los sis emas de ecomendación.
2.1.1.2. Basado en con enidos.
Los sis emas de ecomendación basados en con enido, como ambién se a a
en los lib os de (Agga wal 2016) (Ricci e al. 2010) (Jannach e al. 2011), son una
ca ego ía de algo i mos de ecomendación que u ilizan los a ibu os desc ip i os de los
í ems pa a p opo ciona ecomendaciones pe sonalizadas a los usua ios. El é mino
“con enido” en es e con ex o se e ie e a las ca ac e ís icas que desc iben los í ems,
como palab as cla es, géne o, ac o es y o a in o mación ele an e.
En los mé odos basados en con enido, las ecomendaciones se gene an
analizando las ca ac e ís icas de los í ems y combinándolas con los a ings o his o ial del
compo amien o del usua io, si hay. El his o ial de in e acciones del usua io con los
dis in os í ems, como los a ings, se u ilizan como da os de en enamien o pa a c ea un
modelo de clasi icación o eg esión especí ico del usua io. Además, es os da os de
en enamien o ambién incluyen las ca ac e ís icas de los í ems que el usua io haya
in e ac uado en el algún momen o. Así se c ea un pe il pa a cada usua io eniendo en
cuen a es os í ems y se u iliza pa a p edeci si al usua io las p e e encias del usua io,
incluso si el í em no iene ningún a ing.
En cuan o a los aspec os posi i os de es e modelo de sis ema de ecomendación
es que ealiza ecomendaciones pa a nue os í ems, como una nue a canción que ha
sido ecién sacada, que pueden no ene su icien es a ings o no iene alo aciones
di ec amen e, ya que es e modelo ap o echa los a ibu os simila es de o os í ems ya
cali icados po el usua io pa a hace p edicciones.
O o aspec o posi i o es la independencia de unos usua ios con o os del sis ema,
ya que se a a de un sis ema basado en con enido, en el que solo se iene en cuen a
los a ings p opo cionados po el usua io que se a a cons ui el pe il. Es o úl imo hace
con as e con el mé odo de il ado colabo a i o, explicado en el apa ado an e io .
O a en aja que o ecen los modelos de ecomendación basados en con enidos es
que es más ácil p oduci explicaciones de las ecomendaciones po las ca ac e ís icas.
12
Po o o lado, es e modelo iene des en ajas, como es el caso de ealiza
ecomendaciones ob ias, debido a basa se en palab as cla es o a ibu os, lle ando a
una educción en la di e sidad de ecomendaciones. Además de esul a menos
e ec i os pa a nue os usua ios po la ausencia o escasos a ings o his o ial de in e acción
con los í ems del sis ema. Po lo que de p ime as esul a di ícil p opo ciona
ecomendaciones p ecisas y a es o se le denomina cold-s a , un p oblema clásico de
los sis emas de ecomendación (Gope and Jain 2017) que desc ibi emos en la sección
2.1.3.1. Es os son los mo i os po los que es e ipo de ecomendado es se usan en sis emas
híb idos, pa a ap o echa sus en ajas y educi sus des en ajas con o o modelo.
A es e modelo se le puede especi ica alguna especi icación po pa e del
usua io. Sin emba go, es o a eces se le conoce como sis emas basados en
conocimien os, lo que p o oca que haya una línea muy ina en e es os dos modelos.
Pa a calcula la simili ud en e los elemen os hay dis in os mé odos (Ko e al. 2022) como
los modelos de ec o es de espacio, TF-IDF, Nai e Bayes o SVM, que se usa cuando se
quie e hace la simili ud po lo pa ecido en ex o, po ejemplo, cuando se pa ece un
géne o del o o, es que paso como en ock y punk- ock, que son pa ecidos en e sí. O os
mé odos son po ecinos p óximos, como K-NN o Clus e ing.
Clus e ing (Ko e al. 2022) es un algo i mo u ilizado pa a ag upa da os en
ca ego ías o clus e s, con el in de desc ibi pa ones y simili udes en e ellos. El mé odo
más común es el clus e ing K-Means, que asigna da os al clus e más ce cano basado
en la simili ud y epi e el p oceso pa a de e mina el cen o del clus e . Es e ipo de
algo i mo se usa en il ado colabo a i o, pe o ambién en basado en con enido.
En esumen, los sis emas basados en con enidos se en en an a desa íos como el
análisis de con enido limi ado y la sob e especialización. Pa a mejo a es e modelo o se
combina con o o modelo, conocido como sis emas de ecomendación híb idos, o
u ilizando conocimien os comunes y especí icos del dominio, es deci , pasando a se
sis emas de ecomendación basados en conocimien o. Pe o es e modelo p esen a
en ajas que hace que sus ecomendaciones sean p ecisas.
13
2.1.1.3. Sis emas híb idos.
Un sis ema de ecomendación híb ido (Agga wal 2016) (Bu ke 2002) (Jannach e
al. 2011) es un en oque so is icado que ap o echa las o alezas de múl iples mé odos
de ecomendación pa a supe a las limi aciones asociadas con modelos indi iduales,
las cuales se encuen an en la Tabla 2.2. Es e ipo de ecomendado es es án diseñados
pa a in eg a uen es de da os y ap o echa el pode algo í mico de a ios sis emas de
ecomendación pa a ob ene ecomendaciones más sólidas y p ecisas.
Hay es o mas p incipales (Agga wal 2016) de c ea sis emas de ecomendación
híb idos: diseño en conjun o o ensemble design, diseño monolí ico o monoli hic design y
sis emas mix o o mixed sys ems.
En oque
Ven ajas
Des en ajas
Fil ado colabo a i o
A. Puede iden i ica clien es
B. No es necesa io el conocimien o del
dominio
C. La calidad mejo a con el iempo
D. Re oalimen ación implíci a
su icien e
H. P oblema en nue os usua ios
I. P oblema en inc emen o de nue os
a ículos
J. P oblema de la "caja neg a”
K. La calidad de la ecomendación
depende de un conjun o de da os
his ó icos.
L. P oblema de es abilidad en e a
plas icidad
Basado en con enidos
B, C, D
H, K, L
Tabla 2-2. Compa ación de las en ajas y des en ajas p incipales de los modelos básicos de sis emas de
ecomendación (Bu ke 2002)
1. Diseño en conjun o. Es os sis emas u ilizan múl iples algo i mos de
ecomendación, a ando cada uno como un componen e sepa ado. Las
ecomendaciones de es os sis emas se combinan luego en una salida única.
Es a combinación puede se secuencial, donde la salida de un
ecomendado se u iliza como en ada pa a o o, o pa alela, donde los
ecomendado es uncionan de mane a independien e y sus p edicciones se
combinan al inal.
20
Pa a abo da es e p oblema, un en oque es u iliza in o mación adicional sob e
los usua ios, como sus da os demog á icos o in e eses, pa a ayuda a clasi ica a los
usua ios y encon a usua ios simila es o í ems que les puedan in e esa . Sin emba go,
es e en oque se aleja de un sis ema pu amen e colabo a i o y plan ea un nue o
modelo híb ido combinado con un sis ema basado en conocimien o.
También se u ilizan mecanismos de conmu ación (Jannach e al. 2011) pa a
maneja el p oblema de cold-s a . Es os mecanismos implican usa un ecomendado
cuando hay menos da os disponibles y cambia a o o ecomendado cuando hay más
da os disponibles, es deci , pasa a un modelo híb ido (sección 2.1.1.3), que ya hemos
hablado an e io men e.
O o mecanismo es la ecomendación g upal (Ricci e al. 2010), que cuando un
usua io es nue o en el sis ema, se p opo cionan ecomendaciones que man end ían
con en o a odo g upo de usua ios exis en es. G adualmen e, a medida que el sis ema
ap ende sob e los gus os del nue o usua io, el peso asociado al nue o usua io aumen a,
y los pesos asociados a usua ios exis en es cuyos gus os di ie en del nue o usua io
disminuyen.
Hay más écnicas pa a soluciona el p oblema como ecopila in o mación
al an e, a ings po de ec o y, como hemos dicho, en oques híb idos.
En esumen, el p oblema de cold-s a es un desa ío signi ica i o en los sis emas
de ecomendación, y se han p opues o di e sas es a egias pa a abo da lo. Es as
es a egias buscan ecopila in o mación al an e, ya sea de mane a explíci a o
implíci a, y u iliza es a in o mación pa a hace ecomendaciones p ecisas y ele an es.
También buscan educi el sesgo, ga an iza la adap abilidad y man ene la di e sidad
en las ecomendaciones (Gope and Jain 2017).
2.1.3.2. P oblemas de Long Tail
En muchos escena ios del mundo eal, la dis ibución de a ings o in e acciones
con í ems sigue una dis ibución de Long Tail (Ricci e al. 2010) (Agga wal 2016) (Pa k and
Tuzhilin 2008). Es o signi ica que un pequeño núme o de í ems son muy popula es y ienen
21
muchos a ings, mien as que un g an núme o de í ems son menos popula es y ienen
pocos a ings.
El p oblema su ge al in en a hace ecomendaciones basadas en es os í ems
menos popula es. Debido a que ienen menos a ings, es más di ícil hace p edicciones
p ecisas sob e si a un usua io le gus a á o no. Es o puede lle a a una disminución en la
calidad de las ecomendaciones.
Un en oque pa a abo da es e p oblema es u iliza mé odos de il ado
colabo a i o, que hacen ecomendaciones basadas en el compo amien o de usua io
simila es ( e sección 2.1.1.1). Sin emba go, es os mé odos pueden e se in luenciados
po los a ings de los í ems popula es y pueden igno a los í ems que eciben muy pocos
a ings.
O o en oque es cons ui modelos (Pa k and Tuzhilin 2008) indi iduales de
es imación de a ings pa a cada í em. Sin emba go, es e mé odo iende a aumen a las
asas de e o pa a los í ems de baja clasi icación en la cola del conjun o de í ems, lo
que lle a nue amen e al p oblema de ecomendación Long Tail. Pa a esol e es e
p oblema, una es a egia es el clus e ing o ag upamien o de í ems pa a que los modelos
p edic i os ap endan u ilizando más da os, disminuyendo así las asas de e o pa a los
í ems menos popula es. Es e mé odo, conocido como To al Clus e ing (TC) o
ag upamien o o al, ha demos ado supe a al mé odo Each I em (cada í em),
especialmen e pa a í ems en la cola de la dis ibución. Sin emba go, el mé odo de TC
puede se compu acionalmen e cos oso y puede no escala bien a p oblemas de
ecomendación g andes.
Una solución al e na i a es di idi el conjun o de í ems en la cabeza y la cola y
ealiza el ag upamien o solo en la cola. Es e en oque puede p oduci asas de e o más
pequeñas que TC en algunos casos, al iempo que log a esul ados de endimien o
azonables.
En conclusión, el p oblema de Long Tail es un desa ío signi ica i o en los sis emas
de ecomendación, pe o se pueden emplea di e sas es a egias pa a abo da lo y
mejo a la calidad de las ecomendaciones pa a í ems menos popula es. Es as
22
es a egias implican equilib a la necesidad de ecomendaciones p ecisas con las
demandas compu acionales de los mé odos u ilizados.
En las secciones subsiguien es de es e capí ulo, abo da emos los aspec os
es an es del abajo. En la sección 2.2, p o undiza emos en la a qui ec u a del so wa e.
Pos e io men e, en la sección 2.3, discu i emos las me odologías empleadas pa a el
desa ollo de la aplicación web. Finalmen e, en la sección 2.4, explo amos las
ecnologías web que se u iliza án en el p oyec o.
2.2. A qui ec u a so wa e
Pa a pone en con ex o el concep o de a qui ec u a del so wa e, nos enemos
que emon a a la década de los 70 donde aún no se con aba con una e apa pa a el
diseño del sis ema, y ue a pa i de en onces cuando se empieza a dis ingui en e
pequeños o g andes p og amas. Llegando ya a la década de los 90, se empieza a
cons ui el concep o de A qui ec u a del So wa e en la Uni e sidad de Ca negie-Mellon
y el Ins i u o de Ingenie ía del So wa e, que es el p incipio que conocemos ac ualmen e.
La a qui ec u a so wa e es el diseño y la especi icación de al o ni el de un
sis ema so wa e, conside ando aspec os es uc u ales, uncionales y elacionados con
el endimien o pa a ga an iza la e icacia y el éxi o del sis ema. (Ga lan and Shaw 1994).
Po lo an o, la a qui ec u a de so wa e es undamen al pa a el buen uncionamien o y
esul ado del p oyec o ya que nos ayuda a plani ica el desa ollo y nos pe mi e elegi
las he amien as adecuadas pa a lle a lo a cabo.
U ilizamos los pa ones de a qui ec u a (Cas o, 2012) como soluciones gene ales
pa a p oblemas ecuen es en el diseño y desa ollo de aplicaciones. Algunos de los
pa ones más comunes son:
1. Modelo Vis a Con olado (MVC). Di iden la aplicación en es componen es
(modelo, is a y con olado ). Sepa a los da os y la lógica de su
ep esen ación y del módulo de ges ión.
23
2. Capas. Di ide la aplicación en capas lógicas. Es o pe mi e descompone las
a eas en g upos de sub a eas en la que las capas in e io es p opo cionan
se icios a las capas supe io es.
3. Clien e Se ido . Cons a de dos pa es (un se ido y múl iples clien es). El
se ido p opo ciona se icios a los clien es y los clien es solici an se icios a
dicho se ido .
4. Mic ose icios. Cons a de a ias aplicaciones pequeñas e independien es
que uniéndose o man el p og ama p incipal.
Es os son algunos de los pa ones más usados, pe o exis en muchos más. Dependiendo
de los equisi os de cada p oyec o, se usa án unos u o os, incluso se pueden combina
(Jiménez To es, Tello Bo ja, and Ríos Pa iño 2014).
Pa a el desa ollo de nues o p oyec o hemos decidido u iliza el pa ón Modelo
Vis a Con olado (MDN con ibu o s 2023), que es un pa ón en el diseño de so wa e
comúnmen e u ilizado pa a implemen a in e aces de usua io, da os y lógica de
con ol, y se cen a en sepa a la lógica de la aplicación con la isualización de es a
misma (Fe nández Rome o and Díaz González 2012).
El concep o de MVC ue in oducido po T yg e Reenskaug en los años 70
(Reenskaug 2003) y se p opuso como o ma de desa ollo de in e aces de usua io en
aplicaciones de esc i o io. Ac ualmen e, es e concep o sigue igen e y su
implemen ación exis e en muchos ipos de sis emas y lenguajes.
En es a a qui ec u a (Voo hees 2020) se ealiza una sepa ación de la aplicación
en es componen es de diseño:
1. Modelo. Responsable de ges iona los da os, implemen a la lógica pa a c ea ,
lee , ac ualiza y elimina los da os de la aplicación.
2. Vis a. P opo ciona una in e az pa a las in e acciones del usua io.
3. Con olado . Responsable de la lógica de dominio. Básicamen e el
con olado comunica los componen es de is a y modelo.
Pa a cla i ica , el lujo de con ol de es e pa ón queda e lejado en la Figu a 2.1.
24
Figu a 2-1. Diag ama de MVC inspi ado en (MDN con ibu o s 2023)
Las en ajas (Voo hees 2020) que o ece es e modelo es man ene la in e az de
usua io sepa ada de la ges ión de da os, lo que p o oca que cualquie cambio en
alguna de es as no a ec e a la o a y así, ambién, pe mi e mejo man enimien o.
2.3. Me odología
La e olución de los desa ollos so wa e (Es eban Gab iel, 2015) y el aumen o de
la complejidad de las a eas hacen que a inales de los 60 su ja la necesidad de
con ola los a ances de los p oyec os, es uc u a de mane a cla a los equipos de
abajo y c ea ases di e enciables pa a pode ealiza e i icaciones in e medias. Así
como, la necesidad de documen a es os p ocesos y mayo es es ánda es. (Zumba
Gamboa and León A eaga, 2018)
Ac ualmen e, y después de odos los modelos p opues os en el iempo, podemos
de ini una me odología de desa ollo so wa e como un en oque es uc u ado pa a el
desa ollo de so wa e que incluye modelos de sis emas, no aciones, eglas y guías de
p ocesos (Zumba Gamboa and León A eaga, 2018).
Las me odologías de desa ollo de so wa e nos pe mi en con ola , es uc u a y
plani ica odo el p oceso de desa ollo del so wa e pa a log a que sea e icien e y
25
e ec i o en odas sus ases, y pe mi i una co ec a comunicación en e los equipos
desa ollado es.
La elección de la me odología es cla e pa a el éxi o del desa ollo y no exis e
una me odología co ec a, dependiendo de los equisi os y los obje i os pod emos
aplica una u o as. Las me odologías se di iden en adicionales y ágiles (Es eban
Gab iel, 2015).
Las me odologías adicionales se basan en ealiza la plani icación al inicio del
p oyec o, es deci , ene documen ada la especi icación de equisi os, modelado y plan
de abajo en la ase inicial. Es e mé odo plan ea un en oque lineal de las e apas del
desa ollo, una e apa debe se comple ada an es de pasa a la siguien e. Es as
me odologías no se adap an a cambios, po lo que su uso se debe ealiza cuando los
equisi os pueden p edeci se y no dan luga a a iaciones.
Las me odologías ágiles (Canós e al. 2003) nacen como una solución a los
p oblemas de i ados de las me odologías adicionales, se basan en la lexibilidad, y
pueden se modi icadas pa a ajus a se a los cambios que puedan ocu i du an e el
desa ollo del so wa e. El p oyec o se di ide en subp oyec os más pequeños y cada
uno se a a independien e y desa olla ca ac e ís icas en un co o pe iodo (Na a o
Cada id e al.). 2013)
En la Tabla 2.4 podemos encon a las di e encias más ele an es en e las
me odologías ágiles y las adicionales.
26
Tabla 2-4. Di e encias en e me odología ágiles y no ágiles (Canós, Le elie , and Penadés 2003)
En es e p oyec o, nos amos a cen a en las me odologías ágiles, en conc e o
en una de las más ep esen a i as: Sc um (Schwabe and Su he land 2020). Sc um nace
en el año 1986 g acias a un a ículo publicado po Takeuchi y Nonaka en el que se de ine
un nue o en oque en el desa ollo de p oduc os, cen ado en mejo a la agilidad y
lexibilidad de los p ocesos. Es á diseñado pa a log a la colabo ación e icaz de equipos.
Den o de un equipo se a ibuyen di e en es oles: Sc um Mas e (enca gado de
comp oba que el modelo y la me odología uncionan), P oduc Owne (enca gado
de oma las decisiones du an e el p oceso) y equipo de desa ollo (compues o po un
equipo pequeño de 5-9 pe sonas que o ganizan y oman decisiones pa a consegui el
obje i o).
Es a me odología iene como base la en ega del p oyec o en pequeñas
i e aciones llamadas “Sp in s”. Cada Sp in co esponde a un pe iodo de iempo en el
que se ealiza una pa e del desa ollo del p oduc o, y su du ación máxima es de un
mes. Un Sp in se compone de los di e en es elemen os (Schwabe and Su he land 2020):
1. Plani icación del Sp in . Se es ablece el abajo que se ealiza á en ese Sp in
y es ealizado po odo el equipo.
27
2. Daily Sc um. Lo ealiza el equipo de desa ollo y iene el p opósi o de pone en
común el abajo ealizado has a el momen o y el p og eso a ealiza has a el
obje i o.
3. Re isión del Sp in . Se e isa el esul ado del Sp in y se discu e el p og eso
hacia el obje i o del p oyec o.
4. Re ospec i a del Sp in . Se analiza los aspec os como la comunicación, el
p oceso y las he amien as del Sp in e minado pa a de e mina posibles
mejo as pa a el siguien e.
Es a me odología se ealiza en a ias ases (T igas Gallego 2012):
1. P epa ación del p oyec o (sp in 0). Es la ase inicial en la que se de ine el
p oyec o, el Backlog inicial, los en egables y se cons i uye el equipo.
2. Plani icación del Sp in . En es a ase se ealiza una eunión en la que pa icipan
odos los miemb os del p oyec o y iene como inalidad selecciona las
uncionalidades sob e las que se a a abaja en ese Sp in .
3. Desa ollo del Sp in . en es a ase se abaja pa a cumpli los obje i os
p opues os en ese Sp in .
2.4. Tecnologías
En es a sección se de alla el conjun o de ecnologías que se han empleado en
el desa ollo de es e p oyec o. La elección de es as ecnologías no ha sido alea o ia,
sino que se ha basado en su ele ancia en la indus ia ac ual, su obus ez y la e iciencia
que p opo cionan en el desa ollo del so wa e.
En la sección 2.4.1 se desc iben los lenguajes de p og amación u ilizados que es
la base de cualquie desa ollo de so wa e.
En la sección 2.4.3 se de allan los amewo ks empleados, es deci , los conjun os
de lib e ías que acili an el desa ollo de so wa e.
En la sección 2.4.4 se de allan las he amien as que se an a u iliza pa a acili a
el desa ollo del p oyec o. Es as he amien as aba can desde en o nos de desa ollo
28
in eg ados (IDEs), como Visual S udio Code, has a sis emas de con ol de e siones,
como es Gi Hub.
Cada una de es as ecnologías ha jugado un papel impo an e en el desa ollo
del p oyec o, pe mi iendo un desa ollo más e icien e y obus o.
2.4.1. Lenguajes
Un lenguaje de p og amación es un sis ema a i icial que pe mi e exp esa
algo i mos (Gabb ielli and Ma ini 2010). Hay dis in os ipos de lenguajes de
p og amación, algunos que p opone (Ben-A i, 1996) son los lenguajes o ien ados a
obje os (C++, Py hon), uncionales (Haskell) y lógico (P olog). Noso as nos cen a emos
en Py hon, que es el lenguaje de p og amación de al o ni el y o ien ado a obje os
u ilizado pa a desa olla el modelo y con olado del p oyec o (sección 2.2).
Asimismo, se ha u ilizado las ecnologías web, como Ja aSc ip que es un
lenguaje de p og amación de al o ni el esponsable de de ini el compo amien o de la
web. HTML y CSS son ecnologías que complemen an a Ja aSc ip pa a de ini ,
p esen a y p ocesa el con enido y diseño de la aplicación (Sinha e al. 2020),
espec i amen e.
2.4.2. Lib e ías
Las lib e ías son conjun os de a chi os de código usados pa a el desa ollo del
mismo, que acili an la p og amación median e uncionalidades comunes p e iamen e
esuel as. Pe mi en a los desa ollado es una mayo agilidad y educción de cos es en el
p oceso (Equipo de da os.gob.es).
Dado que Py hon es un lenguaje ampliamen e usado, podemos encon a
mul i ud de lib e ías pa a simpli ica el código de p og amación.
A con inuación, explica emos las lib e ías que hemos u ilizado pa a el desa ollo
de es e p oyec o.
29
1. Numpy. Es una lib e ía de Py hon que p opo ciona un obje o de ma iz
mul idimensional y g an a iedad de unciones ma emá icas con ope aciones
ápidas. (NumPy De elope s)
2. Pandas. Es una lib e ía que p opo ciona es uc u as de da os y he amien as
pa a el análisis de da os. (“pandas documen a ion — pandas 2.2.1
documen a ion”)
3. Sklea n. Es una lib e ía de ap endizaje au omá ico que p opo ciona
he amien as de ajus e de modelos, p ep ocesamien o de da os, selección y
e aluación de modelos, en e o as u ilidades. (sciki -lea n de elope s)
4. Scipy. Es una lib e ía que p opo ciona algo i mos de op imización e
in eg ación pa a modela y esol e p oblemas cien í icos. (Vi anen e al.
2020), (SciPy S ee ing Council).
2.4.3. F amewo ks
Los F amewo ks son una écnica de eu ilización o ien ada a obje os con el
obje i o de acili a el desa ollo y la implemen ación de una aplicación median e la
es uc u ación y no malización del código. (Johnson 1997)
Con el uso de F amewo ks podemos p og ama un código de mane a más e icaz
y obus a, ya que o ecen una es uc u a que puede se modi icada po el p og amado
según sus necesidades. (Ma ínez Villalobos e al. 2010) (Pan oja and Pa do 2016)
Uno de los F amewo ks más u ilizados en la p og amación con Py hon es Django,
es g a ui o y de código abie o. Es e ma co de abajo ue desa ollado en e 2003 y
2005, y p opo ciona un F amewo k de al o ni el muy ú il pa a la implemen ación de
aplicaciones web debido a su ápido y ácil desa ollo.
Django u iliza el pa ón de diseño MTV (Model-Templa e-View), que es una
modi icación del MVC an e io men e desc i o, en el que sepa a los componen es de la
aplicación en es:
1. Modelo. Lógica de la aplicación.
36
Con es os boce os se ha buscado de ini de o ma pa cial odos los elemen os
necesa ios pa a la implemen ación y son un e lejo de lo que que íamos implemen a en
el esul ado inal.
En la igu a 3.1 hemos diseñado la en ana de inicio de sesión en la que el usua io
debe á in oduci el co eo elec ónico o nomb e de usua io y la con aseña (exis e la
posibilidad de hace isible es e campo). En el caso de no ene una cuen a en la
aplicación, se da la opción de egis a se en la pa e in e io del cuad o.
Figu a 3-1. Diseño de inicio de sesión
En la Figu a 3.2.1 podemos encon a la en ana de c ea cuen a ( egis o de
usua io) en la que el usua io debe in oduci el co eo elec ónico, nomb e de usua io y
con aseña (exis e la posibilidad de hace isible es e campo). Una ez comple ados los
campos an e io es, el usua io end á que ma ca las casillas con las canciones que más
se iden i iquen con sus gus os pa a gene a un pe il inicial.
37
Figu a 3-2-1. Diseño de c ea cuen a
La Figu a 3.2.2 es la con inuación de la Figu a 3.2.1, y como en el boce o an e io ,
el usua io debe á ma ca las casillas de los a is as y géne os aco des a sus gus os y
p e e encias.
Figu a 3-2-2. Diseño de c ea cuen a
La Figu a 3.3 mues a el boce o de la página p incipal de la aplicación web.
En es a pan alla hay un encabezado con el icono pa a el pe il del usua io, una
ba a de búsqueda pa a encon a canciones a pa i de la que ecomenda y el icono
de la casa pa a ol e a la página de inicio.
38
En la pa e cen al de la en ana encon amos los elemen os pa a accede a las
uncionalidades p incipales de la aplicación: ecomendación dia ia (mues a canciones
basadas en los gus os de cada usua io) y ecomendación pe sonalizada (gene a una
playlis a pa i del pe il de cada usua io). Además, en la pa e in e io , se mues a una
ba a de ep oducción de canciones.
También, enemos una ba a la e al que con iene la lis a de canciones a o i as
y la lis a de playlis s del usua io.
Figu a 3-3. Diseño de inicio de la aplicación web
En la Figu a 3.4 emos la en ana de “Mis a o i os” que mues a la lis a con la
in o mación p incipal (nomb e, a is a y du ación) de odas las canciones que le han
gus ado al usua io. Tenemos la posibilidad de ep oduci la canción y qui a la de la lis a.
39
Figu a 3-4. Diseño de canciones a o i as
En la Figu a 3.5 emos la en ana de “Mis playlis s” que mues a la lis a con la
in o mación p incipal (nomb e y du ación) de odas las playlis s del usua io. Tenemos la
posibilidad de ep oduci la playlis y qui a la de la lis a.
40
Figu a 3-5. Diseño de playlis c eadas
En la Figu a 3.6 encon amos la p ime a uncionalidad p incipal en la que mues a
la lis a de canciones de una playlis en conc e o. Además, con amos con la opción de
ecomenda o a playlis a pa i de las canciones de es a playlis .
41
Figu a 3-6. Diseño de playlis seleccionada
En la Figu a 3.7 encon amos la segunda uncionalidad p incipal en la que a
mos ando canciones en unción al pe il del usua io pa a que és e aya c eando su
playlis pe sonalizada.
Cada ez que se mues a una canción con su in o mación p incipal, enemos
a ias opciones pa a a a esa canción:
1. Co azón. El co azón se encuen a lleno si la canción es á en la lis a de a o i os
del usua io, en caso con a io, se encon a ía acío.
2. C uz. Rechaza la canción ac ual y mos a ía o a en unción a los gus os del
usua io.
42
Figu a 3-7. Diseño de ecomendación
En la Figu as 3.8.1 y 3.8.2 encon amos la e ce a uncionalidad p incipal no
mos ada en la página p incipal en la cual el usua io elige una o a ias canciones,
a is as y géne os, a pa i de los cuáles ecomienda (es a uncionalidad no se basa en
el pe il del usua io).
43
Figu a 3-8-1. Diseño de ecomendación pe sonalizada
Figu a 3-8-2. Diseño de ecomendación pe sonalizada
44
3.4. Desa ollo del algo i mo de ecomendación
Du an e el anscu so del abajo hemos desa ollado di e en es ecomendado es
aco de con las i e aciones o Sp in s de la me odología Sc um (secciones 3.1 y 2.3),
mejo ando y ap endiendo más ace ca de su uncionamien o y aplicación. En o al
hemos ealizado cua o i e aciones pa a el ecomendado que co esponden a las
secciones 3.4.1, 3.4.2, 3.4.3 y 3.4.4, espec i amen e.
3.4.1. P ime a e sión
En la p ime a e sión hemos ealizado nume osas i e aciones (sección 3.1), en la
que hemos desa ollado un p ime ecomendado que se desa olló usamos el
F amewo k (sección 2.4.3) de “Su p ise” pe o se usó mal ya que hicimos que
ecomenda a po géne os pa ecidos y pa a ello pasamos los dis in os géne os que había
en el da ase (sección 3.2.1) a núme os en e os, lo cual ue un e o po que los núme os
ce canos no enían po qué ene elación alguna en e es os. Pese a ello con es a
p ime a i e ación pudimos ap ende el uncionamien o de las lib e ías de Su p ise pa a
hace un sis ema ecomendado . Además, en es a p ime a i e ación conseguimos pasa
el da ase de Pandas a Su p ise, lo cual nos se á ú il pa a i e aciones pos e io es. El
da ase empleado pa a es a i e ación ue el que hemos de allado en la sección 3.2.1,
con la excepción de que la columna de “Gen es” no exis ía, ue ag egada más a de.
En una segunda i e ación es u imos es udiando cómo abaja con los da os en
el ecomendado , pa a ello nos decan amos po la unción de simili ud del coseno
( igu a 3.9) as in es iga los dis in os ipos de medidas pa a la unción de simili ud (Hug
2015). És a en conc e o consis e en una medida ma emá ica que se u iliza pa a e alua
la simili ud en e dos í ems, a menudo ep esen adas como ec o es. Es os ec o es
pod ían deno a di e sas ca ac e ís icas o a ibu os de los obje os, como es en el caso
de las canciones, el géne o o la popula idad o la pun uación. La simili ud del coseno
nos a a pe mi i e alua cuán simila es son esos ec o es en e sí. En la igu a 3.9 se
mues a la ó mula de la simili ud del coseno, donde u y ep esen an dos í ems o dos
usua ios y ui y i son los ec o es que co esponden al géne o o popula idad de los í ems
o las cali icaciones dadas a un conjun o de í ems po los usua ios (Sondu , Chigadani,
45
and Nayak 2016). La simili ud en e dos í ems puede a ia en e 0 y 1, donde 1
ep esen a la máxima simili ud y se alcanza cuando ambos í ems son idén icos. (Mana
and T.Sasip aba 2021).
Figu a 3-9. Función de simili ud del coseno (Hug 2015)
Además, con igu amos la unción de simili ud de nues o p ime ecomendado
usando la mé ica de coseno y el ecomendado basado en con enidos (sección
2.1.1.2).
En una e ce a i e ación usamos la écnica de Validación c uzada pa a
comp oba cuán bueno e a nues o modelo en 7 i e aciones (es ablecido con c =7).
Es a écnica consis e en di idi el conjun o de da os en 7 subconjun os de mane a
alea o ia, de los cuales se en enan 6 y el es an e es el enca gado de alida con el
es o (Be a 2018). Y como esul ado, se mues a la medida de e o es de alidación en
cada i e ación, que es nues o caso, al como se mues a en la Figu a 3.10, ue on
núme os al os lo cual indica que nues o modelo no e a demasiado bueno.
Figu a 3-10. Resul ado de la alidación c uzada.
Finalmen e, en una cua a i e ación pa a comp oba el co ec o uncionamien o
del algo i mo, c eamos una playlis con 10 canciones de o ma alea o ia. Se gene a un
esul ado bueno si hay su icien es canciones del mismo géne o po que o sino
ecomienda po o os géne os que no ienen ninguna elación ya que hicimos mal la
co elación en e dis in os géne os, como hemos dicho al p incipio de es a sección.
52
Una ez ya eníamos las uncionalidades an e io men e mencionadas, ealizamos
la página p incipal. En ella, empezamos a añadi los componen es siguiendo el modelo
de los p o o ipos: heade , ba a la e al y con enido p incipal.
La cons ucción de la is a de la página p incipal se ue al e nando con la
implemen ación de las dos uncionalidades p incipales del p oyec o: descub i nue as
canciones y c ea playlis .
Cabe des aca que du an e odo el p oceso de desa ollo de la aplicación web
se han ido ealizando cambios de diseño y u ilidad pa a hace la página web más
uncional y adap ada a los obje i os es ablecidos.
3.5.1. Back-End
El back-End se enca ga de la manipulación de da os y de maneja la lógica de
negocio, las ope aciones del lado del se ido y la comunicación con la base de da os.
(Pé ez Iba a e al. 2021) (Ramón Sanchis 2023)
Pa a inicia el desa ollo hemos decidido apoya nos en el F amewo k Django ( e
2.4.3) basado en Py hon ( e 2.4.1) po su apidez, segu idad y acilidad de uso. Además,
es e F amewo k u iliza una a qui ec u a semejan e al MVC ( e 2.2), es udiada y
aplicada en una de las asigna u as del g ado po lo que esul a amilia y sencilla de
u iliza .
En cuan o a la base de da os, hemos decidido cambia SQLi e, que se con igu a
en Django po de ec o, a una base de da os Pos g eSQL ( e 2.4.4) debido a las
limi aciones que suponía la an e io base de da os en cuan o a los ipos de da os
sopo ados y el endimien o o ecido. Aunque el uso de nues a base de da os es muy
simple, es bueno que el sis ema pueda ges iona la aplicación si se in oduje an cambios
más po en es en ella o mayo can idad de da os.
La elección de la base de da os se a ianzó con o me íbamos desa ollando las
ablas debido a que, en un p ime momen o, no se u ie on en cuen a odos los campos
de cada una de las ablas y se u ie on que cambia pa a sa is ace las necesidades de
la aplicación.
53
En la Figu a 3.13 podemos obse a el diag ama en idad- elación ealizado con
Can a mues a las dis in as ablas y sus elaciones implemen adas en la base de da os.
Figu a 3-13. Diag ama en idad- elación de la base de da os
A con inuación, amos a ealiza una explicación de allada de las ablas de
nues a base de da os:
54
3.5.1.1. Tabla “Cancion".
La abla “Cancion” con iene odas las canciones que an a se usadas en nues a
aplicación. Todas las canciones con ienen “id” que es la cla e p ima ia y el es o de los
a ibu os de las canciones ue on desc i as en de alle an e io men e ( e 3.2.1)
En las Figu as 3.14.1, 3.14.2 y 3.15 podemos e un ejemplo de lo que con iene la
abla “Cancion”.
Figu a 3-14-1. Tabla “Cancion”. Pa e 1
Figu a 3-14-2. Tabla “Cancion”. Pa e 2
55
Figu a 3-15. Tabla “Cancion”. Pa e 3
3.5.1.2. Tabla Ra ing.
La abla “Ra ing” con iene odas las alo aciones ealizadas po los usua ios sob e
las canciones (les ha gus ado o no la canción). Todos los a ings con ienen “id” que es
la cla e p ima ia y el es o de los a ibu os de los a ings ue on desc i as en de alle
an e io men e ( e 3.2.2)
En la Figu a 3.16 podemos e un ejemplo de lo que con iene la abla “Ra ing”.
Figu a 3-16. Tabla “Ra ing”.
3.5.1.3. Tabla Playlis .
La abla “Playlis ” con iene odas las playlis de odos los usua ios de la página
web. Todas las playlis s con ienen “playlis Id” que es la cla e p ima ia, “playlis Name”
(nomb e de la playlis ) y “lis aCanciones” (lis a de ids de las canciones que con iene esa
playlis ).
En la Figu a 3.17 podemos e un ejemplo de lo que con iene la abla “Playlis ”.
56
Figu a 3-17. Tabla “Playlis ”.
3.5.1.4. Tabla Usua io.
La abla “Usua io” con iene la in o mación de odos los usua ios egis ados de la
página web. Todos los usua ios con ienen “use Id” que es la cla e p ima ia, “use Name”
(nomb e de usua io único), “email” (co eo elec ónico del usua io que no se puede
epe i pa a a ias cuen as), “passwo d” (con aseña de la cuen a), “ a o i os” (lis a de
ids de las canciones que le han gus ado al usua io) y “playlis s” (lis a de ids de las playlis s
que iene cada usua io).
No hemos hecho di e encia de oles en los usua ios po que al a a se de una
página web simple, la di e encia en e un adminis ado y un usua io común, no hab ía
enido mucha ele ancia y no hab ía apo ado ningún alo añadido.
En la Figu a 3.18 podemos e un ejemplo de lo que con iene la abla “Usua io”.
Figu a 3-18. Tabla “Usua io”.
3.5.2. F on -End
El F on -End se e ie e a la pa e de una aplicación con la que in e ac úa el
usua io, la que c ea la expe iencia. Aquí incluimos la in e az g á ica y las
uncionalidades de la página web.
57
Como hemos explicado an e io men e, an es de comenza a codi ica la página
web, ealizamos una se ie de diseños con las uncionalidades p incipales. Con el
anscu so del p oyec o se han ido cambiando p og esi amen e pa a cub i las
necesidades incipien es y pode sol en a los p oblemas que iban su giendo a medida
que a anzamos.
Pa a ealiza el F on -End de la aplicación nos hemos apoyado en HTML, CSS y
Ja aSc ip , con el apoyo de jQue y ( e 2.4.1).
Las uncionalidades implemen adas a an de se in ui i as pa a que el usua io no
expe imen e con usión al usa la. También, se ha pues o el oco en hace la página lo
más simple posible y sin u iliza elemen os que puedan dis ae al usua io de su unción
p incipal.
A con inuación, desc ibi emos las pan allas inales de la aplicación.
1. Inicio de sesión. En es a página el usua io inicia á sesión en su cuen a
in oduciendo su co eo elec ónico y su con aseña. En el caso de no ene
cuen a en la aplicación, se da la opción de egis o.
Figu a 3-19. Inicio de sesión
2. Regis o. En es a página pe mi e al usua io egis a se en la aplicación
in oduciendo su co eo elec ónico, nomb e de usua io y con aseña.
58
Figu a 3-20. Regis o
3. Página p incipal. Es a página encon amos la cabece a con el icono de la
casa, que si e pa a ol e a la página p incipal; y el icono de usua io, que
lle a a la sección de “Mi pe il” con la in o mación de usua io.
En la ba a la e al de la de echa encon amos dos clickables pa a accede a
la biblio eca de “Mis a o i os” y la de “Mis playlis s”. También encon amos la
lis a de las playlis s del usua io con sus nomb es.
En la pa e cen al, encon amos dos cajas con las uncionalidades que
o ece nues a página web: descub i nue as canciones y c ea playlis .
En la igu a 3.21 podemos obse a la página p incipal con un usua io que ha
iniciado sesión, en es e caso, el usua io “Lei e”.
59
Figu a 3-21. Página p incipal con usua io egis ado.
En el caso de que el usua io no haya iniciado sesión, los bo ones de las
uncionalidades es án desac i adas y en la pa e en la que se mos a ían las
playlis s del usua io, indica que se debe inicia sesión pa a pode isualiza las.
La is a la podemos encon a en la Figu a 3.22.
Figu a 3-22. Página p incipal con usua io no egis ado.
4. Descub i canciones. En es a p ime a uncionalidad el usua io ob end á una
lis a de canciones ecomendadas (canciones que el usua io no iene en su
lis a de a o i os) a pa i de unos a ibu os y canciones que le gus an al
usua io.
60
El usua io end á la opción de ma ca ninguno, uno o a ios a ibu os (géne o,
año, du ación y popula idad) según la ele ancia que le quie a da a la ho a
de ob ene una ecomendación como e leja la Figu a 3.23.
Figu a 3-23. C ea playlis : elección de a ibu os
Una ez seleccionados los a ibu os, se mos a á una lis a con ein e
canciones alea o ias de la lis a de a o i os del usua io como se puede e en
la Figu a 3.24. En el caso de que al usua io en ese momen o no le hayan
gus ado al menos ein e canciones, se mos a án las canciones a o i as
has a el momen o. También se puede da que el usua io no haya añadido
ninguna canción a a o i os, po lo an o, se mos a án ein e canciones
popula es.
61
Figu a 3-24. C ea playlis : selección de canciones
T as ealiza los pasos an e io es, se mos a á una lis a de canciones y da á la
opción al usua io de gua da la playlis en la biblio eca ( e Figu a 3.25).
68
2. Ce a sesión e inicia sesión.
3. Usa la uncionalidad “Descub i nue as canciones” sin opciones.
4. Usa la uncionalidad “Descub i nue as canciones” seleccionando alguna
opción.
5. Usa la uncionalidad “C ea playlis ”.
6. Mi a “Mis playlis s”, accede a las canciones que iene dicha playlis y
comp oba que son las que se han añadido.
7. Mi a “Mis a o i os” y qui a una canción.
8. I a pe il y ol e a la página p incipal.
9. Ce a sesión.
Las ano aciones ealizadas po las mode ado as se cen a án sob e odo en
aquellas a eas que hayan esul ado más ediosas y, po an o, se án las uncionalidades
a mejo a con mayo p io idad.
4.2. P epa ación del en o no de e aluación
La p ueba se ealiza á de o ma p esencial en el o denado de una de las
desa ollado as, p e iamen e odo p epa ado pa a el inicio de es a. Se ealiza á en un
en o no anquilo, en el que es a án p esen e las dos o una de las mode ado as jun o
con el pa icipan e pa a mayo anquilidad.
4.3. Encon a y selecciona a los usua ios
Pa a es a p ueba hemos con ac ado con 6 pa icipan es que usan aplicaciones
pa a escucha música como Spo i y o Apple Music.
An es de ealiza la p ueba, hemos ealizado una en e is a co a con cada uno
de los pa icipan es pa a comp oba si su pe il encaja con el buscado. En dicha p ueba
hemos ealizado una se ie de p egun as:
1. ¿Escuchas música con ecuencia?
2. ¿U ilizas pla a o mas o aplicaciones pa a descub i nue a música?
69
3. ¿Cuándo escuchas música, e gus a que la aplicación e ecomiende o
p e ie es elegi manualmen e las canciones?
4.4. P epa ación de los ma e iales pa a la e aluación
Pa a asegu a el éxi o de la p ueba se ha ealizado una p epa ación p e ia que
a a consis i en:
1. Una in oducción a la u ilidad de aplicación, es deci , de qué a a nues a
aplicación.
2. Realiza emos una en e is a muy co a an es de las p uebas pa a eclu a a
los pa icipan es.
3. Se ano a á el compo amien o de cada pa icipan e con la aplicación.
4. Una lis a de a eas a ealiza , desc i as en la sección 4.1.
5. Y pa a inaliza con la p ueba se dis ibui á un cues iona io pa a cali ica la
sesión y la aplicación según lo obse ado du an e la ejecución de las a eas.
4.5. Sesiones de e aluación
Du an e las sesiones de e aluación con cada usua io hemos seguido el plan de
e aluación donde el usua io ha seguido las a eas desc i as. Todo es e p oceso ha sido
supe isado y guiado po mode ado es, en es e caso, las desa ollado as del p oyec o
pa a consegui mejo es esul ados.
Hemos u ilizado la écnica Think-aloud, es udiada en la asigna u a de “Desa ollo
de Sis emas In e ac i os” (F ancisco Gilma ín 2023) en la se pide a los pa icipan es que
exp esen en oz al a lo que sien en o piensen en cada p ueba. De es a mane a, el
mode ado puede ecoge oda es a in o mación pa a su pos e io análisis.
En las ablas 4.1, 4.2, 4.3 y 4.4, se mues an las opiniones de los pa icipan es de las
sesiones de e aluación an es de ealiza cambios.
70
Ta ea
Opinión
1
El p oceso ha sido g a i ican e.
2
El p oceso ha sido sencillo.
3
P egun a si es alea o io la lis a de canciones a selecciona . Dice que no es
in ui i o po que no hay checkbox pese a los cambios de colo es. Debajo del
ex o “Lis a de canciones” debe ía habe in o mación de que hay que
hace , si selecciona o qué sucede a con inuación. Debajo del ex o de
“Playlis ecomendada” se necesi a in o mación de que son esas canciones
ecomendadas. Hay que des aca la canción de algún modo en el ex o de
la explicación de la ecomendación y el colo de las a je as de
ecomendación debe ía se más des acable. Pone en explicabilidad en
algunas opciones simila es, mejo a la explicación de il ado colabo a i o.
4
Hay que explica que hace las opciones, po ejemplo: “Las opciones
seleccionadas se an a ene en cuen a en la ecomendación”. Deja el
heade ijo de lis a de canciones y solo baja las canciones.
5
Los bo ones con in o mación, no se en ienden. Quie e sabe las canciones
que a añadiendo.
6
Debe ía edi ecciona las playlis s la e ales y no sólo en mis playlis s. Sepa a
co azón más de du ación.
7
Si no ienes a o i os, que ponga un mensaje in o mando.
8
Cen a el bo ón de ce a sesión.
9
No ha su gido ningún p oblema.
Tabla 4-1. Usua io 1 (22 años)
Ta ea
Opinión
1
Si el usua io se equi oca de con aseña, iene que ellena odo de nue o.
Debe ía pe manece el co eo y usua io.
71
2
Le ha pa ecido ácil.
3
La explicación es á mal esc i a. Le ha gus ado la uncionalidad. Los colo es le
pa ecen is es.
4
Quie e un “ e esh” pa a selecciona nue as canciones, y no sólo 20.
5
No en iende los símbolos de los bo ones, quie e in o mación. No en iende el
símbolo de la lecha azul. No le ansmi e con ianza al c ea playlis po el
pop-up.
6
Sale alguna canción epe ida, pe o en gene al le pa ece bien. No le gus a
que se ab an las en anas.
7
No se pueden añadi a o i os desde mis playlis s. Qui a co azón de playlis si
no es pa a añadi en a o i os.
8
No ha su gido ningún p oblema.
9
No ha su gido ningún p oblema.
Ex a
En la página p incipal iene que indica que inicie sesión y no sólo inhabili a
los bo ones.
Tabla 4-2. Usua io 2 (21 años)
Ta ea
Opinión
1
Debe ía habe un bo ón de egis a se en la página p incipal, no solo inicia
sesión.
2
Debe ía da la opción de inicia sesión con el nomb e de usua io. El icono de
usua io ya que no pe mi e o o debe ía se más o iginal. El ondo le pa ece
dep imen e.
3
Fal a In o mación en lis a de canciones, quie e sabe si son esas canciones
ipo popula es o de u playlis . Fal a más canciones, necesi a e más. Más
in o mación en la a je a de canciones: au o , du ación, géne o y año. Fal a
in o mación en es a sección. Aco a la explicabilidad: po que e ha gus ado
72
al y a o os usua ios simila es. Al inal, en la playlis ecomendada, se necesi a
in o mación como: c eemos que es as canciones e gus a án.
4
Lo mismo que en la a ea 3. Cambia la explicación a un lenguaje más
humano.
5
Explica los bo ones y añadi un bo ón que ponga e mina en luga de la
lecha neg a. Cambia el bo ón de e esca , no se en iende. El ex o de la
explicación en ojo pa ece un e o . La en ana de con i mación de c ea
playlis debe ía se igual que el es o en o ma o.
6
I a playlis sin da le a la lecha (da le a la a je a de la playlis ) La lecha es
muy pequeña y no esal a cuando pasa po encima.
7
Más g andes los bo ones de co azón y sepa ados.
8
Le ha pa ecido bien.
9
Le ha pa ecido bien.
Ex a
En la página p incipal pone un bo ón de inicio en la ba a la e al, a iba de
“Mis a o i os” pa a i al inicio de la aplicación.
Tabla 4-3. Usua io 3 (22 años)
Ta ea
Opinión
1
Se sien e cómodo e incluido.
2
Le ha pa ecido muy simple y bien.
3
Los colo es le pa ecen is es, además de mucho espacio desap o echado.
Le al a in o mación a iba de que ienes que hace en cada paso.
4
Le al a in o mación pa a los a ibu os a selecciona .
5
No le pa ece que sea in ui i o los bo ones. Poco eedback isual.
73
6
Le pa ece bien, el co azón no iene sen ido en las playlis s.
7
Le ha pa ecido bien.
8
Le ha pa ecido bien.
9
Le ha pa ecido bien.
Tabla 4-4. Usua io 4 (21 años)
En la abla 4.5, se mues an los esul ados de la sesión de e aluación una ez
ealizado algunos de los cambios aco de con las c í icas cons uc i as de los an e io es
pa icipan es. Los cambios ealizados sob e la aplicación ue on:
1. Colocación de un bo ón pa a egis a se en la página p incipal sin necesidad
de me e se en “Inicia sesión”.
2. Explicación de las di e en es pa es de las uncionalidades.
3. Añadi in o mación de los bo ones en la uncionalidad “C ea playlis ”.
4. Cambio de bo ón de epe ición en "C ea playlis ".
Ta ea
Opinión
1
Opina que el bo ón de egis a se debe ía es a al lado o a iba y los
cuad ados c ee que más g andes y el espacio más amplio. El colo ma ón
no le gus a. El bo ón de a ás es á mal.
2
Opina que debe ía habe un bo ón de a ás, pe o le esul a bien el es o.
3
Le gus a ía busca canciones en luga de selecciona unas canciones que
apa ecen p ede e minadas.
4
Le al a canciones pa a selecciona apa e de las que e gus an.
5
Le pa ecen poco in ui i os los bo ones, sob e odo de siguien e y e mina
playlis s. Pa a él, el bo ón de siguien es se ía más una c uz y el de e mina
playlis s se ía más un bo ón de gua da .
74
6
Le pa ece muy bien, sólo el colo de la in e az le alla.
7
Le pa ece bien, unciona pe ec amen e.
8
Le pa ece in ui i o pe o el icono le gus a ía más g ande.
9
Le pa ece bien.
Tabla 4-5. Usua io 5 (22 años)
Además de es a e aluación con un quin o usua io, ealizamos una sesión de
e aluación más educida en la que ob u imos un eedback ace ca de las
uncionalidades p incipales de la aplicación que consis ía p incipalmen e en añadi una
opción de il o pa a consegui una ecomendación más pe sonalizada. Además de que
debía ene la página una mejo consis encia al mos a una lis a de canciones.
4.6. Deb ie ing con los pa icipan es y los obse ado es
T as las sesiones de e aluación ealizamos un pequeño esumen (deb ie ing) de
las imp esiones del usua io pa a comple a la in o mación ecogida en el anscu so de
la en e is a.
Después del deb ie ing compa i emos con odos los pa icipan es un
cues iona io en el que end án que exp esa su g ado de con o midad con las
exp esiones p opues as. El cues iona io end á p egun as gene ales, de la uncionalidad
del sis ema y de e aluación de la in e az, y de mane a opcional el usua io pod á da su
opinión de mane a abie a sob e las pa es que le han pa ecido más in e esan es y las
que menos.
Los esul ados del cues iona io se en e lejados en el g á ico de las igu as 4.1, 4.2
y 4.3.
75
Figu a 4-1. Resul ados del cues iona io. Sa is acción gene al.
En es a sección se ealizan p egun as ace ca de aspec os gene ales de la
aplicación. Las p egun as son:
1. En gene al, es oy sa is echo/a con la acilidad pa a u iliza el sis ema.
2. Pude comple a las a eas ápidamen e.
3. Me sen í cómodo/a usando el sis ema.
4. Necesi as sabe bas an es cosas an es de pode empeza a usa la aplicación.
5. Conside o que las unciones de la aplicación es án bien in eg adas.
76
Figu a 4-2. Resul ados del cues iona io. E aluación de la aplicación.
En es a sección se ealizan p egun as ace ca de las uncionalidades del sis ema
y del sis ema de ecomendación. Las p egun as son:
1. Me esul a ú il la uncionalidad "Descub e nue as canciones".
2. Me esul a ú il la uncionalidad "C ea playlis ".
3. Me esul a in ui i a la o ma de accede a "Mis a o i os".
4. Me esul a in ui i a la o ma de accede a "Mis playlis s".
5. Me esul a ácil de usa "Descub e nue as canciones".
6. Me esul a ácil de usa "C ea playlis ".
7. Me esul a ú il la in o mación que mues a "Mi pe il".
8. Me esul a ú il la in o mación ace ca de la ecomendación.
9. Es oy de acue do con la ecomendación dada según los c i e ios
seleccionados.
77
Figu a 4-3. Resul ados del cues iona io. E aluación de la in e az.
En es a sección se ealizan p egun as ace ca de la apa iencia es é ica de la
in e az. Las p egun as son:
1. La o ma de la in e az me esul a ag adable.
2. Me esul a ácil na ega po la in e az.
3. Conside o que los colo es y el diseño son boni os.
4. Conside o que los colo es pe mi en una buena isibilidad de la in e az.
4.7. Análisis de los da os y las obse aciones.
Una ez enemos oda la in o mación de las sesiones de e aluación y los
cues iona ios comple ados pasamos a analiza los con el in de añadi odas las
obse aciones y esul ados de los da os.
Respec o a las p ime as sesiones de e aluación (sección 4.5) hemos obse ado
que los usua ios han encon ado los siguien es p oblemas:
84
ecei ed is no accu a e o simply does no o e us he necessa y in o ma ion we a e
looking o . An example could be when we sea ch in Google, he ecommende s ac in
such a way ha hey show he use he mos ele an esul s acco ding o hei p o ile,
disca ding hose ha a e no ou s anding a ha ime.
We ha e seen ha ecommende s a e used o many a eas, bu in his wo k we
ocus on a speci ic ecommenda ion domain: music, which is p esen in many a eas o
li e and i is digi al pla o ms such as Spo i y, Amazon Music o YouTube ha o e us mos
o his con en .
On many occasions we ha e ound ha we always ecei e he same ype o
in o ma ion, and aking i o he musical ield, when in e ac ing wi h he sys em ( o
example, YouTube) we a e shown he same songs wi hou gi ing us he oppo uni y o
know many o he s ha a e p obably o ou liking.
Goals
To de elop his p ojec , we ha e p oposed a se ies o objec i es and asks in o de
o p og essi ely implemen a ecommenda ion sys em based on he da a o e ed by
Spo i y, and o de elop he applica ion as a suppo o show he ope a ion o ou
ecommende wi h he di e en unc ionali ies o he inal use .
We ha e chosen o collec he in o ma ion om Spo i y because i is one o he
la ges music pla o ms ha exis and has millions o songs (Spo i y AB 2024), which can
be use ul o us o y o achie e maximum comple eness o ou ecommenda ion
algo i hm. In addi ion, i has he con en ecommenda ion unc ionali y, which se es as
a e e ence o ou wo k.
These objec i es and asks a e:
1. Objec i e 1. Unde s and echnologies and simila wo k o help de ine he
unc ionali y o he sys em.
a. Task 1.1. Reading o simila p ojec s.
b. Task 1.2. Sea ch o da ase s o pla o ms ha publish hei da a.
85
c. Task 1.3. Design o he so wa e a chi ec u e: s udy sui able pa e ns o
he applica ion.
2. Objec i e 2. De elop a ecommenda ion algo i hm.
a. Task 2.1. S udy he ypes o ecommende s o de e mine he one ha
bes sui s he de ec ed needs.
b. Task 2.2. S udy exis ing amewo ks and de e mine i hey a e applicable
in ou design.
c. Task 2.3. Unde s and he da a p o ided by he da ase .
d. Task 2.4. Implemen a simple ecommende and es i in a p o o ype
wi h li le da a o check i s ope a ion.
e. Task 2.5. Tes di e en ypes o ecommende s in a p o o ype wi h li le
da a.
. Task 2.6. Scale he ecommende o la ge da a and/o connec ion wi h
eal- ime da a.
g. Task 2.7. Ve i y ha he da a o be used and he ecommende wo k
co ec ly.
3. Objec i e 3. De elop a use web in e ace.
a. Task 3.1. Design he in e ace p o o ypes.
b. Task 3.2. De elop he web in e ace.
c. Task 3.3. Implemen he in e ace logic.
d. Task 3.4. Pe o m usabili y es s o e i y i s co ec ope a ion.
4. Objec i e 4. Comple e sys em wo king.
a. Task 4.1. In eg a e he pa s: Recommende - In e ace.
b. Task 4.2. Resol e he in eg a ion be ween he pa s.
5. Objec i e 5. Expe imen wi h eal use s o alida e he p oposed design.
a. Task 5.1. C ea e es use s o es he ope a ion.
b. Task 5.2. In eg a e po en ial use s o he applica ion in o he sys em.
6. Objec i e 6. W i e and e iew he memo y.
a. Task 6.1. Sequen ial de elopmen o he memo y.
b. Task 6.2. Re iew o he comple eness and cohesion o he memo y.
86
Wo k plan
To es ablish he wo k plan, we ha e conside ed he esea ch, de elopmen , and
deli e y imes o each pa o ou p ojec . Th oughou he p ocess, we ha e ollowed an
agile de elopmen based on he Sc um me hodology (see sec ion 2.3) wi h small
deli e ies in sho pe iods o ime (gene ally, wo weeks), adap ing he needs ha may
a ise o hese ime objec i es. We ha e also held egula mee ings o e iew p og ess,
quali y, and sha e he wo k o be done in he u u e. To ack his en i e p ocess, we ha e
used he Excel ool wi h he di e en asks o be pe o med in he sp in s and he deli e y
imes.
Resea ch was he i s ask ca ied ou , in o de o amilia ize ou sel es wi h he
concep s and know he di e en ools a ailable o he subsequen implemen a ion o
ou p ojec . This esea ch has been ca ied ou h oughou he p ojec de elopmen
p ocess in o de o imp o e he consis ency and pe o mance o he wo k.
A e ca ying ou he esea ch phase and acqui ing he necessa y knowledge,
we ha e con inued wi h he de elopmen phase. In his phase, we ha e implemen ed
he ecommenda ion algo i hm and he web applica ion, and i has se ed us o pu in o
p ac ice e e y hing s udied p e iously.
Du ing he e olu ion o he wo k, we ha e al e na ed he wo p e iously
men ioned phases, esea ch and de elopmen , wi h he ask o w i ing he p ojec
documen a ion. We ha e also been co ec ing he e o s o changes ha ha e occu ed
du ing he same so ha he in o ma ion p esen ed he e is upda ed and in acco dance
wi h he wo k ca ied ou .
87
Conclusions and u u e wo k
“Conclusiones y abajo u u o” sec ion ansla ed o English.
Conclusions
In his wo k, an applica ion wi h a pe sonalized hyb id ecommenda ion sys em
has been de eloped wi h he objec i es ou lined in sec ion 1.2:
1. Objec i e 1: Unde s and echnologies and simila wo k o help de ine he
unc ionali y o he sys em.
2. Objec i e 2: De elop a ecommenda ion algo i hm.
3. Objec i e 3: De elop a use web in e ace.
4. Objec i e 4: Comple e sys em wo king.
5. Objec i e 5: Expe imen wi h eal use s o alida e he p oposed design.
6. Objec i e 6: W i e and e iew he memo y.
Al hough mos o he objec i es ha e been me , he e ha e been some
complica ions wi h some o hem. The complica ions ha e been mainly in he
de elopmen o he ecommenda ion sys em in which, al hough amewo ks ha e been
s udied, hey ha e no been applied, since we ha e chosen o implemen i wi hou
hem, which has allowed us o be e unde s and he ope a ion o ecommenda ion
sys ems. Ano he p oblem encoun e ed has been he da ase s, since a comple e one
could no be ound, so i had o be modi ied, as commen ed in sec ion 3.2, since a
column wi h he lis o a ious gen es o he song was missing. Ano he poin ha could
no be ul illed has been he use o e y la ge da a due o lack o ime, as well as he use
o eal- ime da a such as he Spo i y API, which is de ailed la e in sec ion 5.2.
In he de elopmen o he in e ace, he e ha e been se backs wi h he
da abase, ha ing o ha e been changed se e al imes un il he inal one, which is
indica ed in sec ion 2.4.4. And i has also no been possible o upload o an online se e
o be publicly es ed, mo e de ailed in sec ion 5.2.
88
The es o he objec i es and asks ha e been ca ied ou co ec ly and wi hou
p oblems, which has allowed us o lea n a lo abou ecommenda ion sys ems, web
applica ions and ways o in eg a e hem, such as wi h MVC models.
I should be no ed ha du ing he i s mon hs o p ojec de elopmen , he asks
we e mainly based on esea ch and es ing, especially he ecommende pa . In he
ollowing mon hs, he de eloped ecommende was imp o ed, as can be seen in sec ion
3.4, and he web applica ion could be de eloped wi h a much mo e isual and
in e ac i e in e ace (sec ion 3.5).
Fu u e Wo k
Al hough he wo k mee s he objec i es se ou (sec ion 1.2), he p ojec admi s
imp o emen s o be de eloped in he u u e ha would p o ide i wi h addi ional alue.
The ollowing a e he imp o emen p oposals:
1. Use o lib a ies like "Su p ise" o he ecommende .
I would be in e es ing ha , once he ope a ion o a ecommenda ion
algo i hm is known, i would be possible o in oduce al eady implemen ed
ools and algo i hms o imp o e he pe o mance o he ecommende .
2. Use o he Spo i y API.
The use o a da ase limi s he in o ma ion wi h which you can ope a e. I
would be con enien o be able o connec ou applica ion wi h he Spo i y
API since we would ha e millions o songs and he se ice o e ed would be
much mo e comple e and up- o-da e.
3. Deploy he applica ion in a public en i onmen .
Due o lack o ime, we ha e no been able o upload he applica ion o a
p oduc ion en i onmen so ha use s can use he web on hei own de ices.
End use s should ha e accessibili y o ou applica ion, and his would be a
undamen al ask o ca y ou in he u u e.
4. Add new ea u es and imp o e he in e ace.
89
The use o he applica ion only on web pla o ms g ea ly limi s he use ulness
o he applica ion. To allow use s o enjoy he ecommenda ions, he web
could be adap ed o use on mobile de ices.
As o he unc ionali ies, a sea ch ba can be added so ha he use can
di ec ly sea ch o he name o he song o he a is om which hey wan
ecommenda ions. As well as he possibili y o playing he songs in he
applica ion i sel . Also, i would be impo an o imp o e he use in e ace and
make i mo e adap i e o adap i o di e en de ices.
In conclusion, all he objec i es ha we e p oposed a he beginning o he
p ojec ha e been me (sec ion 1.2) and we ha e been able o lea n abou he in e nal
wo kings o ecommenda ion sys ems (sec ion 2.1), he di e en ypes (sec ion 2.1.1) and
some o he p oblems ha a ise in hese sys ems (sec ions 2.1.2 and 2.1.3) and despi e
ha ing de eloped an algo i hm wi hou lib a ies, i has p o en e icien and eliable. In
addi ion, we ha e been able o apply he knowledge acqui ed h oughou he ca ee
on use in e aces (sec ion 3.3), web applica ions (sec ion 3.5) and apply so wa e
me hodologies and design pa e ns o he de elopmen o a p ojec (sec ions 2.2 and
2.3). And acco ding o he esul s ob ained in he use es ing phase (sec ion 4.7), i has
been con i med ha he objec i es ha e been me despi e some de ec ed ailu es
(sec ion 4.5).
90
CONTRIBUCIONES PERSONALES
En es e capí ulo se explica á en de alle el abajo ealizado po cada uno de los
miemb os du an e el desa ollo del p oyec o. Es as a eas se han ealizado an o de
o ma indi idual como en g upo pa a consegui el obje i o p opues o.
Lei e Jiménez González.
Al inicio de es e TFG, he es udiado la iabilidad del p oyec o jun o a mi
compañe a, buscando in o mación sob e sis emas de ecomendación, de iniendo los
obje i os del p oyec o, in es igando las di e en es he amien as disponibles pa a usa y
apo ando ideas de diseño e implemen ación pa a el pos e io desa ollo.
Una ez comp obada la iabilidad del p oyec o, esul ando posi i o, diseñamos
en g upo un boce o de la in e az de la aplicación median e la he amien a Figma.
Du an e es e p oceso de diseño, apo é ideas de es ilo y diseño gene al, así como de ini
el logo.
Al con a con dos módulos de implemen ación en el p oyec o ( e secciones 3.4
y 3.5), me he cen ado en el desa ollo de la aplicación. Me he apoyado en el
F amewo k Django pa a ealiza la aplicación po que conside é que e a la opción más
sencilla pa a la pos e io in eg ación del algo i mo de ecomendación p og amado en
Py hon ealizado po mi compañe a. A con inuación, enume a é las apo aciones
indi iduales den o de la pa e de implemen ación de la aplicación:
1. C eación de un p oyec o Django y modi icación de iche os pa a adap a los
a nues as necesidades.
2. Impo ación de lib e ías y módulos necesa ios pa a el uncionamien o del
p oyec o.
3. De ini la base de da os en SQLi e y pos e io cambio a Pos g eSQL. Así como,
c ea las ablas en el iche o models.py, in oduci la in o mación necesa ia y
comp oba su co ec o uncionamien o.
4. Desa ollo de la aplicación median e HTML, CSS, Ja aSc ip y Py hon.
91
5. C eación de dos módulos den o del p oyec o: “paginaP incipal” y “usua ios”,
pa a di e encia en e las is as gene ales y las de usua io.
6. Implemen ación de las uncionalidades de “Descub i canciones” y “C ea
Playlis ”.
7. Implemen ación de las uncionalidades básicas de la aplicación en el módulo
“usua ios”: inicio de sesión, egis o y pe il de usua io siguiendo los boce os
p opues os.
8. Implemen ación de uncionalidades conc e as pa a nues o p oyec o en el
módulo “paginaP incipal”: “Mis playlis s” y “Mis a o i os”.
9. Realiza la conexión con la base de da os pa a ecoge los da os necesa ios
en las uncionalidades que lo eque ían. Es o lo he ealizado en el iche o
iews.py del módulo co espondien e.
10. In eg ación del algo i mo de ecomendación con la aplicación.
11. Comp obación uni a ia del uncionamien o de las di e en es uncionalidades.
En cuan o a la e aluación de usua ios, en colabo ación con mi compañe a
p epa é el plan de e aluación y pa icipé en las di e en es sesiones de e aluación
guiando a los pa icipan es du an e odo el p oceso y analizando los da os
pos e io men e ecabados du an e las en e is as y los cues iona ios.
Con espec o a la memo ia, he con ibuido a la edacción de di e en es
secciones: el Capí ulo 1, donde se ealiza una in oducción sob e nues o p oyec o, jun o
a la mo i ación, obje i os p opues os y plan de abajo; el Capí ulo 2, donde expliqué la
a qui ec u a so wa e, la me odología y las ecnologías usadas; el Capí ulo 3, ealicé la
explicación del diseño de la in e az de usua io y el desa ollo de la aplicación; el
Capí ulo 4, donde desa ollé pa e de la explicación de la e aluación con usua ios; y el
Capí ulo 5, donde se de allan las conclusiones y abajo u u o.
Lau a Ma ínez Tomás.
A lo la go del desa ollo del TFG he con ibuido a di e en es pa es del p oyec o.
Lo p ime o a lo que con ibuí ue en el boce o inicial del diseño de la in e az median e
la he amien a de Figma.
92
Respec o a la pa e de la implemen ación del p oyec o ( e secciones 3.4 y 3.5),
he desa ollado el algo i mo pa a un sis ema de ecomendación híb ido (sección 3.4.4),
as habe ealizado dis in as e siones. Pa a pode implemen a bien es a pa e he
in es igado ace ca de los dis in os ecomendado es, inalmen e decan ándome po un
modelo híb ido que combina las en ajas de los sis emas de ecomendación basado en
con enido (sección 2.1.1.2) y de il ado colabo a i o (sección 2.1.1.1). Es e algo i mo lo
desa ollé en Py hon sin ningún uso de lib e ías hechas pa a implemen a sis emas de
ecomendación como Su p ise. Además, pa a pode e el uncionamien o del
algo i mo necesi aba un conjun o de da os o da ase , que as una la ga búsqueda
encon é uno, que luego u e que modi ica con un algo i mo que yo misma c eé en
C++ pa a añadi una columna de la lis a de géne os alea o ios pa a cada canción.
Asimismo, u e que educi el da ase con o o algo i mo pa a deja lo en 10000
canciones, ya que el o iginal con enía un millón de canciones y no me pe mi ía obse a
bien el uncionamien o del ecomendado .
Cuando u imos una e sión uncional an o pa a ecomendado como página
plan eamos una e aluación de usua ios que jun o con mi compañe a p epa é el plan
de e aluación y pa icipé en las di e en es sesiones de e aluación omando no as
ace ca de los comen a ios y compo amien os de los pa icipan es du an e odo el
p oceso y analizando los da os pos e io men e an o de las cues iones como de las
sesiones de e aluación y ealicé la conclusión ace ca de los allos más comunes.
Con espec o a la memo ia, he con ibuido a la edacción de di e en es
secciones: el Capí ulo 1, pa e de la in oducción sob e nues o p oyec o jun o a pa e
de la mo i ación y he con ibuido al desa ollo del plan de abajo; el Capí ulo 2, donde
in oduje el capí ulo y expliqué oda la sección de los undamen os de los sis emas de
ecomendación, además de los lenguajes en la sección de ecnologías. En el Capí ulo
3 ealicé la explicación de la me odología, la desc ipción de los conjun os de da os y la
desc ipción de mi pa e de la implemen ación, el desa ollo del algo i mo de
ecomendación. En el Capí ulo 4 desa ollé jun o a mi compañe a la p epa ación del
plan de e aluación y luego desc ibí los siguien es cua o apa ados. Como mi ol en las
sesiones de e aluación e a ecolec a la in o mación de los pa icipan es, lo esc ibí en
93
las ablas. Y inalmen e, en el Capí ulo 4, ealicé el análisis de los da os y el in o me de
hallazgos. En el Capí ulo 5, de allé las conclusiones.
100
h ps:// uc.udc.es/dspace/bi s eam/handle/2183/26156/D.Tou i%c3%b1o_Cal o_2020_
Recomendacion_de_canciones_y_lis as_de_ ep oduccion_sob e_Spo i y.pd ?sequenc
e=3&isAllowed=y
T igas Gallego, M. (2012). Me odología Sc um [Desa ollo de allado de la ase de
ap obación de un p oyec o in o má ico median e el uso de me odologías ágiles].
Vidal-Sil a, C. L., Sánchez-O iz, A., Se ano, J., & Rubio, J. M. (2021). Expe iencia
académica en desa ollo ápido de sis emas de in o mación web con Py hon y Django.
Fo mación uni e si a ia, 14(5). 10.4067/S0718-50062021000500085
Vi anen, P., Gomme s, R., Oliphan , T. E., Habe land, M., Reddy, T., Cou napeau,
D., Bu o ski, E., Pe e son, P., Weckesse , W., B igh , J., an de Wal , S. J., B e , M., Wilson,
J., Millman, K. J., Mayo o , N., Nelson, A. R.J., Jones, E., Ke n, R., La son, E., … SciPy 1.0
Con ibu o s. (2020). SciPy 1.0: undamen al algo i hms o scien i ic compu ing in Py hon.
Na u e Me hods, 17, 261-272. h ps://doi.o g/10.1038/s41592-019-0686-2
Voo hees, D. P. (2020). Guide o E icien So wa e Design: An MVC App oach o
Concep s, S uc u es, and Models. Sp inge In e na ional Publishing.
Zhang, Y., & Chen, X. (2020). Explainable Recommenda ion: A Su ey and New
Pe spec i es. Founda ions and T ends® in In o ma ion Re ie al, 14(1), 1-101.
10.1561/1500000066
Zumba Gamboa, J. P., & León A eaga, C. A. (2018). E olución de las
Me odologías y Modelos u ilizados en el Desa ollo de So wa e. INNOVA Resea ch
Jou nal, 3(10), 20-33. ISSN 2477-90