Modelo de análise de características para previsão de ... · parte do artigo apresentado na Wise...
Transcript of Modelo de análise de características para previsão de ... · parte do artigo apresentado na Wise...
Modelo de análise de características para previsão de faixas etárias
dos usuários de mídias sociais
Márcio A. S. Souza, Alair Pereira do Lago, Depto de Ciências da Computação, IME, USP
05508-090, São Paulo, SP
E-mail: [email protected]
Pedro G. Freitas Li Weigang
Universidade de Brasília - Departamento de Ciências da Computação
870910-900, Campus Darcy Ribeiro, DF
E-mail: [email protected]
Resumo: A mídia social está crescendo em um ritmo rápido, não sendo apenas um meio de
interação entre as pessoas, mas também um importante mecanismo para fornecer, analisar e
interpretar informações, introduzindo mudanças substanciais e permanentes na maneira com
que as organizações, as comunidades e os indivíduos se comunicam. Nesta linha de frente,
serviços de microblog como Sina Weibo e como Twitter disseminam informação quase em tem-
po real através de suas redes sociais. Neste trabalho é proposto um método para fins de
classificação de informações obtidas em redes sociais por meio de um classificador de estágio
múltiplo. Esse classificador, estruturado em dois níveis, utiliza dados obtidos em redes sociais
para estimar informações de um usuário de acordo com um critério de classificação. No caso,
o critério de informação escolhido e investigado foi a idade, embora o método possa ser
facilmente adaptado para estimar outros tipos de informações. O classificador utiliza a
distância de Bhattacharyya e a divergência de Kullback-Leiber para relacionar informações
coletadas, com as inseridas para um usuário que se deseja estimar a idade. Os resultados obti-
dos são preliminares, tendo em vista que o trabalho encontra-se em desenvolvimento, sendo
parte do artigo apresentado na Wise 2013 Challenge por P. G. Freitas et al.[6]
1 - Introdução
A mídia social é uma experiência interativa que permite que um usuário esteja altamente
conectado a uma rede, para o intercâmbio de informações em larga escala e em tempo real. Há
muitas razões que envolvem o atual sucesso das mídias sociais, entre quais podemos destacar: (i) a
integração de muitos usuários em uma única rede compartilhada e (ii) a informação de propagação
através de uma ampla variedade de tipos de conteúdo, como texto, áudio, imagem, vídeo, etc.
Devido a estas capacidades, as mídias sociais são capazes de disseminar as informações com maior
quantidade, maior rapidez e efetividade do que as tradicionais mídias.
Nesta linha, serviços de microblogs como Sina Weibo e Twitter estão ficando cada vez mais
populares. O Sina Weibo é um microblog chinês, semelhante ao Twitter e Facebook, e é um dos
sites mais populares na China, em uso por mais de 30% dos usuários de Internet, com uma
penetração de mercado semelhante ao que o Twitter estabeleceu nos EUA. O Sina Weibo
apresenta vários recursos do Twitter e considerando essa semelhança, algumas pesquisas prévias,
feitas com foco no Twitter, podem ser utilizadas para análise do perfil dos usuários do Weibo. Por
exemplo, Lau e Li [3] propõem um novo algoritmo para extração de características e informações
gerais do usuário a partir do conteúdo produzido pelo mesmo. De forma semelhante, Hua et al. [12]
apresentam um conjunto de técnicas e abordagens que podem ser utilizadas para extrair informações
de microblogs.
Além desses trabalhos acadêmicos, existem ainda algumas aplicações de análise de infor-
mações para o Twitter voltadas ao mercado. Cada uma delas serve à um propósito específico. Um
trabalho de grande importância foi feita por Argamon et al. [10], onde são analisados os principais
fatores linguísticos que contribuem para prever informações, como sexo e idade a partir do conteúdo
dos usuários. Também com o objetivo de estimar a idade e o sexo de um usuário a partir do
conteúdo produzido, Heerden et al. [2], [8], propôs um método que combina métodos de regressão,
com os métodos de classificação. Embora este trabalho esteja focado na inferência de informações, a
partir de dados coletados em uma conversa, pode adaptá-lo para prever o serviço de microblog.
642
Outro trabalho, com o objetivo de estimar a idade em redes sociais, foi feito por Dey et al. [9].
Neste caso, os autores desenvolveram um método para estimar o ano de nascimento dos usuários do
Facebook. Já Burger et al. [5] explorarão vários métodos de classificação para estimar o sexo dos
usuários do Twitter, onde demonstraram que o grau de precisão da estimativa varia de acordo com a
quantidade de informação produzida pelo usuário. Embora o foco principal deste trabalho seja de
prever o sexo do utilizador, ele pode ser adaptado para inferir outras informações, uma vez que os
resultados mostram um significativo desempenho, com elevada taxa de sucesso.
O objetivo deste trabalho é a construção de um sistema para avaliar a idade dos usuários do
Weibo e dividí-los em quatro faixas etárias. Para tanto, na seção 2, descrevemos o conjunto de
dados. Na seção 3 é apresentada as características do problema. Na seção 4 é feita a modelagem do
problema para os experimentos e resultados que serão apresentados na seção 5.
2. Conjunto de dados
Para descrever e analisar os dados deste trabalho, primeiramente foi necessário obter os dados
do Weibo, sendo este apenas uma pequena amostra dos dados . Após a obtenção desses dados, os
IDs dos usuários foram anonimizados, os conteúdos de relação entre usuários e retweets foram
removidos, preservando apenas os conteúdos originais. Esses conteúdos são escritos em língua
chinesa, onde cada palavra possui um caractere único para representá-la. Assim, cada palavra
distinta é mapeada em um número único. Portanto, há apenas conteúdo alfanumérico.
O conjunto de dados em questão consiste em um identificador de usuário (user ID), um
conjunto de rótulos definidos pelo usuário (labels), uma lista de empregos, descrição pessoal, data de
nascimento, gênero, educação e conteúdo produzido (tweets). Além disso, o conteúdo produzido
agrega informações sobre data e hora de publicação. Tais informações são importantes, pois servem
como parâmetros de treinamento e estimação de informações.
Os dados disponíveis possuem uma grande quantidade de registros de treinamento, sendo mal
formatados e seu conteúdo é incompreensível, sendo difícil a validação num contexto semântico.
3 - Características do Problema
Como foi expresso, o objetivo do problema é construir um sistema que permita estimar a idade
e a faixa etária de usuários de uma rede social, no nosso caso, o Weibo.
Assim, definem-se quatro faixas etárias distintas, sendo que cada uma representa um intervalo
de idade, que são [0, 18] (18, 24] (24, 35] e (35, ∞). A idade de cada usuário se encaixa em uma das
quatro faixas. O objetivo desta tarefa é alcançar alta precisão.
O problema é caracterizado da seguinte forma: 1) Uma entrada (domínio de F ) com diversos
parâmetros e 2) Uma saída (imagem de F ) com poucas opções. Este é claramente um problema de
classificação. No problema de classificação métrico temos um conjunto de n objetos e um conjunto
de m classe e queremos classificar cada objeto como pertencente a uma classe, de modo que esta
classificação seja consistente com alguns dados que temos sobre o problema.
Podemos definir a classificação da seguinte forma: Classificação é uma função :F P G→ ,
onde P é um conjunto de n objetos e G
é um conjunto de classe m.
Utilizando-se Inteligência Artificial, o problema pode ser resolvido em dois grandes passos os
quais são: a fase de treinamento e a fase de predição. Para isso, seguimos três passos:
Passo 1 - Regularização os dados: como os dados coletados são mal formatados, é necessário
regularizá-los em uma representação robusta, eficientemente tratável e compatível com as consultas.
Passo 2 - Extração de características: as características extraídas do conjunto de treinamento deve
ser em função de duas quantidades, a informação fornecida e o conteúdo produzido pelo usuário. A
informação fornecida é caracterizada pelo conjunto de palavras para cada categoria (trabalho,
educação, etc), e o conteúdo é caracterizado pela frequência de cada palavra, normalizadas pelo
comprimento (número de tokens / palavras) do tweet . Para a extração de características faz-se ne-
cessário descobrir quais as informações dos usuários são importantes para caracterizá-los.
Passo 3 – Predição de idade: a predição é feita utilizando-se um classificador na forma :F P G→ ,
onde o conjunto G é formado pelas idades e o conjunto P pelas características extraídas. A função
de classificação F é ajustada na fase de treinamento, utilizando-se um conjunto tG e outro tP ,
onde as informações são conhecidas. Após ajuste desta função, ela pode ser utilizada para estimar a
idade a partir dos demais parâmetros, conforme ilustrado na Figura 1. No contexto deste trabalho, a
função de classificação é feita minimizando-se a distância de Bhattacharyya [4].
643
Fig. 1 – Estágios
4. Modelagem do Problema
Para estimar a idade dos usuários do Weibo e, por consequência, a faixa etária a qual o usuário
pertence, utilizaremos uma combinação estocástica com um modelo de predição. Seguiremos uma
abordagem semelhante à de Burger et al. [5], que desenvolveu um modelo para estimar o gênero do
usuário (um classificador binário). A ideia é modificar o classificador e trabalhar com quatro
regiões (as quatro faixas etárias propostas) ao invés de apenas duas (sexo masculino ou feminino).
Portanto, em um modelo Bayesiano, encontramos a faixa etária mais provável P(grupo) a partir
das características do usuário P(grupo|característica), onde grupo { }0,1, 2,3∈
Note que essa abordagem de Classificação Bayesiana é muito eficiente quando temos poucas
regiões de agrupamento. Ou seja, ela pode ser suficiente para estimar informações binárias, como o
sexo. Contudo, quando aumentamos o conjunto imagem, temos que o modelo tende a diminuir a sua
acurácia, assim o erro de classificação aumenta nas “regiões de borda” dos grupos.
Para evitar esse erro de classificação, tomamos uma abordagem adicional de estimação
utilizando regressão. Nesse caso, estimamos a idade do usuário a partir de um modelo linear ajusta-
do, com os dados disponíveis para treinamento. Em outras palavras, sendo o vetor de características
x mR∈ , onde ix são as características, encontramos a idade predita y R∈ do usuário de idade
y R∈ a partir do seguinte modelo
ˆ x (1)Toy β β= +
onde oβ e β são os parâmetros estimados no processo de treinamento.
Geralmente, esses parâmetros são calculados minimizando a soma das diferenças quadráticas
(Método de Mínimos Quadrados Ordinário- MMQ).
Contudo, esse modelo de regressão possui algumas limitações que precisam ser consideradas.
Quando a regressão é usada para predição, como é o caso do nosso trabalho, o modelo é ajustado
para prover uma regra de predição de forma similar à aos dados ajustados. Ou seja, as variáveis
dependentes utilizadas no ajuste deve corresponder à mesma distribuição das variáveis utilizadas na
aplicação (predição). Em outras palavras, é importante que o desvio padrão do erro dos dados de
ajuste seja o mesmo dos dados utilizados no modelo ajustado.
Essa informação faltante é modelada matematicamente como um sistema esparso. Assim, um
modelo de regressão mais adequado será aquele que atua penalizando (ou equivalentemente
restringindo a soma dos valores absolutos das estimativas) as estimativas dos parâmetros nulos
(faltantes). Isto é conveniente quando queremos alguma seleção de características automática, ou
quando se trata de preditores altamente correlacionados, onde regressão padrão geralmente têm
muitos coeficientes de regressão. Como consequência, este método oferece modelos esparsos.
Embora o MMQ seja um notável para a determinação rigorosa das matrizes resolução e covari-
ância, ele é computacionalmente ineficiente em sistemas esparsos de grande volume se implementa-
dos por métodos tradicionais. Assim, podemos se utilizar de um MMQ amortecido, também conhe-
cido como método Ridge Regression, que foi proposto por Marquardt [6].
Em termos de MMQ amortecido, a solução é dada por:
( )1
ˆ T Ty kIβ β β−
= + (4)
onde I é a matriz identidade e 0k > é utilizado para controlar a instabilidade no produto Tβ β .
Um valor ótimo de k é aquele que proporciona o melhor ajuste no sentido dos mínimos quadrados.
Na prática é recomendável testar vários valores de k numa escala logarítmica para minimizar o re-
síduo dos mínimos quadrados amortecidos.
644
Outro algoritmo muito utilizado para resolver esse problema é o Least Angle Regression
(LARS) [1]. Esses e outros algoritmos utilizados para resolver esse problema de regressão podem ser
encontrados na página de Mark Schmidt [13].
Uma vez definido o modelo de regressão a ser usado, devemos saber quais dados serão
utilizados para caracterizar o problema. Ou seja, a característica ix correspondente à informação do
tipo i (empregos, educação, descrições, etc.), temos que cada característica será modelada pela
equação:
1 2 3 4( ) ( ) ( )ix a MEAN i a MEDIAN i a STD i a= × + × + × +
(5)
onde MEAN, MEDIAN e STD são, respectivamente, a média, a mediana e o desvio-padrão da
informação i . Assim, os coeficientes a ia podem ser determinados por regressão, de forma
independente para cada tipo de informação. Como desconhecemos quais fatores são mais
determinantes para caracterizar a idade, realizamos uma nova regressão combinando todas das
características em um novo sistema. Em outras palavras, após criarmos o vetor x utilizando a
Equação 5, utilizamos a Equação 1 para obter a idade.
Após serem estimadas as idades mais prováveis do usuário, a próxima etapa consiste em
analisar essas idades, escolhendo-se apenas uma idade de acordo com as informações do usuário.
Nesta abordagem, em cada etapa é selecionado um conjunto de classes (idades) que irá definir os
parâmetros associados na etapa seguinte.
As classes a serem selecionados são aquelas que possuem menor separabilidade com as classes
criadas na etapa de treinamento. Para isso, utiliza-se a distribuição das informações fornecidas pelo
usuário, com a distribuição das informações coletadas dos demais usuários e procura-se, dentre
essas, quais são as que mais se assemelham. A classe é definida pela maior semelhança entre as
distribuições.
O critério adotado para estimar separabilidade entre as classes é a distância de Bhattacharyya,
pois para dados, normalmente distribuídos, ela fornece um limite superior para o erro de Bayes [4].
A forma geral da distância de Bhattacharyya entre duas classes 1c e
2c é dada por:
1 2 1 2( , ) ln ( ) ( ) ,D c c P x c P x c dx
∞
−∞
= −
∫
onde ( )kP x c é a probabilidade a priori da informação x pertencer à classe kc . Supondo que as
distribuições das informações fornecidas pelos usuários serão, normalmente distribuídas, pode-se
utilizar a seguinte expressão:
1 2
21 21 2
1 2 1 2
( )1 1( , ) ln ,
4 2
T
D c cµ µ
∑ +∑ − = + ∑ +∑ ∑ ∑
onde iµ e 1∑ são os vetores de médias e a matriz de covariância da classe ic . Além disso, o pri-
meiro termo da equação acima fornece a separabilidade das classes pelas médias, e o segundo termo
fornece a separabilidade pela covariância entre as distribuições.
Portanto, para este trabalho consiste em agrupar as informações em equipes rotuladas conforme
a idade, buscando-se a distância de Bhattacharyya mínima entre as distribuições gera-das na fase de
treinamento e a distribuição de teste. Quando essa distância for ótima (mínima), a idade associada à
distribuição de treinamento é, provavelmente, a idade predita.
Em outras palavras, seja ( , )t tF t i G→ a função que mapeia a distribuição tG nos dados de
treinamento, onde t é o tipo da informação e i é a idade correspondente nos dados de treina-mento.
Supondo uma função correspondente para mapear os dados do usuário, tal que ( , )u uF t i G→ , onde t
é o tipo da informação e i é a idade que mapeia a distribuição uG , então o problema consiste em
encontrar i . Ou seja, min ( ),i
B i onde ( ) ( ( , ), ( , )) ( , )t u t uB i D F t i F t i D G G= = é a distância de
Bhattacharyya das distribuições tG e
uG .
Após o processamento das distâncias de Bhattacharyya para cada um dos tipos de informação,
haverá um conjunto contendo diversas estimações, cada uma associada à um tipo de informação.
Dessa formar, as informações filtradas serão os tipos, associados às idades preditas; as distribuições
do usuário; e a distribuição correspondente no banco de treinamento.
645
A partir desse conjunto de informações, utiliza-se as distribuições dos dados do usuário para
verificar qual delas possui mais informações em comum com o banco de treinamento. A seleção da
melhor escolha é feita tomando-se a predição que possui a menor divergência de Kullback-Leiber
[11]. Em outras palavras, toma-se min ( ),i
KL i onde:
1( ) ( ) log ( ) ( ) log ( ) ,t u t t
x x
KL i G x G x G x G xn
= − +
∑ ∑
sendo n o número de elementos da distribuição dos dados de usuário uG para um dado tipo de in-
formação. Por essa métrica, tG representa a “verdadeira” distribuição das informações, enquanto
uG representa a aproximação de tG . Note que o fator da largura da distribuição n é inserido como
um peso. Isso é feito para favorecer os campos em que o usuário inseriu mais informação. A ideia é
que quanto mais informações o usuário inserir, mais classificável em um grupo ele pode ser.
5. Resultados Com o intuito de testar o modelo proposto, os algoritmos foram implementados na linguagem
Groovy, que compila executa em ambiente Java. Para computar as predições sem distribuição,
utilizou-se uma máquina Dell PowerEdge R710 16xQuad-Core Intel Xeon E5630 (2.53GHz) com
141GB RAM. Para analisar o desempenho do método proposto, foram utilizadas métricas para
qualidade da predição. Para medir o desempenho da predição, as métricas escolhidas foram a média
quadrática, precisão, recall e F-Measure.
As métricas de desempenho das predições foram feitas escolhendo-se um conjunto de dados
contendo todas informações do usuário, incluindo a idade. Esse conjunto de dados, por sua vez, não
foi utilizado no estágio de treinamento, a fim de se evitar o sobre ajuste de dados. Como os dados de
teste contém a informação que se deseja predizer (a idade), é possível verificar tanto o acerto da
predição (se ela foi ou não exata), tanto o quanto a predição desviou do valor correto.
O acerto exato da predição, ou seja, se o algoritmo acertou a idade ou não, é medido pela
precisão e pelo recall. Nesse caso, recall é a frequência do número de registros relevantes obtidos do
número total de registros da base de dados, geralmente expresso como um fator percentual. A
precisão é o número de registros relevantes obtidos em relação ao número de registros irrelevantes
obtidos, também expresso como uma percentagem. Em outras palavras,
vpP
vp fp=
+
e vpR
vp fn=
+ onde P e R são, respectivamente, a precisão e o recall. As variáveis vp , fp , e fn representam os
verdadeiros positivos, falsos positivos e falsos negativos.
Uma medida que sintetiza tanto a precisão quanto o recall é a F-Measure, que é a média har-
mônica ponderada entre elas: (1 )
1
P R
Fαα −
=+
, onde [ ]0,1α ∈ éo fator de balanço dos pesos das
medidas. Geralmente, 0.5α =
Além do recall, precisão e F-Mesure, foi medido o quanto a predição se afastou da idade real do
usuário. Para isso, foi utilizado a média quadrática da diferença entre os valores preditos e os valores
reais. Mais precisamente,
21( ( ) ( ))
,
nk p ox k x x
rmsdn
= −∑=
onde ( )px k e ( )ox k são os valores preditos e originais do k-ésimo usuário.
Os valores obtidos para as métricas de foram:
RMSD Recall Precisão F-Mesure
1.4545 0.3644 0.5 0.4215
Tabela 1 – Resultados das Métricas.
Esses valores indicam que não houve uma relevante taxa de valores preditos que não
corresponderam à idade exata do usuário. Contudo, pelo valor do erro quadrático médio, as
646
estimativas ficaram bem próximas da idade verdadeira. Para aplicações onde deseja-se classificar
usuários dentro de uma faixa etária, o método proposto é aceitável.
6. Conclusão Neste trabalho foi proposto um método para estimar informações a partir de dados de redes
sociais. Tendo como foco na estimação da idade dos usuários a partir de informações secundárias,
foi proposto um modelo que utiliza classificação estocástica.
Para isso, utilizou-se dois níveis de classificação. O primeiro deles busca a correspondência
entre distribuições em um banco de dados treinado. A métrica de análise dessas correspondências foi
a distância de Bhattacharyya. O segundo nível visa escolher uma única predição entre as melhores
predições feitas pelo primeiro nível, verificando qual tipo de dados secundários (educação,
trabalhos, etc) melhor descreve o perfil do usuário.
Podemos, portanto, concluir que as abordagens até aqui apresentadas são válidas e efetivas. No
entanto, há sempre espaço para melhorar o desempenho da abordagem a fim de obter resultados ain-
da melhores, sendo o próximo passo, a modelagem de uma função para a seleção da melhor estima-
tiva e assim obter uma alta precisão. Trabalhos futuros envolvendo teoria da informação são
recomendados. Assim, técnicas que permitam associar as informações das predições feitas no
primeiro nível, ao invés de excluir parte dessas informações, devem ser incorporadas no segundo
nível de predição a fim de aprimorar a acurácia média geral.
Referências
[1] B. Efron, T. Hastie, I. Johnstone, and R. Tibshirani, “Least angle regression,” Annals of
Statistics, vol. 32, pp. 407–499, 2004.
[2] C. J. van Heerden, E. Barnard, M. H. Davel, C. van der Walt, E. van Dyk, M. Feld, and C. A.
Müller, “Combining regression and classification methods for improving automatic speaker age
recognition,” in ICASSP. IEEE, 2010, pp. 5174–5177.
[3] C. H. Lau, Y. Li, and D. Tjondronegoro, “Microblog retrieval using topical features and query
expansion,” in TREC’11, 2011.
[4] E. Choi and C. Lee. Feature extraction based on the bhattacharyya distance. Pattern Recognition,
36(8):1703–1709, August 2003.
[5] J. D. Burger, J. Henderson, G. Kim, and G. Zarrella, “Discriminating gender on twitter,” in
Proceedings of the Conference on Empirical Methods in Natural Language Processing, ser. EMNLP
’11. Stroudsburg, PA, USA: Association for Computational Linguistics, 2011, pp. 1301–1309.
[Online]. Available: http://dl.acm.org/citation.cfm?id=2145432.2145568
[6] Marquardt D. 1963. An algorithm for least-squares estimation of nonlinear parameters, Journal
of Society Industry and Applied Mathematics 11 (2): 431-441.
[7] P. G. Freitas, M. A. S. Souza, Li Weigang, Liu Yang, anda H. Queiroz. Content feature analysis
moel to predict user’s age ranges of social media. Wise 2013 Challenge: Weibo Prediction Track.
[8] Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing,
ICASSP 2010, 14-19 March 2010, Sheraton Dallas Hotel, Dallas, Texas, USA. IEEE, 2010.
[9] R. Dey, C. Tang, K. W. Ross, and N. Saxena, “Estimating age privacy leakage in online social
networks,” in INFOCOM, 2012, pp. 2836–2840.
[10] S. Argamon, M. Koppel, J. W. Pennebaker, and J. Schler, “Mining the blogosphere: Age,
gender and the varieties of self-expression,” First Monday, vol. 12, no. 9, 2007.
[11] S. Kullback, and R. A. Leibler. Ann. Math. Statist. 22(1):79-86 (1951).
[12] W. Hua, T. D. Huynh, S. Hosseini, J. Lu, and X. Zhou, “Information extraction from
microblogs: A survey,” Int. J. Software and Informatics, vol. 6, no. 4, pp. 495–522, 2012.
[13] (2013, May) Mark schmidt’s lasso algorithms. [Online].
Available: http://www.di.ens.fr/~mschmidt/Software/lasso.html
647