Buscar

2020_GabrielCampos_LucasMoutinho_tcc

Prévia do material em texto

Universidade de Brasília
Instituto de Ciências Exatas
Departamento de Ciência da Computação
DEEP: Uma arquitetura para reconhecer emoção
com base no espectro sonoro da voz de falantes da
língua portuguesa
Gabriel A. Campos
Lucas da S. Moutinho
Monografia apresentada como requisito parcial
para conclusão do Bacharelado em Ciência da Computação
Orientador
Prof. Dr. Geraldo P. Rocha Filho
Brasília
2020
Universidade de Brasília
Instituto de Ciências Exatas
Departamento de Ciência da Computação
DEEP: Uma arquitetura para reconhecer emoção
com base no espectro sonoro da voz de falantes da
língua portuguesa
Gabriel A. Campos
Lucas da S. Moutinho
Monografia apresentada como requisito parcial
para conclusão do Bacharelado em Ciência da Computação
Prof. Dr. Geraldo P. Rocha Filho (Orientador)
CIC/UnB
Prof. Dra. Roberta Barbosa Oliveira Prof. Dr. Thiago Paulo Faleiros
CIC/UnB CIC/UnB
Prof. Dr. Marcelo Grandi Mandelli
Coordenador do Bacharelado em Ciência da Computação
Brasília, 24 de novembro de 2020
Dedicatória
Dedicamos este trabalho a todos nossos amigos e parentes que nos apoiaram nesta fase
final de conclusão do curso. Também dedicamos este trabalho para a comunidade open
source brasileira.
iii
Agradecimentos
O presente trabalho foi realizado com o apoio do Departamento de Ciência da Computação
(CIC) da Universidade de Brasília (UNB) por meio da disciplina de trabalho de graduação
ofertada pela grade curricular do curso.
Agradecemos ao apoio do Prof. Dr. Geraldo P. Rocha Filho que foi nosso orientador
para a realização da pesquisa. Agradecemos também aos nossos demais apoiadores, como
amigos e parentes que auxiliaram, em diversos aspectos, para a elaboração deste trabalho
e para conclusão do curso.
Agradecemos explicitamente a revisora e amiga, Luísa de Lumiére, pela imensa ajuda
na revisão do trabalho.
Agradecimentos finais para os membros da empresa júnior de computação (CJR) da
universidade de brasília por fornecerem, além do espaço físico, apoio moral na realização
deste trabalho.
O presente trabalho foi realizado com apoio da Coordenação de Aperfeiçoamento de
Pessoal de Nível Superior - Brasil (CAPES), por meio do Acesso ao Portal de Periódicos.
iv
Resumo
O reconhecimento de emoção em fala é uma linha de pesquisa dentro da Inteligência Ar-
tificial (IA) que exige arquiteturas robustas de modelos de Deep Learning (DL) para a
correta distinção das emoções percebidas na voz. Para responder a essa exigência, trabal-
hos recentes da literatura sugerem arquiteturas cada vez mais robustas, como a de modelos
híbridos. No entanto, a utilização de múltiplas redes neurais de maneira sequencial pode
ocasionar a propagação de erros entre os modelos. Além desse problema, ressalta-se que
não foram encontrados outros trabalhos que treinam modelos em língua portuguesa. Dessa
forma, a fim de lidar com as referidas limitações da literatura relacionada, neste trabalho
é desenvolvida uma arquitetura para o reconhecimento de emoções com base em padrões
presentes no espectro sonoro gerado pela voz de falantes da língua portuguesa: DEEP
- DEtection of voice Emotion in Portuguese language (Detecção de Emoção na Voz na
Linguagem Portuguesa). O DEEP é composto por um conjunto de modelos especialistas
de redes neurais convolucionais, do inglês Convolutional Neural Networks (CNNs), mod-
elos de DL treinados em língua portuguesa, cujo intuito visa à especialização da detecção
de emoções. Para treinamento do modelo, foi utilizada a base de dados de voz em língua
portuguesa VERBO, o que permite que esta tecnologia seja aplicada em diversas áreas
nos países que têm esse idioma como oficial. Para avaliar os resultados da performance
alcançada com a arquitetura proposta, em um primeiro momento, os modelos especialistas
foram hiper parametrizados, o que permitiu o descobrimento de configurações otimizadas
na detecção de cada emoção. Em seguida, as acurácias obtidas foram comparadas com as
alcançadas por um modelo CNN classificador tradicionalmente apresentado na literatura
relacionada, denominado neste trabalho por modelo baseline, em que foram observados
ganhos de performance para todas as 7 emoções presentes no VERBO, com uma diferença
média de 12.39%, tendo o maior ganho com a emoção Medo, esta que foi 24.42% maior
quando comparado com a CNN.
Palavras-chave: Reconhecimento de emoção na voz, modelos especialistas, DEEP, VERBO,
CNN, deep learning, língua portuguesa
v
Abstract
Speech emotion recognition is a line of research within Artificial Intelligence (AI) that re-
quires complex architectures of Deep Learning (DL) models to distinguish the perceived
emotions in voice. To fulfill this requirement, recent works suggest increasingly complex
architectures, such as hybrid models. However, these models can propitiate error prop-
agation among the sequentially placed models, increasing false positives. In addition to
this problem, it is noteworthy that no other studies that train models in Portuguese were
found. Thus, in order to deal with the referred limitations of the related literature, this
work presents an architecture for emotion recognition based on patterns present in the
sound spectrum generated by the voice of Portuguese speakers: DEEP - DEtection of
voice Emotion in Portuguese language. DEEP is composed of specialist models of con-
volutional neural networks (CNN) whose aim is to specialize in detecting emotions. The
Portuguese voice database VERBO was used for training the model, which allows this
technology to be applied in several areas in countries that have this language as an official
language. To evaluate the proposed architecture, the specialist models were hyper param-
eterized, which allowed the discovery of optimized configurations to detect each emotion.
Then, the DEEP was compared with a CNN model, in which performance gains were
observed for all seven emotions present in VERBO, with an average difference of 12.39%,
having the highest gain with the Fear emotion, which was 24.42% higher when compared
to CNN.
Keywords: Speech emotion recognition, specialist models, DEEP, VERBO, CNN, deep
learning, portuguese language
vi
Sumário
1 Introdução 1
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Fundamentação Teórica 5
2.1 Voz e Emoção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Aprendizagem de Máquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Aprendizagem Supervisionada . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Métricas de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Redes Neurais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Redes Neurais Convolucionais . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Hiper Parametrização e Hyperopt . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Trabalhos Relacionados 15
3.1 Discussão dos Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . 19
4 Uma arquitetura para o reconhecimento de emoção na voz em língua
portuguesa 21
4.1 Visão geral da estratégia para desenvolvimento da proposta . . . . . . . . . . 21
4.2 Aquisição de informações da base de conhecimento . . . . . . . . . . . . . . . 23
4.3 Extração de características (features) . . . . . . . . . . . . . . . . . . . . . . 23
4.3.1 Representação bidimensional do sinal . . . . . . . . . . . . . . . . . . . 24
4.3.2 Extração de features utilizando OpenSmile . . . . . . . . . . . . . . . . 25
4.3.3 Pré-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4 DEEP - DEtection of voice Emotion in Portuguese language . . . . . . . . . 28
4.4.1 Design da arquitetura proposta para o DEEP . . . . . . . . . . . . . . 29
4.4.2 Modelos especialistas para cada emoção . . . . . . . . . . . . . . . . . 30
4.5 Aplicabilidade da solução proposta . . . . . . . . . . . . . . . . . . . . . .. 32
vii
5 Resultados Experimentais 34
5.1 Resultados sob a perspectiva da otimização dos hiper parâmetros do DEEP . 34
5.1.1 Descrição do Cenário do Experimento . . . . . . . . . . . . . . . . . . . 35
5.1.2 Análise dos hiper parâmetros selecionados para o DEEP . . . . . . . . 36
5.2 Avaliação de desempenho do DEEP com comparação ao modelo Baseline . . 37
5.2.1 Descrição do Cenário do Experimento . . . . . . . . . . . . . . . . . . . 37
5.2.2 Comparação dos resultados experimentais da arquitetura proposta com
o modelo baseline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3 Discussão dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6 Conclusão 41
viii
Lista de Figuras
2.1 Modelo Circunflexo de Russel para emoções apresentado em [22], adaptado
para língua portuguesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Arquitetura básica de um Perceptron . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Ilustração do processo convolucional, seguido por camadas de classificação. . 12
2.4 Exemplo de Rede Neural . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1 Visão geral da proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Processo de extração de features . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 Processo de enquadramento . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.4 Design da arquitetura proposta para o DEEP . . . . . . . . . . . . . . . . . 29
4.5 Arquitetura CNN utilizada nos classificadores especialistas. . . . . . . . . . 30
4.6 Detalhamento das camadas utilizadas na CNN dos classificadores especialistas. 31
5.1 Processo de avaliação para a emoção alegria . . . . . . . . . . . . . . . . . . 39
ix
Lista de Tabelas
3.1 Comparação das metodologias dos trabalhos relacionados e do DEEP . . . . 20
4.1 Descrição do Dataset construído com base no VERBO. . . . . . . . . . . . . 27
5.1 Valores possíveis para cada camada da CNN. . . . . . . . . . . . . . . . . . 35
5.2 Resultados de Acurácia e F1-Score ao decorrer das etapas do processo de
hiper parametrização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3 Configuração final de parâmetros dos modelos especialistas . . . . . . . . . . 37
5.4 Configuração de Hiper Parâmetros para o modelo baseline. . . . . . . . . . . 38
5.5 Comparação dos resultados dos modelos especialistas com o modelo baseline 38
x
Capítulo 1
Introdução
O reconhecimento de emoção em fala é uma linha de pesquisa dentro da Inteligência
Artificial (IA), que consiste nas tarefas de reconhecimento e classificação da reação afetiva
de um indivíduo [1]. O estudo das emoções e a maneira pelas quais as entendemos e as
representamos no contexto computacional formam a área de conhecimento denominada
Computação Afetiva [2]. Historicamente, o campo de estudo de IA foi construído com base
em conceitos de como a aprendizagem humana funciona [3]. Analogamente, a exemplo
de estudos como de Picard (2000) [2], existem evidências que apontam que o processo
de aprendizagem humana é diretamente ligado à emoção. Consequentemente, tarefas que
estão contidas no conjunto de áreas estudadas pela computação afetiva, tais como a análise
de sentimentos e reconhecimento de emoção, são importantes para o desenvolvimento da
área da IA como um todo. Os sistemas de reconhecimento de emoção em fala demonstram
importante utilidade em aplicações que se baseiam primordialmente na interação humano-
computador. Essas aplicações têm como intuito fundamental a compreensão das respostas
emocionais do usuário a partir de uma determinada interação. Neste sentido, vale destacar
a aplicação de sistemas de reconhecimento de voz em call centers, nos quais se torna
possível avaliar qualitativamente o sucesso de uma chamada ao medir a expressão de
determinadas emoções, tais como raiva, alegria e tristeza; em smart assistants, como
a Amazon Alexa [4], em que o assistente de voz pode ter comportamentos diferentes,
dependendo da emoção do usuário; e em aplicativos de música, os quais podem adequar
as recomendações musicais ao usuário com base na emoção captada [5].
A aplicação de modelos estatísticos e de algoritmos de aprendizagem de máquina, do
inglês machine learning (ML), vem sendo um dos possíveis caminhos para realizar tarefas
de reconhecimento de emoção na fala desde o final do século XX [6] [7], com o intuito de
permitir a realização desta tarefa de forma automática em aplicações de IA. Entretanto,
conseguir identificar o estado emocional de um sujeito não é uma tarefa trivial, visto que
demanda uma apurada capacidade de percepção. Em seu contexto original, os interlo-
1
cutores utilizam várias informações visuais, auditivas, semânticas e metalinguísticas [8]
para determinar qual emoção a fala de uma pessoa invoca, o que torna a tarefa bastante
complexa e propensa a erros para o contexto da IA. Diversos estudos foram realizados
para o entendimento de quais fatores são relevantes para o reconhecimento de emoção [8]
[9]. Dentre essas pesquisas, cabe citar o trabalho de Scherer (1995) [8], que apresenta
evidências de que emoções são expressas diferentemente pela fala humana e que ouvintes
são capazes de corretamente inferir o estado emocional de um interlocutor apenas com
a informação da voz. Ainda assim, existem problemáticas relacionadas à tarefa de reco-
nhecimento de emoção em voz dentro da IA. Uma das principais consiste na inexistência
de um consenso sobre a definição teórica das emoções [10], de modo que as característi-
cas mais importantes para a distinção entre emoções ainda não são claras. Além disso,
aspectos como a variabilidade das frases faladas por pessoas diferentes adiciona outro ní-
vel de dificuldade na distinção de emoções, pois características específicas da voz de um
indivíduo, como sotaque e ritmo da fala, alteram os resultados das features comumente ex-
traídas da voz [9], tais como as prosódicas e MFCC (Mel-Frequency Cepstral Coefficients),
utilizadas em trabalhos da literatura relacionada [6] [11] [12]. Adicionalmente, existem
trabalhos [13] que apontam que a linguagem falada é um dos aspectos que influenciam
diretamente no processo de reconhecimento de emoção.
O aumento da capacidade de processamento dos computadores e o avanço das tecnolo-
gias de cloud computing mitigaram o custo computacional de técnicas mais complexas de
ML, como as de Deep Learning (DL) [14], esta que engloba técnicas de aprendizagem de
máquina que exploram uma grande quantidade de dados ao identificar padrões de maneira
profunda [15]. Esse fator favorece a utilização de técnicas de Deep Leaning em problemas
cujas características relevantes não são facilmente reconhecíveis, como visão computaci-
onal, processamento de linguagem natural e reconhecimento automático de emoção na
fala.
A literatura relacionada apresenta diversas propostas de modelos para a realização da
tarefa de reconhecimento de emoção na fala. Trabalhos como Dellaert et al. (1996) [6],
Kwon et al. (2003) [7] e Pan, Shen (2012) [11], utilizam modelos mais tradicionais de IA,
tais como K-nearest Neighbors (KNN), Support Vector Machines (SVM) e Hidden Markov
Models (HMM). Em Dellaert et al. (1996) [6], são utilizadas apenas features prosódicas
para o modelo, com o intuito de reconhecer emoções somente pelas características foné-
ticas e linguísticas do som. Já em Kwon et al. (2003) [7] e Pan, Shen (2012) [11], são
incorporadas as features MFCC aos modelos, que, a partir deste momento, tornou-se a fe-
ature predominante em trabalhos da área. Contudo, Dellaert et al. (1996) [6], Kwon et al.
(2003) [7] e Pan, Shen (2012) [11] utilizam, ainda, modelos de ML mais simplórios, como
o HMM, o KNN e o SVM. Tais modelos dificultam a distinção de um maior número de
2
emoções semelhantes as quais só poderiam ser melhor diferenciadas com a aprendizagem
profunda de técnicas de DL, como as redes neurais convolucionais, do inglês Convolutional
Neural Networks (CNN) [12] [16].
O próximo avanço das pesquisasanalisadas é apresentado nos trabalhos de Han, Yu,
Tanshev (2014) [12] e Abdel-Hamid et al. (2014) [16], no qual é introduzida a utilização de
modelos de DL. A partir deste ponto, os trabalhos divergem entre si quanto à exploração de
modelos com arquiteturas cada vez mais robustas, como no caso de [17] e [18], que utilizam
modelos híbridos 1 para a classificação de emoções na voz. Porém, tais arquiteturas
podem propagar erros nos modelos sequenciais aplicados, aumentando o número de falsos
positivos. Além destas pesquisas, cita-se [19] e [20], que exploram novos grupos de features
para a tarefa, tais como a combinação das features de voz com as de imagem e texto.
Contudo, estes trabalhos aumentam a complexidade ao exigirem modelos adicionais para
a conversão dos dados de voz em texto ou imagem. Adicionalmente, ressalta-se que
nenhum dos trabalhos relacionados treina modelos com base em dados de voz na língua
portuguesa do Brasil, e, tendo em vista as evidências [13] dos impactos da linguagem no
processo de expressão de emoção em voz, em função, por exemplo, da presença de aspectos
congruentes aos regionalismos e ritmos de fala, evidencia-se a importância de trabalhos
que explorem reconhecimento de emoção em voz com enfoque na língua portuguesa.
1.1 Objetivos
Este trabalho tem como propósito desenvolver e validar o DEEP - DEtection of voice
Emotion in Portuguese language (Detecção de Emoção na Voz na Linguagem Portu-
guesa), uma arquitetura para o reconhecimento de emoções em voz com base em padrões
presentes no espectro sonoro gerado pela voz de falantes da língua portuguesa. O DEEP
será composto por um conjunto de modelos CNN especialistas, modelos de DL treinados
em língua portuguesa, com a utilização da base de dados de emoção na voz em língua
portuguesa VERBO [21], cujo intuito visa à especialização da detecção de emoções. Para
validar o DEEP, tornam-se necessárias duas etapas, aqui colocadas como objetivos espe-
cíficos: (i) otimizar os hiper parâmetros dos modelos especialistas, com o objetivo de se
encontrar a configuração de maior performance para cada um destes; e (ii) comparar os
resultados obtidos com os de um único modelo CNN, a fim de se comparar os ganhos de
performance da arquitetura proposta em relação a um modelo tradicional. Com a valida-
ção do DEEP, este se apresentará como uma alternativa a outras arquiteturas propostas
em trabalhos atuais para a tarefa de reconhecimento de emoção em voz.
1Por modelos híbridos, entende-se como arquiteturas que contêm mais de um modelo, colocados se-
quencialmente, para a classificação, por exemplo, dos CNN-LSTM [17] e [18], em que uma CNN, utilizada
para extração de features, é ligada diretamente a uma LSTM para classificação
3
1.2 Organização do Trabalho
O restante deste trabalho está organizado em cinco capítulos, apresentados a seguir:
• Fundamentação Teórica: Neste capítulo, são apresentados a base teórica e os
principais conceitos importantes para o entendimento do trabalho.
• Trabalhos Relacionados: Neste capítulo, são descritos os trabalhos analisados e
utilizados como inspiração para a criação deste, citando os resultados importantes
e possíveis limitações.
• Uma arquitetura para o reconhecimento de emoção na voz em língua
portuguesa: Neste capítulo, será descrito o processo de desenvolvimento do DEEP,
detalhando os processos de organização dos dados, fluxos de desenvolvimento dos
modelos e apresentando sua arquitetura com detalhes.
• Resultado: Neste capítulo, são apresentados os resultados obtidos sob determina-
das perspectivas diferentes e é iniciada uma discussão sobre os resultados alcançados
e se os objetivos determinados no capítulo de introdução foram cumpridos.
• Conclusão: Neste capítulo, apresentamos algumas considerações finais sobre o
trabalho desenvolvido, resultados, objetivos e possíveis aspectos a serem explorados
em trabalhos futuros.
4
Capítulo 2
Fundamentação Teórica
Neste capítulo, será apresentada a base teórica utilizada para o desenvolvimento do
projeto e de conceitos sobre voz e emoção, mais especificamente dos aspectos referentes
às features utilizadas.
2.1 Voz e Emoção
A voz é um dos instrumentos de comunicação mais utilizados pelo ser humano. Ela
pode ser usada para transmitir informações, comunicar perigo, ou, o ponto de interesse
deste trabalho, expressar emoções.
A voz é composta por ondas acústicas que se propagam em diferentes frequências,
transmitidas pelas cordas vocais de uma pessoa. Para os termos deste trabalho, também
é importante fazer a distinção entre o som emitido pelo falante e as suas representações.
Neste trabalho, é necessário lidar com a representação digital dos sons, tendo em vista que
os áudios da base de dados utilizada foram gravados e convertidos digitalmente. Em sua
forma digital, o sinal de áudio é codificado como amostras numéricas em uma sequência
contínua. Em especial, a base de dados de voz VERBO [21] utiliza o formato .wav, que
não realiza compressão do som digital, sendo, dessa forma, o formato digital mais próximo
da expressão natural do som.
As emoções também têm papel importante na comunicação humana. No contexto
natural, utilizamos várias informações do ambiente para conseguirmos detectar emoções
em suas expressões. Assim, é seguro afirmar que a fala é um dos elementos relevantes
ao se tentar observar quais emoções estão sendo expressadas por um interlocutor. Nesse
contexto, existem trabalhos que afirmam que emoções são expressas diferentemente pela
fala humana e que ouvintes são capazes de corretamente inferir o estado emocional de um
interlocutor apenas com a informação da voz [8]. Adicionalmente, existem trabalhos que
demonstram que é possível inferir a emoção expressada por uma representação digital
5
de uma fala, com diferentes técnicas de inteligência artificial [11] [12] [17]. Assim, são
confirmadas duas suposições importantes para este trabalho: (i) É possível inferir o estado
emocional de um interlocutor apenas com a informação da fala; e (ii) é possível solucionar
a tarefa de reconhecimento de emoção na voz por técnicas de IA.
Uma das formas de se organizar o conjunto de emoções é observada no Modelo Circum-
plexo, introduzido por Russel em [22] e ilustrado na Figura 2.1. Esta Figura apresenta
um conjunto de emoções dispostas em um círculo, com valores de prazer expressos no
eixo horizontal e valores de excitação expressos no eixo vertical, sendo que o centro do
círculo representa um estado de neutralidade quanto à excitação e prazer. Dessa forma, as
emoções que se encontram próximas umas das outras, na disposição circular, apresentam
maiores correlações, seja pela proximidade dos valores de excitação ou de prazer. Este
modelo aponta que as emoções apresentam diversas semelhanças quanto às suas caracte-
rísticas e que uma completa distinção entre elas não é possível. Essa noção é essencial
para o trabalho, pois evidencia um padrão importante em relação à expressão de emoções.
Figura 2.1: Modelo Circunflexo de Russel para emoções apresentado em [22], adaptado
para língua portuguesa
2.2 Aprendizagem de Máquina
Aprendizagem de Máquina (ML) é uma subárea de estudos de IA, definida [23] como o
campo de estudos de agentes inteligentes. Os agentes inteligentes são módulos que recebem
6
alguma informação do ambiente e tomam ações baseadas nas informações recebidas.
Atualmente, a ML é tratada como um conjunto de ferramentas e técnicas que podem
ser utilizadas no reconhecimento de padrões para a solução de problemas. Para esses
tipos de tarefa, ao utilizar algoritmos de ML, tentamos construir uma aproximação boa
o suficiente dos padrões de entrada, mas que, ao serem expostos a novos exemplos, ainda
retornem os resultados desejados. Logo, o funcionamento desses algoritmos não deve
simplesmente construir uma função que mapeie os pares de entrada-saída conhecidos,
mas que o faça de forma a manter um certo grau de generalização.
Em síntese, a aplicação de ML tem como objetivo construir algoritmos que otimizem
uma métrica de performancedefinida, pelo uso de dados de exemplos ou experiências
prévias [24]. No seu núcleo, técnicas de ML utilizam métodos estatísticos e modelos
matemáticos para construir inferências ou generalizações baseadas nos exemplos de trei-
namento.
ML pode ser utilizada para realizar uma vasta gama de tarefas. Para este trabalho,
utilizamos a ML para realizar a tarefa de classificação. Classificação é a tarefa de
predição dos respectivos rótulos das instâncias de entrada, sendo tais rótulos denominados
de dados de saída. No contexto deste trabalho, visamos a realizar a classificação das
entradas (áudios do conjunto de dados) com suas respectivas saídas (rótulos de emoção).
Os modelos de ML, denominados como classificadores, são modelos que, dado um
conjunto de rótulos de tamanho n {y1, y2, y3, . . . , yn} e um conjunto de dados de entrada
de tamanho m {X1, X2, X3, . . . , Xm}, têm como finalidade reproduzir um algoritmo que
seja capaz de conectar uma entrada qualquer Xk com seu respectivo rótulo. No contexto
deste trabalho, o conjunto de rótulos {y1, y2, y3, . . . , yn} seria as emoções abrangidas pelo
conjunto de dados VERBO [21], sendo elas: (i) alegria, (ii) nojo, (iii) medo, (iv) neutro,
(v) raiva, (vi) surpresa e (vii) tristeza. O conjunto de entrada X = {X1, X2, X3, . . . , Xm}
requer mais explicações. Como citado anteriormente, a ML utiliza-se de métodos esta-
tísticos e modelos matemáticos para reproduzir um algoritmo que mapeia o conjunto de
entrada com o conjunto de saída. Desta forma, é necessário que os dados de uma ins-
tância Xi|Xi ∈ X sejam valores numéricos. Consequentemente, todos os modelos de ML
necessitam de uma representação numérica dos dados de entrada. Além disso, no caso de
um modelo classificador, é necessário que essa representação consiga descrever as caracte-
rísticas que distinguam as instâncias de uma classe das instâncias de outra. Logo, para os
dados de entrada, é necessário realizar a escolha de quais informações dentro dos dados é
importante para a resolução do problema para compor o conjunto de dados de entrada.
Os valores que compõem uma instância Xi de X são chamados de features.
As features são as características que compõem uma instância do conjunto de en-
trada {X1, X2, X3, . . . , Xm}, julgadas relevantes para a distinção dentre classes possíveis
7
do conjunto de saída do problema, por exemplo, para um modelo que tenha como ob-
jetivo fazer a previsão do tempo do dia atual. Suponha que as informações necessárias
para determinar se vai chover ou não sejam a temperatura atual, a pressão atmosférica
e a umidade do ar. Logo, o conjunto de informações de temperatura atual, pressão at-
mosférica e umidade do ar são as features do conjunto. Para outras tarefas, não é tão
simples determinar quais informações são relevantes para entrar no conjunto de dados.
As features utilizadas para o desenvolvimento deste trabalho serão exploradas em seções
posteriores.
2.2.1 Aprendizagem Supervisionada
Existem múltiplas abordagens apresentadas na literatura para construir um modelo classi-
ficador. Para o desenvolvimento deste trabalho, foi utilizada uma abordagem denominada
de Aprendizagem Supervisionada.
A Aprendizagem Supervisionada é um dos tipos de aprendizagem de IA. Para essa
abordagem de aprendizagem, é necessário possuir conhecimento prévio de exemplos de
entrada-saída. Por exemplo, a base de dados utilizada para o desenvolvimento deste
trabalho possui exemplos de arquivos de áudios e suas respectivas emoções representa-
das, que representam respectivamente, as possíveis entradas e saídas desta abordagem.
O objetivo deste método de aprendizagem é conseguir mapear os dados de entrada com
saídas desejadas, com base em um conjunto de exemplos, denominado de conjunto de
treinamento, ou seja, de entrada-saída já conhecidos [3]. Os algoritmos de Aprendizagem
Supervisionada analisam o conjunto de treinamento para inferir uma função que, em se-
guida, é utilizada para mapear um outro conjunto, denominado de conjunto de validação,
para, consequentemente, avaliar a função inferida.
2.2.2 Métricas de avaliação
Um detalhe importante para a construção deste trabalho é detalhar algumas métricas da
avaliação para a performance de algoritmos de ML. Estas métricas são importantes pois
permitirão a comparação da arquitetura do DEEP com outros modelos para a classificação
de emoção na voz. Na lista abaixo, temos uma lista de variáveis que serão utilizadas para
calcular as métricas de avaliação:
• Verdadeiros Positivos (VP): Classificação correta das classes positivas
• Verdadeiros Negativos (VN): Classificação correta das classes negativas
• Falsos Positivos (FP): Erro em que o modelo previu uma classe positiva, quando
o valor real pertencia a classe negativa
8
• Falsos Negativos (FN): Erro em que o modelo previu uma classe negativa, quando
o valor real pertencia a classe positiva
Tendo-se a lista de variáveis, podemos agora detalhar as fórmulas para o cálculo das
principais métricas de avaliação.
• Acurácia: Indica a performance geral do modelo
acurácia = V P + V N
V P + FP + V N + FN (2.1)
• Precisão: Dentre as classificações positivas que o modelo fez, quais foram corretas
precisão = VPVP + FP (2.2)
• Sensibilidade: Dentre todas as classificações positivas esperadas, quantas foram
corretas
sensibilidade = VPVP + FN (2.3)
• F1-Score: Média harmônica entre precisão e sensibilidade
F1− Score = 2*precisão*sensibilidadeprecisão + sensibilidade (2.4)
2.3 Redes Neurais
O termo Rede Neural deriva historicamente das tentativas de modelar e representar o
processo de aquisição de conhecimento por computador, baseando-se no processo biológico
de aprendizagem [25].
A base das redes neurais é composta pelos chamados perceptrons. As redes neurais
são uma forma de ML, logo, também possuem a mesma finalidade: mapear um conjunto
de entrada {X1, X2, X3, . . . , Xm} a um conjunto de saída {y1, y2, y3, ..., yn} através de
uma função. Mais especificamente, redes neurais como as Multi-Layer Perceptrons, estas
pertencem ao ramo de DL e realizam o reconhecimento de padrões à níveis bem mais
profundos. Os Perceptrons realizam esse processo nas redes neurais, como demonstra a
Figura 2.2.
A rede neural é representada como um conjunto de nós e arestas. Cada nó possui
um valor, que é denominado valor de ativação, e arestas que conectam cada nó com
todos os outros nós da camada seguinte, chamadas de pesos. Os valores de ativação
9
Figura 2.2: Arquitetura básica de um Perceptron
estão contidos entre os valores 0 e 1 e são análogos à representação de valores de bits: 0
representa um nó "totalmente desativado" e 1 representa um nó "totalmente ativado".
Contudo, as redes neurais podem possuir uma grande quantidade de perceptrons. Para
as chamadas Multi-Layer Networks, elas agrupam os perceptrons em organizações deno-
minadas de camadas, de modo que utilizam múltiplas camadas intermediárias entre a
entrada e a saída. Essa forma, apresentada na Figura 2.4, é a apresentação tradicional de
uma rede neural, na qual existe uma série de nós interconectados por arestas (pesos) em
múltiplas camadas subsequentes.
Será utilizada a arquitetura ilustrada na Figura 2.2 para explicar como funciona o
processo de treinamento de uma rede neural. Assim, considere que esse perceptron está
sendo utilizado para determinar se um áudio expressa ou não a emoção alegria. A entrada
X = [x0, x1, x2, . . . , xm] sendo passada para este perceptron corresponde às m features
de uma instância do conjunto de dados, e o valor de saída y ∈ {0, 1} representa se a
instância X pertence ou não à classe alegria, sendo 1 o valor positivo e 0 o valor negativo.
Na camada de entrada, não existe transformação ou cálculo dos dados, sua função é
transmitir as m features para o nó seguinte. Os pesos, representados na imagem como
o conjunto {w0, w1, . . . , wm}, são os responsáveis por transmitir as features relevantes
para as camadas seguintes. Se, por exemplo, é sabido que a feature x1 não é relevante
para a classificação, o peso da arestaw1 provavelmente teria um valor próximo de 0.
Isso acontece, pois, para transmitir os valores de features para os nós subsequentes, são
multiplicados o valor da feature com seus pesos respectivos. No caso apresentado, o cálculo
de transmissão para um nó se dá pela Equação 2.5, ou a forma genérica de transmissão
dos valores de ativações para k nós da camada seguinte pela Equação 2.6.
x0w0 + x1w1 + · · ·+ xmwm (2.5)
10

x0
x1
x2
. . .
xm


w00w01 . . . w0m
w10w11 . . . w1m
w20w21 . . . w2m
. . .
wk0wk1 . . . wkm

(2.6)
Entretanto, como citado anteriormente, os valores de ativação desse exemplo são con-
tidos no intervalo {0, 1}. Esse é um problema comum em algoritmos de ML, pois, em
modelos classificadores, os valores de saídas são limitados pela quantidade de classes pos-
síveis do problema. Para solucionar tais problemas, existe uma gama de funções que
podem ser aplicadas nos valores de ativação para limitá-los dentre os valores desejados de
saída. Para o exemplo detalhado anteriormente, em que os valores de saída estão contidos
em {0, 1}, é possível aplicar funções de ativações, como a função softmax para delimitar
os valores de saída.
Após o processo de transmissão das features entre as k camadas de uma Rede Neural,
é obtido no final um valor predito y. Isso significa que esse classificador fez a predição
da instância do conjunto de dados Xi, representado pelas features {x0, x1, . . . , xm}, per-
tencente à classe yi. No processo de treinamento supervisionado de modelos de Redes
Neurais, temos um conjunto previamente conhecido de pares entrada-saída, então, no fi-
nal do cálculo de transmissão, também é conhecido o valor esperado de yi. Assim, após
cada instância, é calculado o erro de treinamento, subtraindo o valor esperado de yi do
valor obtido. Ao final do treinamento de todas as instâncias do conjunto de treinamento, é
calculada uma média de todos os erros. O objetivo final do treinamento das redes neurais
é minimizar ao máximo o valor da métrica de erro, ajustando os valores dos pesos como
uma função do valor do erro da etapa anterior do treinamento.
Um dos motivos do porquê Redes Neurais se apresentam como uma interessante forma
de resolução de problemas de IA é a capacidade de extração de informações a partir dessa
arquitetura básica. Ao adicionar mais camadas a uma arquitetura de Redes Neurais, é
esperado que os nós de camadas intermediárias, chamadas hidden layers, sejam capazes
de identificar padrões nos valores das features que são relevantes à classificação e consigam
minimizar o erro geral da arquitetura a partir da manipulação dos valores dos pesos da
rede. Por conta dessa abordagem, o treinamento de Redes Neurais se beneficia da grande
quantidade de dados, por isso se torna uma alternativa interessante para lidar com dados
de alta dimensionalidade.
11
2.3.1 Redes Neurais Convolucionais
As Redes Neurais Convolucionais, ou do inglês Convolutional Neural Networks (CNNs),
são uma abordagem dentro das Multi-Layer Networks. Nessa abordagem, as camadas de
nós possuem uma representação tridimensional, normalmente representada como altura ×
largura × profundidade, na qual a altura e largura são valores escolhidos para arquitetura
e a profundidade está relacionada com a quantidade de features, o que as torna próprias
para tarefas como análise de imagens ou de séries temporais, como no caso deste trabalho.
Entretanto, o que define as CNNs é a operação de convolução. A convolução é um filtro
usado para mapear os valores de ativação de uma camada para a próxima. A operação
de convolução utiliza um filtro de pesos tridimensional com a mesma profundidade da
camada atual, mas com altura e largura menores. Os valores da camada seguinte serão
o produto dentre este filtro de pesos aplicados ao bloco de altura × largura da camada
seguinte. O processo de convolução está exemplificado na Figura 2.3. Na Figura 2.3, é
ilustrada uma camada de entrada com altura 100, largura 100 e 128 de profundidade, e
um filtro de pesos com altura 20 e largura 20. A convolução será aplicada em todo espaço
na camada seguinte que possuir as dimensões do filtro de pesos.
Figura 2.3: Ilustração do processo convolucional, seguido por camadas de classificação.
12
Figura 2.4: Exemplo de Rede Neural
2.4 Hiper Parametrização e Hyperopt
Os algoritmos de Aprendizagem de Máquina comumente apresentam uma gama de
variáveis configuráveis que podem alterar significativamente os resultados de um modelo.
Essas variáveis configuráveis são chamadas de hiper parâmetros.
Uma tarefa essencial ao se construir modelos de ML é encontrar os melhores hiper
parâmetros para seu respectivo modelo. Uma problemática na utilização de modelos de
Redes Neurais é que, o reconhecimento de quais hiper parâmetros são os mais importan-
tes para o treinamento é complicado, devido à quantidade de possíveis hiper parâmetros
e configurações de camadas. Outra problemática em relação à escolha dos hiper parâ-
metros é que esse é um processo que deve ser feito antes do treinamento dos modelos.
Os algoritmos de ML, assim como quaisquer algoritmos computacionais, requerem algum
custo computacional para operar, tanto de utilização de CPU quanto de tempo de pro-
cessamento, sendo estes algoritmos notoriamente custosos. Logo, uma pessoa que deseja
avaliar diversas configurações necessita esperar o tempo do processo de treinamento para
testar configurações de hiper parâmetros diferentes.
Além disso, as configurações de hiper parâmetros são altamente dependentes do do-
mínio do problema a ser resolvido, do algoritmo de ML escolhido, dos dados a serem uti-
lizados, da abordagem do treinamento e de outras variáveis do ambiente do experimento.
Logo, não existe uma solução simples para determinar quais são os valores "ótimos" para
13
qualquer tarefa de ML. Considerando a importância do processo de otimização de hiper
parâmetros, a literatura relacionada apresenta várias abordagens e ferramentas para a
realização desta tarefa.
O Hyperopt [26] é uma biblioteca de otimização de hiper parametrização para a lin-
guagem python. O objetivo do processo de hiper parametrização é procurar a melhor
configuração de hiper parâmetros para alguma determinada métrica de avaliação dentro
do espaço das possíveis configurações que podem ser construídas com os valores de hiper
parâmetros determinados. Os valores dos hiper parâmetros podem ser determinados como
um valor dentro de um intervalo ou um valor dentre uma lista fixa de escolhas. O hyperopt
oferece três escolhas de algoritmos para o processo de otimização dos hiper parâmetros,
dentre eles o Tree-structured Parzen Estimator, que foi o algoritmo usado neste trabalho.
O Tree-structured Parzen Estimator (TPE) 1 é uma abordagem de otimização sequencial
de modelos que consiste em sequencialmente construir modelos e, com base no histórico
das medidas de performance, consequentemente, escolher novos hiper parâmetros para
serem testados no modelo.
1https://optunity.readthedocs.io/en/latest/user/solvers/TPE.html
14
Capítulo 3
Trabalhos Relacionados
Neste capítulo serão apresentados os trabalhos relacionados a esta pesquisa e que foram
utilizados como referência para a construção deste. Em uma primeira instância, tais
trabalhos serão apresentados em ordem cronológica de suas publicações, evidenciando
seus objetivos, metodologias e limitações. Em seguida, é feita uma análise comparativa
entre o DEEP e os trabalhos relacionados, ressaltando semelhanças e diferenças, além de
destacar como este se propõe para lidar com as limitações da literatura atual.
A aplicação de modelos estatísticos e de algoritmos de aprendizagem de máquina para
o reconhecimento da fala vem sendo discutida em trabalhos acadêmicos desde o final
do século XX [27] [28]. A utilização destes para o reconhecimento de emoção na fala
também tem trabalhos datados do mesmo período [6] [7], porém ganharam mais espaço
apenas nos últimos anos, em especial de 2012 a 2020 [11] [12] [17] [18] [19] [20].Apesar da
popularização recente do tema, pouco foi publicado acerca do assunto em âmbito nacional,
de forma que a pesquisa de Neto et al.(2018) [21] é tomada como a única referência
brasileira, sendo esta utilizada para adquirir a base de dados de voz em português. Desse
modo, o DEEP se destaca de todos os outros trabalhos citados por ser o único que aborda
uma base de dados de voz em língua portuguesa.
No início da década de 1990, alguns trabalhos já consolidavam a possibilidade de re-
conhecimento da fala por máquinas. Juang e Rabiner (1991) [27] apresentam uma gama
de aplicações da tecnologia em seu artigo expositivo, a exemplo dos discadores de voz
para telefone, como consequência direta do grande avanço obtido por meio da utiliza-
ção de modelos estatísticos em sistemas de reconhecimento de fala. Dentre os sistemas
apresentados na pesquisa, os que utilizavam HMM, considerado estado da arte da época,
já alcançavam um alto grau de acurácia em tarefas como o reconhecimento de palavras.
Shannon, Zeng, Kamath, Wygonski e Ekelid (1995) [28] também estudam, em seu traba-
lho, metodologias para alcançar melhores performances na tarefa de reconhecimento de
15
palavras por voz, observando resultados quase perfeitos sob condições de grande redução
da informações espectrais. Pouco tempo depois, são publicadas as primeiras pesquisas que
exploram um novo viés, o reconhecimento de emoção na fala. Dellaert, Polzin e Waibel
(1996) [6], em seu trabalho pioneiro, se propõem a criar um modelo capaz de reconhe-
cer a emoção a partir de áudios de expressões gravadas. Para treinamento, utilizaram
uma base de mil expressões gravadas entre 4 possíveis emoções (alegria, tristeza, raiva e
medo), da qual realizaram a extração de features prosódicas dos áudios e as alimentaram
a vários algoritmos de aprendizagem supervisionada, obtendo um melhor resultado, em
termos de acurácia, com o KNN. Apesar de uma acurácia menor, em comparação com a
tarefa inicial de reconhecimento de palavras de [27] e [28], o resultado obtido reafirmava
a possibilidade de reconhecimento de emoção na voz com ML, porém, por se tratar de
um estudo piloto, a falta de conhecimento de features e de outros algoritmos de ML mais
apropriados, como os utilizados por trabalhos mais recentes e pelo DEEP, impactaram
diretamente nos resultados.
Outras pesquisas, além de utilizarem as features prosódicas, começaram a explorar
as features MFCC [7] [11]. Nesse cenário, Kwon, Chan, Hao e Lee (2003) [7] propõem
uma nova metodologia de reconhecimento de emoção na voz que melhor diferenciasse um
maior número de emoções de valor correlato, positivas ou negativas. Para isso, realizam a
extração de features MFCC e prosódicas de dois databases de voz, o SUSAS 1 e o AIBO 2,
alimentando-as a um classificador SVM. A utilização dessas features apresentou bons re-
sultados para o database SUSAS, que possui 4 classes de emoção de usuários sob condições
de stress (raiva, neutro, barulhento e lombard). Contudo, a pesquisa não obteve resultados
satisfatórios com o AIBO, que possui 5 classes de emoção (raiva, tédio, alegria, tristeza e
neutro), pois, apesar de terem encontrado features mais apropriadas para a tarefa, o mo-
delo para classificação por regressão utilizado, o SVM, não era robusto o suficiente para
distinguir o maior número de emoções correlatas, neste caso negativas: tédio, tristeza e
raiva, o que diminui a acurácia final. Outra pesquisa bem similar a esta foi a de Pan,
Shei e Shei (2012) [11] que também propôs a exploração de features MFCC e prosódicas
na tarefa de reconhecimento de emoção na voz. Nesta, foram utilizadas 2 bases de voz,
uma alemã e outra chinesa, e foram obtidos ótimos resultados com um classificador SVM,
ainda que ambas as bases utilizadas possuam apenas 3 classes de emoção (alegria, tristeza
e neutro). Assim, observa-se em ambos [7] [11] que a utilização de features prosódicas e
de MFCC com algoritmos de aprendizagem de máquina apresentou melhores acurácias
para até 4 classes de emoção, porém, para o reconhecimento de um maior número de
emoções e, consequentemente, de emoções mais correlatas, o SVM utilizado por ambas
1https://catalog.ldc.upenn.edu/LDC99S78
2http://www-gth.die.upm.es/research/documentation/AI-76Emo-02.pdf
16
ainda não abarca a complexidade exigida para maiores distinções, o que seria possível
com a aplicação de modelos de redes neurais, como as presentes no DEEP.
Dada a necessidade de exploração de modelos mais robustos, na bibliografia mais
recente, alguns trabalhos optam por estudar o impacto de algoritmos de DL no reconheci-
mento de emoção na voz [12] [16]. Na pesquisa de Han, Yu e Tashev (2014) [12], objetiva a
procura de modelos mais apropriados para a tarefa de reconhecimento de emoção na fala,
que possam superar os considerados estado-da-arte da época, entre estes os SVM. Nesta
busca, foram obtidos resultados que sugerem que a utilização de redes neurais, como as
DNNs (Deep Neural Networks), alcança acurácias 20% melhores em comparação aos de-
mais modelos de aprendizagem de máquina, como as SVM e as HMM. Em concordância
com o objeto de estudo da linha de pesquisa em questão, cabe citar também o trabalho
de Abdel-Hamid, Mohamed, Jiang, Deng, Penn e Yu (2014) [16], que tem como objetivo
a análise comparativa entre CNNs (Convolutional Neural Networks) e DNNs como clas-
sificadores para sistemas de reconhecimento de voz, observando uma redução na taxa de
erro de até 10% com a utilização das CNNs. Ambas as pesquisas [12] [16] sugerem ganhos
de performance com a utilização de redes neurais, seja em sistemas de reconhecimento de
voz ou de emoção na voz, entretanto, ainda que sejam mais apropriados para a tarefa de
reconhecimento de emoção na voz, a aplicação de apenas um modelo de rede neural para
distinguir as nuances de um maior número de emoções correlatas, como 7 ou 8 emoções,
ainda é insuficiente. Assim, neste caso, são exigidas arquiteturas ainda mais robustas,
como a de modelos híbridos ou a de modelos especialistas do DEEP.
O âmbito de reconhecimento de emoção na voz continua sendo bastante visado em
pesquisas atuais. No último ano (2019), foram publicadas diversas pesquisas sugerindo
a aplicação de modelos DL para a tarefa de classificação de emoção na voz com arquite-
turas mais robustas [17] [18]. Neste contexto, cita-se, em primeira instância, a pesquisa
de Huang, Wu, Hong, Su e Chen (2019) [17] cuja proposta refere-se a um modelo híbrido
para o reconhecimento de emoção na voz, o qual visou superar os resultados estado-da-
arte da base de voz chinesa NMINE 3. Nesta base, os pesquisadores se deparam com o
desafio de classificação de 7 emoções (alegria, desgosto, medo, neutro, raiva, surpresa,
tristeza), sendo necessária a diferenciação de um maior número de emoções correlatas,
como, por exemplo, tristeza, medo, raiva e desgosto, as quais estão posicionadas na po-
laridade negativa de acordo com o Modelo Circumplexo de Russel [22]. Assim, para
superar o estado-da-arte de algoritmos tradicionais de DL nesta base, como um único mo-
delo LSTM (Long-Short Term Memory) ou CNN, os pesquisadores sugerem a extração
de ambos os aspectos verbais e não verbais da fala para classificação, o que seria possível
3https://www.researchgate.net/publication/322876066N NIMET heN THU −
NTUAChineseinteractivemultimodalemotioncorpus
17
utilizando uma arquitetura híbrida: uma CNN para extração das features e uma LSTM
(Long-Short Term Memory) para classificação. O modelo híbrido superou o resultado dos
modelos tradicionais de DL. Outra pesquisa neste viés é a de Zhao, Mao e Chen (2019)
[18], essa que estuda, também, ganhos de performance na aplicação de um modelo de ar-
quitetura híbrida para a classificação. Nesta pesquisa, duas bases são utilizadas, a Berlin
EmoDB 4, uma base de dados alemã com 7 classificações de emoção (alegria, desgosto,
medo, neutro, raiva, ansiedade, tédio), e o IEMOCAP 5, uma base de dados em inglês
com 8 classificações de emoção (alegria, surpresa, desgosto, medo, neutro, raiva, frustra-
ção, tédio).O ganho de performance é observado ao se utilizar uma arquitetura híbrida
2D CNN-LSTM ao invés de somente uma DBN (Deep Belief Network) ou uma CNN, em
ambas as bases. Percebe-se em ambas pesquisas [17] [18] que a aplicação de arquitetu-
ras mais robustas, como as híbridas, pode acarretar em ganhos de performance quando
comparados a um único modelo de DL. Todavia, deve-se colocar que a aplicação destes
modelos sequencialmente pode propagar os erros do primeiro modelo para os próximos.
O DEEP ataca diretamente este problema ao utilizar de uma arquitetura de modelos
especialistas para cada emoção, de modo a estabelecer uma conexão não sequencial, e,
sim, paralela, visando diminuir o número de falsos positivos dos resultados.
Pesquisas deste ano também estão procurando novas metologias que superem a perfor-
mance de modelos únicos, dando foco não somente em arquiteturas mais robustas como
em conjuntos de entrada diferentes dos tradicionais, que utilizam somente de features
prosódicas e MFCC [19] [20]. Ho, Yang, Kin e Lee (2020) [19] em sua pesquisa se pro-
põem a criar uma metodologia que alcance melhores resultados do que a alcançada por
modelos únicos em 3 bases: a IEMOCAP, a MELD 6 e a CMU-MOSEI 7. Para isso,
os pesquisadores utilizam duas modalidades de input, texto e áudio. Para o áudio, re-
alizam a extração de features MFCC utilizando a ferramenta opensmile, enquanto que
as informações textuais são extraídas utilizando o modelo pré-treinado BERT (Bidirec-
tional Encoder Representations from Transformers). Ambas as representações de áudio
e texto são alimentadas, através de um mecanismo MLMHFA (Multi-Level Multi-Head
Fusion Attention ) em dois fluxos de RNNs (Recurrent Neural Networks), garantindo,
assim, os ganhos de performance desejados. Outra pesquisa que se propõem a avaliar
ganhos de performance com conjuntos de entrada distintos dos tradicionais é a de Kwon
e Mustaqeem (2020) [20]. Nesta, os pesquisadores alimentam uma variante de CNN,
uma DSCNN (Deep Stride Convolutional Neural Network), com inputs de imagem de
espectogramas gerados a partir dos áudios das bases de dados IEMOCAP e RAVDESS
4http://emodb.bilderbar.info/start.html
5https://sail.usc.edu/iemocap/
6https://affective-meld.github.io/
7https://github.com/A2Zadeh/CMU-MultimodalSDK
18
8, conquistando acurácias um pouco mais altas do que outros trabalhos estado-da-arte.
Percebe-se, assim, com [19] e [20], que a busca de melhores performances também envolve
a exploração de novas features, contudo, ambos os trabalhos restringem a utilização das
metodologias sugeridas para databases que possuam informações além das de áudio, exi-
gindo a aplicação de modelos adicionais, e igualmente complexos, para converter a voz em
imagem ou texto, caso estas informações não existam. Esta maior complexidade dificulta
que tais metodologias sejam replicadas para aplicações de áudio somente. Desse modo, o
DEEP facilita a resolução da problemática ao, simplesmente, adicionar uma nova feature
de voz, as features cromáticas, visando a otimização.
3.1 Discussão dos Trabalhos Relacionados
A partir da leitura dos trabalhos relacionados, observa-se que o tema de reconhecimento
de emoção na fala, apesar de recente, teve grandes avanços na descoberta de features e
algoritmos mais apropriados para a tarefa, mas que, como evidenciados na literatura mais
atual, ainda necessitam de mais estudo para a obtenção de melhores resultados.
Percebe-se, pelos trabalhos mais recentes (2019-2020), o desafio de se encontrar ar-
quiteturas mais robustas para a classificação, capazes de superar as atuais acurácias con-
sideradas estado-da-arte para as diferentes bases de dados utilizadas. Neste sentido, o
trabalho aqui proposto converge com os trabalhos atuais, porém, diferencia-se quanto ao
design da arquitetura proposta e a linguagem em foco. Diferentemente de [17] e [18], que
sugerem a aplicação de modelos híbridos CNN-LSTM, o DEEP propõe uma arquitetura
composta por classificadores CNN especialistas para cada emoção, com o intuito de não
propagar os erros, como pode ocorrer ao se colocar modelos sequencialmente.
Na busca de novas metodologias, o DEEP também converge com [19] e [20] na ex-
ploração de entradas diferentes das tradicionais, que contém somente features prosódicas
e MFCC. Ao contrário de [19], que incorpora entradas de texto, e [20], que incorpora
entradas de imagem dos espectogramas, o DEEP acrescenta uma nova feature de áudio,
as cromáticas, estas que carregam consigo características tonais do som, visando otimizar
o processo que exigiria a adição de modelos para a conversão de voz em áudio e imagem.
Além dos fatores mencionados, o DEEP também se diferencia de [17], [18] [19] e [20],
por ser o único modelo treinado para o reconhecimento de emoção na fala em língua
portuguesa.
Na Tabela 3.1 são expostas as principais características das metodologias de reconhe-
cimento de emoção na voz utilizadas nos trabalhos relacionados e no DEEP, separando
arquiteturas tradicionais, que utilizam de um único modelo de ML, de novas arquitetu-
8https://www.kaggle.com/uwrfkaggler/ravdess-emotional-speech-audio
19
ras mais robustas, como arquiteturas híbridas, variantes ou especialistas. Também são
separados conjuntos de entradas tradicionais para a tarefa, como as features prosódicas
e MFCC extraídas do áudio, de novos conjuntos de entrada, como texto, imagens de es-
pectograma e features cromáticas do áudio. Por fim, também diferencia-se a linguagem
do database no qual os modelos foram treinados, separando língua portuguesa de línguas
estrangeiras.
Tabela 3.1: Comparação das metodologias dos trabalhos relacionados e do DEEP
Conjuntos de
entrada
tradicionais
Novos conjuntos de entrada Arquiteturastradicionais Novas arquiteturas
Linguagem do
Database
Trabalhos Prosódicas MFCC Cromáticas Texto Imagens ML (KNN,SVM)
DL (DNN,
CNN)
Híbridas
(CNN-
LSTM, 2D
CNN-
LSTM)
Variantes
(MLMHFA
RNN,
DSCNN)
CNNs es-
pecialistas
Línguas
estrangei-
ras (inglês,
chinês,
alemão)
Língua
portuguesa
Dellaert e
outros
(1996) [6]
X X X
Kwon e
outros
(2003) [7]
X X X X
Pan e
outros
(2012) [11]
X X X X
Han e
outros
(2014) [12]
X X X X
Huang e
outros
(2019) [17]
X X X X
Zhao e
outros
(2019) [18]
X X X X
Ho e
outros
(2020) [19]
X X X X
Kwon e
Mus-
taqeem
(2020) [20]
X X X
DEEP
(2020) X X X X X
Percebe-se que o DEEP se diferencia dos trabalhos mais recentes ao utilizar tanto
uma arquitetura quanto um conjunto de entrada diferentes dos já abordados na litera-
tura. Adicionalmente, adotamos como objetivo realizar a tarefa de reconhecimento de
emoção na fala com o conjunto de dados na língua portuguesa, por não terem sido encon-
trados trabalhos na literatura que tenham realizado esta tarefa. Tal objetivo só é possível
devido à recente publicação do trabalho de Neto, José e Filho (2018) [21] que contempla a
construção de uma base de dados de emoção na voz em língua portuguesa, o VERBO. Por
se tratar de uma base de dados nova, o estudo dos ganhos de performance da arquitetura
proposta exige, também, a comparação dos resultados com o de arquiteturas tradicio-
nais de um único modelo treinados na mesma base, no caso, utilizando-se de apenas um
classificador CNN.
20
Capítulo 4
Uma arquitetura para o
reconhecimento de emoção na voz
em língua portuguesa
Neste capítulo é apresentada, em uma primeira instância, a estratégia adotada para
o reconhecimento de emoções com base em padrões presentes no espectro sonoro gerado
pela voz de falantes da língua portuguesa, o DEEP. Para tanto, o dataset escolhido, a
extração das features e como o pré-processamento dos dados que foram utilizados para
o desenvolvimento deste projeto serão descritos. Logo após, é apresentado o DEEP,
detalhando-se a metodologia utilizada na sua modelagem. Ao final, especulamos sobre as
possíveis aplicabilidades do DEEP em diversas áreas.
4.1 Visão geral da estratégia para desenvolvimento
da proposta
Na Figura 4.1 é apresentada a estratégia adotada para a modelagem do DEEP. Como
apresentado na Figura4.1, três etapas principais são necessárias para o reconhecimento
das emoções pelos padrões de fala: (i) aquisição de informações, (ii) extração de caracte-
rísticas e (iii) detecção das emoções.
A primeira etapa, Figura 4.1, Rótulo A - aquisição de informações, refere-se a ne-
cessidade da coleta de dados de voz devidamente categorizados para que seja possível a
aplicação de métodos de aprendizagem de máquina supervisionado para o reconhecimento
de emoção em fala de forma automática. Visando à isso, utilizamos a base de dados de
emoção VERBO [21], a qual é composta por áudios falados na língua portuguesa do
Brasil.
21
Figura 4.1: Visão geral da proposta
Na etapa seguinte, Figura 4.1, Rótulo B, refere-se a extração do conjunto de carac-
terísticas (features) dos sinais de áudio presentes na base de dados. Tais features serão
utilizadas como entrada para o DEEP. Pela leitura dos trabalhos relacionados, foram iden-
tificados as principais features aplicadas em modelos computacionais para reconhecimento
de emoção e fala, entre elas: features MFCC, Prosódicas e Cromáticas. Assim, o primeiro
passo para criar um conjunto de entrada adequado aos modelos da arquitetura proposta
é a extração destas características e formação de um conjunto de dados reunindo essas
informações, que será o dataset utilizado no desenvolvimento deste projeto. Em seguida,
o conjunto destas features passa por uma etapa de pré-processamento, para enfim, ser
adequada para utilização como entrada para os modelos.
Na etapa final, Figura 4.1, Rótulo C, o modelo proposto recebe as características
como entrada e identifica as emoções com base em padrões do espectro sonoro da fala que
foram utilizados como entrada. Neste trabalho optou-se pela arquitetura de CNNs para a
criação dos modelos de classificação, seguindo uma metodologia de modelos especialistas
22
para cada emoção, ao invés de um modelo geral para o reconhecimento de todas as emoções
analisadas. A seguir, cada etapa será apresentada.
4.2 Aquisição de informações da base de conheci-
mento
O primeiro passo no desenvolvimento de um modelo para o reconhecimento de emoções
é a aquisição de uma base de dados de emoções. Para tanto, foi utilizado o dataset
Voice Emotion Recognition dataBase in Portuguese language (VERBO) [21]. A decisão
de utilizar o VERBO para o desenvolvimento deste trabalho se deu, principalmente, pela
inexistência de classificadores de emoção para a voz em língua portuguesa, que, como
levantado em [21], é a sexta língua mais falada do mundo, permitindo, assim, que países
que possuam a língua portuguesa como idioma oficial possam ter um maior proveito desta
tecnologia.
O VERBO é uma base de dados composta por 1176 arquivos de áudio com diferentes
emoções na língua portuguesa do Brasil [21], que foi criada no Instituto de Matemática
e Ciências da Computação da Universidade de São Paulo, ICMC-USP. O VERBO é
composto por áudios balanceados foneticamente que variam de 2 à 5 segundos, gravados
por doze atores brasileiros de diferentes idades e regiões, sendo seis homens e seis mulheres.
Os áudios gravados são compostos por quatorze frases que foram validadas por um
profissional linguístico cobrindo todos os fonemas da língua portuguesa. As emoções
representadas no VERBO são as seis emoções básicas proposto por Russel [22]: (i) alegria,
(ii) nojo, (iii) medo, (iv) raiva, (v) surpresa e (vi) tristeza. Além destas, foi feita a adição
de um sétimo estado emocional, denominado de (vii) neutro. O modelo circumplexo de
Russel caracteriza e dispõe as emoções pelo seu nível de excitação e prazer [21], como
apresentado na Figura 2.1. O modelo de Russel permite a compreensão das emoções
de forma interconectada, e não somente individual, relacionando-as com base em suas
proximidades apresentadas dentro do círculo.
4.3 Extração de características (features)
Nesta seção, é apresentada como foi realizada a extração das características do VERBO
para o reconhecimento de emoções pelos padrões de fala da língua portuguesa. Inicial-
mente, é apresentada como a representação bidimensional do sinal foi implementada. Em
seguida, é apresentada como a extração das features foi executada. Por fim, é apresentado
o pré-processamento sobre as features extraídas dos áudios. Para realizar a extração das
23
features deste projeto, utilizamos a ferramenta OpenSMILE [29]. Esta ferramenta tam-
bém foi utilizada na extração de features de áudios para reconhecimento de emoção na
voz em trabalhos recentes como o de Ho, Yang, Kin e Lee (2020) [19].
4.3.1 Representação bidimensional do sinal
O modo como as frases são pronunciadas levam a inúmeras interpretações pelo ouvinte.
As emoções expressas pela voz podem ser diferenciadas do sinal de voz e como o espec-
tro de energia do sinal se comporta. Isso significa que emoções cuja expressão vocal é
caracterizada por exaltação e choro tendem a carregar mais energia do que emoções cuja
expressão é mais suave.
A arquitetura aqui proposta realiza a detecção de emoções por meio de métodos de
DL, estes que necessitam de uma representação numérica que expresse as informações ne-
cessárias dos dados de entrada para que seja possível determinar padrões de aprendizagem
para o modelo. Em razão disso, é necessário representar as informações dos áudios do
conjunto de dados de entrada de forma que expressem informações relevantes às emoções
de forma numérica; as features do nosso modelo.
Portanto, o principal objetivo da etapa de extração de características é transformar
os arquivos de áudio, que estão no formato .wav, para uma representação bidimensional,
expressando o tempo e outras informações relevantes de cada feature em específico. Isso
segue verdade para todas as features selecionadas para o trabalho que neste caso são:
MFCC, Cromáticas e Prosódicas. Para o MFCC, teremos um conjunto de coeficientes
Cepstrais de Frequência Mel ao decorrer do tempo, para as features Cromáticas, teremos
informação da classificação tonal do áudio ao decorrer do tempo e para as features Prosó-
dicas temos informações de entonação, estresse, tremor e ritmo, ao decorrer do tempo. A
Figura 4.2 apresenta o processo de extração das features, elucidando as três pré-processos
de extração, (i) Enquadramento, do inglês framing, (ii) criação de janelas, do inglês win-
dowing e (iii) transformada rápida de Fourier, don inglês Fast Fourier Transform (FFT),
que são necessários para se obter a representação bidimensional dos áudios e, então, ser
possível extrair as features desejadas: MFCC, Prosódicas e Cromáticas.
O processo começa com a etapa de Enquadramento, Figura 4.2, Rótulo A. Nesta pri-
meira etapa, dividimos o sinal do áudio em diversos quadros, ou frames, com o objetivo
de produzir unidades de frequências que podem ser processadas e analisadas individual-
mente, ao invés de analisar o áudio inteiro de uma só vez. A divisão dos quadros é feita
por valores fixos do seu comprimento e do intervalo entre quadros. Normalmente, estes
valores são determinados para que haja algum grau de sobreposição entre os quadros.
Por meio de uma visão holística, escolhemos quadros com 50ms de comprimento e com
intervalos de 10ms, como apresentado na Figura 4.3.
24
Figura 4.2: Processo de extração de features
A etapa seguinte é a de Windowing, Figura 4.2, Rótulo B. Nesta, para eliminar algum
tipo de distorção ou descontinuidade presente no espectro do sinal, é aplicado uma função
de janela de Hamming com ganho unitário para a obtenção de esquadrias com arestas
atenuadas em relação ao centro para cada quadro. Este tipo de pré-processamento é
bastante utilizado em processos de análises de sinal que envolvem transformadas discretas
de Fourier para adaptar o sinal da janela ao padrão de sinal esperado como parâmetro
para a função. Como consequência da aplicação da função de janela de Hamming, as
informações que ficam nas extremidades de cada quadro são perdidas. Entretanto, isso
foi remediado pela sobreposição causada no processo de enquadramento ao escolher um
valor de intervalo entrequadros menor que o valor do comprimento do quadro.
Os processos supracitados são o pré-processamento necessário para a transformação do
sinal de áudio na representação bidimensional desejada. Tal representação é alcançada na
terceira etapa, com a aplicação da FFT, Figura 4.2, Rótulo C, que é uma implementação
otimizada em termos de tempo de execução da transformada discreta de Fourier, do inglês
Discrete Fourier transform (DFT).
4.3.2 Extração de features utilizando OpenSmile
Tendo-se, agora, a representação bidimensional do sinal, tem-se o necessário para os
passos mais específicos inerentes à extração de cada uma das features selecionadas. Para
tanto, estas features são detalhadas a seguir:
• MFCC : Além de ser uma das formas de representação espectral do som, é uma das
features mais aplicada para tarefas de reconhecimento de fala [30] [31] e de emoção
25
Figura 4.3: Processo de enquadramento
na fala [11] [7]. Os MFCCs são compostos por um conjunto de coeficientes, que co-
letivamente formam um MFC, Mel-Frequency Cepstrum, que é uma representação
da densidade espectral a curto prazo de um som. Para obter estes coeficientes, é re-
alizado o processo chamado de Mel-Frequency Wrapping. Sua ideia é de transformar
a saída da FFT em uma instância de uma escala Mel [32], que é uma escala cons-
truída baseada em tons que são perceptivelmente equidistantes ao ouvido humano.
Após o processo de Mel-Frequency Wrapping, aplicamos a Transformada Discreta
de Cosseno nos resultados obtidos do passo anterior. O objetivo desse passo é obter
o Cepstrum [33], que é utilizado para investigar estruturas e obter informação sobre
fala em um espectro.
• Cromáticas: A feature cromática é composta por doze classes tonais. A combinação
das informações relacionadas ao tom de um som é chamada de HPCP (Harmonic
Pitch Class Profiles), que descreve as características tonais do som. Tal feature
utilizada para análise musical, por exemplo, um método computacional para im-
provisação musical por meio da detecção automática da escala de acordes [34]. A
decisão de aplicá-la para a tarefa de reconhecimento de voz foi pautada na tona-
lidade da voz que auxiliou a distinguir as emoções, principalmente considerando a
diferença tonal da expressão de uma emoção por cada ator e atriz, diferente dos
trabalhos da literatura que não a utilizam.
26
• Prosódicas: A feature prosódica relaciona-se às características fonéticas e linguísti-
cas do som, as quais se associam com elementos interligados da fala, ao contrário
de segmentos fonéticos individuais. Tal feature utilizada em sistemas de reconheci-
mento de voz [6] [11] para informar sobre aspectos tais como entonação, tremulação,
estresse e ritmo. Com essa feature é possível compreender a sonoridade, a tremu-
lação e a afinação do discurso humano, padrões presentes no espectro sonoro que
auxiliaram no treinamento do modelo.
O resultado final do processo de extração são arquivos csv para cada uma das features.
Para o MFCC, o .csv contém treze coeficientes mel-cepstrais para cada um dos quadros
do arquivo de áudio de entrada. Para a Cromática, o .csv contém doze valores de peso
referentes a cada uma das doze possíveis classes tonais para cada um dos quadros do
arquivo de áudio de entrada. Para a Prosódica, o arquivo .csv contém valores de F0,
loudness, jitter e shimmer para cada um dos quadros do arquivo de áudio de entrada,
como apresentado na Tabela 4.1.
4.3.3 Pré-processamento
A Tabela 4.1 apresenta a descrição do Dataset obtido após a etapa de extração das
features. É este dataset que é utilizado no treinamento e validação do DEEP, como será
apresentado na Seção 5.1 no Capítulo 5 5.3.
Tabela 4.1: Descrição do Dataset construído com base no VERBO.
Descrição do Dataset
Features MFCC, Cromática e Prosódica
Número de quadros 540
Valores por quadro 13 MFCCs, 12 cromáticas e 6 prosódicas
Número de instâncias 1176
Valores Nulos Nenhum
Tarefas Associadas Classificação de emoção
Formato dos arquivos de áudio .WAV
Emoção (target) Neutro (0), Desgosto (1), Medo (2), Alegria (3),
Raiva (4), Surpresa (5), Tristeza (6)
Como ilustrado na Figura 4.2, o resultado do processo de extração das features são
arquivos csv separados para cada feature. Para compor o Dataset descrito na Tabela 4.1,
foram combinados os valores dos arquivos de csv das features MFCCs, Prosódicas e Cro-
máticas para cada áudio do conjunto de dados do VERBO. Desta forma, uma linha do
Dataset possui f quadros, e cada um destes quadros possuem 31 valores, sendo destes 13
valores de MFCC, 12 valores das features cromáticas e 6 valores das features prosódicas.
27
Para que este dataset fosse utilizado na etapa de treinamento, foi necessário um último
tratamento. Como citado na Subseção 4.3.1, os áudios foram divididos em uma série
de quadros menores e de tamanho fixo, sendo, em seguida, realizado a extração das
features desejadas para cada um destes quadros. Entretanto, como os áudios possuem
comprimento variável, a quantidade de quadros f e, consequentemente, a quantidade de
features extraídas para cada áudio variam, o que se torna um problema. A irregularidade
dos quadros não é uma tarefa trivial de ser resolvida, uma vez que para treinar o nosso
modelo todas as entradas devem está no formato matricial. Em razão disso, selecionamos a
entrada com o maior número de quadros f0 = 540, e, para cada entrada com menos de 540
quadros, realizamos o processo de padding, completando a entrada com valores nulos até
alcançar o número de quadros desejáveis. Como fizemos a extração de 31 características
totais (somando as features MFCC, Cromática e Prosódica), para cada quadro, o valor
nulo usado é uma matriz 1-dimensional com 31 valores 0.
4.4 DEEP - DEtection of voice Emotion in Portu-
guese language
Esta seção apresenta o DEEP, uma arquitetura para o reconhecimento de emoções com
base no espectro sonoro da voz de falantes da língua portuguesa. Com este modelo,
objetiva-se a aplicação de métodos de IA e aprendizagem supervisionadas para a tarefa
de reconhecimento de que emoção que um áudio expressa, replicando as categorizações
existente no dataset VERBO. Para tanto, o DEEP foi modelado com base em CNNs
especialista para reconhecimento de cada emoção, com o objetivo de conseguir distinguir
quais emoções um áudio pode ou não apresentar.
Uma vez apresentados, no Capítulo 3, os desafios de pesquisa e o estado da arte
relacionados ao desenvolvimento deste trabalho, o DEEP se destaca por combinar dife-
rentes features de Descritores de Baixo Nivel (MFCC, Cromáticas e Prosódicas) e pela
sua arquitetura inovadora contendo modelos especializados para cada emoção. Portanto,
o principal objetivo do DEEP é prover maior precisão para o reconhecimento de emoção
na voz com base em CNNs especialistas para cada emoção e da combinação de features de
Descritores de Baixo Nível, tendo com meta específica diferenciar de maneira significativa
as emoções humanas por meio de voz.
Serão abordados, em uma primeira instância, o design da arquitetura proposta para
o DEEP e, em seguida, a arquitetura e o processo de treinamento dos classificadores
especialistas que o compõem.
28
4.4.1 Design da arquitetura proposta para o DEEP
A Figura 4.4 apresenta o design da arquitetura do DEEP. Os dados de entrada deste
modelo são as features MFCC, Cromáticas e Prosódicas extraídas dos arquivos de áudio
presentes no VERBO. As entrada de dados contendo as features selecionadas é, então
alimentado aos modelos especialistas, sendo um modelo para cada emoção. Portanto, o
principal objetivo do DEEP é prover maior precisão para o reconhecimento de emoção com
base nas features analisadas, tendo com meta específica diferenciar de maneira significativa
as emoções humanas por meio de voz.
Figura 4.4: Design da arquitetura proposta para o DEEP
Cada modelo especialista no DEEP gera uma probabilidade para duas classes que
indicam se a emoção identificada pertence à categoria de sua especialidade ou não por
meio de uma camada de ativação final que utiliza de uma funçãosoftmax. Uma função
softmax é uma generalização de uma função logística para múltiplas dimensões, como
apresentada na Equação 4.1:
φi = e
Zi∑
j∈Group
eZj
(4.1)
Onde i representa o índice do neurônio de saída, j representa os índices de todos os
neurônios de um nível e Z designa o vetor de neurônios de saída. A função softmax é
utilizada pela rede neural para normalizar os dados de saída em uma distribuição proba-
bilística entre as possíveis classes da saída, que, neste caso, são duas para cada um dos
29
modelos especialistas. A partir dos dados de saída dos classificadores CNN, determina-se
uma das 7 categorias da emoção possíveis.
Para um melhor entendimento do design da arquitetura proposta, na próxima seção
são descritos, em mais detalhes, os classificadores especialistas.
4.4.2 Modelos especialistas para cada emoção
Para o desenvolvimento dos classificadores especialistas foram utilizadas CNNs, a qual
foram implementadas por meio de uma deep learning framework API para python deno-
minada Keras. Ressalta-se que este projeto foi todo desenvolvido em código aberto e está
disponível no Github 1.
CNNs são compostas por uma série de camadas de convolução, convolutional layers,
responsáveis pela extração e aprendizado de features adicionais ao filtrar as matrizes de
entrada seguido pelo conjunto de camadas totalmente conectadas, fully connected, de
classificação tradicional de redes neurais. CNNs, recentemente, vêm sido aplicadas em
sistemas de reconhecimento de fala com taxas de erro reduzidas em comparação a outras
redes neurais como as DNNs [16], característica que também foi observada neste trabalho
durante a etapa de modelagem e que foi crucial na escolha desta arquitetura.
Para uma melhor visualização do DEEP, a Figura 4.5 apresenta a arquitetura das
CNNs treinadas. Cada instância do dataset X utilizado de entrada, input, Figura 4.6
Rótulo A, que é o conjunto de features extraídas de um arquivo de áudio, está sendo re-
presentada pela imagem do espectrograma do áudio. Em seguida, as instâncias do input
passam por uma série de camadas de convolução, convolutional layers, Figura 4.6 Ro-
tulo B, sendo filtradas até chegarem nas camadas totalmente conectadas, fully connected,
Figura 4.6, rotulo C, para que seja feita a classificação.
Figura 4.5: Arquitetura CNN utilizada nos classificadores especialistas.
1https://github.com/lucasmoutinho/emotion-recognition-by-voice
30
A Figura 4.6, apresenta as camadas presentes nos modelos CNN especialistas. O
modelo é composto por uma camada de entrada, camadas de convolução e camadas to-
talmente conectadas. Uma explicação breve de cada uma destas camadas é feita em
seguida.
Figura 4.6: Detalhamento das camadas utilizadas na CNN dos classificadores especialistas.
1. Input Layer: Camada de entrada da CNN. Aceita dados no formato de entrada
(A,B,C), em que A corresponde ao número de linhas do dataset, B ao número de
colunas ou features e C ao número de canais na matriz de entrada. Os dados de
entrada para treino e teste são ajustados para este formato de entrada de matrizes
e padronizados para terem apenas 1 canal por se tratarem de dados de voz.
2. Convolution layer 1: Primeira camada de convolução da CNN. As camadas de
convolução são a principal característica das CNNs. Nestas são aplicados filtros
para ressaltar padrões encontrados nos dados de entrada, neste caso, enaltecendo
algumas informações das features extraídas dos áudios. A extração de features a
partir da matriz de input se dá por meio da aplicação de uma função matemática
que utiliza um parâmetro filter. O valor deste parâmetro é ajustado na etapa de
hiper-parametrização e varia para cada classificador.
3. Max Pooling layer 1: Primeira camada de mineração, pooling. Responsável por
reduzir o tamanho espacial da matriz, reduzindo o poder computacional necessário
31
para processar a feature e extraindo features dominantes. Seu parâmetro, pool size,
utilizado na redução foi determinado como 2 para todos os classificadores.
4. Dropout Layer 1: Primeira camada de dropout, que ignora uma quantidade de
neurônios para prevenir over-fitting. O parâmetro que especifica a taxa de dropout
é ajustado na etapa de hiper-parametrização e varia para cada classificador.
5. Convolution layer 2: Segunda camada de convolução da CNN. O valor do parâ-
metro filter desta camada é ajustado na etapa de hiper-parametrização e varia para
cada classificador.
6. Max Pooling layer 2: Segunda camada de mineração, pooling. Seu parâmetro,
pool size, utilizado na redução foi determinado como 2 para todos os classificadores.
7. Dropout layer 2: Segunda camada de dropout. O parâmetro que especifica a
taxa de dropout é ajustado na etapa de hiper-parametrização e varia para cada
classificador.
8. Global Avarage Pooling Layer: Camada de mineração que calcula a média de
cada feature mapeada ao final das camadas de convolução e alimenta o resultado
para uma camada totalmente conectada de classificação.
9. Dense layer: A única camada totalmente conectada da CNN. Alimenta a camada
de ativação para a classificação final da rede.
10. Softmax Activation layer: A camada de ativação do final da rede neural. Utiliza
uma função de ativação softmax para classificar entre as duas categorias possíveis de
outputs: 0 para indicar que não é a emoção desejada e 1 indicando que é a emoção
desejada.
4.5 Aplicabilidade da solução proposta
O DEEP foi desenvolvido com o intuito de poder ser aplicado em diversos contextos
práticos. O grande foco deste trabalho e, consequentemente, de todas as etapas abordadas
na seção de desenvolvimento é a implementação do DEEP, cuja arquitetura pode ser
visualizado na Figura 4.4. É de interesse dos autores deste trabalho não somente a análise
e a comparação das métricas obtidas com a arquitetura aqui proposta, como também
ressaltar a relevância das possíveis aplicabilidades deste modelo.
Análise de sentimentos por meio da voz é uma tarefa que vêm sendo cada vez mais
explorada no campo de IA, devido a sua vasta gama de possíveis aplicações. Dentre as
aplicações que o DEEP pode ser utilizado, menciona-se o seu uso em smart environments
32
[35] e smart assistants, como a Amazon Alexa [4], em que a aplicação computacional pode
ter comportamentos diferentes, dependendo da emoção do usuário.
A recomendação de serviços com base na emoção detectada na voz do usuário tam-
bém é uma das possibilidades. Na pesquisa de Mano et al.(2019) [5], é observado um
aumento de 60% na satisfação dos usuários ao se utilizarem de reconhecimento de emo-
ção para recomendação da próxima música em um aplicativo tocador de músicas. Além
dessa possibilidade, outra aplicação seria na utilização de serviços de telemarketing para
a detecção automática do nível de satisfação do cliente com o atendimento ou em siste-
mas de voz interativos, como os utilizados em centrais de atendimento, para a geração de
respostas customizadas, sendo que ambas opções são serviços que dependem de conversas
por telefone.
Outra aplicação diz respeito no uso do DEEP na legenda automática de vídeos e
vídeo-chamadas. Com a detecção de emoção é possível não somente transcrever o que foi
dito, mas como colocar a emoção do que foi falado. Esta informação extra da emoção nas
legendas é de muito valor, por exemplo, para grupos de pessoas com deficiência auditiva
para que possam ter um maior entendimento da conversa abordada em vídeo.
O reconhecimento de emoção na voz também pode ser utilizado em tecnologias de
fim lúdico, como videogames. Em jogos de tema musical, o jogador pode ter diferentes
respostas da plateia dependendo da emoção colocado ao se cantar uma música, tornando
a experiência proporcionada pelo jogo mais imersiva ao usuário. Um exemplo de detecção
de emoção na voz já utilizado para aumentar a imersão em um jogo é na série de jogos
de futebol Fifa, onde o juiz pode ter diferentes comportamento de acordo com o que o
jogador expressa na fala.
33
Capítulo 5
Resultados Experimentais
Neste capítulo, são apresentados os resultados

Continue navegando