Creación de reglas para el stream filtrado
Tabla de contenidos
- Creación de una regla
- Limitaciones de las reglas
- Disponibilidad de operadores
- Tipos de operadores: autónomos y que requieren conjunción
- Operadores booleanos y agrupación
- Orden de operaciones
- Puntuación, diacríticos y distinción entre mayúsculas y minúsculas
- Especificidad y eficiencia
- Creación iterativa de una regla
- Agregar y eliminar reglas
- Ejemplos de reglas
Crear una regla
Limitaciones de las reglas
Tipos de operadores: autónomos y se requiere una conjunción
#hashtag, que es autónomo:
#xapiv2
Los operadores se requiere una conjunción no pueden usarse por sí solos en una regla; solo pueden usarse cuando se incluye al menos un operador autónomo en la regla. Esto se debe a que usar estos operadores solos sería demasiado general y haría coincidir un volumen extremadamente alto de Posts.
Por ejemplo, las siguientes reglas no son compatibles, ya que contienen únicamente operadores que requieren conjunción:
has:media
has:links OR is:retweet
Si agregamos un operador autónomo, como la frase “X data”, la regla funcionaría correctamente.
“X data” has:mentions (has:media OR has:links)
Operadores booleanos y agrupación
| Lógica AND | Los operadores sucesivos con un espacio entre ellos aplican la lógica booleana “AND”, lo que significa que los Posts coincidirán solo si se cumplen ambas condiciones. Por ejemplo, snow day #NoSchool coincidirá con Posts que contengan los términos snow y day y el hashtag #NoSchool. |
| Lógica OR | Los operadores sucesivos con OR entre ellos aplican la lógica OR, lo que significa que los Posts coincidirán si se cumple cualquiera de las condiciones. Por ejemplo, usar grumpy OR cat OR #meme coincidirá con cualquier Post que contenga al menos los términos grumpy o cat, o el hashtag #meme. |
| Lógica NOT, negación | Antepon un guion (-) a una palabra clave (o a cualquier operador) para negarla (NOT). Por ejemplo, cat #meme -grumpy coincidirá con Posts que contengan el hashtag #meme y el término cat, pero solo si no contienen el término grumpy. Una cláusula de regla común es -is:retweet, que no coincidirá con Retweets y, por tanto, coincidirá solo con Posts originales, Quote Tweets y respuestas. Todos los operadores se pueden negar, pero los operadores negados no se pueden usar solos. |
| Agrupación | Puedes usar paréntesis para agrupar operadores. Por ejemplo, (grumpy cat) OR (#meme has:images) devolverá Posts que contengan los términos grumpy y cat, o Posts con imágenes que contengan el hashtag #meme. Ten en cuenta que primero se aplican los AND y luego los OR. |
Una nota sobre las negacionesTodos los operadores se pueden negar excepto
sample:, y -is:nullcast siempre debe estar negado. Los operadores negados no se pueden usar solos.No niegues un conjunto de operadores agrupados entre paréntesis. En su lugar, niega cada operador individual.Por ejemplo, en lugar de usar skiing -(snow OR day OR noschool), te sugerimos usar skiing -snow -day -noschool.Orden de operaciones
- Primero se combinan los operadores conectados por la lógica AND
- Luego se aplican los operadores conectados con la lógica OR
apple OR iphone ipadse evaluará comoapple OR (iphone ipad)ipad iphone OR androidse evaluará como(iphone ipad) OR android
(apple OR iphone) ipadiphone (ipad OR android)
Puntuación, diacríticos y distinción entre mayúsculas y minúsculas
diacrítica o el hashtag #cumpleaños coincidirán con Posts que contengan diacrítica o #cumpleaños porque incluyen el acento o diacrítico. Sin embargo, estas reglas no coincidirán con Posts que contengan Diacritica o #cumpleanos sin la tilde en í o la eñe.
Los caracteres con acentos o diacríticos se tratan igual que los caracteres normales y no se consideran límites de palabra. Por ejemplo, una regla con la palabra clave cumpleaños solo coincidiría con Posts que contengan la palabra cumpleaños y no coincidiría con Posts que contengan cumplea, cumplean u os.
Todos los operadores se evalúan sin distinguir entre mayúsculas y minúsculas. Por ejemplo, la regla cat coincidirá con todo lo siguiente: cat, CAT, Cat.
El comportamiento de coincidencia de Search Posts difiere del de filtered stream. Al crear una consulta de Search Posts, ten en cuenta que las palabras clave y los hashtags que incluyen acentos o diacríticos coincidirán tanto con el término con acentos y diacríticos como con caracteres normales.Por ejemplo, las consultas de Search Posts que incluyan la palabra clave
Diacrítica o el hashtag #cumpleaños coincidirán tanto con Diacrítica y #cumpleaños como también con Diacritica o #cumpleanos sin la tilde en í o la eñe.Especificidad y eficiencia
- Usar operadores amplios y autónomos para su regla, como una sola palabra clave o un #hashtag, generalmente no se recomienda, ya que probablemente hará coincidir un volumen masivo de Posts. Crear una regla más sólida dará como resultado un conjunto más específico de Posts coincidentes y, con suerte, reducirá la cantidad de ruido en la carga útil que tendrá que cribar para encontrar información valiosa.
- Por ejemplo, si su regla fuera solo la palabra clave
happy, probablemente obtendría entre 200.000 y 300.000 Posts por día. - Agregar más operadores condicionales reduce sus resultados de búsqueda; por ejemplo,
(happy OR happiness) place_country:GB -birthday -is:retweet
- Por ejemplo, si su regla fuera solo la palabra clave
- Escribir reglas eficientes también ayuda a mantenerse dentro de la restricción de longitud de caracteres de la regla. El recuento de caracteres incluye toda la cadena de la regla, incluidos los espacios y los operadores.
- Por ejemplo, la siguiente regla tiene 59 caracteres:
(happy OR happiness) place_country:GB -birthday -is:retweet
- Por ejemplo, la siguiente regla tiene 59 caracteres:
Comportamiento de coincidencia en los Quote Tweets
Crear una regla de forma iterativa
Prueba tu regla temprano y con frecuencia
happy OR happiness
Usa los resultados para acotar la regla
lang::
(happy OR happiness) lang:en
La prueba devolvió varios Posts felicitando cumpleaños, así que vamos a añadir -birthday como operador de palabra clave negada. También queremos recibir únicamente Posts originales, por lo que añadimos el operador negado -is:retweet:
(happy OR happiness) lang:en -birthday -is:retweet
Ajustar para incluir cuando sea necesario
excited y elated.
(happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet
Ajustar según tendencias o picos de popularidad durante el período
-holidays.
(happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet -holidays
Agregar y eliminar reglas
add con un arreglo que contenga el parámetro value con la regla, y el parámetro opcional tag con texto libre que puedes usar para identificar qué Posts devueltos coinciden con esta regla.
Por ejemplo, si quisieras agregar un conjunto de reglas a tu flujo, tu comando cURL podría verse así:
delete con el arreglo que contiene el parámetro id, incluyendo los id de las reglas que deseas eliminar.
Por ejemplo, si quisieras eliminar un conjunto de reglas de tu flujo, tu comando cURL podría verse así:
Ejemplos de reglas
Seguimiento de un desastre natural
Revisar el sentimiento de una conversación
Encontrar Posts relacionados con una anotación de Post específica
context: para aprovechar la funcionalidad de anotaciones de Post. Primero usamos el endpoint de Post lookup y el parámetro de fields tweet.fields=context_annotations para identificar qué IDs de domain.entity debemos usar en nuestra consulta:
- Los Posts relacionados con gatos devuelven
domain66 (categoría Interests and Hobbies) conentity852262932607926273 (Cats). - Los Posts relacionados con mascotas devuelven
domain65 (Interests and Hobbies Vertical) conentity852262932607926273 (Pets).