Faits : A. Le 1 er décembre 2014, A._ s'est inscrite à l'Office régional de placement de Lausanne. Elle a requis l'octroi d'indemnités de chômage au moyen du formulaire prévu à cet effet, en indiquant qu'elle travaillait "par intermittence, sur appel, pour l'entreprise B._ et pour C._ SA sans contrat de travail ni lettre de licenciement". Selon les attestations remplies par les employeurs, l'assurée avait, d'une part, été liée à l'entreprise B._ par plusieurs contrats de mission de durée déterminée en tant que comédienne ou traductrice entre le 18 décembre 2012 et le 4 novembre 2014; d'autre part, elle avait exercé une activité de traductrice correspondant à du travail sur appel pour le compte de C._ SA durant les mois de janvier et juin 2013, ainsi que durant les mois d'août, octobre et novembre 2014. Un délai-cadre d'indemnisation a été ouvert en faveur de l'assurée du 1 er décembre 2014 au 30 novembre 2016, durant lequel Unia Caisse de chômage (ci-après: la caisse de chômage) lui a versé des indemnités fondées sur un gain assuré de 6225 fr., établi sur la base du revenu moyen des six derniers mois de cotisation précédant le délai-cadre susmentionné. Pendant ce même délai d'indemnisation, l'assurée a réalisé des gains intermédiaires auprès de l'entreprise B._ principalement et de trois autres employeurs. A ce titre, elle a perçu, pour l'année 2015, 2725 fr. en février, 2750 fr. en mars, 3825 fr. en avril, 550 fr. en mai, 6675 fr. en juin, 1100 fr. en juillet, 3850 fr. en août, 400 fr. en octobre et 2750 fr. en novembre, puis, pour l'année 2016, 2750 fr. en janvier, 7150 fr. en février, 2750 fr. en mars, 2750 fr. en avril, 8800 fr. en mai, 6600 fr. en juin, 3400 fr. en août, 2200 fr. en septembre, 7837 fr. en octobre et 7100 fr. en novembre. Le 28 novembre 2016, l'assurée a déposé une nouvelle demande d'indemnités de chômage et un second délai-cadre d'indemnisation lui a été ouvert du 1 er décembre 2016 au 30 novembre 2018. De décembre 2016 à juillet 2017, la caisse de chômage lui a octroyé des indemnités de chômage calculées sur la base d'un gain assuré de 12'350 fr. A compter du mois d'août 2017, les indemnités se fondaient sur un gain assuré de 6341 fr. La modification du gain assuré faisait suite à un contrôle du Secrétariat d'Etat à l'économie (SECO) effectué en août 2017, dont il ressortait que le calcul du gain assuré pour la période allant de décembre 2016 à juillet 2017 était erroné, ce qui avait entraîné un versement en trop de 30'200 fr. 40 (montant brut). Par décision du 6 février 2018, confirmée sur opposition le 3 mai 2018, la caisse de chômage a réclamé à l'assurée la restitution de 27'188 fr. 15, correspondant aux indemnités (montant net) qui lui avaient été versées en trop durant la période susmentionnée. B. Par jugement du 16 juillet 2019, la Cour des assurances sociales du Tribunal cantonal du canton de Vaud a rejeté le recours formé par l'assurée contre la décision sur opposition du 3 mai 2018. C. A._ forme un recours contre ce jugement, en concluant à sa réforme dans le sens de l'annulation de la décision sur opposition du 3 mai 2018. L'intimée conclut au rejet du recours, tandis que la juridiction cantonale et le SECO ne se sont pas déterminés.