Métodos Computacionales para las Ciencias Sociales
3 de octubre de 2025
Hoy en día, la mayoría de las interacciones sociales se dan de forma digital a través de diversas plataformas, lo que provoca que, tanto el género y el lenguaje se construyan de manera digital y globalizada.
Redes sociales son un espacio principal de socialización y construcción de género hoy en día.
Permite identificar discursos que producen y reproducen estereotipos o roles de género.
Posibilita distinguir los diferente perfiles de usuarios en las discusiones ligadas al género.
¿Qué diferencias discursivas existen en torno al género en los comentarios de los usuarios de los subreddit r/AskMen y r/AskWomen en Reddit?
r/AskMen: creado el 30 de agosto de 2010, con ~2 millones de miembros y ~41 mil contribuciones semanales. Su lema principal es un lugar para discutir sobre la experiencia masculina.
r/AskWomen: creado el 17 de julio de 2010, cuenta con ~946 mil suscriptores y ~14 mil usuarios activos. Su propósito es ofrecer un espacio donde las mujeres puedan hablar sobre sus pensamientos, vidas y experiencias.
Se utilizó la API de Reddit, mediante la librería PRAW. Esta herramienta permite automatizar la recolección de publicaciones y comentarios, asegurando un volumen considerable de datos y facilitando su análisis.
Se inscribió una aplicación para poder hacer uso de la API de Reddit. En el siguiente enlace podrán encontrar un tutorial de cómo crear una app.
Para utilizar la API se trabajará en Python y se usará Positron como entorno de trabajo. Como primer paso, dentro del entorno de trabajo, se requieren las siguientes librerías.
Se requiere crear un text file .env para escribir las credenciales y guardarlas en el ambiente. Si las variables dentro de este archivo están funcionando correctamente, load_dotenv() debería responder True.
Se crean variables que contengan los tokens del archivo .env.
Mediante la función reddit de PRAW, se hará la siguiente autenticación:
La extracción de datos se hizo a partir de los subreddits de r/AskMen y r/AskWomen. Para asegurar una cantidad de datos robusta, la extracción se hizo un día por medio a partir del 25/09/2025.
Se creó una variable que contenga el subreddit de donde se quiere extraer la información y una lista para contener los comentarios de cada publicación.
Se creó un for anidado para las publicaciones y los comentarios. De esta forma, se fueron recolectando cada comentario de cada publicación del día en el subreddit.
for submission in subreddit_askmen.top(time_filter="day", limit=1000):
submission.comments.replace_more(limit=None)
for comment in submission.comments:
askmen = [
subreddit_askmen,
submission.author,
submission.id,
submission.title,
submission.num_comments,
submission.over_18,
submission.score,
comment.author,
comment.id,
comment.body,
comment.score,
datetime.fromtimestamp(comment.created_utc)
]
comentarios_askmen.append(askmen)
Se creó un dataframe que contiene las variables extraídas y se les asignó nombres. A la base de dato se le colocó “nombresubreddit_fecha” para poder organizarlas por día. Para efectos de este tutorial, los nombres de las BBDD serán fecha xxxx.
askmen_xxxx = pd.DataFrame(
comentarios_askmen,
columns=["subreddit_nombre", "submission_autor", "submission_id", "submission_titulo",
"submission_numcom", "submission_NSFW", "submission_puntaje",
"comentario_autor", "comentario_id", "comentario_body", "comentario_puntaje", "comentario_fecha"]
)
askmen_xxxx.to_csv("askmen_xxxx.csv", index=False)
A continuación, se repite el mismo procedimiento, pero cambiando al subreddit a r/AskWomen.
subreddit_askwomen = reddit.subreddit("AskWomen")
comentarios_askwomen = []
for submission in subreddit_askwomen.top(time_filter="day", limit=1000):
submission.comments.replace_more(limit=None)
for comment in submission.comments:
askwomen = [
subreddit_askwomen,
submission.author,
submission.id,
submission.title,
submission.num_comments,
submission.over_18,
submission.score,
comment.author,
comment.id,
comment.body,
comment.score,
datetime.fromtimestamp(comment.created_utc)
]
comentarios_askwomen.append(askwomen)
askwomen_xxxx = pd.DataFrame(
comentarios_askwomen,
columns=["subreddit_nombre", "submission_autor", "submission_id", "submission_titulo",
"submission_numcom", "submission_NSFW", "submission_puntaje",
"comentario_autor", "comentario_id", "comentario_body", "comentario_puntaje", "comentario_fecha"]
)
askwomen_xxxx.to_csv("askwomen_xxxx.csv", index=False)
Desde este paso, se comienza a trabajar con R. Para esto, se requiere instalar las siguientes liberías, más la opción de eliminar notifiación científica y limpiar el entorno de trabajo.
Se cargan las BBDD guardadas con formato .csv y se unen todas en una base de datos llamada “datos_ask”. En el caso de tener más extracciones, se deben ir agregando siguiendo el mismo procedimiento.
Se creó una nueva base de datos procesada (datos_ask_proc) a la cual se le realizaron recodificaciones y filtros.
datos_ask_proc <- datos_ask %>%
mutate(submission_NSFW = case_when(
submission_NSFW == "FALSE" ~ 0,
submission_NSFW == "TRUE" ~ 1)) %>%
separate(comentario_fecha, into = c("comentario_fecha", "comentario_hora"), sep = " ") %>%
group_by(comentario_fecha)%>%
filter(n() > 100) %>%
ungroup()%>%
group_by(submission_id) %>%
filter(n() > 1)
as.Date(datos_ask_proc$comentario_fecha)
write_csv(datos_ask_proc, "datos_ask_proc.csv")
Variables incluidas en el análisis | |
---|---|
Definición de cada variable del dataset procesado | |
Variable | Definición |
subreddit_nombre | Nombre del subreddit de donde proviene la publicación (AskMen o AskWomen). |
submission_autor | Usuario que creó la publicación original. |
submission_id | Identificador único de la publicación en Reddit. |
submission_titulo | Título de la publicación realizada en el subreddit. |
submission_numcom | Número total de comentarios que recibió la publicación. |
submission_NSFW | Indica si la publicación fue marcada como NSFW (Not Safe For Work) (0=no, 1=sí). |
submission_puntaje | Puntaje total de la publicación (upvotes – downvotes). |
comentario_autor | Usuario que escribió el comentario. |
comentario_id | Identificador único de cada comentario en Reddit. |
comentario_body | Texto completo del comentario. |
comentario_puntaje | Puntaje del comentario (upvotes – downvotes). |
comentario_fecha | Fecha en que se realizó el comentario (formato día-mes-año). |
comentario_hora | Hora en que se realizó el comentario. |
Tabla 1: Comentarios por día | ||
---|---|---|
Cantidad de comentarios únicos en r/AskMen y r/AskWomen | ||
Fecha | Subreddit | Comentarios |
2025-09-25 | AskMen | 1,984 |
2025-09-25 | AskWomen | 691 |
2025-09-27 | AskMen | 1,937 |
2025-09-27 | AskWomen | 214 |
2025-09-29 | AskMen | 2,023 |
2025-09-29 | AskWomen | 254 |
2025-10-01 | AskMen | 1,387 |
2025-10-01 | AskWomen | 595 |
NA | Total | 9,085 |
Tabla 2: Estadísticos descriptivos | |||
---|---|---|---|
Descriptivos de comentarios diarios por subreddit | |||
Subreddit | Media | Mínimo | Máximo |
AskMen | 1,833 | 1,387 | 2,023 |
AskWomen | 438 | 214 | 691 |
Para la investigación a futuro, se busca realizar un análisis específico de contenido con respecto al género. Por ejemplo, de insultos, contenido sexual, emociones, entre otros.
Criado, N., Ferrer, X., Such, J. & Van Nuenen, T. (2021). Discovering and Categorising Language Biases in Reddit. Proceedings of the International AAAI Conference on Web and Social Media, 15(1), 140-151. https://doi.org/10.1609/icwsm.v15i1.18048
Sawicki, J. & Solska, D. (2024). Decoding gender bias through a textual exploration of Reddit /r/MensRights community. Beyond Philology, 1(21), 167-202. https://doi.org/10.26881/bp.2024.1.06
Scholz, S., Stang, P., Weiss, M. & Winkler, C. (2025). Changing Conversations: The Rise of Gender and Sexuality Discourse on Reddit. Arch Sex Behav, 54, 1–5. https://doi.org/10.1007/s10508-024-03051-9