A voz é uma característica intrínseca ao
ser humano, carregando consigo informações tanto fonético-linguísticas quanto informações
que podem ser utilizadas nas tarefas de reconhecimento de voz e do locutor. Este
trabalho apresenta uma análise da aplicação de métodos de aprendizagem de
máquina para o reconhecimento e identificação do gênero por meio da análise do
discurso e da frequência sonora, exibindo os resultados da aplicação dessas
técnicas, assim como a sua eficácia e seus índices de acerto. Foi utilizada uma
base de dados que possui 3168 instâncias e 21 atributos, sendo a maioria
relacionados à frequência sonora e suas variações.
Imagem: callcenterhelper.com
Introdução
Os estudos relacionados ao reconhecimento automático de voz
evoluíram bastante nos últimos anos, graças aos avanços na tecnologia.
Inicialmente, qualquer forma de estudo e pesquisa em relação ao reconhecimento
de fala era realizado sem nenhum sistema tecnológico, apenas por meio de
experimentos mecânicos que simulavam a produção sonora humana. De acordo com Valiati
(2000), a utilização de recursos como o computador e placas de som possibilitaram
a conversão de sons em dados digitais. Desta maneira, as técnicas de processamento
de sinais permitem a extração de características que permitem tanto fornecer os
dados de interesse ao processamento, como também reduzir consideravelmente a
quantidade de informações a serem processadas. Segundo Trindade (1994), tais informações serão responsáveis
pela produção de padrões a serem identificados numa comparação entre
determinada referência previamente registrada e a apresentação de uma nova
amostra para teste, onde o papel fundamental do sistema será validar ou não
determinada amostra, dependendo do tipo e funcionalidade do sistema de
reconhecimento em questão.
Assim, para a realização deste estudo de reconhecimento de voz e
separação por gênero, foi utilizada uma base de dados intitulada como Gender Recognition by Voice,
disponibilizada pela plataforma Kaggle,
composta por 21 atributos de frequência de voz. O objetivo é realizar a classificação, com base na análise dos
atributos fornecidos, se a voz pertence a uma pessoa do sexo masculino ou
feminino. Para tal, foram utilizados os algoritmos de classificação: Random Forest (Árvore de Decisão), Naive Bayes, Redes Neurais Artificiais e
K-NN.
Metodologia
Na realização deste trabalho, foram
utilizados algoritmos de aprendizagem de máquina presentes no software chamado Weka, na versão 3.8.1, desenvolvido pela Universidade Waikato, na
Nova Zelândia. A base de dados utilizada neste
trabalho foi encontrada no portal Kaggle,
que se trata de uma plataforma fundada em 2010 por Anthony Goldbloom, em São
Francisco, que realiza competições de modelos preditivos e analíticos em que as
instituições e os pesquisadores postam seus dados para que sejam produzidos os
melhores modelos. O dataset foi
disponibilizado por Kory Becker, em outubro de 2016, no formato .csv e foi criado para identificar uma
voz como feminina ou masculina, baseado nas propriedades acústicas da voz e do
discurso. A base é constituída por 3168
amostras de voz gravadas, coletadas da fala de mulheres e homens. Essas
amostras de voz são pré-processadas pela análise acústica com uma frequência
que varia de 0Hz a 280Hz. Desta maneira,
as propriedades acústicas de cada voz são medidas e separadas nos seguintes 21
atributos:
Atributos
|
|
‘meanfreq’
|
‘centroid’
|
‘sd’
|
‘peakf’
|
‘median’
|
‘meanfun’
|
‘Q25’
|
‘minfun’
|
‘Q75’
|
‘maxfun’
|
‘IQR’
|
‘meandom’
|
‘skew’
|
‘mindom’
|
‘kurt’
|
‘maxdom’
|
‘sp.ent’
|
‘dfrange’
|
‘sfm’
|
‘modindx’
|
‘mode’
|
‘label’
|
Tabela 1. Tabela de atributos
Cada atributo representa
uma propriedade acústica da voz e possui características específicas. ‘meanfreq’ é a frequência média em kHz; ‘sd’ representa o desvio padrão da
frequência; ‘median’ é a frequência
mediana em kHz; ‘Q25’ representa o
primeiro quantil em kHz; ‘Q75’
representa o terceiro quantil em kHz; ‘IQR’
é o intervalo interquartil; ‘skew’ é
a obliquidade ou assimetria da distribuição; ‘kurt’ é a curtose, ou seja, uma medida que caracteriza o
achatamento da curva da função de distribuição de probabilidade; ‘sp.ent’ representa a entropia
espectral; ‘sfm’ é a planicidade
espectral; ‘mode’ é o modo de
frequência; ‘centroid’ é o centroide
de frequência; ‘peakf’ é a frequência
de pico, ou seja, a frequência com a maior energia;
Em relação às frequências
medidas em um sinal acústico, tem-se que ‘meanfun’
é a média de frequência fundamental medida em um sinal acústico; ‘minfun’ é a menor frequência
fundamental medida em um sinal acústico; ‘maxfun’
é a maior frequência fundamental medida em um sinal acústico; ‘meandom’ é média da frequência dominante
medida em um sinal acústico; ‘mindom’
é a menor frequência dominante medida em um sinal acústico; ‘maxdom’ é a maior frequência dominante
medida em um sinal acústico e ‘dfrange’, que
representa o alcance da frequência dominante medida em um sinal acústico.
Também se tem que ‘modindx’ é o índice de modulação,
calculado como a diferença absoluta acumulada entre medidas adjacentes de
frequências fundamental divididas pela faixa de frequência; e por último, o ‘label’ que é o gênero, feminino ou
masculino.
O objetivo principal é, com
base em todos esses atributos de frequência, classificar se as instâncias
representam a voz de um indivíduo do sexo masculino ou feminino. Nas execuções
de cada algoritmo, considerou-se a acurácia, ou seja, a quantidade de
instâncias que foram classificadas corretamente, e a matriz de confusão gerada
para avaliar o desempenho do método.
Para a realização dos
testes, em todos os métodos a base de dados foi dividida em duas partes, método
conhecido como percentage split, em
que a parte de treinamento representa 66% da base e a parte de teste é
representada por 34% da base. Durante a
fase de pré-processamento, não houve necessidade de alteração em nenhuma
instância do conjunto, tendo em vista que a base já era bem organizada
previamente e não havia ausência ou inconsistência de nenhum dado.
Naive Bayes
O método de classificação Naive
Bayes baseia-se na famosa Teoria de Bayes,
ou Teoria Bayesiana, que utiliza fundamentos de probabilidade condicional para
realizar a classificação. Os classificadores de Bayes são altamente escaláveis,
exigindo uma série de parâmetros lineares no número de variáveis em um problema
de aprendizagem. O próprio software Weka já
estabelece estes parâmetros, não havendo necessidade de alteração alguma.
Desta maneira, utilizando os parâmetros padrões do Weka, os resultados obtidos após a fase
de treinamento são que de 1077 instâncias (equivalente a 34% da amostra), a
acurácia foi de 89.1365%, ou seja, 960 instâncias foram classificadas
corretamente e apenas 10.8635%, ou seja, 117 instâncias não foram classificadas
corretamente. A matriz de confusão obtida foi a seguinte:
Masculino
|
Feminino
|
|
Masculino
|
498
|
49
|
Feminino
|
68
|
462
|
Tabela 2. Matriz
de Confusão de Naive Bayes
Multilayer Perceptron (MLP)
O método Multilayer Perceptron
é um tipo de rede neural artificial semelhante à um perceptron, mas com mais de uma camada de neurônios em alimentação
direta. É uma rede composta por camadas de neurônios ligadas entre si por
sinapses com pesos, com uma função de ativação. O método MLP utiliza uma
técnica de aprendizagem supervisionada chamada de backpropagation para treinamento.
Foi realizado duas execuções desse método, uma utilizando os
parâmetros padrões do Weka e outra
utilizando outros parâmetros, alterando os valores de taxa de aprendizado,
permitindo assim a convergência do algoritmo, o momentum, afim de reduzir os
mínimos locais e permitir que o método seja executado mais rapidamente e número
de ciclos, ou seja, quantas vezes o treinamento é apresentado à rede. A tabela
a seguir mostra os valores padrões e os modificados:
Padrão
|
Modificado
|
|
learningRate
|
0.2
|
0.8
|
momentum
|
0.3
|
0.8
|
Tabela 3.
Parâmetros de entrada do MLP
Para os valores padrões, dentro de
uma amostra de 1077 instâncias, 1045 foram classificadas corretamente, ou seja,
97.0288% e 32 não foram classificadas corretamente, ou seja, 2.9712%. Para os
valores modificados, 97.3073%, equivalente a 1048 instâncias foram corretamente
classificadas e 2.6927%, equivalente a 29 instâncias, não foram classificadas
corretamente.
Masculino
|
Feminino
|
|
Masculino
|
529
|
18
|
Feminino
|
14
|
516
|
Tabela 4. Matriz
de Confusão MLP Padrão
Masculino
|
Feminino
|
|
Masculino
|
535
|
12
|
Feminino
|
17
|
513
|
Tabela 5. Matriz
de Confusão MLP Modificada
Random Forest
O método Random Forest é um método de classificação, regressão e outras
funcionalidades, que, basicamente, é composto por várias árvores de decisão, em
que cada uma decidirá sobre a qual classe pertence determinado objeto. Assim
como no algoritmo MLP, foram realizadas duas execuções desse algoritmo, em que
uma utiliza os valores padrões pelo Weka e a segunda utiliza
outros valores escolhidos. Os parâmetros alterados são o numFeatures, ou
seja o número de características e atributos a serem utilizados na seleção
aleatória e o numTrees, o número de árvores a serem geradas.
Padrão
|
Modificado
|
|
numFeatures
|
0
|
100
|
numTrees
|
100
|
200
|
Tabela 6.
Parâmetros de entrada do Random Forest
Para os valores padrões, de
quantidade total de 1077 instâncias, a acurácia foi de 98.0501%, que equivale a
1056 instâncias classificadas corretamente e 1.9499% não classificadas
corretamente, equivalendo a 21 instâncias. Para os valores modificados, a
acurácia foi de 97.9573%, que equivale a 1055 instâncias corretamente
classificadas e 2.0427%, ou 22 instâncias não classificas corretamente.
Logo, os resultados obtidos foram os
seguintes:
Padrão
|
Masculino
|
Feminino
|
Masculino
|
536
|
11
|
Feminino
|
10
|
520
|
Tabela 7. Matriz de Confusão do RF
Alterada
|
Masculino
|
Feminino
|
Masculino
|
536
|
11
|
Feminino
|
11
|
519
|
Tabela 8. Matriz de Confusão do RF
K-NN
O método K-NN, abreviação para K-Nearest Neighbors Algorithm, é um método de classificação e
regressão, que consiste em receber como entrada um valor de K exemplos de
treinamento mais próximos no espaço utilizado e o classifica. A classificação é
realizada de acordo com a classe mais comum, ou seja, aquela que abrange maior
quantidade de elementos. O algoritmo utilizado no Weka para realização deste método foi o IBK. Os valores atribuídos para K foram K = 3 e K =
5.
De uma amostra de 1077 instâncias,
equivalente aos 34% da parcela de teste do conjunto, 1050 foram classificadas
corretamente, ou seja, 97.493% para K = 3, enquanto que para K = 5, 1052 foram
classificadas corretamente, sendo uma acurácia de 97.6787%. Uma diferença
praticamente imperceptível. Para as instâncias classificadas incorretamente,
para K = 3, houve um número de 27 instâncias, enquanto para K = 5, reduziu-se
para 25.
Masculino
|
Feminino
|
|
Masculino
|
534
|
13
|
Feminino
|
14
|
516
|
Tabela 9. Matriz
de Confusão KNN (K = 3)
Masculino
|
Feminino
|
|
Masculino
|
536
|
11
|
Feminino
|
14
|
513
|
Tabela 10. Matriz
de Confusão KNN (K=5)
Fazendo
uma análise dos resultados de todos os métodos aplicados ao problema,
percebe-se uma diferença mínima entre a acurácia de todos os métodos. Entretanto,
o algoritmo que apresentou a pior acurácia foi o de Naive Bayes, com um valor de 89.1365%. O que apresentou maior valor
de acurácia foi o algoritmo de Random
Forest, com os valores padrões de 0 a 100, apresentando 98.05018% de
precisão. Os algoritmos de Multilayer
Perceptron e K-NN apresentaram acurácia de 97% cada.
Percebe-se
que mesmo havendo uma pequena diferença entre os valores precisão dos métodos
apresentados, ainda assim os valores são muito bons se comparados a outros
métodos aplicados à outras bases. A taxa de acertos na determinação do gênero
pela voz foi bastante alta, mostrando que os algoritmos de classificação
utilizados são extremamente precisos.
O sucesso da classificação realizada
pelo algoritmo de Random Forest se dá
pelo simples fato de que 100 árvores diferentes são geradas, separando 1 terço
para teste e 2 terços para treinamento, sem haver separação externa de dados,
aumentando, assim, a quantidade de números pares de casos a serem calculados.
Após a análise dos dados de uma base
constituída por 3168 instâncias e 21 atributos, com o objetivo de identificar e
classificar se uma voz pertence a uma pessoa do sexo feminino ou masculino e a
aplicação de quatro métodos de aprendizagem de máquina, foi obtido como
resultado taxas de acerto muito boas por parte de todos os algoritmos
utilizados. Mesmo o método com a menor de taxa de acerto, o resultado foi
consideravelmente melhor do que o imaginado. A utilização de uma base muito bem
pré-processada pode ser apontada como a maior razão pela qual os resultados
obtidos foram tão bons.
0 Comentários
O que achou?