Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
27 agosto 2015
Detección automática de perfiles en redes sociales
Carlos Emiliano González Gallardo
Gerardo Sierra Martínez
Azucena Montes Rendón
V Seminario de Lingüística Forense
Problemática
✤ 500 millones de tweets diarios en 33 idiomas diferentes
✤ 968 millones de usuarios activos diarios en Facebook
✤ La necesidad de comunicarse rápidamente
✤ La libertad que existe para publicar contenido sin revisión
✤ Lenguaje no estandarizado
Objetivo
Proveer un método independiente del lenguaje para identificar ciertos rasgos de las personas analizando texto procedente redes sociales mediante el uso del aprendizaje de máquina.
redes sociales
aprendizaje de máquina
rasgos
Hipótesis
Es posible identificar rasgos de las personas a partir de texto procedente de redes sociales de forma automática utilizando características estilísticas.
Método
✤ Sistema automático de clasificación
Etiquetado gramatical
Re etiquetado de entidades
Generación de vectores
Entrenamiento
Mujer joven
Mujer adulta
Extracción
MétodoExtracción
@username
@us
http[s]://sitio.web
htt
salto de líneaespacio
nn
n
nn
n
MétodoExtracción
✤ @username: Otra chica apareció en la fotografía. http://t.co/Db7x7SzC6t #suspicious
✤ @username: Hoy es día de besarte. http://t.co/uzdausB5dT @username
✤ @us: Otra chica apareció en la fotografía. htt #suspicious
✤ @us: Hoy es día de besarte. htt @us
✤ #GustosDePobres limosnear regalos, bueno creo q eso ya brincó a nivel de miserables
Jeje✤ ¿Próximas nupcias? Linda madrina de cojines
ofrece sus servicios, satisfacción garantizada. Informes ahí || V
✤ #GustosDePobres limosnear regalos, bueno creo q eso ya brincó a nivel de miserables Jeje
✤ ¿Próximas nupcias? Linda madrina de cojines ofrece sus servicios, satisfacción garantizada. Informes ahí || V
@username
@us
http[s]://sitio.web
htt
salto de líneaespacio
MétodoEtiquetado gramatical
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
nn
n
nn
n
Freeling
MétodoEtiquetado gramatical
✤ @us: Otra chica apareció en la fotografía. htt #suspicious
✤ @us: Hoy es día de besarte. htt @us
✤ #GustosDePobres limosnear regalos, bueno creo q eso ya brincó a nivel de miserables Jeje
✤ ¿Próximas nupcias? Linda madrina de cojines ofrece sus servicios, satisfacción garantizada. Informes ahí || V
✤ [{"lemma": "@", "token": "@", "tag": "Fz", "prob": "1"}, {"lemma": "us", "token": "us", "tag": “NCMN000”…
✤ [{"lemma": "@", "token": "@", "tag": "Fz", "prob": "1"}, {"lemma": "us", "token": "us", "tag": “NCMN000”…
✤ [{"lemma": "#", "token": "#", "tag": "Fz", "prob": "1"}, {"lemma": "gustosdepobres", "token": “GustosDePobres”…
✤ [{"lemma": “¿”, "token": “¿", "tag": "Fia", "prob": "1"}, {"lemma": "pró", "token": “Próximas”…
Freeling
MétodoRe etiquetado de entidades
POSPOSPOS
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
[…{“lemma”: “@”, “token”: “@”,
“tag”: “Fz”, “prob”: “1”}, {“lemma”:
“texto”, “token”: “texto”, “tag”:
“XXXX”, “prob”: “N”}…].
POSPOSPOS
@us
“t“t“t“t“t“t“t
“X“X“X“X“X“X
[…
“t“t“t“t“t“t
“t“t“t“t“t“t“texexex
“X“X“XXX
“X“X“X“t“t“t“t“t“t“t“t“t“t“t“t“t“t
“X“X“X“XXXXXXX“t
“t
“X
“X“X“X“X“X“X“X“X“X“X“X“X“X“X“XXXXXXXXXXX“X“X“X“X“X
“t“t“t“t“t
“X“X“X
[…
“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“tagagagagag
“t“t“t“t“t“t“t“t“t“texexexexexexex
“X“X“XXXXXXX
“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“texexexexexexexexex
“X“X“X“X“X“X“X“X“X“X“X “t
“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t“t
“X“X“X“X“X
“X“X“X“X“X“X“X“X“X“X“X“X“X“XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX“X“X“X
REF#USUARIO
htt
REF#LINK
#hashtagREF#HASHTAG
n
nn
n
nn
MétodoRe etiquetado de entidades
@usREF#USUARIO
http://sitio.web
REF#LINK
#hashtagREF#HASHTAG
✤ [{"lemma": "@", "token": "@", "tag": "Fz", "prob": "1"}, {"lemma": "us", "token": "us", "tag": “NCMN000”…
✤ [{"lemma": "@", "token": "@", "tag": "Fz", "prob": "1"}, {"lemma": "us", "token": "us", "tag": “NCMN000”…
✤ [{"lemma": "#", "token": "#", "tag": "Fz", "prob": "1"}, {"lemma": "gustosdepobres", "token": “GustosDePobres”…
✤ [{"lemma": "\u00bf", "token": "\u00bf", "tag": "Fia", "prob": "1"}, {"lemma": "pr\u00f3ximo", "token": “Pr\u00f3ximas”…
✤ @us: Otra chica apareció en la fotografía. htt #suspicious
✤ @us: Hoy es día de besarte. htt @us
✤ #GustosDePobres limosnear regalos, bueno creo q eso ya brincó a nivel de miserables Jeje
✤ ¿Próximas nupcias? Linda madrina de cojines ofrece sus servicios, satisfacción garantizada. Informes ahí || V
✤ REF@USERNAME Fd DI0FS0 NCFS000 VMIS3S0 SPS00 DA0FS0 NCFS000 Fp REF#LINK REF#HASHTAG
✤ REF@USERNAME Fd RG VSIP3S0 NCMS000 SPS00 VMN0000 PP2CS000 Fp REF#LINK REF@USERNAME
✤ REF#HASHTAG VMN0000 NCMP000 Fc I VMIP1S0 NCFN000 PD0NS000 RG VMIS3S0 SPS00 NCMS000 SPS00 NCCP000 NP00000
✤ Fia AQ0FP0 NCFP000 Fit AQ0FS0 NCFS000 SPS00 NCMP000 VMIP3S0 DP3CP0 NCMP000 Fc NCFS000 VMP00SF Fp NP00000 RG Fz Fz NP00000
POSPOSPOS
POSPOSPOS
MétodoGeneración de vectores
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOSPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOSS
OOOOOPPPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPOOOPPPPPPOOOOOOOOOOOOSOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOO
PPPPPPPPPPPPPPPPPPPPPPPOSPPPPPPPPPPPPPPOSPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOSSS
OOOOOOOSPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOSPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOSPPPPPPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOSOOOOOOOOOOOOOOOOOOOOOOOOOSPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
nn
n
nn
n
N-gramas•caracteres•POS
espacio vectorial
MétodoGeneración de vectores
@us:Hoyesdíadebesarte.htt@us
1-gramas
[('e', 4), ('s', 4), ('t', 3), ('a', 2), ('@', 2), ('d', 2), ('u', 2), ('í', 1), ('b', 1), ('H', 1), ('o', 1), ('.', 1), ('r', 1), ('h', 1), ('y', 1), (':', 1)]
2-gramas
[('es', 2), ('@u', 2), ('us', 2), ('ad', 1), ('t@', 1), ('eb', 1), ('ar', 1), ('rt', 1), ('s:', 1), ('ía', 1), ('tt', 1), ('Ho', 1), ('te', 1), ('be', 1), ('e.', 1), ('de', 1), ('ye', 1), ('ht', 1), ('.h', 1), (':H', 1), ('dí', 1), ('oy', 1), ('sa', 1), ('sd', 1)]
3-gramas
[('@us', 2), ('rte', 1), ('ebe', 1), ('art', 1), ('htt', 1), ('íad', 1), ('sar', 1), ('yes', 1), ('Hoy', 1), ('t@u', 1), ('día', 1), ('ade', 1), ('esa', 1), ('oye', 1), ('tt@', 1), ('te.', 1), ('.ht', 1), (':Ho', 1), ('s:H', 1), ('e.h', 1), ('esd', 1), ('sdí', 1), ('bes', 1), ('deb', 1), ('us:', 1)]
MétodoGeneración de vectores
1-gramas
[('F', 2), ('REF@USERNAME', 2), ('V', 2), ('REF#LINK', 1), ('N', 1), ('P', 1), ('S', 1), ('R', 1)]
2-gramas
[('REF@USERNAME F', 1), ('F R', 1), ('V N', 1), ('N S', 1), ('V P', 1), ('REF#LINK REF@USERNAME', 1), ('R V', 1), ('F REF#LINK', 1), ('S V', 1), ('P F', 1)]
3-gramas
[('REF@USERNAME F R', 1), ('V P F', 1), ('N S V', 1), ('S V P', 1), ('F REF#LINK REF@USERNAME', 1), ('F R V', 1), ('P F REF#LINK', 1), ('V N S', 1), ('R V N', 1)]
REF@USERNAME F R V N S V P F REF#LINK REF@USERNAME
MétodoEntrenamiento
support vector machine
Corpus
511
23
11 511
23
11
f_18-24f_25-34f_35-49f_50-XXm_18-24m_25-34m_35-49m_50-XX
✤ PAN 2015
✤ español
✤ 100 tweets por persona
✤ Muestras de entrenamiento: 70
✤ Muestras de prueba: 30
Resultados
3
1 5 1
3
1 1
3
7
1 1 1
1 1
f_18
-24
f_25
-34
f_35
-49
f_50
-XX
m_1
8-24
m_2
5-34
m_3
5-49
f_18-24
f_25-34
f_35-49
f_50-XX
m_18-24
m_25-34
m_35-49
m_5
0-XX
m_50-XX
predicción
r
e
a
l
exactitud: 0.8
ESPAÑOL
@us @us @us @us
que que htt que
htt ent que ent
ent htt ent del
est ??? est est
con est con nte
del del del htt
ade ade nte ade
nte con ade con
and ien sde aci
f_25
-34
m_2
5-34
m_3
5-49
m_5
0-XX
3
-
g
r
a
m
a
s
S D N S D N S D N S D N
N S N D N S D N S D N S
D N S F F F N S D N S N
V D N V D N N S N N S D
D N F D N F D N F V D N
N F N N S D V D N D N F
N S D N S N S N F S N F
S N F V S D N F N D N A
F N F N F F F N F N F N
N N N S N F V S D D N V
f_25
-34
m_2
5-34
m_3
5-49
m_5
0-XX
3
-
g
r
a
m
a
s
P
O
S
Conclusión
Entonces… ¡Sí se puede!
Trabajo futuro✤ Hacer un análisis detallado ✤ Aplicar el algoritmo en otra red social✤ Buscar formas de mejorar el algoritmo
Referencias
✤ https://about.twitter.com/es/company
✤ http://newsroom.fb.com/company-info/
✤ http://nlp.lsi.upc.edu/freeling/doc/tagsets/tagset-es.html
✤ http://pan.webis.de/
✤ Schwartz, R., Tsur, O., Rappoport, A., & Koppel, M. (2013). Authorship Attribution of Micro-
Messages. In EMNLP (pp. 1880-1891).
✤ Doyle, J., & Kešelj, V. (2005). Automatic Categorization of Author Gender via NGramn
Analysis. In The 6th Symposium on Natural Language Processing, SNLP.
✤ González-Gallardo, C., Montes, A., Sierra, G., Núñez-Juárez, J., Salinas-López, A., Ek, J. (2015).
Tweets classification using corpus dependent tags, character and POS N-grams. Notebook for
PAN at CLEF 2015.
✤ Manning, C. D., & Schütze, H. (1999). Foundations of statistical natural language processing.
MIT press.
Más resultados