Universidade de Coimbra Faculdade de Ciências e Tecnologia Departamento de Engenharia Informática Dissertação de Mestrado 2006/2007 Geração de texto com base em ritmo Hugo Ricardo Gonçalo Oliveira Coimbra Julho 2007 2 3 Tese realizada sob a orientação do Professor Doutor Fernando Amílcar Cardoso Professor Associado do Departamento de Engenharia Informática da Faculdade de Ciências e Tecnologia da Universidade de Coimbra e do Professor Doutor Francisco Câmara Pereira Professor Auxiliar do Departamento de Engenharia Informática da Faculdade de Ciências e Tecnologia da Universidade de Coimbra 4 Resumo Esta tese introduz o problema da geração de texto baseado em ritmo, mais precisamente a geração de uma letra de acordo com uma dada melodia. Numa primeira fase a base para o sistema foi preparada. Foram implementados algoritmos para obter a divisão silábica e a identicação da sílaba tónica numa palavra e um método para calcular a força de cada tempo numa melodia. Foi criado um sistema de extracção de informação com o propósito de estudar as relações entre palavras e ritmo na letra de uma música. Numa segunda fase foi desenvolvido um sistema gerador de letras. A sua arquitectura é descrita assim como as estratégias utilizadas na geração das letras. De forma a obter palavras foi criada uma base de dados relacional durante a primeira fase. Nela é possível encontrar não só as palavras mas também a sua categoria gramatical e alguns atributos morfológicos. Algumas letras geradas serão mostradas e analisadas. Na terceira e última fase o sistema foi alvo de validação recorrendo ao sistema de extracção de informação e alvo de avaliação por pessoas que se voluntariaram a responder a um inquérito. Os resultados da extracção de informação, da validação e da avaliação são mostrados no m do documento. 5 6 Abstract This thesis introduces the problem of text generation based on rhythm, more specically the generation of lyrics for a given melody. As a preliminary phase the system's basis was prepared. Algorithms for syllabic division and syllabic stress identication on a word. A method for calculating the strength of each beat of a melody were implemented. An information extraction system was created with the purpose of studying the correlations between words and rhythm in a song's lyrics. In a second phase a system capable of generating lyrics was developed. Its architecture is described and so are the strategies used to accomplish lyrics generation. To get the words a relational database was created during the rst phase. There we can nd not only the words, but also their grammatical category and some morphological related attributes. Some generated lyrics will be shown and discussed. In the third and last phase the system was the object of validation with the help of the information extraction system and the object of evaluation by people that were asked to answer questions from an inquiry. The information extraction, validation and evaluation results are shown in the end of the document. 7 8 Agradecimentos Começo por agradecer aos meus orientadores, os Professores Amílcar Cardoso e Francisco C. Pereira a supervisão, e disponibilidade de que sempre demonstraram. Aos elementos do AILab, aos participantes no IJWCC'07 e aos membros do júri que assistiram às minhas várias apresentações e discutiram comigo acerca do trabalho, tendo dado algumas sugestões. À Clara e à minha mãe pela paciência e por todo o restante apoio. À D. Fernanda e ao resto da minha família, em especial à minha avó Saudade, a mais provável responsável por eu ter recebido o gene do interesse pela música e poesia. Aos respondentes dos inquéritos pelo tempo que dipuseram e a todos os que sempre me apoiaram e acreditaram em mim. Gostaria ainda de agradecer à Graça o apoio que me deu relativamente ao estudo da sílabas, ao Lionel Gueganton pela ajuda inicial e discussão acerca do funcionamento do ABC4J e ao Nuno Seco por várias vezes me ter respondido prontamente a emails indicando-me sempre ferramentas úteis na realização do trabalho. 9 10 Conteúdos 1 2 Introdução Descrição do problema e objectivos 1.2 Contribuições e motivação 1.3 Estrutura 23 . . . . . . . . . . . . . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 27 . . . . . . . . . . . . . . . . . . . 27 2.1.1 Geração de poesia . . . . . . . . . . . . . . . . . . . . . 27 2.1.2 Outras aplicações geradoras de texto . . . . . . . . . . 34 2.2 Estudo do ritmo no texto . . . . . . . . . . . . . . . . . . . . . 38 2.3 Outros trabalhos acerca de letras para música 40 Sistemas geradores de texto . . . . . . . . . Representação e preparação dos dados 43 3.1 Representação do ritmo . . . . . . . . . . . . . . . . . . . . . . 43 3.2 Detecção dos tempos fortes de uma melodia . . . . . . . . . . 44 3.3 Separação de sílabas em português . . . . . . . . . . . . . . . 45 3.4 Detecção da sílaba tónica . . . . . . . . . . . . . . . . . . . . . 46 3.5 Identicação da terminação de uma palavra . . . . . . . . . . 48 3.6 Extracção de informação . . . . . . . . . . . . . . . . . . . . . 50 3.6.1 Descrição do sistema . . . . . . . . . . . . . . . . . . . 50 3.6.2 3.7 4 . . . . . . . . . . . . . . . Trabalho relacionado 2.1 3 23 1.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . 52 Repositório de palavras . . . . . . . . . . . . . . . . . . . . . . 54 3.7.1 Floresta Sintá(c)tica 54 3.7.2 A nossa base de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Tra-la-Lyrics, o nosso gerador 57 4.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.1.1 Extracção da melodia . . . . . . . . . . . . . . . . . . . 58 4.1.2 Análise da melodia . . . . . . . . . . . . . . . . . . . . 58 4.1.3 Métrica . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.1.4 Vocabulário . . . . . . . . . . . . . . . . . . . . . . . . 11 66 12 CONTEÚDOS 4.1.5 4.2 5 67 . . . . . . . . . . . . . . . . . . . . 68 69 Características . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.1.1 Ritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.1.2 Rimas . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.1.3 Repetição . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.2 Parâmetros comuns . . . . . . . . . . . . . . . . . . . . . . . . 71 5.3 Estratégia 1 - Palavras aleatórias . . . . . . . . . . . . . . . . 73 5.3.1 Descrição da estratégia . . . . . . . . . . . . . . . . . . 73 5.3.2 Parâmetros . . . . . . . . . . . . . . . . . . . . . . . . 73 5.3.3 Prioridades . . . . . . . . . . . . . . . . . . . . . . . . 74 simples . . . . . . . . . . . . . . . . . 75 5.4.1 Descrição da estratégia . . . . . . . . . . . . . . . . . . 75 5.4.2 Os . . . . . . . . . . . . . . . . . . . . . . . 75 5.4.3 Prioridades . . . . . . . . . . . . . . . . . . . . . . . . 77 5.4.4 Parâmetros 5.4 5.5 5.6 5.7 7 Interface com o utilizador . . . . . . . . . . . . . . . . . . . . . Estratégias 5.1 6 Inserção da letra Estratégia 2 - templates templates . . . . . . . . . . . . . . . . . . . . . . . . 77 Estratégia 3 - Gramática generativa . . . . . . . . . . . . . . . 78 5.5.1 Descrição da estratégia . . . . . . . . . . . . . . . . . . 78 5.5.2 A gramática . . . . . . . . . . . . . . . . . . . . . . . . 80 5.5.3 Parâmetros . . . . . . . . . . . . . . . . . . . . . . . . 81 5.5.4 Prioridades . . . . . . . . . . . . . . . . . . . . . . . . 82 5.5.5 Interacção Métrica-Vocabulário na estratégia 3 . . . . . 83 Estratégia 4 - Generate and test . . . . . . . . . . . . . . . . . 83 5.6.1 Descrição da estratégia . . . . . . . . . . . . . . . . . . 85 5.6.2 Função de avaliação . . . . . . . . . . . . . . . . . . . . 86 5.6.3 Parâmetros 87 . . . . . . . . . . . . . . . . . . . . . . . . Crítica às estratégias . . . . . . . . . . . . . . . . . . . . . . . 88 Alguns resultados 89 6.1 Estratégia 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.2 Estratégia 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.3 Estratégia 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.4 Estratégia 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Validação dos resultados 7.1 Validação 7.1.1 7.2 7.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Análise dos resultados Avaliação 97 . . . . . . . . . . . . . . . . . . 97 98 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Processo . . . . . . . . . . . . . . . . . . . . . . . . . . 100 13 CONTEÚDOS 7.2.2 8 Análise dos resultados . . . . . . . . . . . . . . . . . . 102 Conclusões 107 A Notação ABC 117 B Músicas analisadas para a extracção de informação 121 C Resultados obtidos através da extracção de informação 123 D Poesia utilizada para complementar a base de dados 133 E Resultados da validação 139 E.1 Parâmetros utilizados na geração das letras . . . . . . . . . . . 139 E.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 F Avaliação 163 F.1 Inquérito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 F.2 Letras utilizadas F.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 . . . . . . . . . . . . . . . . . . . . . . . . . 163 F.3.1 Articulação com o ritmo F.3.2 Rimas . . . . . . . . . . . . . . . . . 168 F.3.3 Sonoridade F.3.4 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . 171 F.3.5 Qualidade . . . . . . . . . . . . . . . . . . . . . . . . . 182 . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 . . . . . . . . . . . . . . . . . . . . . . . . 171 G Mais exemplos de letras geradas 183 14 CONTEÚDOS Lista de Figuras 2.1 (a) Alinhamento de intention com execution; (b) lista de operações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1 Partitura exemplo . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2 Representação da partitura da Figura 3.1 em ABC 44 3.3 Níveis de força nos compassos 4/4 e 3/4 (sistema de pontos) 3.4 Aplicação concreta do sistema de pontos 3.5 Conjuntos de caracteres utilizados nos algoritmos 3.6 Separação de sílabas . . . . . . . 45 . . . . . . . . . . . . 45 . . . . . . . 46 . . . . . . . . . . . . . . . . . . . . . . . 47 3.7 Aplicação do algoritmo para a divisão de sílabas . . . . . . . . 48 3.8 Monossílabos átonos . . . . . . . . . . . . . . . . . . . . . . . 49 3.9 Detecção da sílaba tónica . . . . . . . . . . . . . . . . . . . . . 49 3.10 Construção da Melodia e da Letra através de um cheiro ABC. 51 3.11 Contabilização dos eventos a ser estudados. . . . . . . . . . . . 53 3.12 Diagrama da base de dados utilizada . . . . . . . . . . . . . . 55 4.1 Objectivo do sistema . . . . . . . . . . . . . . . . . . . . . . . 58 4.2 Arquitectura geral do Tra-la-Lyrics . . . . . . . . . . . . . . . 59 4.3 Core do Tra-la-Lyrics: selecção de palavras . . . . . . . . . . . 60 4.4 Extracção da melodia a partir de um cheiro ABC . . . . . . . 60 4.5 Representação de uma melodia . . . . . . . . . . . . . . . . . 61 4.6 Representação da lista de notas para a melodia da Figura 4.5 . 62 4.7 Sumário dos padrões . . . . . . . . . . . . . . . . . . . . . . . 66 4.8 Vocabulário . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.9 Inserção da letra . . . . . . . . . . . . . . . . . . . . . . . . . 4.10 Interface com o utilizador 68 . . . . . . . . . . . . . . . . . . . . 68 5.1 Estratégia 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.2 Prioridades das restrições na Estratégia 1 . . . . . . . . . . . . 75 5.3 Estratégia 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.4 Símbolos e respectivo signicado . . . . . . . . . . . . . . . . . 76 15 16 LISTA DE FIGURAS 5.5 Templates . . . . . . . . . . . . . . . . . . . . . . . 77 5.6 Prioridades das restrições na Estratégia 2 . . . . . . . . . . . . 77 5.7 Estratégia 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.8 Atributos das classes gramaticais 80 5.9 Produções da gramática generativa utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.10 Prioridades das restrições na Estratégia 3, quando é pretendida uma rima . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.11 Prioridades das restrições na Estratégia 3, quando é pretendida uma palavra com determinado lema . . . . . . . . . . 83 5.12 Exemplo das interacções para a selecção de uma palavra na estratégia 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.13 Estratégia 4 - generate and test 84 . . . . . . . . . . . . . . . . . 86 6.1 Letra gerada através da estratégia 1 . . . . . . . . . . . . . . . 90 6.2 Letra gerada através da estratégia 2 e respectivos seguidos templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.3 Letra gerada através da estratégia 3 . . . . . . . . . . . . . . . 93 6.4 Letra gerada através da estratégia 4 . . . . . . . . . . . . . . . 95 7.1 Avaliação A.1 A música Malhão na notação ABC A.2 A partitura da música Malhão . . . . . . . . . . . . . . . . . 119 C.1 Distribuição de sílabas por tempos em compassos 2/4 C.2 Distribuição de sílabas por tempos em compassos 3/4 . . . . . 125 C.3 Distribuição de sílabas por tempos em compassos 3/8 . . . . . 126 C.4 Distribuição de sílabas por tempos em compassos 6/8 . . . . . 127 C.5 Distribuição de sílabas por tempos em compassos 4/4 . . . . . 128 C.6 Distribuição de sílabas por níveis de força C.7 Eventos por nível de força C.8 Distância à tónica seguinte (resoluções) . . . . . . . . . . . . . 131 E.1 Partitura da música Alecrim (4/4) . . . . . . . . . . . . . . . . 140 E.2 Partitura da música Vira-te p'ra cá (3/4) . . . . . . . . . . . . 140 E.3 Partitura da música Regadinho (6/8) . . . . . . . . . . . . . . 141 E.4 Distribuição das sílabas por tempo em compassos 4/4, com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 . . . . . . . . . . . 129 . . . . . . . . . . . . . . 143 Distribuição das sílabas por tempo em compassos 3/4, com letras geradas através da estratégia 1 E.6 . . . . 124 . . . . . . . . . . . . . . . . . . . . 130 letras geradas através da estratégia 1 E.5 . . . . . . . . . . . . . . 119 . . . . . . . . . . . . . . 144 Distribuição das sílabas por tempo em compassos 6/8, com letras geradas através da estratégia 1 . . . . . . . . . . . . . . 145 17 LISTA DE FIGURAS E.7 Distribuição das sílabas por nível de força, com letras geradas através da estratégia 1 . . . . . . . . . . . . . . . . . . . . . . 146 E.8 Resoluções nas letras geradas através da estratégia 1 E.9 Distribuição das sílabas por tempo em compassos 4/4, com letras geradas através da estratégia 2 . . . . . 147 . . . . . . . . . . . . . . 148 E.10 Distribuição das sílabas por tempo em compassos 6/8, com letras geradas através da estratégia 2 . . . . . . . . . . . . . . 149 E.11 Distribuição das sílabas por tempo em compassos 3/4, com letras geradas através da estratégia 2 . . . . . . . . . . . . . . 150 E.12 Distribuição das sílabas por nível de força, com letras geradas através da estratégia 2 . . . . . . . . . . . . . . . . . . . . . . 151 E.13 Resoluções nas letras geradas através da estratégia 2 . . . . . 152 E.14 Distribuição das sílabas por tempo em compassos 4/4, com letras geradas através da estratégia 3 . . . . . . . . . . . . . . 153 E.15 Distribuição das sílabas por tempo em compassos 6/8, com letras geradas através da estratégia 3 . . . . . . . . . . . . . . 154 E.16 Distribuição das sílabas por tempo em compassos 3/4, com letras geradas através da estratégia 3 . . . . . . . . . . . . . . 155 E.17 Distribuição das sílabas por nível de força, com letras geradas através da estratégia 3 . . . . . . . . . . . . . . . . . . . . . . 156 E.18 Resoluções nas letras geradas através da estratégia 3 . . . . . 157 E.19 Distribuição das sílabas por tempo em compassos 4/4, com letras geradas através da estratégia 4 . . . . . . . . . . . . . . 158 E.20 Distribuição das sílabas por tempo em compassos 6/8, com letras geradas através da estratégia 4 . . . . . . . . . . . . . . 159 E.21 Distribuição das sílabas por tempo em compassos 3/4, com letras geradas através da estratégia 4 . . . . . . . . . . . . . . 160 E.22 Distribuição das sílabas por nível de força, com letras geradas através da estratégia 4 . . . . . . . . . . . . . . . . . . . . . . 161 E.23 Resoluções nas letras geradas através da estratégia 4 . . . . . 162 F.1 Inquérito de avaliação . . . . . . . . . . . . . . . . . . . . . . 164 F.2 Avaliação da estratégia 1 . . . . . . . . . . . . . . . . . . . . . 166 F.3 Avaliação da estratégia 2 . . . . . . . . . . . . . . . . . . . . . 166 F.4 Avaliação da estratégia 3 . . . . . . . . . . . . . . . . . . . . . 167 F.5 Avaliação da estratégia 4 . . . . . . . . . . . . . . . . . . . . . 167 F.6 Médias e desvios padrão das classicações do ritmo nas várias estratégias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 F.7 Identicação de frases na letra gerada pela estratégia 1, com três escolhas ou mais . . . . . . . . . . . . . . . . . . . . . . . 169 18 LISTA DE FIGURAS F.8 Identicação de frases na letra gerada pela estratégia 2, com F.9 Identicação de frases na letra gerada pela estratégia 3, com três escolhas ou mais três escolhas ou mais . . . . . . . . . . . . . . . . . . . . . . . 169 . . . . . . . . . . . . . . . . . . . . . . . 169 F.10 Identicação de frases na letra gerada pela estratégia 4, com três escolhas ou mais . . . . . . . . . . . . . . . . . . . . . . . 169 F.11 Médias e desvios padrão das classicações das rimas nas várias estratégias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 F.12 Melhores rimas na letra gerada com a estratégia 1 . . . . . . . 170 F.13 Melhores rimas na letra gerada com a estratégia 2 . . . . . . . 170 F.14 Melhores rimas na letra gerada com a estratégia 3 . . . . . . . 170 F.15 Melhores rimas na letra gerada com a estratégia 4 . . . . . . . 171 F.16 Médias e desvios padrão das classicações da sonoridade nas várias estratégias . . . . . . . . . . . . . . . . . . . . . . . . . 171 F.17 Sonoridade das palavras na letra geradas com a estratégia 1 . 172 F.18 Sonoridade das palavras na letra geradas com a estratégia 2 . 172 F.19 Sonoridade das palavras na letra geradas com a estratégia 3 . 173 F.20 Sonoridade das palavras na letra geradas com a estratégia 4 . 174 F.21 Médias e desvios padrão das classicações da clareza do sentido nas várias estratégias . . . . . . . . . . . . . . . . . . . . 174 F.22 Títulos atribuídos à letra gerada com a estratégia 1 . . . . . . 175 F.23 Títulos atribuídos à letra gerada com a estratégia 2 . . . . . . 176 F.24 Títulos atribuídos à letra gerada com a estratégia 2 (continuação) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 F.25 Títulos atribuídos à letra gerada com a estratégia 3 . . . . . . 178 F.26 Títulos atribuídos à letra gerada com a estratégia 3 (continuação) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 F.27 Títulos atribuídos à letra gerada com a estratégia 4 . . . . . . 180 F.28 Títulos atribuídos à letra gerada com a estratégia 4 (continuação) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 F.29 Médias e desvios padrão das classicações da qualidade nas várias estratégias . . . . . . . . . . . . . . . . . . . . . . . . . 182 F.30 Médias e desvios padrão das classicações da capacidade de proporcionar entretenimento nas várias estratégias . . . . . . . 182 G.1 G.2 G.3 G.4 G.5 G.6 Papagaio-Louro ou Anti-tabaco. . . . . . . . . . . Papagaio-Louro ou Cafés pimenteiras. . . . . . . . O Barquinho ...sem mar . . . . . . . . . . . . . . A Formiga no Carreiro ou As portuguesas carão. O Barquinho ou A rosa e o alemão . . . . . . . . House of the Rising Sun ou Leis para validar . . . . . . . . . . 184 . . . . . . . 184 . . . . . . . 185 . . . . . . . 186 . . . . . . . 187 . . . . . . . 188 LISTA DE FIGURAS 19 Ora venha vinho para os nossos copos ou Comida, invenção par 189 G.8 Phantom of the Opera ou Quarenta Naus . . . . . . . . . . . . 190 G.9 No Woman No Cry ou Choram de rir . . . . . . . . . . . . . 191 G.10 Last Kiss ou Ostentação . . . . . . . . . . . . . . . . . . . . . 192 G.7 20 LISTA DE FIGURAS Prefácio Muitos dirão que a escrita de letras para melodias existentes não é uma tarefa difícil e que qualquer pedaço de texto poderia dar origem a uma letra musical. Outros dirão que a escrita depende essencialmente do seu estado de espírito ou inspiração. Ou ainda que a escrita de letras não é tarefa para muita gente, sendo a capacidade criativa um factor bastante importante ou mais que isso, a cultura musical. Os restantes provavelmente julgarão que não é tarefa para qualquer um, sendo necessária uma combinação dos factores referidos acima dada a sua elevada complexidade. Até que ponto será possível ter um programa de computador capaz de realizar esta tarefa? Será possível, de acordo com um ritmo dado, gerar automaticamente uma letra que se adapte? Como será essa letra em termos de sonoridade, interesse, qualidade? Conseguirá esse programa gerar letras idênticas às de um ser humano? São estas algumas das questões que nos levaram à realização desta dissertação. Sou membro de uma banda para a qual até escrevo letras. Pessoalmente penso que se trata de uma tarefa que até pode ser bastante divertida e interessante, mas por vezes algo complexa. Muitas vezes escrevo pensando simplesmente num poema, sem que haja qualquer música por trás. Outras vezes até penso numa melodia que normalmente acaba por não ser utilizada para a letra. No caso da minha banda, o processo da criação de uma música pode partir de uma letra como de uma melodia, mas no produto nal raramente se encontram ambas da mesma forma que foram criadas. Acaba sempre por ter de haver adaptações para que juntas se tornem numa só. A adaptação das letras passa muitas vezes pela adição ou até mais pela eliminação de um conjunto de palavras ou versos. No caso desta dissertação o ponto de partida é sempre a melodia a que a letra se terá de adaptar. 21 22 LISTA DE FIGURAS Capítulo 1 Introdução 1.1 Descrição do problema e objectivos A tarefa da escolha de palavras para uma música é um problema facilmente ultrapassado por um número considerável de seres humanos, ou não existisse um universo sem m de músicas com letra. Quando se trata de pôr um computador a realizar esta tarefa o que para alguns pode ser simples tornase complexo. Uma melodia segue uma métrica que nos dá a noção de ritmo. Uma sequência de palavras que possa ser entoada nessa melodia deve respeitar a sua métrica. Na música a métrica é obtida através da existência de tempos com mais força que outros. Relativamente ao texto, a métrica é obtida através da existência de sílabas com diferentes níveis de acentuação. Muito importante também para a geração de uma letra é a escolha de palavras que não só devem obedecer à métrica mas tirar partido de padrões fonéticos como o uso da rima ou da aliteração. Apesar de ser possível argumentar que as letras de músicas, tal como a poesia, têm sempre uma semântica emergente, a semântica simplesmente não foi um dos objectivos deste trabalho. Poder-se-ia ainda dizer que nem sequer deve existir uma semântica predenida, deixando os leitores ter uma interpretação livre, aumentando também a margem para a obtenção de resultados surpreendentes. Ainda assim, sabemos também que será bem mais fácil interpretar um pedaço de texto se as suas apalavras seguirem uma estrutura gramatical correcta. Esse sim, já é um dos nossos objectivos. O trabalho aqui descrito teve inicialmente como objectivo a geração de texto com base em ritmo. Esse objectivo evoluiu depois para o estudo da possibilidade da criação de um sistema que, tendo como entrada melodias, fosse capaz de gerar letras cantáveis em português que estivessem de acordo 23 24 CAPÍTULO 1. INTRODUÇÃO com o ritmo e tivessem até outros motivos de interesse. O nosso primeiro passo foi a análise de um conjunto de letras com o objectivo de tirar algumas conclusões e obter informação em que o sistema se pudesse basear. O passo que se seguiu foi o planeamento e a construção do sistema. A procura e construção da base de dados, a criação de uma arquitectura base, a implementação de estratégias de geração e a experimentação através da obtenção de resultados. O último passo procurou validar os resultados obtidos recorrendo ao sistema implementado, utilizado também para analisar as músicas iniciais e recorrendo ainda à opinião de pessoas que se voluntariaram a responder a um inquérito de avaliação. 1.2 Contribuições e motivação O trabalho descrito tem como principal contribuição a criação de um artista articial, mais propriamente um letrista articial, o Tra-la-Lyrics: Este sis- tema tem como entrada uma melodia para a qual vai procurar construir uma letra, uma das tarefas menos exploradas nas produção automática de música e que sem dúvida se trata de um desao para a investigação. Que tenhamos conhecimento não houve nunca uma tentativa séria para a resolução deste problema. Algo que também nos levou à realização deste trabalho prende-se com o crescente de sistemas onde os utilizadores podem criar os seus próprios conteúdos digitais e partilhar com uma comunidade ou simplesmente guardar para uso individual. Criar uma nova letra para uma música conhecida e eventualmente com um toque pessoal, ao inserir algumas opções iniciais pode ser uma boa fonte de entretimento. Até se chegar à implementação do sistema foram atravessadas várias fases que deixam também a sua contribuição: • Algoritmos para a separação de sílabas e identicação da sílaba tónica das palavras da língua portuguesa, com base somente nos caracteres que as constituem. • Os resultados obtidos através da extracção de informação de letras em português. Esses resultados incluem informação acerca da relação entre tempos fortes da música e sílabas tónicas da letra, das resoluções de sílabas átonas em tempos fortes e ainda situações de contracção e prolongamento de palavras da letra. 1.3. • 25 ESTRUTURA O próprio sistema de extracção de informação que pode ser usado para obter resultados a partir de um outro grupo de músicas, eventualmente maior ou com características diferentes. • Uma base de dados que foi construída com o propósito de fornecer palavras para as letras mas que pode continuar a ser enriquecida e ter outras utilizações futuras. Foram implementadas várias estratégias com vista à geração de letras e mais podem vir a ser facilmente implementadas e integradas no sistema em trabalhos futuros. 1.3 Estrutura Incialmente, no Capítulo 2 é apresentado algum estado da arte, introduzindo inicialmente alguns sistemas criativos e passando logo de seguida a uma secção acerca de sistemas geradores de texto. Numa primeira parte apresentam-se trabalhos importantes no que diz respeito à geração de poesia e numa segunda parte apresentam-se outras aplicações desenvolvidas para gerar texto de vários géneros: desde a poesia, passando pelo texto cientíco até letras para música country. gerado pelas mesmas aplicações. São mostrados alguns excertos de texto Ainda no mesmo capítulo encontram-se também secções acerca de trabalhos que procuram estudar o ritmo no texto em prosa e cantado, trabalhos relacionados com as letras de músicas e ainda a avaliação de sistemas criativos. O Capítulo 3 é reservado ao trabalho realizado antes de iniciar a implementação do sistema e que lhe serviu de base. Desde a representação do ritmo e a detecção da força dos vários tempos, passando pela separação do texto em sílabas e identicação da sílaba tónica. Neste capítulo é ainda introduzido um sistema implementado para analisar a informação presente em músicas existentes e os seus resultados. A última parte é dedicada à fonte de palavras escolhida para a realização do trabalho. O Capítulo 4 apresenta o sistema propriamente dito, introduzindo a sua arquitectura através de uma explicação dos vários módulos que o compõem. No Capítulo 5 são apresentadas algumas estratégias para a geração de letras, todas elas incorporadas no sistema. São evidenciadas as várias características comuns e também diferenças entre elas. O capítulo termina com uma análise às várias estratégias. No Capítulo 6 são mostradas e analisadas algumas das letras geradas pelo sistema através das várias estratégias. 26 CAPÍTULO 1. INTRODUÇÃO O Capítulo 7 está reservado à validação do sistema através do sistema de extracção de informação, à sua avaliação através de pessoas e ainda à discussão de ambos os resultados. O último capítulo, Capítulo 8 destina-se a apresentar algumas conclusões e eventual trabalho futuro. Foi também incluído um conjunto de apêndices onde além de listas com os títulos e tipo de compasso das músicas analisadas, listas com títulos de poemas utilizados para enriquecer o repositório de palavras e de uma breve explicação acerca da notação utilizada para representar o ritmo, se encontra ainda o conjunto dos resultados da extracção de informação e da validação acompanhados de grácos e ainda os resultados da avaliação do sistema. Capítulo 2 Trabalho relacionado Já em 1963 Marvin Minsky dizia que o objectivo da Inteligência Articial é colocar uma máquina a realizar uma tarefa que, a ser feita por um humano, requererá sempre alguma inteligência para ser alcançada [1]. Além de inteligência, essa tarefa pode também dispender muito tempo até estar terminada. Segundo Kim Binsted as tarefas a ser conseguidas foram sendo alteradas ao longo dos tempos [2]. Por exemplo, até ao aparecimento do Deep Blue, um dos grandes objectivos era conseguir construir um programa de computador capaz de vencer os grandes mestres do xadrez. Actualmente, têm sido criados novos objectivos, muitos deles mais ligados à criatividade, como por exemplo a geração automática de música [3, 4], a criação de arte visual [5] ou geração de texto de acordo com vários padrões como: poesia [6, 7, 8, 9], histórias [10, 11, 12] ou textos de carácter humorístico [2, 13]. 2.1 Sistemas geradores de texto 2.1.1 Geração de poesia Dada a natureza subjectiva da apreciação e crítica de poesia, os sistemas de geração de poesia só começaram a ser alvo de um estudo mais sério e cientíco após trabalhos de Pablo Gervás [8, 9] e Hisar Manurung [14, 15]. Este tipo de textos interessam-nos bastante, dado que, tal como as letras musicais, seguem uma métrica, ou seja, um ritmo. McGonagall de Hisar Manurung é o resultado de uma abordagem através de algoritmos evolucionários para a geração de poesia e encontra-se detalhadamente descrito na sua tese [6]. Apesar desta tese datar de 2004, foi em 2000 que Manurung publicou os primeiros trabalhos acerca da geração automática de poesia. Em Towards a computational model of poetry generation 27 28 CAPÍTULO 2. TRABALHO RELACIONADO [14] é apresentado um modelo computacional e em chitecture for Generating Poetic Texts A Flexible Integrated Ar- [15] é apresentada uma arquitectura exível e integrada que tem por base o modelo. Hisar Manurung arma que para a escrita de um texto poético é preciso quebrar certas regras da escrita normal, utilizadas na produção de texto em linguagem natural. São referidos alguns problemas que surgem na escrita de um texto poético e não na escrita de outros tipos de texto: • alta ocorrência de fenómenos interdependentes da linguagem. Não basta ter em conta a semântica. A sintaxe a ser seguida e o léxico utilizado são também aspectos muito importantes, • a • de modo a satisfazer tanto a mensagem a transmitir muitas vezes não está bem denida, fonética como a semântica e a sintaxe, deve existir uma fonte muito rica de recursos, como por exemplo uma gramática com grande cobertura, um léxico bastante rico e com informação fonética e ainda uma base de conhecimento. Além disto, a procura do texto necessário tem de ser feita de forma eciente, • a avaliação objectiva do texto gerado e a performance do sistema são pontos complicados, já que muitas vezes chega a ser extremamente subjectivo considerar se um pedaço de texto se trata de um poema ou se tem ou não qualidade. Tal como outros autores, Manurung refere ainda que os textos poéticos envolvem uma ocorrência bastante regular de padrões sintácticos e fonéticos, 1 tal como a métrica e o ritmo ou recursos estilísticos como a aliteração . Já na sua tese são acrescentados alguns pontos de vista que tentam identicar o que pode ou não ser considerado como poesia no âmbito do seu trabalho. Alguns dos pontos apresentados podem ser-nos bastante úteis. Algumas características referidas como necessárias para que um texto poético seja diferente de outros tipos de textos são: • o ritmo e a métrica, que na poesia devem estar mais denidos e ser utilizados de forma mais regular que no texto em prosa. • a rima, que ocorre entre duas palavras quando, o conjunto formado pela última vogal acentuada de uma palavra e o sons que a seguem, são idênticos ao mesmo conjunto numa outra palavra. • outros padrões fonéticos como a 1 Figura aliteração, a assonância2 ou a con- de estilo que consiste na repetição de consoantes, vogais ou sílabas num verso ou numa frase, especialmente em sílabas tónicas. 2 Repetição do som de uma vogal em mais que uma palavra. 2.1. 29 SISTEMAS GERADORES DE TEXTO sonância3 . • linguagem Figurativa utilizada para enriquecer os textos. No que diz respeito à classicação da métrica, são citados a partir do livro Writing Poems • [16] quatro tipos: acentuação forte (strong stress ), onde o ritmo é obtido através da utilização de sílabas acentuadas em intervalos mais ou menos regulares, preenchidos por sílabas átonas. • métrica silábica, onde o ritmo é obtido apenas através do número de sílabas em cada linha. • métrica quantitativa, onde o ritmo é obtido através da duração de cada sílaba, isto é, do tempo que cada sílaba demora a ser dita. • acentuação silábica (syllabic stress metre ), que se trata de uma com- binação entre os dois primeiras tipos. O ritmo é obtido através da utilização de sílabas tónicas combinado com o número total de sílabas. Para Manurung, um texto, para ser considerado poético terá obrigatoriamente de respeitar • três propriedades: Sentido: o poema deve seguir uma mensagem conceptual, que possa ser alvo de algum tipo de interpretação. • Gramática: o poema deve obedecer às convenções linguísticas presentes numa gramática e num léxico. • Poeticidade (poeticness ): o poema deve ter presentes características poéticas, como a existência de um ritmo e a utilização da rima. Manurung descreve também uma possível taxonomia para a caracterização de sistemas, baseada na técnica usada para a geração de poesia e também no seguimento das propriedades acima descritas pelos textos gerados: • Salada de palavras (word salad ): sistemas que se limitam a dispor de forma aleatória palavras atrás de palavras. sem que sejam seguidas quaisquer regras gramaticais. É a abordagem seguida pelo sistema simplista de geração de letras LYRIC 3205 de Pete Killgannon [14], do qual não conseguimos obter mais informações. 3 Repetição do som de uma consoante em mais do que uma palavra. 30 CAPÍTULO 2. • Baseados em templates TRABALHO RELACIONADO ou gramáticas: sistemas onde palavras são escolhidas de um léxico, de modo a preencher espaços em templates de frases pré-denidos, sem no entanto seguirem qualquer métrica. É a abordagem seguida pelo sistema Poetry Creator [17], do qual também falamos na próxima secção (Secção 2.1.2). • Conscientes da forma (form-aware): sistemas onde a escolha de palavras respeitam uma forma de texto pré-denido, como por exemplo tipos especícos de texto poético como o haiku ou o soneto. De forma a respeitar cada tipo de texto, são essencialmente seguidas regras relativas à métrica. De qualquer forma, estes sistemas não respeitam a propriedade do sentido. • Sistemas de geração de poesia: na sua tese, Manurung só considera que um sistema é efectivamente de geração de poesia quando as três propriedades são seguidas. Como exemplos de sistemas que entram nesta categoria, são dados os exemplos do ASPERA [9] e do COLIBRI [7], que utilizam a técnica de case-base reasoning (CBR) para a geração de poesia. A propriedade do sentido é obtida através de uma mensagem fornecida pelo utilizador no início da geração e que consiste em palavras que o sistema vai procurar distribuir pelo texto gerado, apesar de Manurung considerar que se trata de uma aproximação semântica muito supercial. O próprio McGonagall também se encontra nesta última categoria e procura respeitar correctamente todas as três propriedades denidas, através de uma abordagem evolucionária. Como já foi dito, o McGonagall tem por base um algoritmo evolucionário, onde uns dos parâmetros a avaliar é a métrica dos poemas. Para essa avali- edit distance ), que basicamente calcula o custo envolvido na transformação de uma string noutra. Para isso é necessário alinhar as strings e contar o número de oper- ação é utilizada a ações de edição: distância mínima de edição (minimum remoção, inserção ou substituição necessárias para re- alizar a transformação tendo cada operação um determinado custo. A Figura 2.1 mostra um exemplo da aplicação da distância mínima de edição. Nela é calculada a distância entre as palavras intention (x) e execution (y), sendo o custo de cada operação (c) igual a uma unidade (exemplo retirado da tese de Manurung [6]). No caso especíco da avaliação da métrica as strings tratam-se das repre- sentações da métrica pretendida e das métricas candidatas para determinado verso. Quanto menor o custo da transformação de determinada representação da métrica noutra, mais próximas estarão uma da outra. 2.1. SISTEMAS GERADORES DE TEXTO Figura 2.1: 31 (a) Alinhamento de intention com execution; (b) lista de operações Pablo Gervás e o seu sistema WASP [8] terá sido o primeiro trabalho a ser levado a sério na tarefa da geração de poesia através de programas de computador. Nele é descrito o funcionamento do sistema WASP, um sistema baseado em regras cujo objectivo é estudar e testar a importância do tamanho do vocabulário inicial, da escolha de palavras, da escolha de padrões de versos e das heurísticas de construção, com base na aceitação ou não dos versos gerados. O sistema tem como entrada um conjunto de palavras e um conjunto de padrões de versos. A saída pode ser um conjunto de versos de acordo com uma forma poética (romance, quadra, ...) qualquer restrição. ou um conjunto de versos sem As heurísticas seguidas tratam-se de várias estratégias para a geração de poemas. Arma-se que os poemas escritos através da combinação aleatória de um conjunto de palavras não têm normalmente grande sucesso perante leitores mais exigentes. De modo a que as palavras façam sentido em conjunto, é, em primeiro lugar, necessário que se encontrem organizadas de acordo com determinados padrões. A correcção semântica não é um objectivo essencial, dado que a criatividade na poesia se faz apoiar em algumas transgressões de forma a obter metáforas imaginativas, dando desta forma espaço a uma tolerância maior por parte do leitor, quando nem há à partida uma estrutura semântica correcta. É utilizado um conjunto de regras para poesia espanhola, que vão depois ser utilizadas como heurísticas. As regras são então aplicadas ao conjunto de dados inicial que consiste num vocabulário e numa forma de combinar as palavras seleccionadas desse vocabulário. Há a dizer que as palavras do vocabulário devem ter incluídas informações relativas à forma gramatical, número de sílabas, localização da sílaba tónica, se a palavra começa ou 32 CAPÍTULO 2. TRABALHO RELACIONADO termina numa vogal (possibilitando a contracção da última sílaba de uma palavra que termina numa vogal, com a primeira de outra que começa numa vogal) e ainda o género e o número. Estes dois últimos, no caso do WASP, são tratados como se fossem formas diferentes das palavras e não características morfológicas. O algoritmo base do WASP tem as seguintes fases: • escolha aleatória de uma palavra do vocabulário que corresponda à primeira categoria do verso actual, • colocação dessa palavra no rascunho do verso actual, • eliminação da categoria correspondente do padrão que está a ser seguido, • teste sobre o rascunho do verso, onde é vericado se estão a ser seguidas as condições da estratégia a ser usada e o correcto tamanho do verso em número de sílabas, • se as condições forem satisfeitas continuar a partir da primeira fase para uma nova palavra, • versos que violem as condições ou que não tenham um número de sílabas correcto são rejeitados. São apresentadas as estratégias utilizadas para a geração de versos independentes (evitar a repetição de palavras e validação sucessiva dos rascunhos) e para a geração de poemas completos (selecção do padrão e da rima para o próximo verso). Após a realização de experiências que utilizaram as várias estratégias e com dois conjuntos distintos de dados iniciais, foi possível avaliar o desempenho do sistema com base em parâmetros numéricos obtidos com os testes. Os conjuntos de dados iniciais utilizados foram ou um poema clássico espanhol ou um conjunto genérico de palavras retirado de forma aleatória de um trabalho académico na área da linguística. Dos 45 poemas considerados aceitáveis, apenas 6 foram gerados a partir do conjunto retirado do trabalho académico. Tendo em conta que as palavras do poema clássico se encontram relacionadas entre elas e seguem uma linha lógica, sem que aconteça o mesmo para o outro conjunto, cou comprovado que o conjunto inicial de palavras e padrões é essencial para a qualidade dos poemas gerados. Curiosamente o poema melhor classicado pelos avaliadores numéricos, tratou-se de um resultado que seguia de muito perto o poema clássico fornecido, o que não era propriamente o que se pretendia, dado que não se estava propriamente 2.1. 33 SISTEMAS GERADORES DE TEXTO a assistir à criação de algo novo. Quanto a outros resultados interessantes, há a dizer que se obtiveram resultados negativamente drásticos (apesar de interessantes de um outro ponto de vista estético), quando se faziam misturas como utilizar o padrão de um texto e o vocabulário de outro. O ASPERA de Pablo Gervás [9] é uma aplicação para a geração semiautomática de poesia em castelhano, através da utilização de CBR, onde se tenta resolver um problema recorrendo a um grande conjunto (uma base de dados) de soluções para vários problemas. O seu funcionamento é explicado em An Expert System for the Composition of Formal Spanish Poetry. Ao descrever o problema da geração de texto poético, Gervás refere que são necessárias técnicas linguísticas avançadas e também senso comum, ou seja, dois dos maiores desaos da Inteligência Articial. A geração de texto poético apresenta então essencialmente três desaos: • a especicação dos requisitos formais que denem que um poema está correcto, • uma boa • a correcta gestão de um vocabulário extenso, combinação de palavras de modo a atingir a mensagem que se pretende transmitir e respeitar a métrica. É dado um papel crucial à gestão de vocabulário, referindo que um curto vocabulário pode levar a que requisitos como a diversidade não sejam preenchidos e armado que a precisão da mensagem a ser transmitida não requer uma precisão exagerada. Ainda em [9] existe uma secção que diz respeito à forma de encaixar as palavras na métrica pretendida. São referidos alguns aspectos como as condicionantes adicionais que podem existir nas palavras no nal de cada verso, como por exemplo: a existência de rima, o respeito da sintaxe da língua em causa ou o sentido do poema de acordo com uma semântica. De modo a obter bons resultados a este nível, deverá existir um léxico muito rico, assim como um conjunto de regras sintácticas e semânticas, que a não existir pode sempre ser desenvolvido através de soluções de engenharia. É isso que é feito no ASPERA, existindo no entanto uma gramática propriamente dita (constituída por padrões de linhas semelhantes aos do WASP) para garantir a correcção sintáctica. O sistema possui um corpus 4 de versos já validados que, através de CBR, são utilizados para a geração de novos versos. 4 Grande As palavras de cada verso conjunto de textos ou frases numa língua, normalmente utilizado na análise estatística, cálculo de frequências ou validação de regras linguísticas. 34 CAPÍTULO 2. TRABALHO RELACIONADO encontram-se já etiquetadas com a sua função gramatical. As etiquetas acabam por limitar o número de palavras em cada linha, respeitando assim uma forma poética. Não vamos entrar em pormenor no funcionamento do sistema ASPERA, mas é de referir que, antes de iniciar a geração, há uma interacção com o utilizador, de modo a que este forneça uma especicação do poema pretendido a forma do mesmo ou um conjunto de palavras que gostaria de ver no resultado nal (de forma a haver a melhor aproximação possível à mensagem que pretende ver transmitida) COLIBRI [7] é também um sistema de geração de poesia, que também utiliza CBR e é muito semelhante ao ASPERA. No entanto, os casos são guardados utilizando uma representação muito exível, que o permitem explorar as inferências possibilitadas pela herança de características na ontologia que utiliza, a CBROnto. Existe ainda um trabalho de Pablo Gervás onde se procura modular o estilo literário na geração semi-automática de poesia em [18]. Este modelo utiliza o sistema ASPERA e procura adaptar o texto gerado às preferências do utilizador. O utilizador fornece uma descrição em prosa da mensagem que pretende ver transmitida e um vocabulário composto pelo conjunto de palavras que deseja ver no poema nal. Além disso, o utilizador pode ter um perl previamente criado. Os dados fornecidos pelo utilizador e o seu perl são depois utilizados na geração de novos versos, utilizando CBR. As preferências de cada utilizador relativamente a determinadas palavras são guardadas no seu perl, bem como as suas preferências relativas à estrutura linguística. tas são representadas através de restrições sobre os elementos do Es- corpus e tratam-se de nada mais nada menos que vectores de etiquetas gramaticais. O perl guarda ainda as prefências relativamente ao planeamento do poema e à métrica. Os últimos passos do CBR permitem um renamento progressivo na aproximação do estilo literário desejado, representado pelo vocabulário do sistema e pelo corpus de padrões de construção acumulados. A capacidade do sistema armazenar os resultados que vão ser validados faz com que a base de casos actual contenha mais poemas gerados pelos utilizadores que os que se encontravam originalmente no corpus. Neste trabalho o autor rearma que a composição de poesia se encontra entre os problemas mais desaantes na geração de linguagem. 2.1.2 Outras aplicações geradoras de texto Encontram-se pela web várias aplicações geradoras de texto de índole criativa. 2.1. 35 SISTEMAS GERADORES DE TEXTO The Poetry Creator [17] é um sistema baseado em templates de versos e onde a partir de um tema, um sinónimo para esse tema e um título proposto (dados pelo utlizador) é gerado um poema. O texto inclui tanto o tema com o seu sinónimo no meio de versos poéticos. Parece existir alguma noção de métrica e também alguma diversidade nos poemas gerados. Por outro lado há também muitas construções semelhantes onde mudam apenas algumas palavras. Não conseguimos obter muita informação acerca deste sistema, mas é provável que tenha um grande conjunto de templates alguns espaços a preencher por um conjunto de palavras. de versos com Nesse conjunto poderão ser incluídas aquelas que foram dadas pelo utilizador. A título de exemplo foram gerados dois poemas com as seguintes opções: Subject music Synonym songs Author Hugo Title Gender Rhythm Male A mountainous range stood before the melancholy music Where the size of the dirt was all that matters It shocks with love-blind, cool abandon, Figment of the imagination ? Never.. . The crushing went on All were in a circle of juggling dark palaces--soft and dainty, Never contemplated.. . Never more has been squeeked The sight of the red jackal before him, the music was revived Even as he flees, the music turns to see the asp chasing him into the sanctuary What did the music have in his fur? A dragon arises from the sensitive music, Where the size of the kitchen sink was all that matters Ever immediately, the little toe took its toll... Quickly the dictator was snatched up, Sadism accounts for the facts Tricycles are larger than apes, likewise a foot is better than nothing. With a mighty "Yawp!" Cat Woman bit into the eyelash of her prey Billowing, disregarding, the songs felt like a nurse. The student scolded the jellyfish, to no avail. O melancholy world, you have hurt me again. The Essay Generator [19] pretende gerar textos dissertativos acerca de um tema escolhido pelo utilizador. O texto gerado inclui não só várias frases, 36 CAPÍTULO 2. TRABALHO RELACIONADO mas também grácos e referências. Todos os textos gerados têm a mesma estrutura, começando com uma introdução, seguida das secções Economic Factors, Political Factors Socials Factors, e termina com conclusões. No entanto, o textos não tem qualquer sentido, porque se limitam a incluir o tema em frases pré-feitas. Como exemplo foi gerado um texto acerca do tópico music and lyrics e o resultado continha frases algo disparatadas como: • Dierence among people, race, culture and society is essential on the survival of our world, however music and lyrics smells of success. • The question which we must each ask ourselves is, will we allow music and lyrics to win our vote? SCIGen [20] é um gerador automático de artigos cientícos sobre com- putação. Os artigos gerados incluem grácos, guras e citações. O utilizador apenas tem de incluir o nome dos autores do artigo e os conteúdos são gerados com recurso a uma gramática livre de contexto (CFG). O objectivo principal de SCIGen é testar os critérios de aceitação de conferências com baixas taxas de submissão. Um artigo gerado com este sistema, com o título Rooter: A Methodology for the Typical Unication of Access Points and Redundancy tornou-se famoso quando foi aceite como artigo não revisto para a World Multi-Conference on Systemics, Cybernetics and Informatics. Apesar 5 disso acabou misteriosamente por não constar no programa da conferência. 6 A história e o seu desenrolar encontra-se na página web do sistema . O Postmodernism Generator [21] gera artigos pseudo-cientícos de acordo com uma especicação formada por regras como numa gramática. Cada vez que se entra na página de uma das versões do programa, tions From Elsewhere Comunica- [22] é gerado um novo artigo completamente diferente do anterior, completamente correcto a nível gramatical, com referências, mas que não faz qualquer sentido. A título de exemplo apresentamos uma The Paradigm of Context: Sontagist camp and postcapitalist libertarianism, gerado pelo Postmodernism Generator : secção retirada do artigo 1. Sontagist camp and the cultural paradigm of expression Society is intrinsically dead, says Bataille. But the cultural paradigm of expression states that sexual identity has 5 http://pdos.csail.mit.edu/scigen/rooter.pdf 6 http://pdos.csail.mit.edu/scigen/ 2.1. SISTEMAS GERADORES DE TEXTO 37 significance. If postcapitalist libertarianism holds, we have to choose between the cultural paradigm of expression and Sontagist camp. However, the primary theme of the works of Madonna is the defining characteristic, and thus the rubicon, of subcapitalist class. Baudrillard promotes the use of the structural paradigm of reality to analyse and read culture. In a sense, Sontag uses the term 'Sontagist camp' to denote a mythopoetical whole. The premise of postcapitalist libertarianism implies that reality is capable of significance, but only if Debord's analysis of posttextual deconstruction is valid; if that is not the case, we can assume that art is used to oppress the proletariat. However, Baudrillard suggests the use of postcapitalist libertarianism to challenge the status quo. Roseville Big Band, sob o nome de Lyric-o-matic [23] como numa outra página denomidada Country Western Song Generator Tanto na página da [24] é possível gerar letras para música country. Há no entanto muito pouca informação relativamente ao funcionamento deste gerador. As letras geradas parecem ser todas para a mesma música, sendo todas constituídas por oito versos, todos eles com a mesma métrica nas várias gerações. Seis dos versos têm um início xo (começam sempre pelas mesmas palavras) e dois têm o m xo (terminam sempre nas mesmas). Os dois versos cujo m é xo dão depois cada uma origem a uma rima. A palavra que vai rimar com elas é que varia. Na segunda das referências é dito a título de curiosidade que existem 5,770,748,510,208 combinações possíveis. Apresentam-se dois exemplos de letras geradas com este sistema: San Antonio - Where My Hope Said Goodbye I met her at a dog show Friday evenin' ; I still recall the perfume that she wore. She was helpin' some old lady with her tongue out, And I knew she'd dig my Ford's four on the floor. She asked me if I'd love her mind forever; She said to me her dentist bills were high, 38 CAPÍTULO 2. TRABALHO RELACIONADO But who'd have thought she'd find me on a freight train ? My luck was gone that day she said goodbye. Fort Lauderdale Sad Eyes I met her in Vancouver like she told me ; I still recall the army boots she wore. She was lis'nin' to Cole Porter nice and easy, And I knew that courtin' her would be a chore. I stood and said I'd stay in love forever; She said to me she needed one more guy, But who'd have thought she'd walk out sellin' Amway ? She sneered ``good riddance'', never said goodbye. Poesybeat [25] não é propriamente um programa de computador que pro- duza texto criativo. É sim um interessante sistema colaborativo mantido por uma comunidade online. Os utilizadores do sistema podem fazer uma de duas coisas: • enviar poemas que gostariam de poder cantar e para os quais procuram uma melodia • enviar melodias para as quais procuram uma letra A comunidade vai depois procurar encontrar escolhas possíveis para aquilo que foi enviado pelos utilizadores. O resultado nal (melodia + letra) é por m gravado e partilhado para que todos o possam ouvir. De certa forma o nosso sistema procura automatizar a parte da procura de texto para uma melodia. 2.2 Estudo do ritmo no texto Doug Beeferman apresenta em The Rhythm of Lexical Stress in Prose [26] stress ) lexical na língua inglesa. É um modelo para o estudo da acentuação ( armado que o ritmo está presente em tudo onde existe criatividade, seja a métrica numa música ou na poesia, ou a uniformidade das distâncias entre objectos na arte visual e na arquitectura. É estudada a regularidade da acentuação na prosa, factores que a podem inuenciar e ainda alguns padrões 2.2. 39 ESTUDO DO RITMO NO TEXTO mais comuns. A partir exactamente dessa regularidade, surge a noção de ritmo. Comprovou-se que a ordem das palavras contribui de forma muito signicativa para a existência de um ritmo na escrita, através da análise da reg- Wall Street Journal e uma versão de um corpus composto por frases (completamente ass- ularidade na acentuação de um conjunto de frases presentes no intácticas) em que a ordem das palavras estava alterada de forma aleatória. A regularidade de padrões de acentuação no segundo conjunto era praticamente inexistente. Fez-se ainda outra experiência em que foi utilizado um 7 terceiro conjunto de frases onde só as palavras de classe aberta tinham a sua ordem alterada, mantendo as restantes palavras a sua posição normal. Os resultados relativos à regularidade caram entre as frases bem constituídas e as completamente desordenadas. Os testes realizados concluem que o inglês se trata de uma língua em que existe uma regularidade no que diz respeito ao evento de acentuação forte, ou seja, os falantes da língua inglesa tendem a expandir ou contrair o número de sílabas, de modo a que a duração entre acentuações primárias seja sempre semelhante. Por outro lado, existem línguas em que a regularidade está mais relacionada com o número de sílabas presente, como o francês. Representando sílabas tónicas com um 'S' e átonas com 'W', os padrões de acentuação mais encontrados foram SWSW e WSWS (11,21% e 11,0% respectivamente), que correspondem a uma alternação binária. Arma-se que um bom exemplo para ser observada a regularidade da acentuação é na letra de uma música, o que não se trata de qualquer surpresa. Este artigo refere ainda que cada palavra na língua inglesa tem uma e uma só acentuação primária à qual todas as restantes sílabas são subordinadas. As únicas excepções tratam-se de alguns monossílabos que são normalmente the, of ) desprovidos de acentuação ( e que segundo algumas fontes também existem na língua portuguesa [27]. Em The Role of Phonological Phrasing in Sung and Chanted Verse [28] é realizado um estudo da métrica no verso entoado e cantado, baseado num corpus de 670 linhas de música folk inglesa e ainda em dez entoações dessas linhas por dez falantes nativos de inglês. Sugere-se que a poesia é para ser cantada ou entoada segundo um ritmo e não para ser simplesmente falada. Para realizar o estudo foi utilizado um sistema de grelhas retirado de A Generative Theory of Tonal Music [29]. Este sistema separa o tempo em intervalos de igual duração constituídos por uma batida forte no inicio, seguida de batidas fracas. 7 substantivos, verbos, adjectivos e advérbios. 40 CAPÍTULO 2. TRABALHO RELACIONADO Para o estudo do ritmo é indiferente onde a nota termina, interessando apenas onde ela começa. A duração de cada nota determina simplesmente a articulação entre ela e a frase musical. São referidos alguns princípios de boa formação de versos que nos podem ser úteis. Considera-se que um fragmento de texto segue determinado padrão rítmico se soar bem ao ouvido de alguém conhecedor do meio em que ele foi escrito. Um fragmento de texto é considerado métrico (seguidor de um padrão rítmico) se soar bem ao nosso ouvido. São dados para a mesma frase dois exemplos de alinhamentos de palavras de uma forma métrica, onde as sílabas tónicas coincidem com as batidas fortes e de uma forma não métrica, onde as sílabas tónicas estão todas localizadas em batidas fracas. Uma sílaba tónica pode aparecer numa batida fraca sem qualquer problema, desde que esteja rodeada de sílabas mais fortes, interessando somente a força da sílaba. Quando uma posição métrica não se encontra preenchida ou contém o prolongamento da sílaba anterior, é considerada mais fraca que uma sílaba átona. Algumas relações entre letra e música podem também ser encontradas em Critérios para Relacionar Letra e Música [30]. 2.3 Outros trabalhos acerca de letras para música Natural language processing of lyrics [31] apresenta experiências realizadas com o recurso a técnicas de processamento de linguagem natural que analisam a estrutura de letras fornecidas. A partir dessa análise, o sistema consegue: • Identicar a língua em que a letra foi escrita (se for uma das seis suportadas) com base nos sons encontrados encontrados na letra. • Propor uma possível divisão da música: 1) A introdução é semelhante aos versos, normalmente constituída por três ou quatro frases e inicia o tema principal, contextualizando o resto da música. 2) Os ver- sos correspondem de certa forma a uma estrofe onde a letra é menos repetitiva que em refrões. 3) O refão é a parte em que o tema prin- cipal é mais explícito. Pressupõe uma dinâmica e actividade superior. Quando duas partes da letra têm texto muito semelhante serão duas instâncias do refrão. 4) A ponte é utilizada para ligar duas partes da música. Sendo os versos repetidos pelo menos duas vezes, a ponte pode aparecer no lugar da uma terceira repetição dos versos ou logo a seguir, mesmo antes de um novo refrão. 5) A conclusão, quando ex- iste, encontra-se no m da letra e pretende terminar o tema principal. 2.3. OUTROS TRABALHOS ACERCA DE LETRAS PARA MÚSICA • 41 Categorizar a letra de acordo com um tema utilizando um método classicador que analisa as palavras da letra e calcula a probabilidade da mesma fazer parte de uma das seguintes categorias: amor, violência, protesto anti-guerra, cristã ou drogas. Este sistema procura também encontrar semelhanças entre letras diferentes. Lyrically [32] é um protótipo que procura alinhar sinais musicais acústicos com a letra correspondente. Este tipo de alinhamento é semelhante ao que se vê nos karaokes. Para isso é necessário fazer algum processamento do sinal áudio (gravação da música) e do texto das letras. O processamento do sinal áudio é feito em três fases: 1. Determinar a estrutura rítmica da música de modo a facilitar o alinhamento do texto com o tempo. 2. Determinar uma aproximação da localização do refrão, o que pode facilitar tendo em conta que o alinhamento será muito semelhante em todos os refrões, assim como nos versos, que acabam por de certa forma ser também identicados nesta fase. 3. Determinar a presença de voz na música. O processamento do texto decorre em duas fases: 1. Categorização de cada secção da música (verso, refrão, ponte...) e cálculo das respectivas durações. 2. Renação dos tempos de cada evento através da informação rítmica obtida ao realizar o processamento do sinal áudio. Syllabic level automatic synchronization of music signals and text lyrics [33] é apresentada uma framework para a sincronização entre música Em e as sílabas da letra. O trabalho apresentado está próximo do anterior mas preocupa-se mais com o alinhamento entre música e letra a nível silábico e não ao nível de cada secção ou linha da letra. São feitas algumas constatações acerca da duração das notas numa música. Essa duração está restrita a várias fracções do tempo da música. Além disso há durações mais prováveis e outras menos prováveis. Nos casos estudados as semínimas (1/4) e as colcheias (1/8) são as durações mais comuns. As notas mais longas encontram-se mais nos refrões do que nos versos e mais no nal do que no princípio de linhas melódicas. 42 CAPÍTULO 2. TRABALHO RELACIONADO Capítulo 3 Representação e preparação dos dados 3.1 Representação do ritmo Para a representação do ritmo, optou-se por utilizar a notação ABC, uma linguagem standard para notação musical (melodia, letra e cifra) que usa caracteres ASCII. Esta notação foi projectada para melodias que podem ser escritas numa pauta convencional. Existem vários programas de domínio público (para sistemas operativos diversos) que permitem trabalhar com cheiros ABC, convertendo-os em partituras ou em cheiros MIDI. Guido Gonzato construiu um manual bastante completo para a notação ABC, manual esse que se encontra traduzido para português [34]. Mais sobre a notação ABC pode ser encontrado no Apêndice A. As guras 3.1 e 3.2 mostram um exemplo da representação de uma partitura com letra na notação ABC. Para a manipulação destes cheiros foi utilizado a API para Java, ABC4J [35], que tem exactamente esse m. A versão disponibilizada online (0.1) Figura 3.1: Partitura exemplo 43 44 CAPÍTULO 3. REPRESENTAÇÃO E PREPARAÇÃO DOS DADOS X:1 T:Taps L:1/8 K:C M:4/4 z4 z2 G>G | c4> G>c | e4> G>c | e2 Gc e2 Gc | w:is-to é u-ma le-tra que eu po-de-ri-a gee4> c>e | g4 e2 c2 | G4> G>G | c8 | w:rar pa-ra a me-lo-di-a a-qui Figura 3.2: Representação da partitura da Figura 3.1 em ABC tinha vários problemas, desde bugs a métodos por implementar. À medida que nos fomos deparando com estes problemas, eles foram comunicados via e-mail ao autor, Lionel Gueganton, que se mostrou-se sempre disponível para ajudar. A resolução desses problemas viria a dar origem à actualização do ABC4J para a versão 0.2. 3.2 Detecção dos tempos fortes de uma melodia Para identicar a força de cada nota dentro de um compasso foram seguidas regras simples, enumeradas no livro A Generative Theory for Tonal Music [29], mais propriamente o sistema de pontos. Neste sistema, para representar cada batimento, utiliza-se um ponto. A distância entre dois pontos corresponde à distância entre os batimentos na música. Tendo um compasso e o seu tipo, é possível criar vários níveis de pontos, onde num primeiro nível se incluem todos os batimentos, e ao avançar de nível são retirados os pontos correspondentes a batimentos mais fracos. Dito de outra forma, ao avançar um nível, os pontos do novo nível são em menor número e, consequentemente, distanciar-se-ão entre si dois ou três pontos. A força de um batimento é igual ao número de pontos que lhe são atribuídos. Na Figura 3.3 podemos observar dois exemplos, para os compassos 4/4 e 3/4, onde, no primeiro nível (mais fraco) se tem como referência a semicolcheia. Já na Figura 3.4 é possível observar uma aplicação concreta do sistema de pontos, numa música, retirada de [36]. Neste exemplo, o nível mais fraco considerado é a colcheia. No nosso trabalho foram construídas manualmente tabelas que represen- 3.3. 45 SEPARAÇÃO DE SÍLABAS EM PORTUGUÊS Figura 3.3: Níveis de força nos compassos 4/4 e 3/4 (sistema de pontos) Figura 3.4: Aplicação concreta do sistema de pontos 1 tam as várias forças dentro dos tipos de compasso mais comuns considerados , facilitando o cálculo da força de cada nota. A granularidade da representação foi a semi-colcheia. 3.3 Separação de sílabas em português Tendo por base um algoritmo utilizado para a translineação de palavras, implementado na linguagem C# [37] foi criado um novo algoritmo com vista à separação de sílabas em português. O original não contemplava muitas das situações em que ocorria divisão silábica tendo isso levado à necessidade de um novo, que contemplasse todas as situações do algoritmo original e algumas que estavam em falta. O objectivo foi a partir de uma palavra (sob a forma de string ) construir uma lista constituída pelas suas sílabas. Para conseguir realizar tanto a separação de sílabas como para a detecção da sílaba tónica (explicado na próxima secção) é necessário ter em conta os grupos de caracteres presentes na Figura 3.5. O algoritmo para a separação de sílabas encontra-se na Figura 3.6. É constituído por duas fases, que se explicam de seguida. A Figura 3.7 mostra a título de exemplo a sua aplicação, obtendo a divisão em sílabas da palavra coimbra. 1. Numa primeira fase, separa-se a palavra de forma que cada grupo de vogais que separado. O local onde ocorre a separação é feito tendo em conta as consoantes posicionadas antes e depois do grupo de vogais, procurando construções como por exemplo: 1 2/4, 3/4, 4/4, 3/8 e 6/8. 46 CAPÍTULO 3. REPRESENTAÇÃO E PREPARAÇÃO DOS DADOS VOGAIS = {'a', 'e', 'i', 'o', 'u', 'á', 'à', 'ã', 'â', 'é', 'ê', ...}; SEMI_VOGAIS = {'i', 'u'}; ACENTO_GA = {'á', 'à', 'é', 'í', 'ó', 'ú'}; CIRCUNFLEXO = {'â', 'ê', 'î', 'ô', 'û'}; TIL = {'ã', 'õ'}; H = {'h'}; U = {'u'}; CONJ1 = {'b', 'c', 'd', 'f', 'g', 'p', 't', 'v'}; CONJ2 = {'c', 'l', 'n'}; CONJ3 = {'l', 'r', 'z'}; CONJ4 = {'g', 'q'}; Figura 3.5: Conjuntos de caracteres utilizados nos algoritmos • CONJ2 + H + VOGAL (che, lha, nho, ...); • VOGAL + CONJ3 (al, or, ez, ...); • CONJ1 + CONJ3 + VOGAL (plu, bra, cza, ...). [ coimbra = coim + bra ] 2. Na segunda fase analisa-se cada grupo de vogais. Cada grupo é separado, a menos que se trate de um ditongo do género [ 2 ou de uma construção CONJ4 + U + VOGAL (gua, que, quo, ...). coim + bra = co + im + bra ] Há ainda a dizer que foram sendo encontradas ao longo do trabalho uma ou outra palavra cuja divisão não era bem realizada. Para algumas delas foram adicionadas regras especícas. 3.4 Detecção da sílaba tónica O algoritmo para a detecção da sílaba tónica (Figura 3.9) também foi por nós implementado, com a ajuda de gramáticas da língua portuguesa [38, 39] e recurso a alguns sítios na web [40, 27]. Este algoritmo consegue identicar a sílaba tónica com base nos caracteres que constituem a palavra, sem necessidade da utilização de símbolos fonéticos. Baseia-se nas seguintes regras: • Se uma sílaba tem um acento gráco e é uma das três últimas sílabas da palavra, então é a sílaba tónica. 2 Conjunto de vogais que se lê de uma só vez, pertencendo por isso à mesma sílaba. 3.4. DETECÇÃO DA SÍLABA TÓNICA 47 //primeira fase foreach (character i in the word){ if (pertence(VOGAIS, i) and !pertence(VOGAIS, i-1)){ } if (pertence(H, i-1) and pertence(CONJ2, i-2)) or (pertence(CONJ3, i-1) and pertence(CONJ1, i-2)) divisaoEm(i-2); else divisaoEm(i-1); } //segunda fase foreach (character i in the word){ if (pertence(VOGAIS, i) and pertence(VOGAIS, i-1)){ if (in(U, i-1) and in(CONJ4, i-2) or in(TIL, i-1)) continue; else if (pertence(SEMI_VOGAIS, i)) if (!(pertence(ultimaSilaba(word), i)) and pertence(CONJ3, i+1)) and (!pertence(NASAIS, i+1) or pertence(VOGAIS, i+2))) continue; divisaoEm(i); } } Figura 3.6: Separação de sílabas 48 CAPÍTULO 3. REPRESENTAÇÃO E PREPARAÇÃO DOS DADOS Figura 3.7: Aplicação do algoritmo para a divisão de sílabas • Se a palavra só tem uma sílaba, é essa a sílaba tónica (palavra • Se a palavra termina em 'r', 'l' ou 'z', a sílaba tónica é a última (palavra aguda). aguda). • Se a última sílaba tiver um 'i' ou um 'u' então, a última sílaba é tónica (palavra • aguda). Se nenhum caso acima se vericar, a penúltima sílaba é tónica (palavra grave). Há no entanto um conjunto de dezoito palavras que fogem a esta regra e que foram consideradas completamente desprovidas de acentuação. Tratamse dos monossílabos átonos (Figura 3.8) [27]. 3.5 Identicação da terminação de uma palavra Sendo as rimas um factor importante num texto como a letra de uma música foi necessário encontrar uma forma de vericar se duas palavras rimam entre si. Como no nosso trabalho não utilizamos símbolos fonéticos, mas sim as 3.5. IDENTIFICAÇÃO DA TERMINAÇÃO DE UMA PALAVRA o, a, os, as, um, uns, me, te, se, lhe, nos, lhes, que, com, de, por, sem, sob, e, mas, nem, ou Figura 3.8: Monossílabos átonos if (pertence(MONOSSILABOS_ATONOS, word)) return -1; if (sizeOf(word) == 1) return 0; //dada uma lista com as sílabas da palavra foreach (syllable i in the word){ foreach (character j in i) if (pertence(ACENTOS, j) return i; } and i < sizeOf(i) - 4) if (pertence(CONJ3, ultimoCaracter(word)) return sizeOf(word) - 1; foreach (character i in ultimaSilaba(word)){ if (pertence(SEMI_VOGAIS, i) and !(pertence(U, j) and pertence(CONJ8, i-1)) return sizeOf(word) - 1; } return sizeOf(word) - 2; Figura 3.9: Detecção da sílaba tónica 49 50 CAPÍTULO 3. REPRESENTAÇÃO E PREPARAÇÃO DOS DADOS palavras propriamente ditas, uma maneira de abranger um grande número de palavras que rimam é vericar se a sua terminação é igual. Situações de terminações diferentes que produzem o mesmo som acabaram por não ser consideradas. Para obter a terminação de uma palavras existem três passos: 1. Identicação da sílaba tónica da palavra. 2. Identicação da vogal com mais força da sílaba tónica (geralmente a primeira vogal da sílaba). 3. A terminação é constituída por todos os caracteres entre a vogal mais forte (inclusivé) e o m da palavra. 3.6 Extracção de informação Foi implementado um sistema de extracção de informação acerca da relação entre sílabas e ritmo numa música. Este sistema destinou-se essencialmente a comprovar que, numa música, as sílabas tónicas da letra coincidem na maior parte das vezes, com os tempos fortes do ritmo. Além desta análise, aproveitámos para estudar outros aspectos como: as átonas em tempos fortes, o tipo das resoluções de sílabas sílabas contraídas e as palavras que mais frequentemente surgem com sílabas contraídas, o tipo de sílabas normalmente contraídas através da concatenação de palavras3 e ainda os conjuntos de palavras que mais frequentemente surgem concatenados. 3.6.1 Descrição do sistema O objectivo deste sistema é a recolha de informação a partir de músicas escritas na notação ABC, seguida da actualização dessa informação nas tabelas utilizadas para a contabilização de várias ocorrências que pretendemos estudar. O sistema recebe um ou mais cheiros ABC de onde vai depois extrair a melodia e a letra representadas (Figura 3.10). A construção da melodia tem em conta a identicação dos vários compassos, seus tipos e das várias notas. A construção da letra tem em conta a identicação das várias palavras e respectivas sílabas, identicando ainda a sílaba tónica. Todas estas representações foram por nós implementadas, com a excepção das notas, para as quais utilizamos a classe abc.notation.Note, presente no ABC4J. 3 Consideram-se nesta situação por exemplo: sempr' abrir ou qu'eu. 3.6. EXTRACÇÃO DE INFORMAÇÃO 51 Figura 3.10: Construção da Melodia e da Letra através de um cheiro ABC. 52 CAPÍTULO 3. REPRESENTAÇÃO E PREPARAÇÃO DOS DADOS Existe depois um módulo que associa cada nota à sílaba correspondente traduzindo essa associação numa lista de pares nota/sílabas. Cada par contém também informação acerca do tempo em que o mesmo ocorre desde o inicio do compasso a que a nota pertence, facilitando desta forma o cálculo da sua força. Esta lista é depois analisada e os vários eventos a estudar são contabilizados 3.11. É possível extrair informação relativa aos seguintes aspectos: • nível de força, onde é relacionado o tipo de sílaba (tónica ou átona) com o nível de força (de acordo com o sistema de pontos da Secção 3.2) em que ocorre, • tempo dentro de cada tipo de compasso, onde é relacionado o tipo de sílaba com o tempo dentro de cada compasso, • contraídas, onde são contabilizadas as palavras que mais vezes ocorrem com sílabas contraídas e em que situações, • concatenadas, onde são contabilizadas as situações onde mais vezes ocorrem concatenações • 4 de palavras, prolongamentos, onde são contabilizadas as sílabas que são prolongadas para a(s) notas seguintes, • resoluções, onde é contabilizado em número de notas ou em tempo a distância de uma sílaba átona num tempo forte e a sílaba tónica seguinte. Os resultados obtidos podem ser visualizados directamente na consola ou exportadas para cheiros CSV (de modo a serem facilmente importadas por folhas de cálculo). 3.6.2 Resultados Para realizar um estudo acerca da informação que pretendíamos, utilizamos 42 músicas populares e infantis que foram analisadas pelo sistema. Uma listagem com os títulos e a fontes das músicas encontra-se no Apêndice B. As nossas principais crenças vieram a conrmar-se. De seguida apresentamse algumas das conclusões retiradas da análise dos resultados: • Há maior ocorrência de sílabas tónicas no primeiro tempo de cada compasso (que é sempre o 4 chamamos mais forte). concatenações à contracção de sílabas de palavras diferentes 3.6. 53 EXTRACÇÃO DE INFORMAÇÃO Figura 3.11: Contabilização dos eventos a ser estudados. • Existe uma regularidade nas distâncias entre os tempos com maior ocorrência de sílabas tónicas. Esta distância varia consoante o tipo de compasso. Trata-se de uma constatação que de certa forma acaba por comprovar o sistema de pontos. • Utilizando o sistema de pontos para atribuir forças a cada tempo do compasso, observa-se facilmente que nos cem mais nos • tempos mais fortes apare- sílabas tónicas e menos átonas, passando-se o contrário e tempos mais fracos. A maior parte das resoluções e de sílabas átonas que ocorrem em tempos fortes é feita na nota imediatamente a seguir. • Não há grandes conclusões a tirar quanto ao tipo de sílabas que mais aparecem contraídas. Apenas a dizer que a palavra que mais vezes foi encontrada com a ocorrência de uma contracção foi para que é muitas vezes lido como p'ra. • Sempre que existe uma concatenação de palavras a última letra da primeira palavra é uma vogal (mais precisamente um 'a', 'e' ou 'o' não acentuados), assim como a primeira letra da segunda palavra (neste caso pode ser qualquer vogal, acentuada ou não) 54 CAPÍTULO 3. • REPRESENTAÇÃO E PREPARAÇÃO DOS DADOS Não foi encontrada qualquer sílaba átona prolongada, no entanto tam- bém não foram encontrados prolongamentos em número suciente que nos permita tirar maiores conclusões. No Apêndice C encontram-se os resultados obtidos para os vários compassos suportados, tendo sido escolhida, como divisão mais baixa de um compasso, a semicolcheia (0.25 de um semínima). 3.7 Repositório de palavras Para ser possível a construção de letras com a maior diversidade possível, foi necessário encontrar uma grande fonte de palavras que pudesse ser facilmente consultada. 3.7.1 Floresta Sintá(c)tica Incialmente a escolha recaiu sobre o recurso Floresta Sintá(c)tica, que se trata de um conjunto de textos retirados dos corpus CETEMPúblico (texto Público ) do jornal sintaticamente analisados e se encontra disponível na Linguateca[41]. A forma mais simples de aceder à Floresta Sintá(c)tica foi a criação de uma base de dados relacional a partir de um script disponibilizado pelo Pólo de Braga da Linguateca [42]. Esta base de dados contém as várias árvores sintácticas existentes na Floresta Sintá(c)tica, tornando-se simples aceder a uma frase ou a uma palavra e ainda à sua forma gramatical, à sua função sintática, ao seu lema 5 6 ou à sua morfologia . Ficavam-nos a faltar no repositório atributos relacionados com as sílabas da palavra, que também convinha estarem presentes na base de dados. Foi por isso criada uma nova tabela com o auxílio dos algoritmos descritos atrás, e que tinhas como atributos: a palavra, o número de sílabas, a sua divisão silábica e a posição da tónica. 3.7.2 A nossa base de dados Com o evoluir do trabalho foi sentida a necessidade de uma base de dados mais à medida do programa. Com uma estrutura mais exível e à qual fosse possível acrescentar palavras que não se encontrassem na Floresta. Utilizando a ferramenta Jspell[43, 44] que se trata de um analisador morfológico, foi-nos possível obter os atributos gramaticais e morfológicos de 5 palavra 6 género, base número e tempo verbal 3.7. 55 REPOSITÓRIO DE PALAVRAS Figura 3.12: Diagrama da base de dados utilizada grande parte das palavras da língua portuguesa, facilitando a criação de uma nova base de dados onde esses atributos também estivessem presentes. A nossa base de dados foi criada no motor MySQL e a sua estrutura encontra-se representada na Figura 3.12. Segue-se uma breve descrição das cinco tabelas que constituem a base de dados: • Palavras - todas as palavras, sua categoria gramatical e o seu lema. • Morfologia - atributos morfológicos de todas as palavras: género e número. Quando o género, o número ou ambos não estão denidos para uma palavra, ela também está presente nesta tabela, com o(s) atributo(s) preenchidos como indenidos. O mesmo acontece a palavras que sirvam para ambos os géneros ou números. • Verbos - atributos especícos dos verbos: transitividade, tempo verbal e pessoa. • PronomesPessoais - atributos especícos dos pronomes pessoais: pessoa e tipo. • Silabas - basicamente a mesma que já era utilizada em conjunto com a base de de dados da Floresta. Foram no entanto acrescentados alguns atributos com o decorrer do trabalho, como é o caso da terminação da palavra e do coeciente de rima. A terminação da palavra é obtida através do algoritmo descrito na Secção 3.5. O coeciente de rima é basicamente o somatório de todas as palavras que existem na base de dados e que têm a mesma terminação. Estes dois atributos podem ser utilizados para facilitar a existência de rimas. 56 CAPÍTULO 3. REPRESENTAÇÃO E PREPARAÇÃO DOS DADOS Há ainda a dizer que os verbos no particípio passado foram considerados adjectivos na base de dados. A razão que nos levou a fazê-lo prende-se com o facto de, em grande parte das situações, quando o verbo assim conjugado não exprime nenhuma razão temporal, desempenha a função de adjectivo [38]. Eventualmente deveria até estar na base de dados sob ambas as formas. A base de dados foi preenchida com todas as palavras presentes na base de dados da Floresta e complementada com palavras retiradas de textos poéticos web. Os nomes dos textos encontram-se listados no Apêndice recolhidos pela D. É constituída actualmente por mais de vinte mil palavras. Capítulo 4 Tra-la-Lyrics, o nosso gerador Tra-la-Lyrics foi o sistema construído para procurar alcançar o principal objectivo desta dissertação: a geração de letras para músicas (Figura 4.1). Este sistema procura aplicar alguma da informação recolhida durante o estudo preliminar. Foi implementado na linguagem de programação Java e tem como entrada um cheiro ABC. A saída é também um cheiro ABC, mas com a letra gerada inserida. As palavras utilizadas encontram-se numa base de dados que corre no motor MySQL. O cheiro ABC que dá entrada no sistema pode ser criado manualmente ou criado a partir de um cheiro MIDI, recorrendo ao binário midi2abc. Apesar do cheiro ABC criado por este binário não ser completamente compatível com o programa, não são precisas muitas alterações para que o passe a ser. O cheiro ABC deve conter a melodia para a qual se pretende gerar uma letra. No caso de utilizar o midi2abc será necessário escolher o canal do MIDI onde se encontra a melodia da voz. O cheiro ABC à saída é em tudo semelhante ao que deu entrada, mas com a letra gerada inserida. facilmente convertido em PostScript Esse cheiro pode depois ser (.ps) e seguidamente em PDF de modo a facilitar a visualização da letra e da pauta da música. 4.1 Arquitectura O Tra-la-Lyrics está divido em módulos, cada qual com a sua função. Na Figura 4.2 encontra-se uma representação da arquitectura do sistema. As representações para melodia e letra utilizadas no sistema de extracção de informação fora também aqui utilizadas. As secções que se seguem apresentam cada um dos módulos individualmente. Há a dizer que aquilo a que podemos chamar o contra nos módulos da core do sistema se en- Selecção de Palavras, sendo eles os responsáveis pela 57 58 CAPÍTULO 4. TRA-LA-LYRICS, O NOSSO GERADOR Figura 4.1: Objectivo do sistema escolha de palavras de acordo com o ritmo e pela implementação de várias características, especícas das várias estratégias e que têm em vista tornar o texto gerado mais interessante. O módulo Métrica é partilhado pelas três primeiras estratégias utilizadas e só por si, garante que o texto é gerado de acordo com o ritmo presente na melodia. O módulo Vocabulário tem imple- mentações diferentes de acordo com a estratégia utilizada para a geração e adiciona restrições próprias das estratégia às restrições que já vêm do módulo Métrica. Após juntar todas as restrições, procura na base de dados por palavras que se ajustem. 4.1.1 Extracção da melodia Este módulo é o mesmo que foi utilizado no sistema de extracção de informação com o mesmo nome. hierárquica da A sua função é construir uma representação melodia recebida. Relembramos que a melodia é constituída por notas que estão, por sua vez, organizadas em compassos. 4.1.2 Análise da melodia Para cada nota da melodia é criada uma nova representação, a que chamamos NotaNoCompasso e que contém não só a representação da nota, mas também a sua posição dentro do compasso em que se encontra, a sua força e se 4.1. ARQUITECTURA Figura 4.2: Arquitectura geral do Tra-la-Lyrics 59 60 CAPÍTULO 4. TRA-LA-LYRICS, O NOSSO GERADOR Figura 4.3: Core do Tra-la-Lyrics: selecção de palavras Figura 4.4: Extracção da melodia a partir de um cheiro ABC 4.1. 61 ARQUITECTURA Figura 4.5: Representação de uma melodia é a última da sua parte. Como já referido anteriormente, para a obtenção da força de uma nota é utilizado o sistema de pontos, explicado mais detalhadamente na Secção 3.2. Uma parte da música é basicamente uma frase 1 musical . A anotação acerca de ser ou não a última nota da sua parte é útil quando se pretende tirar partido desse facto para, por exemplo introduzir uma rima. A saída deste módulo é uma representação constituída por uma lista de NotasNoCompasso e ainda métodos utilizados para calcular a dis- tância (em número de notas) entre qualquer nota e a ocorrência do próximo padrão relevante para a métrica da letra. Estes padrões serão explicados e listados na secção seguinte. De certa forma, a lista de notas acaba por ser uma representação plana da melodia. A Figura 4.5 exemplica a representação de uma melodia, construída pelo módulo Extracção da melodia e a Figura Análise da Melodia. 4.6 mostra a lista de notas construída pelo módulo 4.1.3 Métrica Este módulo é responsável pela construção da letra. É nele que são adi- cionadas ou retiradas palavras da letra. O seu objectivo principal é encontrar palavras que encaixem no ritmo da melodia. Para isso a lista de NotasNo- Compasso é percorrida de modo a encontrar padrões considerados relevantes para a construção da métrica da letra. De acordo com o padrão encontrado e com a distância entre a nota actual e o m do padrão é necessário um tipo de palavra diferente, no que diz respeito ao número de sílabas e à posição da sílaba tónica. Essa palavra é obtida através do módulo Vocabulario que poderá acrescentar restrições à palavra e só depois tentar obtê-la com recurso à nossa base de dados. Se o módulo 1 Uma Vocabulário retornar uma palavra, frase musical trata-se de uma subdivisão da música, constituída por uma sequência de notas coerente com um princípio e m denidos. 62 CAPÍTULO 4. TRA-LA-LYRICS, O NOSSO GERADOR Figura 4.6: Representação da lista de notas para a melodia da Figura 4.5 4.1. 63 ARQUITECTURA é ainda preciso calcular o índice da próxima nota sem letra. Esse índice é 2 obtido somando o número de sílabas efectivas da nova palavra com o número de pausas e notas ligadas presentes na parte abrangida. Os padrões considerados relevantes para a métrica da letra encontram-se listados de seguida acompanhados de um exemplo. distância • n As palavras necessárias têm em conta a calculada. Tempo forte: Uma nota ocorre num tempo forte. Os tempos considerados fortes foram aqueles cuja força calculada era a maior do compasso ou estava a cima de um valor pré-denido. A palavra deve ter no máximo erá estar na posição n n+2 sílabas 3 e a sua sílaba tónica dev- começando a contar no início da palavra. Como este padrão acaba por incluir muitos dos que se seguem, ele apenas é procurado se nenhum dos padrões que incluem tempos fortes for encontrado. É um padrão importante porque ao ser identicado o algoritmo vai tentar que as sílabas tónicas coincidam com os tempos fortes. Para o exemplo da imagem, seria necessária uma palavra com um máximo de quatro sílabas, sendo a tónica a segunda, como é o caso de an-gús-ti-a. • Tempo forte seguido de pausa: Uma nota ocorre num tempo forte e é seguida de uma pausa. A palavra deverá ter posição 2 Sílabas n, n sílabas e a sílaba tónica deverá encontrar-se na começando a contar do início da palavra. A identicação contraídas só contam como uma sílaba e cada prolongamento conta como uma sílaba. 3 As palavras da Língua Portuguesa só podem ser acentuadas numa das suas três últimas sílabas 64 CAPÍTULO 4. TRA-LA-LYRICS, O NOSSO GERADOR deste padrão vai, não só tentar fazer com que as sílabas tónicas coincidam com os tempos fortes, mas também procurar garantir que não ocorram palavras interrompidas por uma pausa. Para o exemplo da imagem, seria necessário uma palavra com duas sílabas, sendo a última a tónica, como • a-mor. Tempo forte seguido do m da melodia: Uma nota ocorre num tempo forte que é seguido pelo m da melodia. Semelhante ao padrão anterior, mas em vez de terminar numa pausa, chega-se mesmo ao m da melodia. A identicação deste padrão vai, não só tentar fazer com que as sílabas tónicas coincidam com os tempos fortes mas também procurar garantir que a melodia não termina numa palavra com sílabas a mais que notas disponíveis. Para o exemplo na imagem, seria necessário uma palavra uma palavra com três sílabas, estando a tónica na última, como em • i-lu-dir. Pausa: Uma pausa. A palavra deverá ter no máximo tipo de acentuação. n-1 sílabas e não deve ter qualquer O único tipo de palavras que respeita estas re- strições são os monossílabos átonos, o que acaba por tornar difícil a possibilidade de existirem longas sequências de palavras sem qualquer acentuação. Não é contudo crítica a ocurrência de sílabas tónicas em tempos que não são fortes. A identicação deste padrão é necessária para procurar garantir que não há sílabas que coincidam com pausas da melodia. • Tempo forte seguido de uma nota, seguida de uma pausa: Uma nota encontra-se num tempo forte, tem uma outra nota a seguir, 4.1. 65 ARQUITECTURA num tempo fraco que é por sua vez seguida de uma pausa. A palavra deverá ter no máximo n+1 sílabas e a n -ésima sílaba deverá ser a tónica. A identicação deste padrão vai, não só tentar fazer com que as sílabas tónicas coincidam com os tempos fortes, mas também procurar garantir que não ocorram palavras interrompidas por uma pausa. Para o exemplo na imagem, seria necessária uma palavra com o máximo de três sílabas, sendo a tónica a segunda, como é o caso de • con-quis-ta. Último tempo forte da parte: Uma nota é a última forte dentro da parte da música em que está inserida. Para que existam partes denidas é necessário o utilizador indicar a divisão em partes antes da geração da letra. Essa divisão é representada sob a forma de uma lista com o tamanho em número de notas, de cada parte. No caso de se encontrar este padrão, a palavra deverá ter no máximo n+d sílabas, sendo d a distância entre a última nota forte da parte e a última nota da parte. A n -ésima sílaba deverá ser a tónica. A identicação deste padrão é importante pois facililita a inclusão de eventos interessantes no m de cada parte da música, como por exemplo, a existência de uma rima. • Fim da melodia: Uma nota é a última da melodia. A palavra deverá ser um dos dezoito monossílabos átonos, porque se este padrão foi identicado, signica que apenas falta uma nota para terminar a melodia e que essa nota não se encontra num tempo forte. A identicação deste padrão é necessária para procurar garantir que 66 CAPÍTULO 4. TRA-LA-LYRICS, O NOSSO GERADOR o Padrão N Tempo forte sílabas Tónica n+2 n Tempo forte seguido de pausa n n Tempo forte seguido do m da melodia n n n-1 nenhuma Tempo forte seguido de uma nota, seguida de uma pausa n+1 n Último tempo forte da parte n+d n n nenhuma Pausa Fim da melodia Figura 4.7: Sumário dos padrões a melodia não termina numa palavra com mais sílabas que as notas disponíveis. A Figura 4.7 contém um sumário dos padrões relevantes para a métrica. 4.1.4 Vocabulário O módulo Vocabulário recebe pedidos de palavras de acordo com o número de sílabas e a posição da sílaba tónica, pedidos esses feitos pelo módulo Métrica. Este módulo tem também acesso a uma fonte de palavras. As palavras podem ser obtidas a partir de um Proxy4 , que no caso das estratégias implementadas é sempre um interface com uma base de dados. No entanto seria possível que esse Proxy fosse um interface para uma outra fonte de palavras (um cheiro, um dicionário, outra estrutura, ...), bastando para isso apenas que os métodos responsáveis pela obtenção das palavras as fossem buscar outro lado, que não à base de dados. A fonte de palavras acaba então por ser completamente dependente do módulo Vocabulário (Figura 4.8). Este módulo pode ser alvo de várias reimplementações, correspondendo cada uma a uma estratégia para obter as palavras. De acordo com a estraté- gia seguida podem ser acrescentadas restrições ao tipo de palavra que se procura. Essas restrições adicionais têm como objectivo tornar a geração de texto mais interessante do que uma simples sequência de palavras que apenas encaixa no ritmo. As várias restrições para a obtenção de palavras podem levar à inexistência de palavras que as respeitem por completo, fazendo com 4O Proxy é apenas introduzido nesta secção e não volta a ser referido para a frente visto tratar-se apenas de um interface que não é essencial para a compreensão do resto da arquitectura. Não nos parece por isso necessário sobrecarregar os vários diagramas. 4.1. 67 ARQUITECTURA Figura 4.8: Vocabulário 5 o Proxy simplesmente não retorne nada . Este módulo deverá por isso também conseguir lidar com essa possibilidade procurando alternativas ao tipo de palavras necessário (fazendo cair restrições, trocando algumas delas, ...), sem que o módulo Métrica sequer tenha a percepção do que se passou. Em relação a todas as estratégias, o número de sílabas pedido para as palavras acabou por ser utilizado como um número máximo e não um número xo. Se tal não tivesse sido feito, as palavras teriam tendência a ocupar todas as notas do padrão, cando as letras compostas por menos palavras, na sua maioria muito grandes. O módulo Vocabulário é portanto muito importante para a gestão do vocab- ulário presente nas letras geradas. Se a gestão não funcionar correctamente ou se o vocabulário não for muito extenso, pode haver um problema de falta de diversidade [9] ou mesmo de falta de soluções. Foi reservada uma secção completa para discutir as estratégias implementadas (Secção 5). 4.1.5 Inserção da letra Este módulo tem como entrada a letra gerada e o cheiro ABC original. A sua função é apenas a criação de um novo cheiro, em tudo igual ao original, mas com a letra gerada correctamente inserida de acordo com o standard do ABC (Figura 4.9). 5 Se por exemplo a base de dados não contiver palavras de acordo com as restrições. 68 CAPÍTULO 4. TRA-LA-LYRICS, O NOSSO GERADOR Figura 4.9: Inserção da letra 4.2 Interface com o utilizador Para facilitar a inserção de alguns parâmetros nas várias experiências realizadas foi criado um interface muito simples. Este interface apenas contempla as estratégias 1 a 3 e algumas opções de geração (Figura 4.10). Após a geração este interface pergunta ao utilizador se pretende guardar um cheiro ABC com a letra gerada e pergunta depois se quer converter o ABC para uma pauta em PostScript. Para realizar experiências utilizando a estratégia 4 é necessário recorrer à linha de comandos. Figura 4.10: Interface com o utilizador Capítulo 5 Estratégias Esta secção pretende explicar as várias estratégias que foram utilizadas para a geração de letras. Todas elas têm em comum a parte inicial, onde a melodia é extraída do cheiro ABC e depois analisada de modo a construir uma estrutura plana: a lista de Notas (Figura 4.6). A parte em que as várias estratégias diferem é a Selecção de palavras, onde a letra é construída. Depois dessa parte, todas as estratégias têm mais uma vez o mesmo funcionamento, nomeadamente no módulo Inserção da letra. As primeiras três estratégias começam todas pelo mesmo: identicam os padrões rítmicos da melodia e tentam escolher o tipo de palavras necessário (de acordo com o número de sílabas e a posição da sílaba tónica) para que o ritmo seja respeitado. É por isso que todas partilham também o módulo Métrica. reimplementações, desde que tenha por um lado acesso a um repositório de palavras (no nosso O módulo Vocabulário pode ser alvo de várias caso é sempre uma base de dados) e por outro lado a capacidade de responder a pedidos de palavras de acordo com os seus atributos silábicos. Tirando isso, cada reimplementação diz respeito a uma nova estratégia para obter palavras. Cada estratégia poderá acrescentar novas restrições às palavras necessárias e deverá também lidar com a possibilidade de não existir qualquer palavra de acordo com o pretendido. generate and test ) não utiliza os mesmos módulos que as restantes estratégias na parte Selecção de palavras. Isto deve-se ao facto da A estratégia 4 ( estratégia 4 não dar prioridade ao ritmo, mas sim à construção das frases. As sua estrutura, apesar de diferente, acaba por ser paralela às restantes estratégias. 69 70 CAPÍTULO 5. ESTRATÉGIAS 5.1 Características Como já foi dito, nessas estratégias procuraram-se adicionar algumas carac- terísticas à geração, para tornar o texto mais interessante. Como referido na Secção 2.1.1, Manurung [6] identica vários aspectos que considera ser características fundamentais para que determinado texto seja considerado poesia e não outra coisa: • Ritmo e métrica • Rima e outros padrões fonéticos • Linguagem gurativa Tal como na poesia, as letras para música também procuram tirar partido destas características. Em How to Write Lyrics [45] são sugeridos três pontos importantes que se devem ter em atenção ao escolher palavras para uma letra: ritmo, rimas e repetição. Como já foi referido na Secção 4.1.3 a módulo Métrica trata da escolha da métrica correcta, para que o texto encaixe no ritmo da melodia. Os outros pontos encontram-se inseridos no módulo Vocabulário e são explorados de formas diferentes, dependendo da estratégia utilizada. 5.1.1 Ritmo Além do que se encontra referido acerca do ritmo na Secção 4.1.3 há uma característica que procura fazer com que o m de frases gramaticais co- incida com o m de frases musicais. Se cada frase gramatical na letra corresponder a um número xo de frases musicais será mais fácil de ser cantada. Desta forma letra e melodia cam mais intimamente ligadas, havendo um paralelismo entre ambas. De modo a que isto seja possível, é necessário forçar as frases gramaticais a terminarem quando é detectado o m de uma frase musical. Há no entanto determinadas classes de palavras com que sim1 plesmente não faz sentido terminar frases . No caso de uma frase terminar numa palavra dessas classes, essa palavra é apagada, sendo de seguida substituída por uma interjeição com os mesmos atributos silábicos ou por pro- longamentos da palavra anterior. O utilizador pode especicar o número de frases musicais a que quer fazer corresponder uma frase gramatical. Esta associação pode no futuro ser melhorada, por exemplo com estimati- vas para o tamanho de cada frase, tendo em conta o tamanho médio de cada classe de palavras. 1 são exemplos disso os artigos e as preposições. 5.2. PARÂMETROS COMUNS 5.1.2 71 Rimas Foi considerado que duas palavras rimam quando têm a mesma terminação, sendo a terminação de uma palavra obtida através do procedimento descrito em 3.5. As terminações de cada palavra encontram-se guardadas na nossa base de dados. Nas várias estratégias implementadas, procura-se que existam rimas no nal de cada parte da música. Como já foi referido, a divisão da música em partes pode ser indicada pelo utilizador antes de iniciar a geração. No futuro é possível a implementação de uma forma automática segmentar a música em partes, identicando os locais adequados para a ocorrência de rimas. Essa abordagem poderá inspirar-se no trabalho de Grilo [46]. 5.1.3 Repetição De forma a que exista algum tipo de repetição nas nossas letras, as estratégias implementadas podem utilizar algumas das características que se seguem: 1. Reutilização de palavras: cada palavra seleccionada para fazer parte da letra é guardada. A partir daí sempre que é necessária uma nova palavra, se alguma das palavras previamente seleccionadas respeitarem tanto as restrições métricas como as da estratégia, há uma probabilidade denida para que uma dessas palavras volte a ser seleccionada. Essa probabilidade é denida pelo utilizador. 2. Palavras com o mesmo lema: o utilizador pode dar como entrada uma lista de palavras de classe aberta que gostaria de ver na letra gerada. O sistema vai então procurar dar prioridade a palavras com o mesmo lema das palavras dadas. Também chamamos a esta característica tema, dado que o objectivo é de certa forma que a letra tenha palavras de determinadas famílias podendo isso ser suciente para que esta tenha uma tema mais óbvio. Apesar de muito supercial, esta característica será provavelmente o mais próximo de semântica que podemos encontrar no sistema. 5.2 Parâmetros comuns Para a geração através das várias estratégias é possível denir alguns dos parâmetros que se descrevem de seguida: • Melodia: Melodia para a qual se pretende gerar a letra. 72 CAPÍTULO 5. • ESTRATÉGIAS Fronteira forte/fraco: Número que vai dizer a partir de que nível de força se considera um tempo forte e um tempo fraco. • Probabilidade de rima: Probabilidade de ocorrência de rima no nal de uma frase musical. Nas nossas experiências esta probabilidade foi sempre de 100% porque de outra forma ainda existiriam menos rimas. • Probabilidade de reutilização de palavras: Probabilidade de uma palavra que já foi seleccionada para a letra, o voltar a ser. Isto se respeitar as restrições necessárias para voltar a ser seleccionada. • Tipo da base de dados: Possibilidade de escolher entre a utilização da base de dados da Floesta Sintáctica (utilizada numa versão anterior do programa) ou a nova base de dados, criada por nós. • Host da base de dados: Possibilidade de escolher o hostname da base de dados. • Divisão da música em partes: O utilizador pode indicar uma divisão da música em partes, das quais a geração pode tirar partido para tornar o texto gerado mais interessante. • Probabilidade de seleccionar uma conjunção: Probabilidade de ser escolhida uma conjunção para juntar duas frases. • Partes musicas por frase gramatical: Número de partes musicais que se pretende ver abrangido por cada frase gerada. Por outras palavras, número de partes musicais ao m das quais se pretende o início de uma nova frase gramatical. • Temas: Lista com palavras de classe aberta cuja inclusão ou de palavras da sua família na letra se pretende que seja forçada. • Melhores coecientes de rima: Número de palavras com melhor coeciente de rima de onde se vai seleccionar uma iniciar uma frase. Quanto mais pequeno este número for, mais probabilidade haverá em encontrar palavras que rimem, mas as terminações tenderão a ser todas iguais. Nas experiência em que este parâmetro é omitido, foi usado o valor 3. • Máximo de passagens: Número máximo de passagens pela mesma classe gramatical, sem que tenha havido retrocesso. Este número é necessário e utilizado para controlar ciclos, evitando que o programa insista vezes a mais numa situação para a qual simplesmente não existe 5.3. ESTRATÉGIA 1 - PALAVRAS ALEATÓRIAS 73 solução. Nas experiência em que este parâmetro é omitido, foi usado o valor 1. • Peso de cada produção: Número directamente proporcional à probabilidade de determinada produção ser escolhida entre as restantes produções do símbolo gramatical correspondente. A probabilidade de uma produção ser escolhida é igual ao seu peso dividido pela soma dos pesos de todas as produções dentro do mesmo símbolo. 5.3 Estratégia 1 - Palavras aleatórias 5.3.1 Descrição da estratégia Esta é a estratégia mais simples implementada. Nela apenas são procu- radas palavras que sigam as restrições métricas dadas pelo módulo Métrica (número de sílabas e sílaba tónica) de modo a que respeitem no padrão rítmico da melodia. As palavras escolhidas são de resto aleatórias, não estando presente qualquer noção de frase ou de classes gramaticais. Se o utilizador submeter juntamente com a música uma divisão da mesma em partes, há sim a noção de frase musical. De modo a tornar as letras geradas mais interessantes esta estratégia utiliza duas das características referidas na Secção 5.1, que podem quebrar a aleatoriedade completa: 5.3.2 rimas e reutilização de palavras. Parâmetros Nesta estratégia é possível denir os seguintes parâmetros para a geração: • Melodia • Fronteira forte/fraco • Tipo da base de dados • Host da base de dados • Probabilidade de rima • Probabilidade de reutilização de palavras • Divisão da música em partes 74 CAPÍTULO 5. ESTRATÉGIAS Figura 5.1: Estratégia 1 5.3.3 Prioridades Apesar de termos uma grande base de dados e esta estratégia ter apenas um reduzido número de restrições, podem acontecer situações em que simplesmente não existe uma palavra de acordo com o pretendido. Foram por isso denidas prioridades para as várias restrições. Na nossa opinião as ri- mas são bastante importantes quando comparadas com a existência de um pequeno número de sílabas que não respeitam o ritmo. Aliás, como foi possível constantar pelos resultados obtidos com a extracção de informação (Secção 3.6.2), apesar de em número reduzido, há algumas ocurrências de sílabas átonas em tempos fortes e de sílabas tónicas em tempos fracos. por isso que a primeira restrição a cair é a posição da sílaba tónica. É Esta posição deixa de ser xa e passa a ser considerada como a posição mínima (de preferência) ou máxima (se a palavra nao tiver mais sílabas) para a sílaba tónica. A razão que nos leva a procurar por palavras dando a posição mínima para a sílaba tónica também está relacionada com os resultados relativos às resoluções, obtidos na extracção de informação. Neles verica-se que, na grande maioria, as resoluções de sílabas átonas em tempos fortes é feito nas notas que se seguem. Se continuar a não existir uma palavra de acordo com o necessário as restrições rítmicas são repostas e aí sim, a terminação cai, chegando-se a uma situação semelhante a quando não são pretendidas rimas. Um quandro com as prioridades encontra-se na Figura 5.2. 5.4. ESTRATÉGIA 2 - TEMPLATES SIMPLES 75 Métrica Estratégia max sílabas + (pos tónica ou sem tónica) terminação max sílabas + pos min/max tónica terminação max sílabas + (pos tónica ou sem tónica) nada max sílabas + pos min/max tónica nada Figura 5.2: Prioridades das restrições na Estratégia 1 5.4 Estratégia 2 - templates simples Esta estratégia surgiu de uma vontade de obter de uma forma rápida letras em que a ordem das palavras não fosse completamente aleatória e onde já houvesse alguma coerência na sequência das palavras. Cedo foi abandonada, mas acabou por ser uma ponte para a estratégia 3, onde é utilizada uma gramática generativa. 5.4.1 Descrição da estratégia O módulo plates Vocabulário nesta estratégia tem acesso a um selector de tem- que gere sequências de frases gramaticais e ainda um submódulo re- sponsável pela coerência morfológica. uma palavra, o módulo Vocabulário Sempre que o módulo Métrica pede junta aos requisitos silábicos da palavra restrições como a próxima categoria gramatical do template seleccionado e, se existirem, atributos morfológicos (género e número) coerentes com as palavras anteriormente devolvidas (Figura 5.3). Há ainda a dizer que o selector de templates gere dois tipos de templates: frases completas e conjunções. Com uma probabilidade que pode ser denida, as frases completas são juntas através de uma conjunção. Procurase também incluir nesta estratégia a característica coincidência do m de frases gramaticais com o m de frases musicais através da denição do número de frases musicais abrangidas por cada atingir esse número de partes, o 5.4.2 Os template template. Ao terminar muda obrigatoriamente. templates Apesar de não ser complicado adicionar novos templates, os templates utilizados nas nossas experiências foram os que se encontram na Figura 5.5, acompanhados de exemplos de frases. encontra-se na Figura 5.4. O signicado dos vários símbolos 76 CAPÍTULO 5. ESTRATÉGIAS Figura 5.3: Estratégia 2 Símbolo Signicado S frase SN sintagma nominal SV sintagma verbal SA sintagma adjectival SP sintagma preposicional adj adjectivo adv advérbio art artigo con conjunção in interjeição nc nome comum prep preposição pdem pronome demonstrativo pind pronome independente ppes pronome pessoal ppos pronome possessivo v verbo Figura 5.4: Símbolos e respectivo signicado 5.4. ESTRATÉGIA 2 - TEMPLATES SIMPLES Template 77 Frase exemplo art nc adj art adj nc ppes v adj art nc v prep nc pind v prep nc adj art nc adj v adv art nc v art adj prep nc Um gato lindo. Um lindo gato. Eu sou mau. O gato percebe de ratos. Que escolheste entre coisas ambíguas? Um dia mau acontece todas as semanas. É o maior em casa. Figura 5.5: Templates Métrica utilizados Estratégia max sílabas max sílabas max sílabas max sílabas + (pos tónica ou sem tónica) + pos min/max tónica + (pos tónica ou sem tónica) + pos min/max tónica classe gramatical classe gramatical classe gramatical classe gramatical + atribs morfológicos + terminação + atribs morfológicos + terminação + atribs morfológicos + atribs morfológicos Figura 5.6: Prioridades das restrições na Estratégia 2 5.4.3 Prioridades As prioridades denidas para esta estratégia são de certa forma semelhantes às denidas para a estratégia 1, com a inclusão dos atributos gramaticais e morfológicos (Figura 5.6). No entanto, nesta estratégia as prioridades acabam por ser mais importantes, dado a existência de uma maior quantidade de restrições. Se mesmo deixando cair algumas restrições não for obtida qualquer palavra, o template actual é simplesmente alterado e é pedido um novo que virá com restrições diferentes do anterior (ou até sem restrições morfológicas, devido a dizer respeito ao início de uma nova frase). Mudar o template pode no entanto vir a interromper frases que carão incoerentes. Como já foi dito, esta estratégia foi abandonada e por isso este problema nunca veio a ser corrigido, a não ser na estratégia 3, onde é utilizada uma gramática generativa. 5.4.4 Parâmetros Nesta estratégia é possível denir os seguintes parâmetros para a geração: • Melodia • Fronteira forte/fraco 78 CAPÍTULO 5. • Tipo da base de dados • Host da base de dados • Probabilidade de rima • Probabilidade de reutilização de palavras • Divisão da música em partes • Probabilidade de seleccionar uma conjunção • Partes musicais por frase ESTRATÉGIAS 5.5 Estratégia 3 - Gramática generativa Nesta estratégia o módulo Vocabulário contém uma gramática generativa constituída por várias produções e que, ao adicionar restrições gramaticais às palavras pretendidas, procura que a sequência de palavras construa frases coerentes a nivel gramatical e morfológico. A gramática é utilizada para gerar templates de frases gramaticais no entanto possibilita a geração de muito mais combinações entre símbolos, dando por isso origem a uma quantidade muito maior de templates. Devido à estru- tura da gramática é também mais simples a gestão e organização das várias possibilidades. 5.5.1 Descrição da estratégia Sempre que uma palavra é necessária, o módulo Métrica envia ao módulo Vo- cabulário as restrições silábicas para a palavra pretendida. A essas restrições o módulo Vocabulário adiciona restrições presentes no próximo símbolo do template gerado pela gramática. A este nível cada símbolo da gramática é a representação de uma classe gramatical (que pode conter vários atributos como o género, número, a pessoa, entre outros) (Figura 5.7). Além da utilização da gramática para construir frases, estas estratégia tira proveito de algumas características referidas na Secção 5.1, nomeadamente: e rimas, reutilização de palavras, palavras com o mesmo lema coincidência do m de frases gramaticais com o m de frases musicais. Há no entanto algumas diferenças no funcionamento de algumas destas características, nomeadamente nas rimas e na reutilização de palavras. Devido ao elevado número de restrições presentes nesta estratégia, as rimas 5.5. 79 ESTRATÉGIA 3 - GRAMÁTICA GENERATIVA Figura 5.7: Estratégia 3 começam a escassear, mesmo com uma prioridade elevada. Para tentar evitar que as rimas praticamente desapareçam, esta estratégia utiliza o seguinte procedimento ao escolher cada palavra coincidente com o m de uma frase musical: • Se a frase for a primeira da letra ou se as duas frases anteriores rimam uma com a outra a estratégia procura uma palavra que respeite as 2 restrições e que tenha um coeciente de rima elevado . A terminação da palavra escolhida é depois guardada numa lista de terminações. • Se a frase deve rimar, a estratégia procura encontrar uma palavra que respeite as restrições e que tenha uma das terminações presentes na lista de terminações. Começa por tentar a última terminação e vai até ao início da lista enquanto não encontrar uma palavra. Só se mesmo assim não encontrar é que a restrição relativa à terminação cai. A diferença em relação à reutilização de palavras prende-se com o facto de só palavras de classe aberta serem reutilizadas. Não nos parece necessário estar a repetir outros tipo de palavras como pronomes, artigos ou preposições porque estas palavras apenas são utilizadas para ligar as restantes e acreditamos que reutilizá-las tornaria as letras mais monótonas. 2 relembramos que este coeciente se encontra na base de dados e é directamente proporcional ao número de palavras com a mesma terminação. 80 CAPÍTULO 5. Classe Atributos adj género, número adv género art género, número n género, número pdem género, número ppes género, número, pessoa, tipo ppos género, número v número, pessoa, tempo ESTRATÉGIAS Figura 5.8: Atributos das classes gramaticais 5.5.2 A gramática A gramática foi implementada por nós e tem como objectivo a geração de templates de frases gramaticais correctas na Língua Portuguesa. Cada template é basicamente uma lista de representações para classes gramaticais. Cada classe gramatical tem um tipo e pode ter vários atributos morfológicos (Figura 5.8). É a gramática a responsável pela coerência morfológica entre as várias classes. Há duas situações essenciais para a manutenção desta coerência: 1. O a género e número do Sintagma Nominal (SN) têm de ser passados todos os elementos das suas produções que os têm como atribu- tos. Ao começar a preencher uma produção para construir uma frase, caso não exista uma palavra (artigo ou um pronome) de acordo com o género e número do SN, o género e número dessa palavra pode ser alterado, desde que seja garantida alteração de todos os elementos da sua produção. 2. Nas produções iniciadas por um pronome pessoal, a pessoa do SN tem de ser passada ao Sintagma Verbal (SN) que o seguir. Se essa pessoa for alterada é também necessário garantir a sua alteração ao verbo. Os templates são gerado através das produções da gramática, que se en- contram na Figura 5.9. Cada produção tem ainda um peso associado que vai inuenciar a probabilidade de esta ser escolhida. Desta forma é possível fazer com que produções mais vulgares tenham maior probabilidade de serem escolhidas. A nossa gramática apenas pretende gerar uma amostra das frases possíveis na língua portuguesa e não todas as frases possíveis. A gramática 5.5. 81 ESTRATÉGIA 3 - GRAMÁTICA GENERATIVA S → SN SV | SN SV con | SV SP | SV SP con | SV SP SP | SV SP SP con SN → art nc | pdem nc | art nc SA | pdem nc SA | art SA nc | art SA nc SA SV → verbo | verbo SN | verbo verbo3 SA → adj | ppos | ppos adj | adv adj | adj adv SP → prep SN | prep SV | adv Figura 5.9: Produções da gramática generativa undergeneration ). sofrerá portanto de subgeração ( No caso de pretender- mos que a gramática cubra a maior variação de frases possível, o problema pode resolver-se com o recurso a um corpus complexo e vericar quais as frases nele presentes e que não poderiam ser geradas pela nossa gramática. Para vericar se a nossa gramática sofre de sobregeração ( overgeneration ), ou seja, se há derivações diferentes que produzem a mesma sequência de símbolos, o problema será um pouco mais complexo. Teria de se encontrar uma forma eciente de gerar frases aleatórias (no entanto correctamente sintácticas) que seriam depois analisadas uma a uma, de forma a procurar diferentes derivações na gramática que produzissem a mesma frase. A resolução deste problema é discutida e aprofundada por Mark-Jan Nederhof em generation of random sentences [47]. Ecient Tendo em conta que a nossa gramática não é muito grande o mais fácil acaba por ser construir todas as derivações possíveis (que não são muitas) e vericar se alguma se repete. 5.5.3 Parâmetros Nesta estratégia é possível denir os seguintes parâmetros para a geração: • Melodia • Fronteira forte/fraco • Host da base de dados • Probabilidade de rima • Probabilidade de reutilização de palavras • Divisão da música em partes • Partes musicais por frase • Temas • Melhores coecientes de rima 82 CAPÍTULO 5. Métrica ESTRATÉGIAS Estratégia max sílabas max sílabas max sílabas max sílabas ... max sílabas max sílabas + (pos tónica ou sem tónica) + pos min/max tónica4 + (pos tónica ou sem tónica) + pos min/max tónica4 + (pos tónica ou sem tónica) + pos min/max tónica atribs gramaticais atribs gramaticais atribs gramaticais atribs gramaticais ... atribs gramaticais atribs gramaticais e morfológicos + terminação n e morfológicos + terminação n e morfológicos + terminação n-1 e morfológicos + terminação n-1 e morfológicos e morfológicos Figura 5.10: Prioridades das restrições na Estratégia 3, quando é pretendida uma rima • Máximo de passagens • Peso de cada produção 5.5.4 Prioridades Tal como nas estratégias anteriores foram denidas prioridades para as restrições desta estratégia. As prioridades acabam por ser algo semelhantes, mas procuramos aqui representar dois casos possíveis com mais restrições: quando é pretendida uma rima (Figura 5.10) e quando é pretendida uma palavra com determinado lema (Figura 5.11). No primeiro caso há um pequena diferença em relação às estratégias anteriores, já que existe uma com terminações lista utilizadas. Quando não é possível encontrar uma palavra com a última terminação, procura-se com a anterior da lista, até encontrar uma palavra ou testar todas as terminações, situação em que a restrição da terminação cai. No segundo caso das palavras, seja um ou mais lemas, é sempre procurado de uma só vez por palavras que tenham um dos lemas. Se não for encontrada uma palavra de acordo com as restrições ainda com um dos lemas as restrições seguem as prioridades semelhantes às estratégias anteriores no caso da terminação ou seja, primeiro a posição da tónica passa a ser uma posição mínima ou máxima para a tónica e de seguida, os lemas caem. Os atributos gramaticais ou morfológicos nunca podem cair, porque desta forma seriam formadas frases incoerentes. Há no entanto um conjunto de classes gramaticais que são tratadas como opcionais (pronomes pessoais, pronomes possessivos, adjectivos, advérbios e preposições). Se a classe actual for opcional pode passar-se à classe seguinte sem que se adicione qualquer palavra na letra. 4a menos que se pretenda a tónica na primeira sílaba ou não exista. Nesses casos a restrição relativa à tónica cai, podendo a mesma aparecer em qualquer posição. 5.6. 83 ESTRATÉGIA 4 - GENERATE AND TEST Métrica Estratégia max sílabas + (pos tónica ou sem tónica) atributos gramaticais e morfológicos + mesmo lema que uma das palavras pedidas atributos gramaticais e morfológicos + mesmo lema que uma das palavras pedidas atributos gramaticais e morfológicos atributos gramaticais e morfológicos max sílabas + pos min/max tónica4 max sílabas + (pos tónica ou sem tónica) max sílabas + pos min/max tónica4 Figura 5.11: Prioridades das restrições na Estratégia 3, quando é pretendida uma palavra com determinado lema Se testando todas as alternativas de acordo com as prioridades não for possível obter uma palavra e se a categoria gramatical corrente não for opcional existe um sistema de backtracking. Este sistema vai apagar a última palavra da letra, recuar na categoria actual da gramática e voltar a tentar obter uma palavra. É possível que a palavra continue a não existir, e nesse caso o processo repetir-se-à recuando cada vez mais. A certa altura o que pode acontecer é voltar-se ao início do cer, ele é trocado por um novo template template actual. Se isso aconte- gerado pela gramática. o processo de selecção de palavras continua normalmente, mas com um novo Para que o backtracking template. funcione correctamente existe também um sistema de controlo de ciclos, que impede que o programa insista na mesma situação (para a qual o mais provável é até não haver solução) mais vezes que um número denido pelo utilizador. 5.5.5 Interacção Métrica-Vocabulário na estratégia 3 A Figura 5.12 contém uma sequência de interacções e trocas de informação exército ) para o que ocorrem num caso especíco de selecção de uma palavra ( caso da estratégia 3. Nas estratatégias 1 e 2 ocorrem interacções semelhantes, com a excepção da gramática, que simplesmente não existe na estratégia 1 e na estratégia 2 é substituída pela Selecção de templates e pela Morfologia. 5.6 Estratégia 4 - Generate and test Esta estratégia procura realizar uma geração baseada num processo de erate and test gen- e surgiu de um conjunto de factores: 1. Garantir em primeiro lugar que as frases estão correctamente construídas e só depois vericar se o ritmo é respeitado, ou seja, o contrário 84 CAPÍTULO 5. 1. Pedido do próximo padrão rítmico ( ESTRATÉGIAS Métrica → Lista de notas ) 2. Retorno do próximo padrão rítmico ( Lista de notas → Métrica ) 3. Pedido de palavra de acordo com o padrão ( 4. Pedido da próxima categoria gramatical ( Métrica → Vocabulário ) Vocabulário → Gramática ) Gramática → Vocabulário ) 5. Retorno da próxima categoria gramatical ( 6. Query à base de dados ( Vocabulário → Base de dados ). No caso de se pretender uma rima ou uma palavra com determinada raíz, esses dados são introduzidos na query. Quanto ao caso da reutilização de palavras a base de dados não é utilizada. A palavra é obtida através de uma estrutra interna do módulo Vocabulário 7. Retorno do resultado da query ( Base de dados → Vocabulário ) Vocabulário → Métrica ) 8. Retorno da palavra ( 9. Inserção da palavra na letra ( Figura 5.12: estratégia 3. Métrica → Letra ) Exemplo das interacções para a selecção de uma palavra na 5.6. 85 ESTRATÉGIA 4 - GENERATE AND TEST das restantes estratégias. 2. Garantir que a cada parte musical corresponde uma frase gramatical. 3. Inpiração na avaliação da métrica utilizada por Manurung [6]. 4. Vontade de experimentar uma estratégia próxima de uma abordagem evolucionária. 5. Faclidade de implementação de um algoritmo de 5.6.1 generate and test. Descrição da estratégia Das quatro estratégias descritas neste documento, a estratégia de and test generate é a única que tem o parte da selecção de palavras bastante difer- ente das outras, apesar de podermos considerar algum paralelismo entre esta Métrica e o módulo Vocabulário são respectivamente módulos Avaliação e Geração de Frases. A função do estrutura. O módulo substituídos pelos primeiro é obter frases do segundo, avaliá-las e guardá-las se for o caso. O segundo utiliza a gramática generativa implementada para a estratégia 3 para obter uma lista de classes gramaticais que vai depois preencher com palavras da base de dados. Esta estratégia começa por é gerar uma frase aleatória para a primeira parte da música. Essa frase é avaliada através de uma função descrita na próxima secção e o par frase/pontuação é guardado. De seguida é gerada uma nova frase que é também avaliada. Se a nova frase obtiver uma pontuação melhor à anterior, vai substituí-la. Este processo continua até que seja gerada uma frase cuja pontuação esteja abaixo de um limite denido como aceitável ou então até se chegar a um número que se tenha denido como o máximo de frases a gerar para cada parte da música. O processo é repetido para todas as partes da música. Sendo as frases geradas de forma completamente aleatória, pode dar-se o caso de uma frase aceite ser muito menor ou muito maior que a parte, ou seja, que contenha menos ou mais sílabas que as notas daquela parte da música: • No caso de ser aceite uma frase menor pode acontecer uma de duas coisas: Se a frase for pouco menor4 que a parte, a última sílaba é prolongada até preencher todas as notas da parte Se a frase for muito menor4 , considera-se o conjunto de notas da parte que não tem sílabas atribuídas como uma nova parte, 86 CAPÍTULO 5. ESTRATÉGIAS Figura 5.13: Estratégia 4 - generate and test para a qual se tentará arranjar uma nova frase através do mesmo processo. • As frases maiores têm pouca probabilidade de ser aceites, porque são fortemente penalizadas. No entanto, se a frase tiver algumas sílabas a mais que as notas da parte, as sílabas excedentes são todas contraídas à última. Quando a letra for cantada, se a contracção soar mal, o intérprete poderá eventualmente tentar redistribuir as silabas por aquela parte da música. 5.6.2 Função de avaliação A função de avaliação é bastante inspirada na avaliação da métrica utilizada por Manurung [6], mas além de pretender avaliar se determinada frase respeita determinado padrão rítmico, procura também penalizar outros factores, como por exemplo a falta de rima. Para avaliar cada frase foram denidos três parâmetros importantes a penalizar. A pontuação atribuída pela avaliação é igual à soma de todas as penalizações (numeradas de 1 a 6): • Tamanho: A frase tem mais(1) ou menos sílabas(2) que o número de notas da parte. Como referido na secção anterior, as frases com mais 4O número de sílabas para que uma frase seja considerada pouco menor ou muito menor é denido antes de iniciada a geração. 5.6. ESTRATÉGIA 4 - GENERATE AND TEST 87 sílabas que o necessário são mais fortemente penalizadas que as com menos. • Ritmo: Existem sílabas átonas associadas com notas que ocorrem em tempos fortes(3). É também possível penalizar as sílabas tónicas associadas a notas em tempos fracos(4), mas tendo em conta que é algo bastante mais comum, optamos por raramente activar essa penalização. • Sonoridade: Não existem rimas no nal das frases(5) ou existem palavras cortadas por uma pausa(6). É possível alterar o valor das várias penalizações, mas aquelas que são mais críticas para o ritmo (1 e 3) devem ter um valor superior. 5.6.3 Parâmetros Tendo em conta que esta estratégia segue uma losoa diferente das restantes foram introduzidos alguns parâmetros mais especícos. Parâmetros comuns: • Melodia • Fronteira forte/fraco • Host da base de dados • Divisão da música em partes • Peso de cada produção Parâmetros introduzidos nesta estratégia: • Pontuação aceitável: Pontuação obtida na avaliação, a partir da qual uma frase é aceite para integrar a letra. • Número de gerações para cada frase: Número máximo de gerações necessário atingir para que uma frase seja aceite, mesmo sem estar a baixo da pontuação considerada aceitável. • Penalizações: Valores das várias penalizaçoes (sílaba átona em tempo forte, sílaba tónica em tempo fraco, sílaba a mais que o tamanho da frase, sílaba a menos que o tamanho da frase, palavra cortada por uma pausa ou falta de rima) 88 CAPÍTULO 5. ESTRATÉGIAS 5.7 Crítica às estratégias A estratégia 1 é interessante, gera letras raramente fora do ritmo e por vezes potenciais um objectos com m humorístico. Não se pode apesar disso esperar grande evolução da mesma. Esta estratégia prova no entanto que o algoritmo utilizado para gerar texto de acordo com o ritmo funciona bem, quando não estão envolvidas muito mais restrições. Como já foi dito, a estratégia 2 foi abandonada e acabou por evoluir para a estratégia 3. grande número de Tem alguns problemas como a difícil gestão de um templates (que acabou por nunca existir), a coerência entre pessoa e verbo que simplesmente não é tratada ou ainda a interrupção súbita de algumas frases e perda de algumas classes pelo meio. A primeira acontece porque não existe um sistema de backtracking e a segunda porque, sempre que é pedida uma nova palavra, a lista de templates avança para o próximo, mesmo que o anterior não tenha sido preenchido. A estratégia 3 foi aquela em que procuramos inserir mais características. É também aquela que pretendemos melhorar no futuro. Para melhorar esta estratégia seria necessário tratar de dois pontos essenciais. Primeiro as regras da gramática teriam de ser bastante renadas e mais situações pontuais deveriam ser contempladas, dado que por vezes ainda ocorrem frases estranhas. O outro ponto está relacionado com a associação de cada frase gramatical a um número denido de frases musicais. Para que esta asso- ciação não fosse simplesmente forçada seria necessário arranjar uma forma de prever o tamanho de cada frase gramatical e procurar aquela que mais próxima casse do tamanho das frases musicais. Cada representação de uma classe gramatical contém uma constante relativa ao número médio de sílabas das palavras dessa classe, presentes na base de dados. Essa constante poderia ser útil para uma previsão do tamanho das frases, mas acabou por nunca ser utilizada. A estratégia 4 poderia evoluir para uma abordagem consideravalmente diferente na resolução deste problema: a utilização de algoritmos evolu- cionários. No entanto, isso levar-nos-ia a repensar todo o problema de uma forma bastante diferente. Tendo em conta que o algoritmo que utilizamos nas estratégias anteriores já é capaz de gerar letras com relativa qualidade acabamos por não optar por esse caminho. Será no entanto sempre possível explorar uma abordagem evolucionária no futuro. Capítulo 6 Alguns resultados Neste capítulo serão mostradas algumas letras geradas pelo sistema, mais propriamente uma gerada através de cada estratégia. Serão apresentados os parâmetros de geração utilizados para cada uma e uma breve análise da letra. No Apêndice G encontram-se mais exemplos de letras geradas pelo Tra-la-Lyrics. Junto às letras geradas pelas estratégias que seguem estruturas gramaticais foram colocadas também as categorias de cada palavra. Quando aparece um ponto (.) signica o m de um template e quando aparece o | signica que um template foi interrompido e trocado. Há três parâmetros comuns às quatro letras: Fronteira forte/fraco 2 (Em todos os tipos compasso considerados o primeiro tempo é forte. Nos 4/4 o terceiro também é considerado forte.) Tipo da base de dados A base de dados criada por nós. Probabilidade de rima 100% 6.1 Estratégia 1 A letra gerada através da estratégia 1 (Figura 6.1) respeita o ritmo na totalidade, mas a sequência de palavras é completamente aleatória. As únicas excepções à completa aleatoriedade das palavras trata-se daquelas que são repetidas e das foram escolhidas propositadamente para originar rimas. A palavra provisórios é repetida várias vezes criando um efeito engraçado e existem rimas entre as palavras servirão e expansão e pilar e andar. Estas rimas ocorrem no nal das partes dadas como parâmetro. 89 90 CAPÍTULO 6. ALGUNS RESULTADOS Parâmetros de geração: Melodia Infantil - Três pombinhas Estratégia 1 Probabilidade de reutilização de palavras 80% Divisão da música em partes [16;16;16;16] Vigiava inflamáveis continentes servirão passaporte provisórios tiraram expansão provisórios brilhante provisórios pilar provisórios desmente provisórios andar Figura 6.1: Letra gerada através da estratégia 1 6.2. 91 ESTRATÉGIA 2 6.2 Estratégia 2 Esta letra (Figura 6.2), gerada através da estratégia 2 também respeita o ritmo, apesar da existência de um maior número de restrições na selecção de palavras. Relembramos que nesta estratégia se procura seguir gramaticais. Tendo em conta tratar-se da estatégia 2, templates de frases não existe conju- gação verbal, o que acaba por piorar a sonoridade e qualidade da letra. Vários templates são interrompidos havendo para cada situação uma de duas explicações: • Fim de uma frase musical, tendo em conta que foi dado como parâmetro de geração o número 1, ou seja, uma frase gramatical deve coincidir com uma frase musical. Esta situação verica-se por exemplo entre as palavras se e atrai, vais e lhe e pés e ranger. • Não terá sido possível encontrar uma palavra de acordo com as restrições mesmo após percorrer a lista de prioridades. Esta situação verica-se por exemplo entre as palavras por e vais e as palavras sem e um. Encontram-se duas frases ligadas através da conjunção enquanto. Também existe repetição de palavras como enquanto ou atrai. Existe uma única rima, mas onde ambas as intervenientes são a palavra atrai. Tendo em conta a posição em que se encontra o mais provável é ter sido seleccionada com o propósito de rimar e não simplesmente para ser repetida. 6.3 Estratégia 3 A letra gerada através da estratégia 3 (Figura 6.3) e respeita o ritmo na maior parte das situações. A única excepção trata-se da primeira palavra da letra, aquela, que apesar de ter o acento tónico na sílaba do meio tem a última sílaba num tempo forte. Esse problema não interfere muito ao cantar, onde o normal será passar a acentuação para a última sílaba da palavra. A gramática produziu frases correctas mas, apesar de se ter selec- cionado que uma frase gramatical deveria abranger duas frases musicais, uma frase gramatical abrange exactamente uma frase musical. Esta situação é sempre possível, já que uma frase gramatical tem um comprimento variável. Se a primeira não preencheu toda a frase gramatical, a gramática gera um novo template. O módulo Vocabulário apenas recebe informação acerca da 92 CAPÍTULO 6. ALGUNS RESULTADOS Parâmetros de geração: Melodia The Animals - House of the Rising Sun Estratégia 2 Probabilidade de reuti30% lização de palavras Divisão da música em [14;15;18;13] partes Probabilidade de selec80% cionar uma conjunção Partes musicais por frase 1 O cão leitor enquanto se atrai uns maus por vais lhe atrai comum enquanto os pés ranger um curto sem um dom art nc adj . con . ppes | v art adj prep | v | ppes v adj . con . art nc | v art adj prep | art nc Figura 6.2: Letra gerada através da estratégia 2 e respectivos dos templates segui- 6.3. 93 ESTRATÉGIA 3 Parâmetros de geração: Melodia Pearl Jam - Last Kiss Estratégia 3 Probabilidade de reutilização de palavras 50% Divisão da música em partes [17;13;14;19] Partes musicais por frase 2 Temas [beijo;beijar;amor;amar] Aquela vil traz esse alcatrão Ame uns namorados hum um amador argumentou o amor os beijos aprovados juntarão as rãs pdem nc v pdem nc . v art nc in | art nc v art nc . art nc adj v art nc . Figura 6.3: Letra gerada através da estratégia 3 próxima categoria no template e não tem, nem precisa, de qualquer infor- mação acerca da troca. Existe uma rima nesta letra, mas terá sido casual, dado que se encontra numa posição que não é o nal de uma parte musical. Não há repetição de palavras de classe aberta mas são utilizadas bastantes palavras da famílas dos temas dados: ame, amador, amor e beijos. Houve também a felicidade de ser seleccionada a palavra namorados que está de certa forma relacionada com os temas. 94 CAPÍTULO 6. ALGUNS RESULTADOS 6.4 Estratégia 4 A letra gerada através da estratégia 4 (Figura 6.4) tem várias situações de palavras fora do ritmo como por exemplo toma, aquela, perspectivas. A palavra nos também se encontra numa situação fora do ritmo mas devido a outra questão: não existe na base de dados (o mesmo se passa com vos), porque é confundida com a palavra nós que já lá se encontra. Tendo em conta tratarem-se ambos de pronomes pessoais, quando aparecem depois do verbo foi feita a alteração de nós para nos. Como teria de acontecer, todos o nais de partes musicais coincidem também com o m de uma frase gramatical. Tal como noutras letras geradas através desta estratégia há poucas frases gramaticais que abranjam a totalidade de uma frase musical. Aparentemente, penalizar mais as frases cujo tamanho excede o permitido do que aquelas em que o tamanho é inferior ao necessário faz com que sejam escolhidas frases pequenas, normalmente dentro do ritmo, até preencher toda a frase musical. São muita vezes se- leccionadas frases constituídas por um verbo entre dois pronomes pessoais. Estas são provavelmente as construções mais curtas em tamanho de sílabas que a gramática permite: todos os pronomes pessoais têm uma ou duas sílabas e existem muitas formais verbais com uma ou duas sílabas. Nesta letra encontram-se ainda palavras com sílabas contraídas ou pro- longadas. Recordamos que é isso que a estratégia faz, quando sobram até duas notas ou há duas sílabas em excesso para abranger uma frase musical. Por vezes é difícil cantar estas situações, que vão sendo menores, com o aumentar do número máximo de gerações para cada frase. A ideia passa também por deixar ao critério do intérprete se quiser rearranjar alguma destas situações, compensando por exemplo prolongamentos com contracções exageradas. Existem algumas rimas como seja e deseja ou tarda e aguarda, o que signica que a função de avaliação está, através da penalização das frases sem rima, a priviligiar frases onde a mesma existe, tal como se pretende. 6.4. 95 ESTRATÉGIA 4 Melodia Parâmetros de geração: José Afonso - A Formiga no Car- Estratégia Divisão da música em partes Número de gerações para cada frase Pontuação aceitável Penalizações reiro 4 [8;8;10;9;9;9;9;7;10;8] 200 5 tamanho a mais=5; tamanho a menos=3; átona em tempo forte=5; tónica em tempo fraco=0; falta de rima=3; corte por pausa=4; Tu bóias vos tu sejas nos nós andámos nos se pôs cai entre nós as causas investiram vós redes vos dissera toma pra descer seja aquela viúva deseja tu perspectivas enquanto eu mentira nos a nossa degradação tarda o amigo aguarda ppes v ppes . ppes v ppes . ppes v ppes . ppes v . v prep ppes . art nc v . ppes v ppes . v . v prep v con . pdem nc v . ppes v con . ppes v ppes . art ppos nc v . art nc v . Figura 6.4: Letra gerada através da estratégia 4 96 CAPÍTULO 6. ALGUNS RESULTADOS Capítulo 7 Validação dos resultados Este capítulo é dedicado à validação dos resultados gerados pelo Tra-laLyrics. Para validar o ritmo foi utilizado o sistema de extracção de infor- mação, tornando possível a compraração entre alguns resultados obtidos na fase inicial do trabalho, com os obtidos para as letras geradas automaticamente. Para avaliar outras características mais subjectivas, como a sonoridade ou até a qualidade geral das letras geradas, recorremos à opinião de voluntários através da resposta a inquéritos, uma prática de certa forma comum neste tipo de sistemas. Por exemplo, Kim Binsted recorreu à opinião de crianças para avaliar o seu sistema de geração de piadas [2] e Federico Peinado [48] submeteu histórias geradas automaticamente à avaliação de estudantes e professores da sua universidade. Ambos os casos referidos anteriormente se zeram apoiar na comparação dos resultados gerados pelos seus sistemas com resultados gerados de outras formas (por outros sistemas ou até por seres humanos). No nosso caso, os respondentes aos inquéritos avaliaram quatro letras diferentes, todas geradas pelo nosso sistema, mas através de estratégias diferentes. 7.1 Validação Uma forma de validar o Tra-la-Lyrics passaria por gerar letras para cada uma das 42 músicas analisadas pelo sistema de extracção de informação (Secção 3.6, analisá-las com o mesmo sistema e comparar depois os resultados. Seria também interessante fazê-lo de forma independente para cada uma das estratégias. Se a geração das letras fosse completamente aleatória estaríamos perante 97 98 CAPÍTULO 7. uma distribuição uniforme, VALIDAÇÃO DOS RESULTADOS porque utilizamos um gerador de números aleatórios que terá igual probabilidade de gerar cada número dentro de um intervalo pedido e por isso com igual probabilidade de seleccionar qualquer palavra. No entanto cada estratégia tem as suas restrições. Umas mais outras menos, mas a verdade é que a geração nunca é puramente aleatória o que faz com que a distribuição não seja conhecida. Acreditamos no entanto que, tendo em conta as restrições, dentro de uma população que englobaria todas as letras possíveis, há com certeza letras cuja probabilidade de virem a ser geradas é superior a outras (por exemplo, as que respeitam o ritmo, têm rimas em determinado sítio ou seguem uma estrutura gramatical correcta têm maior probabilidade de vir a ser geradas). Segundo o Teorema do Limite Central, para qualquer população seguindo uma distribuição estatística 2 de média µ e variância σ , as médias de um conjunto de amostras com N elementos seguem uma distribuição normal, com média tendendo para µ e 2 variância tendendo para σ /N , à medida que N tende para innito. Quando a população estatística não é muito exótica existe uma regra empírica que consiste em admitir que para uma amostra maior ou igual a 30 se tem uma boa aproximação da média [49]. As letras geradas pelo nosso sistema constituem uma população regular, tendo em conta que no mínimo têm um número xo de sílabas e que só podem ser constituídas por um número nito de palavras. A aplicação das restantes restrições só vai fazer com que a população seja ainda mais regular. Na prática seriam então geradas por cada estratégia 30 letras para cada uma das 42 músicas. Isso daria o número de 4 ∗ 30 ∗ 42 = 5040 letras. A geração de todas estas letras iria consumir muito tempo, principalmente generate and test ) que é bastante mais morosa que utilizando a estratégia 4 ( as restantes. Grande parte das letras geradas pelo sistema são facilmente cantáveis devido a respeitarem o ritmo, o que leva a crer que as regras rítmicas são na grande maioria das vezes respeitadas. Foi portanto escolhido um grupo constituído por três músicas, retirado das 42. Houve nessa escolha o cuidado de escolher músicas com métricas diferentes, ou seja, com diferentes tipos de compasso, mais propriamente uma música com divisão binária (como no 4/4), outra ternária (como no 3/4) e por m uma composta (como no 6/8). 7.1.1 Análise dos resultados Ritmo Como é possível vericar através da observação dos resultados, no que diz respeito às letras geradas através das estratégias 1, 2 e 3 a esmagadora maio- ria dos tempos fortes das melodias está associada a sílabas tónicas. 7.1. 99 VALIDAÇÃO Comparando os resultados relativos às letras geradas pelo nosso sistema com os obtidos através da análise inicial das 42 músicas, é possível vericar que as letras geradas têm ainda mais sílabas tónicas em tempos fortes. Tendo em conta que um dos nossos principais objectivos é que o texto esteja de acordo com o ritmo, os resultados acabam por validar as três primeiras estratégias. De outro resultado não se estaria à espera, recordando que estas estratégias começam por analisar os padrões da melodia e identicar o tipo de palavras necessário para respeitar o ritmo. Apenas para a geração da letra para a música entrada uma divisão da mesma em partes. Alecrim (4/4) foi dado como Relembramos que essa divisão é utilizada para a existência de rimas, que por sua vez têm uma prioridade superior às restrições métricas. Poder-se-ia então esperar que o número de sílabas átonas em tempos fortes nas letras geradas para essa música fosse maior, mas não é isso que acontece. O número de situações propícias à existência de rimas (4) é muito pequeno relativamente ao universo de todas as palavras da letra. O número de situações em que a restrição métrica terá caído em detrimento da rima será ainda mais pequeno e por isso irrelevante. No que diz respeito à estratégia 4 o ritmo já não é tão respeitado. Apesar disto, e tendo em conta que o número total de sílabas átonas é maior que o número total de sílabas tónicas, os tempos fortes têm maior quantidade de sílabas tónicas que os mais fracos. O menor respeito do ritmo por parte das letras geradas através da estratégia 4 dever-se-á essencialmente ao facto desta estratégia começar por gerar frases e só depois avaliar se as mesmas respeitam o ritmo. Apesar do ritmo ser avaliado, como há um número limite de gerações até ser escolhida uma frase, mesmo sem uma boa avaliação (ainda que melhor que todas as restantes geradas), podem vir sempre a ser seleccionadas frases fora do ritmo. Resoluções As resoluções não foram propriamente a principal preocupação na implementação do nosso sistema. Apesar disso foram tidas em conta nos casos de não existir uma palavra de acordo com as restrições necessárias. Nessas situações era procurada uma palavra em que a posição da tónica deixasse de ser xa 1 e se tornasse na posição mínima . No entanto isto só é possível se a palavra pretendida não tenha a última sílaba tónica. Mesmo assim o mais normal será não encontrar uma palavra de acordo com o pretendido. Como se pode reparar, os resultados das resoluções nas estratégias 2 e 3 não estão de forma alguma semelhantes aos obtidos através da análise inicial das 1 Quanto maior a posição dum sílaba, mais perto do m da palavra esta está. 100 CAPÍTULO 7. VALIDAÇÃO DOS RESULTADOS 42 músicas. A maior parte das resoluções são feitas apenas noutro compasso, muito provavelmente até no primeiro tempo do compasso seguinte. Esta situação acontece não só pelo tratamento supercial que o nosso sistema dá às resoluções, mas também não lhe será alheio o facto de, nas três músicas escolhidas existirem compassos constituídos por uma só nota forte que não pausa. Se só existe uma nota nesse compasso e se é forte, a coincidência de uma sílaba átona com essa nota vai levar a que a resolução tenha obrigatoriamente de ser feita no compasso seguinte. Para a resoluções serem melhor analisadas, os resultados (tanto na extracção de informação, como na validação) poderiam eventualmente ter sido obtidos de forma a contabilizar estas situações. 7.2 Avaliação 7.2.1 Processo A avaliação do nosso sistema foi feita recorrendo a um inquérito online, como o que se encontra no Apêndice F, Figura F.1. Os inquéritos podiam ser acedidos através de um semanas. browser e encontraram-se online durante duas Eram constituídos por quatro secções, cada uma com uma letra diferente seguida de um conjunto de questões, que se repetia em cada secção, de maneira a serem respondidas as mesmas questões para cada letra. As letras apresentavam-se sob a forma de partitura, texto e era ainda possível escutar uma interpretação cantada e acompanhada de guitarra. Cada letra foi gerada com uma estratégia diferente, mas os respondentes não foram informados de qualquer diferença existente no processo da geração. Com os inquéritos pretendeu-se avaliar vários pontos, explicados na tabela da Figura 7.1. Antes de submeter as respostas era pedido aos respondentes que inserissem a sua idade e o tempo que tinham demorado a preencher o inquérito. Foram obtidas setenta respostas ao inquérito por pessoas com uma média de 22.71 anos de idade, sendo o desvio padrão de 5.47. Os tempos demorados tiveram uma média de 15.35 e um desvio padrão de 5.76, o que nos diz que houve gente a demorar tempos bastante diferentes. Analisando melhor estes resultados vemos que houve cinco pessoas que demoraram 30 minutos, mas também uma que demorou só 5. Mais informações acerca da avaliação como as letras utilizadas, os respectivos parâmetros de geração e ainda o conjunto das respostas dadas podem ser consultadas no Apêndice F. 7.2. 101 AVALIAÇÃO Ponto Forma de avaliação Objectivo Articulação Classicação Avaliar o com o ritmo (péssima) a 4 (encaixa de seres humanos, procu- perfeitamente). rarando comprovar os re- de 0 ritmo através sultados da validação. Identicação Separação da letra em Vericar se quando existe das frases. a noção de frases gramaticais Rimas frase ela é su- cientemente explícita. Classicação de 0 (in- Avaliar a qualidade das existentes/péssimas) a rimas. 4 (muito boas) e identicação da melhor rima. Sonoridade Classicação geral (péssima) a 4 (muito é agradável) e cação com de e das 0 identipalavras melhor e pior sonoridade. Avaliar se o texto gerado agradável ao ouvido na se existem base de palavras dados que simplesmente não devem fazer parte de uma letra, devido a soarem mal. Semântica Classicação tido do retirado sen- da le- Vericar nunca se, apesar existir um de sen- tra de 0 (nenhum) a tido 4 e seântica emerge e com- atribuição de um tí- parar as várias estraté- tulo para a letra. gias a este nível. Qualidade Classicação da quali- Avaliar geral dade geral da letra de (sempre 0 (péssima) a 4 (muito da letra e ainda a sua boa) capacidade da (bastante e claro) classicação capacidade mesma da proporcionar entretenimento de 0 lizada a alguma qualidade a subjectiva) de como humorístico ser 4(fartei-me de rir) Figura 7.1: Avaliação uti- elemento ou entretenimento. (não tem piada nenhuma) explícito de 102 CAPÍTULO 7. 7.2.2 VALIDAÇÃO DOS RESULTADOS Análise dos resultados Fazemos aqui uma análise dos resultados da avaliação do sistema. É preciso ter em conta que esta avaliação é muito limitada e nunca será suciente para avaliar todo o sistema, dado que nela se avaliam apenas letras geradas para a mesma melodia. Ritmo No que diz respeito ao ritmo, pelo menos para a letra gerada pela primeira estratégia conrmam-se os resultados da validação. A média das classicações do ritmo não esteve muito longe do valor máximo (3.3/4) com desvio padrão inferior a 1. A verdade é que ao analisar a letra facilmente se verica que todos os tempos fortes estão associados a sílabas tónicas e que, apesar de se tratar da estratégia 1, a letra parece estar bastante próxima da estrutura musical havendo um paralelismo muito próximo entre o ritmo das duas. Relativamente às restantes estratégias a avaliação do ritmo foi também positiva, apesar de um valor abaixo da estratégia 1. Entre as três letras a única em que todos os tempos fortes coincidem com sílabas tónicas é a letra gerada através da estratégia 2. Curiosamente esta é também a que tem pior classicação das três (ainda que por uma diferença quase insignicante). Isto dever-se-á ao facto da estrutura da letra não ser bem paralela à da melodia. Ainda que os templates estejam adaptados às várias partes da música, a sua sequência acabou por criar relações propícias à compreensão de outras frases. Será também por isto que a avaliação do ritmo desta estratégia tem o maior desvio padrão. Diferentes pessoas terão identicado diferentes frases, sendo que algumas não se adaptavam ao ritmo de forma correcta. No que diz respeito à divisão do texto da letra em frases em das letras houve alguém a acertar todas as divisões. nenhuma Na estratégia 1 essa divisão simplesmente não existia, mas foi surpreendentemente aquela em que houve uma menor variação de divisões escolhidas. As mais escolhidas foram no entanto divisões de 8 em 8 palavras (linha a linha), de 2 em 2 ou de 4 em 4. Escolhas muito provávelmente inuenciadas pelo ritmo da melodia. Nas restantes estratégias, as divisões mais escolhidas apesar de não serem as mesmas são um subgrupo das divisões pelo programa. Na letra gerada pela estratégia 2 passa-se o que já foi referido no parágrafo anterior, ou seja, há várias relações possíveis entre a sequência de palavras, podendo diferentes pessoas identicar diferentes frases. Na letra gerada pela estratégia 3 foram geradas frases complexas que terão levado à sua divisão (como por exemplo na posição 4) e existe também uma frase que é interrompida de modo ao seu m coincidir com a frase musical não dando a ideia de se tratar de uma frase 7.2. 103 AVALIAÇÃO (posição 8, palavra nós). Rimas A avaliação das rimas foi positiva na letra gerada pela estratégia 1. É nor- mal dado ser a estratégia onde a procura de rima é uma das únicas restrições. Mesmo assim a média das classicações cou um bocado a baixo do esperado (média de 2.5 com um desvio padrão apenas de 0.8). A letra gerada pela estratégia 2 simplesmente não contém rimas, não sendo por isso de estranha a baixa classicação neste ponto. Apesar disso ainda houve quem consid- erasse algumas situações uma rima, como se pode observar na Figura F.13. Nas letras geradas pelas estratégias 3 e 4 a classicação da qualidade das rimas cou um pouco a baixo dos 2 valores (50%). Não era de todo esperado, visto ambas conterem rimas interessantes embora em menos sítios que a letra gerada pela estratégia 1. Provavelmente a qualidade das rimas não terá agradado a quem respondeu, que até pode ter atribuído a classicação com base naquela que deu à letra 1 (que terá sido superior). Sonoridade O principal objectivo da avaliação da sonoridade trata-se de vericar se as letras geradas são agradáveis ao ouvido. É certo que apenas com estas letras avaliadas é difícil avaliar a sonoridade geral das letras geradas. Dos resul- tados podemos concluir que a letra com melhor sonoridade é a gerada pela estratégia 1, o que não é de estranhar, tendo em conta que também é aquela em que tanto ritmo como nas rimas obtiveram melhor classicação. A que tem pior sonoridade é a letra gerada através da estratégia 2, que também foi aquela com classicações mais negativas nos pontos anteriores. Outro dos objectivos da avaliação de sonoridade seria identicar palavras cuja sonoridade não fosse sucientemente agradável para fazer parte das nossas letras. É claro que há palavras que podem soar bem numa letra e mal noutra, mas também há palavras que regra geral soam mal, como é o caso de teorizaram ou informáticas. Palavras como saudades ou romance soam normalmente bem, ou pelo menos são palavras que estamos habituados a encontrar numa letra musical. É isso que podemos vericar pelos resultados desta avaliação. Uma escolha interessante no que diz respeito a palavras com má sonoridade tratou-se das palavras nós e tais na letra 3. A razão para a sua escolha prender-se-á com o facto de serem situações em que a frases são interrompidas, para que haja coincidência com o m da frase musical respectiva. Para seleccionar um grupo de palavras a retirar da base de dados seria necessária uma avaliação de sonoridade mais exaustiva. 104 CAPÍTULO 7. VALIDAÇÃO DOS RESULTADOS Semântica A semântica não é tratada por nenhuma parte do nosso programa, não sendo por isso esperarada uma boa classicação neste ponto. Apesar disso, acreditamos que há sempre uma semântica emergente de um pedaço de texto, principalmente quando é seguida uma estrutura gramatical cor- recta. A repetição de palavras ou a utilização de palavras da mesma família poderia eventualmente também ajudar a que alguma semântica a emergisse. Sabemos ainda que existem muitas letras ou poemas em que o signicado não é explícito, dando origem a várias interpretações. O que podemos vericar dos resultados é que o mais importante parece mesmo ser a estrutura gramatical. A grande utilização da repetição feita na letra 1 não se sobrepôs de forma alguma à sua falta de uma estrutura gramatical, tendo sido esta a obter a pior classicação no que diz respeito à clareza de um sentido. Mais de metade das pessoas terão classicado este ponto como 0 (tendo em conta a média, 0.57 e o desvio padrão, 0.8). Apesar de ter presente a noção de frase (sob a forma de templates ) a letra 2 não obteve muito melhor classicação. A inexistência de repetição e principalmente o facto de não tratar da conjugação verbal terão sido fatais. As letras 3 e 4 obtiveram classicações acima de 1 valor. Ambas seguem uma estrutura gramatical. A letra 3 obteve a melhor média das classicações (1.66), muito provavelmente devido à constante repetição da palavra saudades. Há a dizer que para a geração desta letra foi dada como entrada uma lista de palavras da qual as palavras saudade e deixar faziam parte. Palavras da família destas (saudades e deixarmos) fazem parte da letra e as palavras saudade e saudades fazem parte de 43 dos 68 títulos atribuídos a esta letra. Apesar das baixas classicações obtidas neste ponto, a grande maioria das pessoas foi capaz de atribuir um título às várias letras, na sua maior parte com palavras da letra ou da mesma família de palavras da letra, muitas vezes relacionadas entre si. Fica mais uma vez demonstrada a emergência de uma semântica, ainda que pouco clara. Qualidade Relativamente à qualidade, todas as letras apresentaram uma classicação média negativa, ainda que sempre a cima de 1 valor e com desvios padrão também todos acima de 1. A avaliação da qualidade de uma letra é bastante subjectiva, mas a opinião de 70 pessoas indica-nos que ainda temos um longo caminho a percorrer até chegar à geração de letras de elevada qualidade. No que toca à capacidade de proporcionar entretenimento, com a ex- 7.2. AVALIAÇÃO cepção da letra 2, todas obtiveram uma classicação média 105 positiva. Os desvios padrão deste ponto foram dos mais altos, o que também prova a sua subjectividade. Apesar disso, acreditamos que as nossas letras podem ser utilizadas como objecto humorístico. 106 CAPÍTULO 7. VALIDAÇÃO DOS RESULTADOS Capítulo 8 Conclusões Cada vez mais as máquinas vêm sendo aceites como artistas e existem cada vez mais trabalhos cujo objectivo é o desenvolvimento de artistas articiais: contadores de histórias, compositores de música ou pintores são apenas alguns exemplos. A geração de letras para músicas é no entanto uma tarefa ainda pouco explorada. É uma tarefa que alia a análise da música (mais propriamente do ritmo) com a geração de linguagem natural. Esta tese pretende ser um contributo para a resolução deste problema. Foram dados alguns passos sólidos e algumas das contribuições foram deixadas, nomeadamente: • Algoritmos para a separação de sílabas e identicação da sílaba tónica das palavras da língua portuguesa, com base somente nos caracteres que as constituem. • Os resultados obtidos através da extracção de informação de letras em português. Esses resultados incluem informação acerca da relação entre tempos fortes da música e sílabas tónicas da letra, das resoluções de sílabas átonas em tempos fortes e ainda situações de contracção e prolongamento de palavras da letra. • O próprio sistema de extracção de informação que pode ser usado para obter resultados a partir de um outro grupo de músicas, eventualmente maior ou com características diferentes. • Uma base de dados que foi construída com o propósito de fornecer palavras para as letras mas que pode continuar a ser enriquecida e ter outras utilizações futuras. 107 108 CAPÍTULO 8. A principal contribuição trata-se do letrista articial, o CONCLUSÕES Tra-la-Lyrics, um sistema que tem como entrada uma melodia para a qual vai procurar construir uma letra. A letra deve ser baseada no ritmo da melodia, mais isso não bastará para se obter uma letra de qualidade. Foram por isso implementadas e testadas várias estratégias responsáveis pela adição de restrições ao texto a ser gerado. As restrições combinam características como a construção de rimas, a repetição de palavras ou o seguimento de estruturas gramaticais. O sistema está pronto a ser usado e pronto também a integrar novas estratégias para a geração. O seu planeamento e desenvolvimento deu origem a um artigo cientíco aceite a apresentado na on Computational Creativity 2007 International Joint Workshop [50]. O ritmo dos resultados gerados foi validado e algumas letras foram avaliadas por voluntários através da resposta a um inquérito. As várias experiências realizadas, a validação e a avaliação revelaram que o ritmo é na maior parte dos casos respeitado, a sonoridade geral não é má e até há alguma capacidade de entretenimento nas letras geradas. O mesmo não se pode dizer relativamente ao sentido presente nas letras e à sua qualidade geral. O primeiro nunca foi um objectivo, tendo até alguns resultados cado acima do esperado. Foi possível perceber que é mais fácil retirar sentido de texto escrito de acordo com regras gramaticais do que texto constituído por palavras aleatórias. No que diz respeito à qualidade geral das letras compreendemos que ainda há muito trabalho para se chegar perto de um letrista humano. Numa continuação deste trabalho, e tendo em conta que o algoritmo responsável por associar as palavras ao ritmo funciona bem, as hipóteses mas fortes passar por uma melhoria e consequente evolução da estratégia 3 (gramática generativa) ou então por uma alteração profunda na forma de olhar para o problema e seguir uma abordagem evolucionária. De forma a melhorar a estratégia 3 seria essencial melhorar a gramática, renando as suas regras e produções, tendo em conta algumas subcategorias gramaticais e situações mais especícas. A forma de associar o m de frases gramaticais ao m de frases musicais deverá também ser melhorada. Há também a hipótese de utilizar um realizador supercial com máscaras de frases onde é preciso apenas preencher alguns espaços. Se a existência de uma semântica se vier a tornar um objectivo, é sempre possível a criação de uma nova estratégia, com um módulo semântico que poderia ter acesso a uma ou mais ontologias e seria responsável por adicionar restrições semânticas às palavras. Dentro do trabalho futuro poderiam também explorar-se mais as situações de contracção e prolongamentos de palavras e dar mais atenção às resoluções. 109 Muito interessante seria a utilização de software para a síntese de voz cantada para interpretar as nossas letras. Aparentemente não se trata de uma Singing Computer [51]. Este programa livre representa música e letra na notação Lilypond para a qual é possível converter a notação que o nosso sistema usa (através do abc2ly ). tarefa difícil de fazer recorrendo ao A parte nal do trabalho dará ainda origem a mais um artigo cientíco. A título pessoal foi com uma grande satisfação que abracei este trabalho. Contribuiu para que eu compreendesse melhor as relações entre música e letra ajudando de certa forma a minha maneira de escrever. Foi responsável pela minha vontade de querer sempre fazer mais e obter resultados melhores, mais surpreendentes ou simplesmente mais engraçados e introduziu-me um mundo com o qual eu era pouco familiar: a criatividade computacional. 110 CAPÍTULO 8. CONCLUSÕES Bibliograa [1] Marvin Minsky. Steps toward articial intelligence. thought, pages 406450, 1995. [2] Kim Binsted. Computers & Machine humour: An implemented model of puns. PhD thesis, University of Edinburgh, Scotland, 1996. [3] David Cope. An expert system for computer-assisted music composition. Computer Music Journal 11,4 (Winter), 1987. [4] Peter M. Todd and Gregory M. Werner. Frankensteinian methods for evolutionary music composition. Musical networks, MIT Press, pages 313339, 1999. [5] P. Machado and A. Cardoso. Nevar - the assessment of an evolutionary Wiggins, G. (Ed.). Proceedings of the AISB00 Symposium on Creative & Cultural Aspects and Applications of AI & Cognitive Science, Birmingham, UK, 2000. art tool. In [6] Hisar Manurung. tion. An evolutionary algorithm approach to poetry genera- PhD thesis, University of Edinburgh, 2004. [7] Belén Díaz-Agudo, Pablo Gervás, and Pedro A. González-Calero. Poetry generation in colibri. In ECCBR '02: Proceedings of the 6th European Conference on Advances in Case-Based Reasoning, pages 73102, London, UK, 2002. Springer-Verlag. [8] Pablo Gervás. Wasp: Evaluation of dierent strategies for the automatic Wiggins, G. (Ed.). Proceedings of the AISB00 Symposium on Creative & Cultural Aspects and Applications of AI & Cognitive Science, Birmingham, UK, 2000. generation of spanish verse. In [9] Pablo Gervás. An expert system for the composition of formal spanish poetry. Journal of Knowledge-Based Systems, 14:181188, 2001. 111 112 BIBLIOGRAFIA Articial Intelligence and Literary Creativity: Inside the Mind of BRUTUS, a Storytelling Machine. [10] Selmer Bringsjord and David A. Ferrucci. Lawrence Erlbaum Associates, Hillsdale, NJ., 1999. [11] Pablo Gervás, Birte Lönneker-Rodman, Jan Christoph Meister, and Federico Peinado. Narrative models: Narratology meets articial intelli- Basili, Roberto and Lenci, Alessandro (Ed.). International Conference on Language Resources and Evaluation. Satellite Workshop: Toward Computational Models of Literary Analysis, Genova, Italy, 2006. gence. In [12] Samer Hassan, Carlos Léon, Pablo Gervás, and Raquel Hervás. A com- Cardoso, A. & Wiggins, G. (Ed.). Proceedings of the 4th. International Joint Workshop on Computational Creativity, London, UK, 2007. puter model that generates biography-like narratives. In [13] Graeme Ritchie, Ruli Manurung, Helen Pain, Annalu Waller, Rolf Black, and Dave O'Mara. A practical application of computational humour. In Cardoso, A. & Wiggins, G. (Ed.). Proceedings of the 4th. International Joint Workshop on Computational Creativity, London, UK, 2007. [14] H. Manurung, G. Ritchie, and H. Thompson. Towards a computational AISB00 Symposium on Creative & Cultural Aspects and Applications of AI & Cognitive Science, 17th-18th April 2000, U. of Birmingham, England., 2000. model of poetry generation. In [15] H. Manurung, G. Ritchie, and H. Thompson. A exible integrated ar- Informatics Research Report, EDI-INF-RR-0016, Division of Informatics, U. of Edinburgh, 2000. chitecture for generating poetic texts. In [16] P. Sansom. [17] Je Lewis Writing Poems. and Erik Bloodaxe Books, 1994. Sinco. Poetry creator 2, 2006. http://www-cs-students.stanford.edu/ esincoff/poetry/jpoetry.html, (consultada em Abril 2007). [18] Pablo Gervás. Modeling literary style for semi-automatic generation of poetry. In [19] David User Modeling, pages 231233, 2001. Mullen. Essay generator, 2006. http://radioworldwide.gospelcom.net/ essaygenerator/. [20] SCIgen. Scigen - an automatic http://pdos.csail.mit.edu/scigen/. cs paper generator, 2005. 113 BIBLIOGRAFIA [21] A. C. Bulhak. On the simulation of postmodernism and mental debility using recursive transition networks. Technical Report 96/264, Dept. Computer Science, Monash University, Melbourne, Australia, 1996. [22] Josh Larios. Comunications from elsewhere, 2000. http://www.elsewhere.org/pomo. [23] Roseville Big Band. Lyric-o-matic, 2006. http://www.rosevillebigband.org/cgi-bin/lyric-o-matic/song-her.pl. [24] Country Western Song Generator. 1998. Country western song generator, http://www.outofservice.com/country/. [25] Poesybeat Arts Initiative. poesybeat, 2005. http://poesybeat.org/, (consultada em Janeiro 2007). Proceedings of the 34th annual meeting on Association for Computational Linguistics, [26] Doug Beeferman. The rhythm of lexical stress in prose. In pages 302309, Morristown, NJ, USA, 1996. Association for Computational Linguistics. [27] Sílaba. A sílaba, 2006. http://www.geocities.com/shiurtalmid/catan/portuguese/v6.html, consultada em Setembro 2006. [28] Bruce Hayes and Abigail Kaun. sung and chanted verse. The role of phonological phrasing in The Linguistic Review, 1996. [29] Fred Lerdhal and Ray Jackendo. A Generative Theory of Tonal Music. The Massachussets Institute of Tecnhology, 2nd edition - 1996 edition, 1983. [30] Tércio Simon. Criterios para relacionar letra e musica, 2006. http://www.musicaeadoracao.com.br/tecnicos/musicalizacao/letra_musica.htm, consultada em Setembro 2006. [31] Jose P. G. Mahedero, Álvaro Martínez, Pedro Cano, Markus Koppenberger, and Fabien Gouyon. Natural language processing of lyrics. In MULTIMEDIA '05: Proceedings of the 13th annual ACM international conference on Multimedia, pages 475478, New York, NY, USA, 2005. ACM Press. [32] Ye Wang, Min-Yen Kan, Tin L. Nwe, Arun Shenoy, and Jun Yin. Lyrically: automatic synchronization of acoustic musical signals and textual 114 BIBLIOGRAFIA MULTIMEDIA '04: Proceedings of the 12th annual ACM international conference on Multimedia, pages 212219, New York, NY, lyrics. In USA, 2004. ACM Press. [33] Denny Iskandar, Ye Wang, Min-Yen Kan, and Haizhou Li. Syllabic level automatic synchronization of music signals and text lyrics. In MULTIMEDIA '06: Proceedings of the 14th annual ACM international conference on Multimedia, pages 659662, New York, NY, USA, 2006. ACM Press. [34] Guido Gonzato. The abc plus project, 2003. http://abcplus.sourceforge.net. [35] Lionel Gueganton. abc4j, 2005. [36] David http://gueganton.chez-alice.fr/abc. Meredith. Musical metre, 2003. http://www.titanmusic.com/teaching/2003-02-28-metre.pdf. [37] André Tomás Velloso. Separando sílabas com c#, 2006. http://www.microsoft.com/brasil/msdn/Tecnologias/visualc/ SeparandoSilabas.mspx?mfr=true, consultada em Setembro 2006. [38] Celso Cunha and Lindley Cintra. temporâneo. Nova Gramática do Português Con- Edições João Sá Couto, 3 edition, 1986. [39] F. Xavier Roberto and Luís de Sousa. Prontuário da Língua Portuguesa. Editorial o Século, 1974. [40] Público. Livro de estilo, acentuação., 2006. http://www.publico.clix.pt/nos/livro_estilo/17-acentuacao.html, consultada em Setembro 2006. [41] Linguateca. Linguateca, 2000. [42] Linguateca. Pólo http://www.linguateca.pt. de braga da linguateca, 2006. http://linguateca.di.uminho.pt. [43] Jspell. Jspell, 1995. http://natura.di.uminho.pt/natura/natura?topic=jspell. [44] José João Dias de Almeida and Ulisses Pinto. Jspell - um mó- dulo para a análise léxica genérica de linguagem natural. In tas do X Encontro da Associação Portuguesa de Linguística, http://natura.di.uminho.pt/ jj/pln/jspell.ps.gz. Ac- 1995. 115 BIBLIOGRAFIA [45] Demeter. How to write lyrics, 2001. http://everything2.com/index.pl?node=How%20to%20write%20lyrics, consultada em Junho 2007. Aplicação de Algoritmos Evolucionários á Extracção de Padrões Musicais. PhD thesis, University of Coimbra, [46] Carlos Fernando Almeida Grilo. 2002. [47] Mark-Jan Nederhof. Ecient generation of random sentences. Lang. Eng., 2(1):113, 1996. Nat. [48] Federico Peinado and Pablo Gervás. Evaluation of automatic generation New Generation Computing, Computational Paradigms and Computational Intelligence. Special issue: Computational Creativity, 24(3):289302, 2006. of basic stories. [49] Bento Murteira, Carlos Silva Ribeiro, João Andrade e Silva, and Carlos Pimenta. Introdução à Estatística. [50] Hugo R. Gonçalo Oliveira, McGraw Hill, 1992. F. Amílcar Cardoso, and Francisco C. Pereira. Tra-la-lyrics: an approach to generate text based on rhythm. In Cardoso, A. & Wiggins, G. (Ed.). Proceedings of the 4th. International Joint Workshop on Computational Creativity, London, UK, 2007. [51] Milan Zamazal. Singing computer, 2001. http://freebsoft.org/singing-computer. [52] Henrik Norbeck. Abc notation 2.0 - bnf specication, 2006. http://www.norbeck.nu/abc/bnf/abc20bnf.htm. [53] Antónia Castro and Isabel Figueiredo. cação musical. [54] Antónia Castro and Isabel Figueiredo. cação Musical. Companhia dos Sons 5 - Edu- Areal Editores, 1994. Companhia dos Sons 6 - Edu- Areal Editores, 1995. [55] Eurico A. Cebolo. Flauta Mágica. Eurico A. Cebolo, 1986. [56] Michel Giacometti and Fernando Lopes Graça. Português. Círculo de Leitores, Lisboa, 1981. Cancioneiro Popular 116 BIBLIOGRAFIA Apêndice A Notação ABC A notação ABC foi originalmente desenvolvida por Chris Walshaw em 1991 e trata-se de uma linguagem de notação musical através de caracteres ASCII. Foi inicialmente projectada para escrever melodias tradicionais e folclóricas da Europa ocidental, mas já foi entretanto expandida para suportar uma notação completa de música clássica. A versão suportada pelo API que utilizamos é a versão 1.6, apesar de já existir uma versão 2.0, cuja especicação da gramática em BNF pode ser encontrada em [52]. Um cheiro ABC pode ter mais que uma música, e cada música é constituída por um cabeçalho e pela pauta propriamente dita. Os campos que fazem parte do cabeçalho e que foram utilizados por nós são: • X: índice da música, utilizado para marcar o início da música e a identicar dentro do cheiro, • T: título da música, • O: origem, • N: notas (que utilizamos para marcar a divisão entre as partes da música). Na pauta existem também alguns campos como: • M: métrica (prenchida com uma fracção identicadora do tipo de compasso), • L: duração da nota base (1/4 representa um semínia uma colcheia - eigth ), 117 quarter e 1/8 118 APÊNDICE A. • NOTAÇÃO ABC K: tonalidade (preenchido com a nota que representa a tonalidade da música). • W: palavras (utilizado quando se pretende colocar a letra depois da pauta), • w: palavras (preenchido com as palavras separadas por sílabas e utilizado quando se pretende que as sílabas sejam associadas às notas correspondentes, como na Figura A.2) - só suportado pela versão 2.0. As barras de compasso são representadas com o caracter '|'. As notas são colocadas pela ordem que aparecem na pauta os compassos separados com as barras. Para representar as notas são utilizadas as letras que normalmente as identicam: • A para Lá, • B para Si, • C para Dó, • D para Ré, • E para Mi, • F para Fá, • G para Sol. Uma nota que apareça sozinha e maiúscula é encontra-se na oitava base e tem a duração no campo L:. Letras minúsculas signicam notas uma oitava a cima da oitava base. Para se subir mais oitavas é necessário acrescentar caracteres ' ( pelica ) à nota (c') e para se descer utiliza-se o caracter ',' (C,). Para se obter notas com durações diferentes é necessário utilizar o caracter '/' para dividir a duração (cada um divide a duração por 2) e pode utilizarse um dígito em frente à nota com qual a duração vai ser multiplicada . Os pontos representam-se através do caracter '>'. Na Figura A.1 podemos observar a música popular Malhão escrita na notação ABC e na Figura A.2 podemos ver a partitura da música, depois de converter o cheiro ABC para PDF. 119 X:1 T:Malhão N:6;7;16 M:2/4 L:1/8 K:C z c/c/ cB | G4 | z B/B/ BG | c2 c2 :| w:Ó ma-lhão ma-lhão Que vi-da é tu-a z E/F/ GA | GB/B/ BA | GG/F/ ED | C2 C2 :| w:Co-mer e be-ber ó ti-rim-tim-tim pas-se-ar na ru-a Figura A.1: A música Malhão na notação ABC Figura A.2: A partitura da música Malhão 120 APÊNDICE A. NOTAÇÃO ABC Apêndice B Músicas analisadas para a extracção de informação • Companhia dos Sons [53, 54] • O Barquinho (3/4) O Comboio (4/4) A Horta (2/4) Ribeira vai cheia (4/4) Zeca (4/4) Flauta Mágica[55] Alecrim (4/4) As ceifeiras (3/4) Machadinha (4/4) Malhão (2/4) Papagaio louro (2/4) Não digas à minha mãe (2/4) Pastores da Serra (4/4) Rosa Mimosa (3/4) Moças da Minha Terra (2/4) O meu amor (2/4) Conceição (2/4) Vira-te p'ra cá (3/4) 121 122APÊNDICE B. MÚSICAS ANALISADAS PARA A EXTRACÇÃO DE INFORMAÇÃO • Triste Viuvinha (3/4) Zumba no Caneco (2/4) Bailinho da Camacha (2/4) Três Pombinhas (2/4) Ó Rosa arredonda a saia (2/4) Manuel Cuco (3/4) Manjerico (3/4) Regadinho (6/8) No meio do Mira (4/4) Ó Ciranda (2/4) Os olhos da Marianita (2/4) Cancioneiro Popular Português[56] Rapazes Meninos (3/8) Ora venha vinho para os nossos copos (6/8) Lá na cidade de Roma (6/8) Sant' António se levantou (3/8) San Gonçalo D'Amarante (3/8 e 6/8) E ó pião (4/4 e 2/4) O Verde-Gaio é maroto (4/4) Ai, festas de Campo Maior (3/8) Vai-te ralando minha carcundinha (6/8) Eia Avante Portugueses (Hino da Maria da Fonte) Bum, Bum, Bum lá vem o Zabumba (6/8) A Quinta do Ramalhão (6/8) Tristes novas me vieram (4/4 e 3/4) Lá vem a Nau Catrineta (4/4) (4/4) Apêndice C Resultados obtidos através da extracção de informação Neste Apêndice é possível observar sob a forma de grácos e tabelas alguns dos resultados obtidos com as estatísticas. Nas Figuras C.1, C.2, C.3, C.4 e C.5 encontram-se os resultados relativos às distribuição das sílabas por tipo de compasso. Nas Figuras C.6 e C.7 encontram-se os resultados respeitantes à distribuição de tipo de sílabas pelos níveis de força dos tempo (recorda-se que o 0 é o mais forte). A Figura C.8 mostra os resultados obtidos para as resoluções, mais propriamente a distância para a tónica seguinte, ao ocorrer uma sílaba átona num tempo forte. Para representar o tempo utilizou-se uma notação onde a unidade diz respeito à duração de uma semínima, 0.5 à duração de uma colcheia e 0.25 à duração de uma semicolcheias. Por exemplo, quando tempo = 1, pretende-se referir a nota que se encontra à distância temporal do início do compasso de uma semínima, ou quando tempo = 1.75, pretende-se referir a nota que se encontra a uma distância temporal do início do compasso de uma semínima e três semi-colcheias (colcheia + semi-colcheia). Chamamos ligadas às sílabas que se encontram em notas ligadas à no anterior, independentementemente da sua força. 123 124APÊNDICE C. RESULTADOS OBTIDOS ATRAVÉS DA EXTRACÇÃO DE INFORMA Tempo Tonicas Atonas Ligadas 0.0 0.25 0.5 0.75 1.0 1.25 1.5 1.75 306 49 5 0 1 0 69 181 10 14 27 0 154 129 0 1 5 0 93 184 0 8 19 0 Figura C.1: Distribuição de sílabas por tempos em compassos 2/4 125 Tempo Tonicas Atonas Ligadas 0.0 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0 2.25 2.5 2.75 197 30 12 0 0 0 0 6 0 1 0 0 45 102 6 0 1 0 1 5 0 0 0 0 92 107 0 0 0 0 11 43 0 0 1 0 Figura C.2: Distribuição de sílabas por tempos em compassos 3/4 126APÊNDICE C. RESULTADOS OBTIDOS ATRAVÉS DA EXTRACÇÃO DE INFORMA Tempo Tonicas Atonas Ligadas 0.0 0.25 0.5 0.75 1.0 1.25 116 47 21 2 4 0 40 94 4 0 0 0 43 92 3 0 0 0 Figura C.3: Distribuição de sílabas por tempos em compassos 3/8 127 Tempo Tonicas Atonas Ligadas 0.0 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0 2.25 2.5 2.75 176 52 0 0 0 0 9 47 0 0 0 0 69 93 0 0 0 0 105 77 28 0 0 0 37 72 3 0 1 0 52 154 0 0 2 0 Figura C.4: Distribuição de sílabas por tempos em compassos 6/8 128APÊNDICE C. RESULTADOS OBTIDOS ATRAVÉS DA EXTRACÇÃO DE INFORMA Tempo Tonicas Atonas Ligadas 0.0 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0 2.25 2.5 2.75 3.0 3.25 3.5 3.75 233 58 0 0 0 0 50 51 0 6 3 0 41 54 1 1 0 0 52 84 20 3 5 0 99 124 43 0 2 0 9 9 37 1 4 0 60 120 0 0 2 0 15 85 0 4 11 0 Figura C.5: Distribuição de sílabas por tempos em compassos 4/4 129 Nível Tonicas Atonas Ligadas 0 1 2 3 4+ 1028 236 38 578 725 84 444 963 14 150 285 57 15 28 0 Em percentagem: Nivel Tonicas (%) Atonas (%) Ligadas (%) 0 1 2 3 4 78,96 18,13 2,92 41,67 52,27 6,06 31,25 67,77 0,99 30,49 57,93 11,59 34,88 65,12 0 Figura C.6: Distribuição de sílabas por níveis de força 130APÊNDICE C. RESULTADOS OBTIDOS ATRAVÉS DA EXTRACÇÃO DE INFORMA Nível Concatenadas_t Concatenadas_a Contraidas_t Contraidas_a Prolongamentos_t Prolongamentos_a 0 13 13 13 7 2 0 1 21 45 23 1 14 0 2 40 55 12 6 14 0 3 8 16 1 4 3 0 4+ 2 7 2 2 2 0 Legenda: *_t - tónicas; *_a - átonas Figura C.7: Eventos por nível de força 131 Notas de distância Ocorrências 1 2 3 Outro (outro compasso) 146 35 3 52 Figura C.8: Distância à tónica seguinte (resoluções) 132APÊNDICE C. RESULTADOS OBTIDOS ATRAVÉS DA EXTRACÇÃO DE INFORMA Apêndice D Poesia utilizada para complementar a base de dados • Bocage: • Preâmbulo Proposição das rimas do poeta O autor aos seus versos O poeta asseteado por amor A Camões, comparando com os dele os seus próprios infortúnios Retrato próprio Alberto Caeiro: É talvez o último dia... Hoje de manhã saí muito cedo O amor é uma companhia Passei toda a noite, sem dormir... Se, depois de eu morrer... Falas de civilização... (26/6/95) Sou um guardador de rebanhos (24/7/95) Não me importo com as rimas (13/5/96) Poema do Menino Jesus (2/2/98) Quem me dera que eu fosse o pó da estrada (21/12/98) Um renque de árvores lá longe... (12/7/99) 133 134APÊNDICE D. POESIA UTILIZADA PARA COMPLEMENTAR A BASE DE DADOS • Álvaro de Campos: • Às vezes, em dias de luz perfeita e exacta (19/7/99) Lisbon revisited (1926) Poema em linha recta (22/5/95) Não, não é cansaço... (20/7/95) Poema (1/4/96) Tabacaria (4/9/00) O que há em mim é sobretudo cansaço (15/01/01) Fernando Pessoa: Mar Português D. Sebastião, Rei de Portugal O Infante Os Colombos O Quinto Império Autopsicograa (19/2/95) Liberdade (27/11/95) Isto (11/3/96) Todas as cousas que há neste mundo (3/6/96) Quando é que o cativeiro (15/7/96) Sem remédio (5/8/96) Não sei o quê desgosta (12/8/96) Bóiam farrapos de sombra (9/9/96) Não sei quantas almas tenho (23/9/96) A miséria do meu ser (7/4/97) Já não me importo (3/11/97) Meu coração tardou (4/5/98) Tenho pena e não respondo (1/6/98) Quando estou só reconheço (20/7/98) Sou o fantasma de um rei (9/11/98) Se penso mais que um momento (16/11/98) 135 • Mário Cesariny: • Nas grandes horas em que a insónia avulta (11/1/99) Horizonte (15/11/99) Deus (26/6/00) Durmo ou não? Passam juntas em minha alma 3/7/00) Olhando o mar, sonho sem ter de quê (17/7/00) (dream) (11/9/00) O Raul Leal era (31/1/95) Quando em boa estação (31/1/95) Eu, Sempre... (31/1/95) Faz-me o favor... (31/1/95) Onan dos outros!... (31/1/95) Os sebastiacas trombos não deixaram partir (31/1/95) Em todas as ruas te encontro (9/10/00) lembra-te (25/12/00) poema (08/01/01) you are welcome to elsinore (26/03/01) poema (02/04/01) estação (30/07/01) de profundis amamus (10/09/01) radiograma (12/11/01) visto a esta luz (26/11/01) ESTADO SEGUNDO, XX (14/01/02) uma certa quantidade (11/03/02) homenagem a cesário verde (18/03/02) passagem dos elefantes (06/05/02) voz numa pedra (03/06/02) Cesário Verde: Eu e ela (13/2/95) Arrojos (15/5/95) 136APÊNDICE D. POESIA UTILIZADA PARA COMPLEMENTAR A BASE DE DADOS • O Sentimento dum Ocidental (28/8/95, 5,11,18/9/95) Manias! (7/10/96) Lúbrica (4/1/99) Contrariedades (25/1/99) Eu, que sou feio... (07/10/02) Florbela Espanca: Canção grata Ser Poeta Os versos que te z (13/2/95) Charneca em or (13/2/95) Se tu viesses ver-me... (27/2/95) Amor que morre (13/3/95) Mais Alto (1/5/95) Tortura (4/5/95) Nostalgia(29/5/95) Inconstância (7/8/95) Tarde no mar (15/8/95) Princesa Desalento (19/2/96) Vaidade (25/3/96) Tarde de mais... (6/5/96) Teus olhos (8/7/96) Sem remédio (29/7/96) Lágrimas ocultas (26/8/96) Tarde de mais... (2/9/96) Minha culpa (16/9/96) Saudades (10/11/97) Árvores do Alentejo (16/3/98) Exaltação (27/4/98) Fumo (26/10/98) Volúpia (8/3/99) 137 • António Gedeão: • A vida (27/3/00) A nossa casa (12/6/00) Poema do homem-rã Lágrima de preta Esta é a Cidade Pedra losofal (re-edição) Antero de Quental: O Palácio da Ventura No Turbilhão (31/3/95) Aspiração (10/5/95) Mors-Amor (13/6/95) A um poeta (23/10/95) 138APÊNDICE D. POESIA UTILIZADA PARA COMPLEMENTAR A BASE DE DADOS Apêndice E Resultados da validação Aqui encontram-se os resultados da validação do sistema. Recordamos que a validação foi feita recorrendo ao sistema de extracção de informação. Foram escolhidas três músicas das analisadas na fase inicial do trabalho, tendo havido o cuidado de escolher uma para cada um dos três tipos principais de compassos: divisão binária (a escolha recaiu sobre um 4/4), divisão ternária (3/4) e divisão composta (a escolha recaiu sobre um 6/8). músicas escolhidas foram o E.2) e o Regadinho Alecrim (Figura E.1), o As respectivas Vira-te pr'a cá (Figura (Figura E.3). Para cada uma das músicas foram geradas trinta letras por estratégia, tendo no total sido analisados 600 compassos 4/4, 1410 compassos 3/4 e 480 compassos 6/8 por estratégia. E.1 Parâmetros utilizados na geração das letras Os parâmetros utilizados na geração através de cada estratégia encontram-se descritos de seguida: • Parâmetros comuns às letras geradas com as quatro estratégias: Melodia: Regadinho Alecrim (Figura E.1), Vira-te pr'a cá (Figura E.2) e (Figura E.3. Fronteira forte/fraco: Todos os tempos cuja força é menos de metade da força mínima considerada. Nos compassos 3/4 e 6/8 só o nível 0 é considerado forte. Nos compassos 4/4 tanto o nível 0 como o 1 são considerados fortes. Tipo da base de dados: A nossa base de dados (ver na Secção 3.7.2). 139 140 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Figura E.1: Partitura da música Alecrim (4/4) Figura E.2: Partitura da música Vira-te p'ra cá (3/4) E.1. PARÂMETROS UTILIZADOS NA GERAÇÃO DAS LETRAS 141 Figura E.3: Partitura da música Regadinho (6/8) • Parâmetros comuns às letras geradas com as estratégias 1 (Figura F.2), 2 (Figura F.3) e 3 (Figura F.4): Probabilidade de rima: 100%. Probabilidade de reutilização de palavras: 50%. Divisão da música em partes: Só dada para a melodia Alecrim, no entanto é praticamente irrelevante para a métrica. • Parâmetros especícos da letra gerada com a estratégia 2: Probabilidade de seleccionar uma conjunção: 80%. • Parâmetros especícos da letra gerada com a estratégia 3: Partes musicas por frase: 2. Temas: Não foram dados temas. Melhores coecientes de rima: 3. Máximo de passagens: 1. • Parâmetros especícos da letra gerada com a estratégia 4 (Figura F.5): Pontuação aceitável: 5. Número de gerações para cada frase: 200. Penalizações: tamanho a mais em tempo forte = 3; corte por pausa = 5; tamanho a menos = 3; átona = 0; falta de rima = 5; tónica em tempo fraco = 4; 142 APÊNDICE E. RESULTADOS DA VALIDAÇÃO E.2 Resultados Nesta secção apresentam-se os resultados da validação das várias estratégias: • Estratégia 1: Figuras E.4, E.5, E.6 e E.7. • Estratégia 2: Figuras E.9, E.11, E.10 e E.7. • Estratégia 3: Figuras E.14, E.16, E.15 e E.7. • Estratégia 4: Figuras E.19, E.21, E.20 e E.7. E.2. 143 RESULTADOS Tempo Tónicas Átonas 0.0 345 135 0.25 0 0 0.5 28 152 0.75 0 0 1.0 18 402 1.25 0 0 1.5 0 360 1.75 0 0 2.0 357 63 2.25 0 0 2.5 0 60 2.75 0 0 3.0 63 417 3.25 0 0 3.5 0 60 3.75 0 0 Figura E.4: Distribuição das sílabas por tempo em compassos 4/4, com letras geradas através da estratégia 1 144 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Tempo Tónicas Átonas 0.0 982 423 0.25 0 0 0.5 0 0 0.75 0 0 1.0 177 783 1.25 0 0 1.5 0 0 1.75 0 0 2.0 37 1103 2.25 0 0 2.5 0 0 2.75 0 0 Figura E.5: Distribuição das sílabas por tempo em compassos 3/4, com letras geradas através da estratégia 1 E.2. 145 RESULTADOS Tempo Tónicas Átonas 0.0 384 96 0.25 0 0 0.5 4 116 0.75 0 0 1.0 35 325 1.25 0 0 1.5 106 374 1.75 0 0 2.0 0 120 2.25 0 0 2.5 2 358 2.75 0 0 Figura E.6: Distribuição das sílabas por tempo em compassos 6/8, com letras geradas através da estratégia 1 146 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Nível Tónicas Átonas 0 1711 654 1 677 2323 2 122 1738 3 28 632 4+ 0 0 Figura E.7: Distribuição das sílabas por nível de força, com letras geradas através da estratégia 1 E.2. RESULTADOS Notas de distância Ocorrências 1 292 2 5 3 16 4 33 Outro compasso 307 Figura E.8: Resoluções nas letras geradas através da estratégia 1 147 148 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Tempo Tónicas Átonas 0.0 428 52 0.25 0 0 0.5 0 180 0.75 0 0 1.0 0 420 1.25 0 0 1.5 0 360 1.75 0 0 2.0 420 0 2.25 0 0 2.5 0 60 2.75 0 0 3.0 5 475 3.25 0 0 3.5 0 60 3.75 0 0 Figura E.9: Distribuição das sílabas por tempo em compassos 4/4, com letras geradas através da estratégia 2 E.2. RESULTADOS 149 Tempo Tónicas Átonas 0.0 427 53 0.25 0 0 0.5 1 119 0.75 0 0 1.0 1 359 1.25 0 0 1.5 87 393 1.75 0 0 2.0 2 118 2.25 0 0 2.5 7 353 2.75 0 0 Figura E.10: Distribuição das sílabas por tempo em compassos 6/8, com letras geradas através da estratégia 2 150 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Tempo Tónicas Átonas 0.0 1252 158 0.25 0 0 0.5 0 0 0.75 0 0 1.0 2 958 1.25 0 0 1.5 0 0 1.75 0 0 2.0 5 1135 2.25 0 0 2.5 0 0 2.75 0 0 Figura E.11: Distribuição das sílabas por tempo em compassos 3/4, com letras geradas através da estratégia 2 E.2. RESULTADOS 151 Nível Tónicas Átonas 0 2107 263 1 514 2486 2 16 1844 3 0 660 4+ 0 0 Figura E.12: Distribuição das sílabas por nível de força, com letras geradas através da estratégia 2 152 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Notas de distância Ocorrências 1 3 2 0 3 16 4 8 Outro compasso 236 Figura E.13: Resoluções nas letras geradas através da estratégia 2 E.2. 153 RESULTADOS Tempo Tónicas Átonas 0.0 429 51 0.25 0 0 0.5 6 174 0.75 0 0 1.0 41 379 1.25 0 0 1.5 4 356 1.75 0 0 2.0 416 4 2.25 0 0 2.5 2 58 2.75 0 0 3.0 6 474 3.25 0 0 3.5 0 60 3.75 0 0 Figura E.14: Distribuição das sílabas por tempo em compassos 4/4, com letras geradas através da estratégia 3 154 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Tempo Tónicas Átonas 0.0 423 57 0.25 0 0 0.5 0 120 0.75 0 0 1.0 7 353 1.25 0 0 1.5 128 352 1.75 0 0 2.0 0 148 2.25 0 0 2.5 17 315 2.75 0 0 Figura E.15: Distribuição das sílabas por tempo em compassos 6/8, com letras geradas através da estratégia 3 E.2. RESULTADOS 155 Tempo Tónicas Átonas 0.0 1219 191 0.25 0 0 0.5 0 0 0.75 0 0 1.0 5 955 1.25 0 0 1.5 0 0 1.75 0 0 2.0 14 1126 2.25 0 0 2.5 0 0 2.75 0 0 Figura E.16: Distribuição das sílabas por tempo em compassos 3/4, com letras geradas através da estratégia 3 156 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Nível Tónicas Átonas 0 2071 299 1 563 2437 2 71 1789 3 12 648 4+ 0 0 Figura E.17: Distribuição das sílabas por nível de força, com letras geradas através da estratégia 3 E.2. RESULTADOS Notas de distância Ocorrências 1 18 2 1 3 11 4 13 Outro compasso 256 Figura E.18: Resoluções nas letras geradas através da estratégia 3 157 158 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Tempo Tónicas Átonas 0.0 242 238 0.25 0 0 0.5 75 105 0.75 0 0 1.0 196 224 1.25 0 0 1.5 104 256 1.75 0 0 2.0 175 245 2.25 0 0 2.5 52 8 2.75 0 0 3.0 217 263 3.25 0 0 3.5 25 35 3.75 0 0 Figura E.19: Distribuição das sílabas por tempo em compassos 4/4, com letras geradas através da estratégia 4 E.2. RESULTADOS 159 Tempo Tónicas Átonas 0.0 164 316 0.25 0 0 0.5 47 73 0.75 0 0 1.0 131 229 1.25 0 0 1.5 134 241 1.75 0 0 2.0 42 78 2.25 0 0 2.5 131 229 2.75 0 0 Figura E.20: Distribuição das sílabas por tempo em compassos 6/8, com letras geradas através da estratégia 4 160 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Tempo Tónicas Átonas 0.0 518 874 0.25 0 0 0.5 0 0 0.75 0 0 1.0 349 611 1.25 0 0 1.5 0 0 1.75 0 0 2.0 392 748 2.25 0 0 2.5 0 0 2.75 0 0 Figura E.21: Distribuição das sílabas por tempo em compassos 3/4, com letras geradas através da estratégia 4 E.2. 161 RESULTADOS Nível Tónicas Átonas 0 924 1428 1 1050 1845 2 764 1096 3 256 404 4+ 0 0 Figura E.22: Distribuição das sílabas por nível de força, com letras geradas através da estratégia 4 162 APÊNDICE E. RESULTADOS DA VALIDAÇÃO Notas de distância Ocorrências 1 530 2 262 3 46 4 17 5 6 Outro compasso 566 Figura E.23: Resoluções nas letras geradas através da estratégia 4 Apêndice F Avaliação F.1 Inquérito O inquérito de avaliação que os avaliadores foram convidados a responder podia ser acedido através de um browser era idêntico ao da Figura F.1. Era constituído por quatro secções com as letras a avaliar e por uma secção onde era pedida a idade do avaliador e onde se podiam submeter as respostas. Cada letra foi gerada através de uma estratégia diferente e apresentavase sobre a forma de partitura, texto e interpretação com voz e guitarra. As perguntas a responder para cada letra eram sempre as mesmas (Figura F.1). Os avaliadores não foram informados de qualquer diferença existente no processo da geração. F.2 Letras utilizadas Este Apêndice contém as quatro letras utilizadas para realizar a avaiação do sistema. Todas foram geradas para a música infantil Papagaio Louro, cada uma através de uma estratégia diferente. Os parâmetros utilizados na geração através de cada estratégia encontram-se descritos de seguida: • Parâmetros comuns às letras geradas com as quatro estratégias: 163 164 APÊNDICE F. Figura F.1: Inquérito de avaliação AVALIAÇÃO F.2. 165 LETRAS UTILIZADAS Melodia Fronteira forte/fraco Papagaio Louro 2 (todos os tempos cuja força é menos de metade da força mínima considerada. Tendo em conta que é um compasso 2/4, os tempos considerados fortes são só aqueles que Divisão da música em partes Partes musicais por frase Tipo da base de dados estão no nível de força 0) [12;12;12;12], ou seja, quatro partes com o tamanho de 12 notas. 2 A nossa base de dados (ver na Secção 3.7.2) • Parâmetros comuns às letras geradas com as estratégias 1, 2 e 3 (Figura F.2), 2 (Figura F.3) e 3 (Figura F.4): Probabilidade de rima Probabilidade de reutilização de palavras • 100% 50% Parâmetros especícos da letra gerada com a estratégia 2: Probabilidade de seleccionar uma conjunção • Parâmetros especícos da letra gerada com a estratégia 3: Partes musicas por frase Temas Melhores coecientes de rima Máximo de passagens • 80% 2 [saudade, chorar, partir, deixar] 3 3 Parâmetros especícos da letra gerada com a estratégia 4 (Figura F.5): Número de gerações para cada frase Pontuação aceitável Penalizações 200 5 tamanho a mais=5; tamanho a menos=3; átona em tempo forte=5; tónica fraco=0; falta em de tempo rima=3; corte por pausa=4; As letras geradas encontram-se nas Figuras F.2, F.3, F.4 e F.5, pela mesma ordem que se apresentavam no inquérito. Nas estratégias em que existe uma noção de categoria gramatical e de frase também é possível vericar a classe gramatical e o nal de cada frase gerada, assinalado através de um ponto. Na estratégia 2, alguns pontos encontram-se entre parêntesis, porque, apesar de se tratar do m de produções não se trata do m de uma frase, mas sim de frases ligadas por uma conjunção. 166 APÊNDICE F. Método regresso método regresso ame assassina método impresso vimos cientistas membro considera calmas franciscanas método venera Figura F.2: Avaliação da estratégia 1 Umas embaixadas art nc ópticas banir adj v melhor as cortesias adv art nc(.) pois teorizaram con(.) v. eu aproveitando ppes v porco um jejum adj art nc fundado sustentou adj v aquém as guloseimas adv art nc. Figura F.3: Avaliação da estratégia 2 AVALIAÇÃO F.2. 167 LETRAS UTILIZADAS Onze dominadas card adj saudades finais nc v dezoito informáticas card adj originais nós nc. ppes. estas favoritas pdem nc deixamos aquelas v pdem saudades aquelas nc. pdem saudades serão tais nc v pdem. 1 1 Os numerais cardinais foram considerados artigos, dados terem a mesma função. Figura F.4: Avaliação da estratégia 3 Mantêm cem fãs v art nc perante sete caças prep art nc. vós casais pra vós ppes v prep ppes. os causaram extrair ppes v v. retinham por nós v prep ppes sobre nós eu alcance prep ppes. ppes v. eu lance um queijo ppes v. art nc julga um romance v art nc. Figura F.5: Avaliação da estratégia 4 168 APÊNDICE F. AVALIAÇÃO Média 1 Desvio 1 Média 2 Desvio 2 Média 3 Desvio 3 Média 4 Desvio 4 3.3382 0.8155 2.1552 1.2149 2.2500 1.0897 2.3696 1.0705 Figura F.6: Médias e desvios padrão das classicações do ritmo nas várias estratégias F.3 Resultados Os inquéritos encontraram-se online durante 2 semanas e foram respondidos por 70 pessoas anónimas e com idades entre os 12 e os 49 anos. A sua estrutura era igual à Figura F.1 e nenhuma das questões era de resposta obrigatória, o que levou a que alguns não tivessem sido completamente preenchidos. Foram recolhidas as idades das pessoas que responderam ao inquérito e o tempo que demoraram a responder: Média das idades Desvio padrão das idades Média dos tempos Desvio padrão dos tempos F.3.1 22.7143 5.4750 15.3478 5.7580 Articulação com o ritmo Avaliação da articulação da letra com o ritmo (Figura F.6) e identicação das frases das letras (Figuras F.7, F.8, F.9 e F.10). A divisão da letra em frases encontra-se representada por uma lista de números correspondente à posição (de 1 até ao tamanho da palavra) da última palavra de cada frase. A divisão feita trata-se simplesmente do nal dos templates gerados, que são a noção de frase que o programa tem. Como já dito anteriormente, na letra gerada pela estratégia 2 a divisão feita pelo programa junta duas frases através de uma conjunção e é por isso que dois número aparecem entre parêntesis, signicando que, apesar do programa ter gerado a sequência a partir de três templates, elss na realidade só dizem respeito a uma frase. Há a dizer que ninguém acertou completamente a divisão de qualquer letra. F.3.2 Rimas Resultados da avaliação das rimas (Figuras F.11, F.12, F.13, F.14, F.15). F.3. 169 RESULTADOS Divisão pelo programa Divisão No. de escolhas Inexistente [8,16] 12 [2,4,6,8,10,12,14,16] 10 [4,8,12,16] 7 [4,8,16] 3 Divisões diferentes escolhidas 37 Figura F.7: Identicação de frases na letra gerada pela estratégia 1, com três escolhas ou mais Divisão pelo programa Divisão No. de escolhas [(7, 8,) 9, 12, 18] [9,18] 13 [9,14,18] 3 [3,9,12,18] 3 [4,9,14,18] 3 Divisões diferentes escolhidas 48 Figura F.8: Identicação de frases na letra gerada pela estratégia 2, com três escolhas ou mais Divisão pelo programa Divisão No. de escolhas [7,17] 5 [4,7,13,17] 3 Divisões diferentes escolhidas 58 [7,8,13,17] Figura F.9: Identicação de frases na letra gerada pela estratégia 3, com três escolhas ou mais Divisão pelo programa Divisão [6,10,13,18,20,22,27] No. de escolhas [6,13,20,27] 8 [13,27] 6 Divisões diferentes escolhidas 47 Figura F.10: Identicação de frases na letra gerada pela estratégia 4, com três escolhas ou mais 170 APÊNDICE F. AVALIAÇÃO Média 1 Desvio 1 Média 2 Desvio 2 Média 3 Desvio 3 Média 4 Desvio 4 2.5588 0.8468 0.5938 0.8965 1.8209 1.1451 1.7368 1.0846 Figura F.11: Médias e desvios padrão das classicações das rimas nas várias estratégias Palavra 1 Palavra 2 No. de escolhas regresso considera cientistas calmas impresso venera franciscanas franciscanas 34 24 1 1 Figura F.12: Melhores rimas na letra gerada com a estratégia 1 Palavra 1 Palavra 2 No. de escolhas um banir embaixadas jejum porco cortesias 2 1 1 Figura F.13: Melhores rimas na letra gerada com a estratégia 2 Palavra 1 Palavra 2 No. de escolhas nais nais originais informáticas favoritas dominadas informáticas saudades originais tais tais favoritas tais onze originais nais 38 6 3 1 1 1 1 1 Figura F.14: Melhores rimas na letra gerada com a estratégia 3 F.3. 171 RESULTADOS Palavra 1 Palavra 2 No. de escolhas alcance lance alcance nós alcance, lance nós romance mantêm fãs romance romance lance vós romance nós alcance cem julga 35 8 3 2 2 1 1 1 1 Figura F.15: Melhores rimas na letra gerada com a estratégia 4 Média 1 Desvio 1 Média 2 Desvio 2 Média 3 Desvio 3 Média 4 Desvio 4 2.6522 0.8652 1.8788 1.0374 2.1642 0.9864 2.2295 0.9125 Figura F.16: Médias e desvios padrão das classicações da sonoridade nas várias estratégias F.3.3 Sonoridade Resultados da avaliação da sonoridade (Figuras F.16, F.17, F.18, F.19, F.20). Na avaliação da estratégia 3 as palavras nós e tais aparecem como tendo a pior sonoridade. É provável que as pessoas não se estivessem a referir de facto à sonoridade das palavras, mas à forma como elas aparecem na letra. Estas palavras aparecem algo soltas porque coincidem com o m de frases que foram forçadas a terminar de repente para que coincidissem com o m de frases musicais. F.3.4 Semântica Resultados relativos à avaliação semântica (Figuras F.21, F.22, F.23, F.24, F.25, F.26, F.27, F.28). • Apesar de nenhuma das estratégias se preocupar com a semântica, muita gente foi capaz de atribuir títulos às letras, contendo os mesmos palavras retiradas ou da mesma família das da letra relacionadas entre elas. Foram também atribuídos títulos com palavras relacionadas com algumas palavras na letra. • Na estratégia 3, 43 títulos atribuidos contém as palavras saudade ou 172 APÊNDICE F. Melhor sonoridade Palavra No. de escolhas regresso 24 método 23 franciscanas 16 impresso 15 venera 13 assassina 13 cientistas 10 considera 6 calmas 5 vimos 3 membro 2 laranjas 1 ame 1 vamos 1 AVALIAÇÃO Pior sonoridade Palavra No. de escolhas ame 26 franciscanas 19 método 14 cientistas 14 venera 12 assassina 11 membro 6 considera 5 vimos 4 regresso 4 calmas 4 impresso 3 vemos 1 pizza 1 lasanha 1 Figura F.17: Sonoridade das palavras na letra geradas com a estratégia 1 Melhor sonoridade Pior sonoridade Palavra No. de escolhas Palavra No. de escolhas embaixadas 27 teorizaram 24 guloseimas 21 jejum 16 cortesias 17 banir 12 aproveitando 9 aquém 11 ópticas 8 ópticas 13 jejum 7 porco 9 teorizaram 7 guloseimas 8 aquém 6 embaixadas 7 umas 5 fundado 6 sustentou 4 sustentou 6 melhor 3 aproveitando 4 porco 3 melhor 4 fundado 3 cortesias 3 banir 2 pois 1 eu 2 eu 1 pois 1 um 1 Figura F.18: Sonoridade das palavras na letra geradas com a estratégia 2 F.3. 173 RESULTADOS Melhor sonoridade Palavras No. de escolhas saudades 33 originais 27 dominadas 16 nais 16 favoritas 10 aquelas 8 informáticas 5 deixamos 5 dezoito 3 tais 3 serão 3 onze 1 Pior sonoridade Palavras No. de escolhas nós 24 tais 22 informáticas 21 dezoito 21 serão 8 onze 6 dominadas 5 aquelas 4 saudades 4 deixamos 3 favoritas 2 originais 2 nais 2 vós 1 estas 1 Figura F.19: Sonoridade das palavras na letra geradas com a estratégia 3 saudades que era uma das palavras na lista de temas, introduzida como parâmetro de geração. 174 APÊNDICE F. Melhor sonoridade Pior sonoridade Palavras No. de escolhas romance 37 alcance 18 caças 17 lance 8 fãs 7 mantêm 6 casais 6 perante 5 queijo 5 retinham 4 cem 3 sete 2 extrair 2 julga 2 pra 1 sobre 1 eu 1 vós 1 perante 1 nós 1 lance 1 AVALIAÇÃO Palavras No. de escolhas extrair 44 mantêm 14 retinham 13 queijo 11 causaram 7 fãs 8 caças 6 lance 5 julga 3 vós 3 casais 3 perante 2 cem 1 alcance 1 os 1 por 1 pra 1 sete 1 Figura F.20: Sonoridade das palavras na letra geradas com a estratégia 4 Média 1 Desvio 1 Média 2 Desvio 2 Média 3 Desvio 3 Média 4 Desvio 4 0.5714 0.8031 0.6000 0.8848 1.6618 1.0794 1.1538 1.1927 Figura F.21: Médias e desvios padrão das classicações da clareza do sentido nas várias estratégias F.3. 175 RESULTADOS Título método regresso método calmas franciscanas metodologias o método cientistas franciscanas método regresso método venera o método e a alma cenas regresso ao método assassina franciscana metodo hardcore método em evolução o regresso do assassino francisco discurso sem método método non_sense doido louro o senhor método conceitos soltos besugo in the house método impresso o método das franciscanas qual o método coldplay the scientist regresso o método regresso aleatória modus operandi métodos veneração do método franciscana assassina paula bobone método cientíco demência método o quê? o assassino das franciscanas espasmo musical já não sou um miúdo Não atribuiram titulo No. de escolhas 15 12 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 Figura F.22: Títulos atribuídos à letra gerada com a estratégia 1 176 APÊNDICE F. Título guloseimas embaixadas ópticas jejum fundado embaixadas confusão a teoria do farnel política externa alimentar umas embaixadas aproveitando um porco que cena esquisita... porco um jejum festim nu fome diarreia mental o desenjaur porcos capitalistas guloseimas sustentadoras ilógica o porco diabético na embaixada memórias de rams jejum fundado reinados o porco e as guloseimas desorganização porco fundado aproveitando... a gulodice jejum das cortesias palestina umaxada a greve de fome na embaixada dos porcos triunfantes fome e fartura jejum com goluseimas e porco doce judeu porco um jejum AVALIAÇÃO No. de escolhas 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figura F.23: Títulos atribuídos à letra gerada com a estratégia 2 F.3. 177 RESULTADOS Título No. de escolhas cortesia porcos gulosos doces cortesias teorizaram candy and porc sinestesia teorias da guloseima devaneio sem sentido as guloseimas das cortesias porco jejum banir as embaixadas das guloseimas jejum coiso aquém as guloseimas os porcos das embaixadas nonsense um corte no tempo das heresias aleatória (parte 2) embaixador javardo verborreia 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Não atribuiram titulo 6 Figura F.24: Títulos atribuídos à letra gerada com a estratégia 2 (continuação) 178 APÊNDICE F. Título saudades saudade saudades informáticas saudade informática a saudade da universidade dezoito informáticas (in your dreams) o nal de curso as saudades o adeus informático informáticas dominadoras saudades pos_modernas sem nome depois de 5 anos a estudares é este o resultado as informáticas onze saudades tais dezoito informáticas informáticas dominadas 18 tecnicas informáticas originais informáticas saudosistas as saudades informáticas informaticas saudades nais aquelas saudades... saudade aquela o dominado nal de curso informáticas favoritas fado dominatrix dezoito deixamos saudades a informática onze dominadas saudades saudosismos dezoito informáticas, onze dominadas AVALIAÇÃO No. de Ecolhas 20 4 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figura F.25: Títulos atribuídos à letra gerada com a estratégia 3 F.3. 179 RESULTADOS Título No. de Ecolhas saudades innitas as saudades das informáticas lésbicas de minsk m de curso originais saudades das informáticas adeus que me pirei saudades aquelas eu aproveitei saudosa informática 1 1 1 1 1 1 1 1 1 Não atribuiram titulo 2 Figura F.26: Títulos atribuídos à letra gerada com a estratégia 3 (continuação) 180 APÊNDICE F. Titulo romance fãs lance um queijo queijo romance rotina de caça fama devaneios ii o romance e o casamento fas de queijo caçador de queijos os casais um beijo por um queijo romances... nalmente o m julgar um queijo por romance caça de estrelas vós e nós fãs apaixonadas poesia também é rítmica. sete caças cem fãs os amores da aldeia o queijo e os sete caças amor queijo romantico última demonstração vocal queijo queijo voador eles romance do queijo o julgamento do romance iii as fãs AVALIAÇÃO No. de escolhas 4 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figura F.27: Títulos atribuídos à letra gerada com a estratégia 4 F.3. 181 RESULTADOS Titulo No. de escolhas ... o caçador a banda francesa cem fãs perante sete caças confuso idolo amantes romance de queijo lancei um queijo 100 fãs são 50 casais alcance, lance, romance lançamento do queijo não consegui atribuir nenhum fome queijo fresco casar para quem o queijo do romance lance romantismo fãs do romance à caça das fãs delirium amor perfeito um eu alcance romance casamento sangrento acções 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Não atribuiram titulo 6 Figura F.28: Títulos atribuídos à letra gerada com a estratégia 4 (continuação) 182 APÊNDICE F. AVALIAÇÃO Média 1 Desvio 1 Média 2 Desvio 2 Média 3 Desvio 3 Média 4 Desvio 4 1.5143 1.0789 Figura F.29: 1.0571 1.1574 1.8571 1.0729 1.6471 1.0678 Médias e desvios padrão das classicações da qualidade nas várias estratégias Média 1 Desvio 1 Média 2 Desvio 2 Média 3 Desvio 3 Média 4 Desvio 4 2.3571 1.2193 1.8429 1.3378 2.1143 1.1777 2.2941 1.3619 Figura F.30: Médias e desvios padrão das classicações da capacidade de proporcionar entretenimento nas várias estratégias F.3.5 Qualidade Resultados relativos à avaliação de qualidade (Figuras F.29 e F.30). • Efectivamente pode vericar-se que a qualidade das letras não será a melhor. Ainda assim as letras geradas através das estratégias 3 e 4 chegarem quase a metade da escala (2 pontos). • Já no que diz respeito a provocar risos e proporcionar o entretenimento as classicações foram melhores, com a excepção da letra gerada através da estratégia 3. Apêndice G Mais exemplos de letras geradas Neste apêndice encontram-se mais alguns exemplos de letras geradas pelo Tra-la-Lyrics, acompanhadas dos parâmetros de geração mais relevantes. 183 184 APÊNDICE G. MAIS EXEMPLOS DE LETRAS GERADAS Parâmetros de geração: Melodia Infantil - Papagaio Louro Estratégia 1 Probabilidade de reutilização de palavras 20% Divisão da música em partes [12;12;12;12] Ditos pessimistas ditos tabagistas ditos pessimistas ditos pessimistas cumprem conquistados fins culpabiliza fins concederia cumprem utiliza Figura G.1: Papagaio-Louro ou Anti-tabaco. Parâmetros de geração: Melodia Infantil - Papagaio Louro Estratégia 1 Probabilidade de reutilização de palavras 80% Divisão da música em partes [12;12;12;12] tomem pimenteiras tempos pimenteiras flechas irrompeu cafés gasolineiras cafés instrumentos cafés pimenteiras cafés comprador comprador prateleiras Figura G.2: Papagaio-Louro ou Cafés pimenteiras. 185 Parâmetros de geração: Melodia Estratégia Probabilidade de reutilização de palavras Divisão da música em partes Probabilidade de seleccionar uma conjunção Infantil - O Barquinho 2 20% [10;10;10;10;13] 80% Eram um camponês de aterros um amigo fiel alterar uma táctil sem mar se vivia uma loira perante olhar que uma paragem lógica quer despachem as extra após perfeição Figura G.3: O Barquinho ...sem mar 186 APÊNDICE G. MAIS EXEMPLOS DE LETRAS GERADAS Parâmetros de geração: Melodia José Afonso - A Formiga no Carreiro Estratégia 3 Probabilidade de reutilização 50% de palavras Divisão da música em partes [8;8;10;9;9;9;9;7;10;8] Partes musicais por frase 2 Temas [rumo;cair;mudar;sentido;contrário] Cai um batalhão documental as injustiças sucedidas sob as contrárias hostis necessitarão mudar um rumo ambiente as contrárias aquela as contrárias terão as contrárias surgirão ah os estaleiros fornecerão as portuguesas ficarão Figura G.4: A Formiga no Carreiro ou As portuguesas carão. 187 Parâmetros de geração: Melodia Infantil - O Barquinho Estratégia 3 Probabilidade de reutilização de palavras 30% Divisão da música em partes [10;10;10;10;23] Partes musicais por frase 2 Temas [sentir;amor;amar;rosa] Uma rosa sentiu a secção sentiu ali um amado carvão ame esses amores sedados sentem sentindo o alemão alerta amor amante bastante sinta jamais sentirá tal betão Figura G.5: O Barquinho ou A rosa e o alemão 188 APÊNDICE G. MAIS EXEMPLOS DE LETRAS GERADAS Parâmetros de geração: Melodia Estratégia Probabilidade de reutilização de palavras Divisão da música em partes Partes musicais por frase Temas The Animals - House of the Rising Sun 3 50% [14;15;18;13] 2 [saudade;viajar;chorar;deixar;fugir] Um sol fugiu aqueles reis deixam estes filões deixarão milhão saudades lançar milhões leis para validar Figura G.6: House of the Rising Sun ou Leis para validar 189 Melodia Parâmetros de geração: Cantiga de bebedores - Ora venha Estratégia Probabilidade de reutilização de palavras Divisão da música em partes Partes musicais por frase Temas vinha para os nossos copos 3 20% [12;11;11;15] 1 [comer;beber;dormir] Um comer estabilizará sim a comida reinvenção par ilumina uns comunicados convencionou me um anfitrião vai Figura G.7: Ora venha vinho para os nossos copos ou Comida, invenção par 190 APÊNDICE G. MAIS EXEMPLOS DE LETRAS GERADAS Parâmetros de geração: Melodia Andrew Lloyd Webber - The Estratégia Probabilidade de reutilização de palavras Divisão da música em partes Partes musicais por frase Phantom of the Opera 3 50% [12;12;12;12;5] 2 A posta rança uma russa sois a uma dose montam em a flor se montam elas mil moradas sois milhares decisões a certidão quarenta naus Figura G.8: Phantom of the Opera ou Quarenta Naus 191 Parâmetros de geração: Melodia Bob Marley - No Woman No Cry Estratégia 3 Probabilidade de reutilização 20% de palavras Divisão da música em partes [9;8;8;10;5;16;15;29;22;16;13;8;8;13;8;5] Partes musicais por frase 1 Temas [chorar;mulher;relembrar;dizer] choraram de rir as mulheres dão diziam a ver diz chorar por lhes são crer vós choreis disse contra crer mas diz de tal mulher tais assinados põem mil estaleiros vão dizer tal mulher líder tiver porão por um dizer dizem tais mulheres mais então algo choram cinquenta moças de relembrar os diziam nós a mulher dissesse uns fins milhares anos ditos choravam relembrando senão diz bem se tal rei Figura G.9: No Woman No Cry ou Choram de rir 192 APÊNDICE G. MAIS EXEMPLOS DE LETRAS GERADAS Parâmetros de geração: Melodia Pearl Jam - Last Kiss Estratégia 4 Divisão da música em partes [17;13;14;19] Número de gerações para cada frase 300 Pontuação aceitável 5 Penalizações tamanho a mais=5; tamanho a menos=3; átona em tempo forte=5; tónica fraco=0; falta em de tempo rima=3; corte por pausa=4; Valem ligar pra ostentar pregar seis vias quiseram um solar ouve este bordel por este ventre tal posto meu entre te alimentares Figura G.10: Last Kiss ou Ostentação