

# Cómo revisar de qué trata una respuesta de Reddit

Lea el contexto padre de una respuesta de Reddit, encuentre su objetivo específico y etiquete por separado la postura hacia cada objetivo. Puede armar un conjunto de datos de sentimiento con datos de calidad a partir de debates de la comunidad. Este método muestra cómo preparar los comentarios de Reddit antes de probar cualquier modelo.

## Configuración de la recolección

Para obtener datos sin procesar, use un programa alojado de recolección de datos llamado Actor. El scraper Reddit Comments lo ayuda a extraer hilos públicos. Cambie el valor preestablecido de la tarea para usar la URL de un hilo conocido. Fije el límite máximo de comentarios por publicación entre 1 y 500, con un valor predeterminado de 100. Para esta tarea inicial, use un tope de 3 filas. La entrada postUrls exige de 1 a 50 hilos públicos conocidos, y maxCommentsPerPost va de 1 a 500 por publicación; el valor preestablecido 250 se cambia a 3 para la prueba piloto.

Cada fila de comentario tiene nombres de campo exactos: postId, commentId, parentId, depth, body, status, unavailableFields y observedAt. Conserve los nombres exactos, no alias separados por espacios. El estado del conjunto de datos es únicamente ok, deleted o removed. Un estado de ejecución parcial o fallida, o un estado de entrada, queda separado del estado de la fila.

Los datos de salida de la ejecución incluyen commentsSaved, duplicatesSkipped, hiddenBranchesRemaining, completionReason, status, isComplete e inputResults. Los campos por entrada incluyen commentsFound, commentsSaved, status y reason. En la prueba piloto actual, los tres ID con el cuerpo presente tienen parentId y depth en null, hiddenBranchesRemaining en null, y los resultados generales o los resultados de entrada son parciales, pese a la marca de procesamiento isComplete=true. Esto no es una prueba de contexto completo ni de la calidad del clasificador. Si se necesita un padre coincidente, haga una comprobación pública manual y autorizada, o deje el contexto como desconocido. Nunca adivine una fila vecina.

## Definición de objetivos y etiquetas

Antes de leer cualquier texto, defina el conjunto de objetivos y la unidad de etiqueta. Aquí, una unidad es un comentario más un objetivo, no un solo comentario ni una sola persona. Especifique cinco etiquetas con reglas simples:

- Positivo: aprobación expresada.
- Negativo: desaprobación expresada.
- Neutro: enuncia hechos sin una postura.
- Mixto: sostiene a la vez una opinión positiva y una negativa.
- Incierto: el objetivo o la postura no están claros.

Un objetivo es la persona, el producto, la política o la acción específica de la que hablan las palabras.

## Ocho pasos para analizar comentarios

1. Defina su pregunta, el conjunto de objetivos y la unidad de etiqueta antes de leer.
2. Conserve las filas de origen y los datos de salida. Guarde la identidad del comentario, el texto, el estado y los datos faltantes. Arme una tabla de etiquetas de trabajo en lugar de escribir un sentimiento supuesto en los campos originales.
3. Lea el contexto del padre coincidente cuando esté disponible. Encuentre menciones explícitas del objetivo y pronombres. Si no puede resolver un pronombre de forma segura, deje el objetivo y el contexto como inciertos. Trate el sarcasmo como un motivo de revisión, no como una etiqueta negativa automática.
4. Separe las afirmaciones que tienen más de un objetivo. Un comentario puede elogiar la velocidad y rechazar un cambio de precio. No asigne una preferencia universal.
5. Guarde el ID del comentario, el objetivo, el pasaje de evidencia, la fuente del contexto, la etiqueta y el motivo. Mantenga separadas las palabras citadas de otras personas y la postura propia de quien escribe. No etiquete una pregunta como una queja sin contexto.
6. [Pida a una segunda persona que codifique un subconjunto común pequeño](/es/articles/acuerdo-entre-codificadores-de-comentarios-de-reddit/). Registre el acuerdo bruto y anote qué reglas causaron los desacuerdos. No afirme una exactitud alta sin un estándar de referencia justificado. Refine las reglas y vuelva a etiquetar los casos afectados.
7. Informe por separado los recuentos de unidades comentario-objetivo y los de ID de comentarios distintos, con cada comentario contado una vez. Los comentarios con varios objetivos suman más filas de etiquetas que comentarios. Mantenga visibles las etiquetas inciertas y los cuerpos no disponibles, fuera de los denominadores resueltos.
8. Entregue una tabla de postura por objetivo, un libro de códigos y notas de desacuerdo. Esto prepara un conjunto de datos que se puede inspeccionar. No aporta prioridades de producto, opiniones representativas ni acciones automatizadas de respuesta.

Todo el texto y todos los ID de este ejemplo son inventados. Imagine que el contexto padre P pregunta por el nuevo precio mensual del producto A y por la incorporación del producto B.

| commentID | fuente de contexto coincidente | objetivo | pasaje exacto de la fuente | etiqueta | motivo |
| --- | --- | --- | --- | --- | --- |
| C1 | Contexto P | Producto A | "Aún me gusta A" | Positivo | Expresa una postura positiva sobre el producto A |
| C1 | Contexto P | Cambio de precio (A) | "el precio nuevo es malo" | Negativo | Expresa una postura negativa sobre el cambio de precio |
| C2 | Contexto P | Incorporación (B) | "B fue fácil de aprender" | Positivo | Elogio por la facilidad de la incorporación |
| C2 | Contexto P | Velocidad (A) | "A fue más rápido para nuestro equipo" | Positivo | Elogio de la velocidad, con el límite de que vale para el equipo de quien escribe |
| C3 | Contexto P (confirmado) | Aumento de precio | "Genial, otro aumento de precio" | Negativo | Queja sarcástica confirmada por el padre P |
| C4 | Desconocido | Desconocido | "¿Funciona sin conexión?" | Incierto | Objetivo no resuelto sin contexto padre |

Observe que C5 tiene el estado de cuerpo removed y queda fuera de la tabla de sentimiento como un registro de disponibilidad, sin etiqueta de sentimiento.

## Ejemplo ficticio resuelto

El comentario C1 dice: "Aún me gusta A, pero el precio nuevo es malo". Esto da dos unidades. El producto A es positivo. El cambio de precio de A es negativo. No asigne una postura negativa universal al producto A.

El comentario C2 dice: "B fue fácil de aprender; A fue más rápido para nuestro equipo". Esto da la incorporación de B como positiva y la velocidad de A como positiva, con el límite de que ese resultado vale para el equipo de quien escribe. No se indica un ganador general.

El comentario C3 dice: "Genial, otro aumento de precio". Este cambio de precio, como objetivo, solo se cuenta si el contexto padre P está confirmado. Etiquételo como negativo o como sarcasmo después de la revisión manual; de lo contrario, déjelo incierto.

El comentario C4 dice: "¿Funciona sin conexión?". Tiene un pronombre no resuelto sin contexto padre. El objetivo es desconocido, así que etiquételo como incierto. No convierta una pregunta en una opinión negativa sobre el funcionamiento sin conexión.

El comentario C5 tiene el cuerpo en estado removed, así que no se analiza. [Conserve su posición de disponibilidad](/es/articles/registro-texto-faltante-moderacion-reddit/) en la tabla.

Con un padre confirmado para C3, la tabla de etiquetas tiene seis unidades comentario-objetivo a partir de cuatro comentarios con cuerpo disponible. Eso significa dos para C1, dos para C2, una para C3 y una para C4.

Las unidades resueltas suman cinco. Tres son positivas para C1 A, C2 B y C2 A. Dos son negativas para el precio de C1 y el precio de C3. Una es incierta para C4.

La puntuación positiva es 3 dividido por 5, lo que equivale al 60 por ciento solo de las unidades de objetivo resueltas. No es el 60 por ciento de quienes comentan ni de la opinión de la comunidad. Hay cinco posiciones observadas y cuatro comentarios con cuerpo disponible, con C5 en removed fuera del sentimiento.

## Acuerdo de codificación y límites

Dos codificadores ficticios etiquetan las cinco unidades resueltas. Su acuerdo inicial es 4 de 5, lo que equivale al 80 por ciento. Su diferencia sobre C3 se refiere al sarcasmo y al contexto. Revisan la condición real del padre y acuerdan una regla. Esto no establece una exactitud general del 80 por ciento. Si falta el padre de C3, el caso debe seguir incierto. El denominador resuelto baja a 4. No invente la confirmación del padre a partir de filas vecinas.

El artefacto final muestra referencias a la fuente y cada objetivo por separado, con C4 y C5 en un registro de casos desconocidos y no disponibles. No aporta tablas de frecuencia de temas ni de prioridad de funciones. Los debates reales siguen patrones comunitarios parecidos. Puede revisar un [debate real sobre un proyecto de sentimiento](https://www.reddit.com/r/webscraping/comments/15x92f1/how_do_i_scrape_comments_from_reddit_posts/) para tener más contexto.

## Siguiente acción

Abra la [Tarea Reddit Comment Sentiment Analysis Dataset](https://apify.com/chronometrica/reddit-comments-scraper/examples/reddit-comment-sentiment-dataset) con el [Actor Reddit Comments Scraper](https://apify.com/chronometrica/reddit-comments-scraper), use un hilo conocido pequeño, conserve los contextos desconocidos y codifique cada unidad comentario-objetivo antes de probar cualquier modelo de sentimiento.

## Fuentes y lecturas adicionales

- [Actor Reddit Comments Scraper](https://apify.com/chronometrica/reddit-comments-scraper)
- [Tarea Reddit Comment Sentiment Analysis Dataset](https://apify.com/chronometrica/reddit-comments-scraper/examples/reddit-comment-sentiment-dataset)
- [Guía para extraer subtítulos de YouTube](https://chronometrica.com/es/articles/extraccion-de-subtitulos-de-youtube/)
- [Debate de Reddit sobre web scraping](https://www.reddit.com/r/webscraping/comments/15x92f1/how_do_i_scrape_comments_from_reddit_posts/)