Filtrado de información

03/03/2004 - 20:13 por Isaías | Informe spam
Amigos todos, ahora que los veo muy activos, expongo esta
duda.

Muchos de ustedes ya saben que la empresa para la cual
presto mis servicios se dedica al procesamiento de
llamadas TELEFONICAS, pues bien.

Existe un proyecto de recibir SMS (Short Message Service)
y pasarlos en forma de ROLLUP (scroll en pantalla) en
algunos programas de television, pues bien, me estan
pidiendo que dichos mesnajes sean FILTRADO, eliminando
(descartando) todos aquellos que contengan palabras
obscenas (groserias, en mi pais).

Mi idea, crear una tabla donde se localicen todas estas
palabras NO PERMITIDAS y crear un trigger de INSTEAD OFF
de inserccion para FILTRAR conta dicha tabla.

El comentario que quiero de ustedes es ¿cual seria el
codigo eficiente para realizar dicho filtrado?, espero que
alguno de ustedes haya resuelto dicha problematica.

Ejemplo:

Una palabra obscena en mi pais es "PENDEJO", bien si yo
recibo en mi string, cualesquiera de las siguientes frases:

"ESPERO QUE ESTE BIEN PENDEJO"
"POR ESO ME CAES MALPENDEJO"
"PENDEJOINUTIL QUE TE VAYA BIEN"

Descartarlas y que no aparezcan en la television abierta.

Gracias por todo su apoyo, como siempre.

Preguntas similare

Leer las respuestas

#6 ulises
03/03/2004 - 22:09 | Informe spam
Ni tan bueno, en el caso de inserciones multiples rechaza
todas si es que alguno tiene las palabras prohibidas ...
pero creo que Isaias sabrá corregir las falencias :)

Saludos,
Ulises

Muy bueno!! lo ques saber ;-)




Salu2
-


-
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:
-


-


"ulises" escribió en el


mensaje
news:647401c40161$642e2de0$
Lo primero que se me ocurre es que sigas manejando la
inserción total en la tabla de manera que si luego te
piden información sobre lo que filtras o te pidan que
reemplaces las "groserias" por asteriscos tengas esos
datos a la mano.

De esa manera tendría una inserción clásica con un trigger
que verifique lo insertado contra una tabla de no
permitidos y si es correcta lo grabe en otra tabla de la
cual se obtiene la información para ser mostrada en la
pantalla, asumo que tu tabla de groserias no es grande
entonces podría hacerse algo como :

create table tempo ( mensaje varchar(80) )
create table tempodos ( mensaje varchar(80) )
create table groseria ( palabra varchar(80) )
go
insert into groseria values ('PENDEJO' )
go
create trigger trInserta on tempo for insert
as
if not exists ( select mensaje
from inserted cross join groseria
where len(inserted.mensaje) >
len( replace


(inserted.mensaje,palabra,'')) )
insert into tempodos select * from inserted

go
INSERT into tempo VALUES ('HOLA COMO ESTAN')
INSERT into tempo VALUES ('HOLA PENDEJO')
go
select * from tempo
select * from tempodos



mensaje

HOLA COMO ESTAN
HOLA PENDEJO

(2 row(s) affected)

mensaje

HOLA COMO ESTAN

(1 row(s) affected)

revisa el rendimiento que obtienes y ve si puedes mejorar
el CROSS JOIN que no me termina de gustar.

Saludos,
Ulises

Amigos todos, ahora que los veo muy activos, expongo esta
duda.

Muchos de ustedes ya saben que la empresa para la cual
presto mis servicios se dedica al procesamiento de
llamadas TELEFONICAS, pues bien.

Existe un proyecto de recibir SMS (Short Message Service)
y pasarlos en forma de ROLLUP (scroll en pantalla) en
algunos programas de television, pues bien, me estan
pidiendo que dichos mesnajes sean FILTRADO, eliminando
(descartando) todos aquellos que contengan palabras
obscenas (groserias, en mi pais).

Mi idea, crear una tabla donde se localicen todas estas
palabras NO PERMITIDAS y crear un trigger de INSTEAD OFF
de inserccion para FILTRAR conta dicha tabla.

El comentario que quiero de ustedes es ¿cual seria el
codigo eficiente para realizar dicho filtrado?, espero


que
alguno de ustedes haya resuelto dicha problematica.

Ejemplo:

Una palabra obscena en mi pais es "PENDEJO", bien si yo
recibo en mi string, cualesquiera de las siguientes


frases:

"ESPERO QUE ESTE BIEN PENDEJO"
"POR ESO ME CAES MALPENDEJO"
"PENDEJOINUTIL QUE TE VAYA BIEN"

Descartarlas y que no aparezcan en la television abierta.

Gracias por todo su apoyo, como siempre.
.






Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date:


21/02/2004


.

Respuesta Responder a este mensaje
#7 Maximiliano D. A.
03/03/2004 - 22:22 | Informe spam
si pero hay una lista de palabras :(


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Víctor Rafael Bocanegra Arias" escribió en
el mensaje news:%
porque no usar algo asi:

if not exists (
select mensaje
from inserted
inner join groseria on mensaje like '%'+palabra+'%')

Espero sus comentarios xq yo tengo algo similar corriendo...:P

Salu2

Victor Rafael Bocanegra Arias
Lima, Peru


"ulises" escribió en el mensaje
news:649c01c40163$db5271e0$
Ni tan bueno, en el caso de inserciones multiples rechaza
todas si es que alguno tiene las palabras prohibidas ...
pero creo que Isaias sabrá corregir las falencias :)

Saludos,
Ulises

>Muy bueno!! lo ques saber ;-)
>
>
>
>
>Salu2
>-
-
>Maxi
>Buenos Aires Argentina
>Desarrollador Microsoft 3 Estrellas .NET
>[Maxi_accotto[arroba]speedy[punto]com[punto]ar
>MSN:
>-
-
>
>
>"ulises" escribió en el
mensaje
>news:647401c40161$642e2de0$
>Lo primero que se me ocurre es que sigas manejando la
>inserción total en la tabla de manera que si luego te
>piden información sobre lo que filtras o te pidan que
>reemplaces las "groserias" por asteriscos tengas esos
>datos a la mano.
>
>De esa manera tendría una inserción clásica con un trigger
>que verifique lo insertado contra una tabla de no
>permitidos y si es correcta lo grabe en otra tabla de la
>cual se obtiene la información para ser mostrada en la
>pantalla, asumo que tu tabla de groserias no es grande
>entonces podría hacerse algo como :
>
>create table tempo ( mensaje varchar(80) )
>create table tempodos ( mensaje varchar(80) )
>create table groseria ( palabra varchar(80) )
>go
>insert into groseria values ('PENDEJO' )
>go
>create trigger trInserta on tempo for insert
>as
>if not exists ( select mensaje
> from inserted cross join groseria
> where len(inserted.mensaje) >
> len( replace
(inserted.mensaje,palabra,'')) )
> insert into tempodos select * from inserted
>
>go
>INSERT into tempo VALUES ('HOLA COMO ESTAN')
>INSERT into tempo VALUES ('HOLA PENDEJO')
>go
>select * from tempo
>select * from tempodos
>
>
>
>mensaje
>
>HOLA COMO ESTAN
>HOLA PENDEJO
>
>(2 row(s) affected)
>
>mensaje
>
>HOLA COMO ESTAN
>
>(1 row(s) affected)
>
>revisa el rendimiento que obtienes y ve si puedes mejorar
>el CROSS JOIN que no me termina de gustar.
>
>Saludos,
>Ulises
>
>>Amigos todos, ahora que los veo muy activos, expongo esta
>>duda.
>>
>>Muchos de ustedes ya saben que la empresa para la cual
>>presto mis servicios se dedica al procesamiento de
>>llamadas TELEFONICAS, pues bien.
>>
>>Existe un proyecto de recibir SMS (Short Message Service)
>>y pasarlos en forma de ROLLUP (scroll en pantalla) en
>>algunos programas de television, pues bien, me estan
>>pidiendo que dichos mesnajes sean FILTRADO, eliminando
>>(descartando) todos aquellos que contengan palabras
>>obscenas (groserias, en mi pais).
>>
>>Mi idea, crear una tabla donde se localicen todas estas
>>palabras NO PERMITIDAS y crear un trigger de INSTEAD OFF
>>de inserccion para FILTRAR conta dicha tabla.
>>
>>El comentario que quiero de ustedes es ¿cual seria el
>>codigo eficiente para realizar dicho filtrado?, espero
>que
>>alguno de ustedes haya resuelto dicha problematica.
>>
>>Ejemplo:
>>
>>Una palabra obscena en mi pais es "PENDEJO", bien si yo
>>recibo en mi string, cualesquiera de las siguientes
>frases:
>>
>>"ESPERO QUE ESTE BIEN PENDEJO"
>>"POR ESO ME CAES MALPENDEJO"
>>"PENDEJOINUTIL QUE TE VAYA BIEN"
>>
>>Descartarlas y que no aparezcan en la television abierta.
>>
>>Gracias por todo su apoyo, como siempre.
>>.
>>
>
>
>
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.593 / Virus Database: 376 - Release Date:
21/02/2004
>
>
>.
>







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 21/02/2004
Respuesta Responder a este mensaje
#8 Víctor Rafael Bocanegra Arias
03/03/2004 - 22:23 | Informe spam
porque no usar algo asi:

if not exists (
select mensaje
from inserted
inner join groseria on mensaje like '%'+palabra+'%')

Espero sus comentarios xq yo tengo algo similar corriendo...:P

Salu2

Victor Rafael Bocanegra Arias
Lima, Peru


"ulises" escribió en el mensaje
news:649c01c40163$db5271e0$
Ni tan bueno, en el caso de inserciones multiples rechaza
todas si es que alguno tiene las palabras prohibidas ...
pero creo que Isaias sabrá corregir las falencias :)

Saludos,
Ulises

Muy bueno!! lo ques saber ;-)




Salu2
-


-
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:
-


-


"ulises" escribió en el


mensaje
news:647401c40161$642e2de0$
Lo primero que se me ocurre es que sigas manejando la
inserción total en la tabla de manera que si luego te
piden información sobre lo que filtras o te pidan que
reemplaces las "groserias" por asteriscos tengas esos
datos a la mano.

De esa manera tendría una inserción clásica con un trigger
que verifique lo insertado contra una tabla de no
permitidos y si es correcta lo grabe en otra tabla de la
cual se obtiene la información para ser mostrada en la
pantalla, asumo que tu tabla de groserias no es grande
entonces podría hacerse algo como :

create table tempo ( mensaje varchar(80) )
create table tempodos ( mensaje varchar(80) )
create table groseria ( palabra varchar(80) )
go
insert into groseria values ('PENDEJO' )
go
create trigger trInserta on tempo for insert
as
if not exists ( select mensaje
from inserted cross join groseria
where len(inserted.mensaje) >
len( replace


(inserted.mensaje,palabra,'')) )
insert into tempodos select * from inserted

go
INSERT into tempo VALUES ('HOLA COMO ESTAN')
INSERT into tempo VALUES ('HOLA PENDEJO')
go
select * from tempo
select * from tempodos



mensaje

HOLA COMO ESTAN
HOLA PENDEJO

(2 row(s) affected)

mensaje

HOLA COMO ESTAN

(1 row(s) affected)

revisa el rendimiento que obtienes y ve si puedes mejorar
el CROSS JOIN que no me termina de gustar.

Saludos,
Ulises

Amigos todos, ahora que los veo muy activos, expongo esta
duda.

Muchos de ustedes ya saben que la empresa para la cual
presto mis servicios se dedica al procesamiento de
llamadas TELEFONICAS, pues bien.

Existe un proyecto de recibir SMS (Short Message Service)
y pasarlos en forma de ROLLUP (scroll en pantalla) en
algunos programas de television, pues bien, me estan
pidiendo que dichos mesnajes sean FILTRADO, eliminando
(descartando) todos aquellos que contengan palabras
obscenas (groserias, en mi pais).

Mi idea, crear una tabla donde se localicen todas estas
palabras NO PERMITIDAS y crear un trigger de INSTEAD OFF
de inserccion para FILTRAR conta dicha tabla.

El comentario que quiero de ustedes es ¿cual seria el
codigo eficiente para realizar dicho filtrado?, espero


que
alguno de ustedes haya resuelto dicha problematica.

Ejemplo:

Una palabra obscena en mi pais es "PENDEJO", bien si yo
recibo en mi string, cualesquiera de las siguientes


frases:

"ESPERO QUE ESTE BIEN PENDEJO"
"POR ESO ME CAES MALPENDEJO"
"PENDEJOINUTIL QUE TE VAYA BIEN"

Descartarlas y que no aparezcan en la television abierta.

Gracias por todo su apoyo, como siempre.
.






Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date:


21/02/2004


.

Respuesta Responder a este mensaje
#9 Isaías
03/03/2004 - 23:11 | Informe spam
Gracias Anibal

¿Algun ejemplo?, si no es mucho pedir claro
Respuesta Responder a este mensaje
#10 Víctor Rafael Bocanegra Arias
03/03/2004 - 23:16 | Informe spam
ok... pero y eso que tiene que ver???? :s igual funciona.


"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> escribió en el
mensaje news:%
si pero hay una lista de palabras :(


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Víctor Rafael Bocanegra Arias" escribió en
el mensaje news:%
> porque no usar algo asi:
>
> if not exists (
> select mensaje
> from inserted
> inner join groseria on mensaje like '%'+palabra+'%')
>
> Espero sus comentarios xq yo tengo algo similar corriendo...:P
>
> Salu2
>
> Victor Rafael Bocanegra Arias
> Lima, Peru
>
>
> "ulises" escribió en el mensaje
> news:649c01c40163$db5271e0$
> Ni tan bueno, en el caso de inserciones multiples rechaza
> todas si es que alguno tiene las palabras prohibidas ...
> pero creo que Isaias sabrá corregir las falencias :)
>
> Saludos,
> Ulises
>
> >Muy bueno!! lo ques saber ;-)
> >
> >
> >
> >
> >Salu2
> >-
> -
> >Maxi
> >Buenos Aires Argentina
> >Desarrollador Microsoft 3 Estrellas .NET
> >[Maxi_accotto[arroba]speedy[punto]com[punto]ar
> >MSN:
> >-
> -
> >
> >
> >"ulises" escribió en el
> mensaje
> >news:647401c40161$642e2de0$
> >Lo primero que se me ocurre es que sigas manejando la
> >inserción total en la tabla de manera que si luego te
> >piden información sobre lo que filtras o te pidan que
> >reemplaces las "groserias" por asteriscos tengas esos
> >datos a la mano.
> >
> >De esa manera tendría una inserción clásica con un trigger
> >que verifique lo insertado contra una tabla de no
> >permitidos y si es correcta lo grabe en otra tabla de la
> >cual se obtiene la información para ser mostrada en la
> >pantalla, asumo que tu tabla de groserias no es grande
> >entonces podría hacerse algo como :
> >
> >create table tempo ( mensaje varchar(80) )
> >create table tempodos ( mensaje varchar(80) )
> >create table groseria ( palabra varchar(80) )
> >go
> >insert into groseria values ('PENDEJO' )
> >go
> >create trigger trInserta on tempo for insert
> >as
> >if not exists ( select mensaje
> > from inserted cross join groseria
> > where len(inserted.mensaje) >
> > len( replace
> (inserted.mensaje,palabra,'')) )
> > insert into tempodos select * from inserted
> >
> >go
> >INSERT into tempo VALUES ('HOLA COMO ESTAN')
> >INSERT into tempo VALUES ('HOLA PENDEJO')
> >go
> >select * from tempo
> >select * from tempodos
> >
> >
> >
> >mensaje
> >
> >HOLA COMO ESTAN
> >HOLA PENDEJO
> >
> >(2 row(s) affected)
> >
> >mensaje
> >
> >HOLA COMO ESTAN
> >
> >(1 row(s) affected)
> >
> >revisa el rendimiento que obtienes y ve si puedes mejorar
> >el CROSS JOIN que no me termina de gustar.
> >
> >Saludos,
> >Ulises
> >
> >>Amigos todos, ahora que los veo muy activos, expongo esta
> >>duda.
> >>
> >>Muchos de ustedes ya saben que la empresa para la cual
> >>presto mis servicios se dedica al procesamiento de
> >>llamadas TELEFONICAS, pues bien.
> >>
> >>Existe un proyecto de recibir SMS (Short Message Service)
> >>y pasarlos en forma de ROLLUP (scroll en pantalla) en
> >>algunos programas de television, pues bien, me estan
> >>pidiendo que dichos mesnajes sean FILTRADO, eliminando
> >>(descartando) todos aquellos que contengan palabras
> >>obscenas (groserias, en mi pais).
> >>
> >>Mi idea, crear una tabla donde se localicen todas estas
> >>palabras NO PERMITIDAS y crear un trigger de INSTEAD OFF
> >>de inserccion para FILTRAR conta dicha tabla.
> >>
> >>El comentario que quiero de ustedes es ¿cual seria el
> >>codigo eficiente para realizar dicho filtrado?, espero
> >que
> >>alguno de ustedes haya resuelto dicha problematica.
> >>
> >>Ejemplo:
> >>
> >>Una palabra obscena en mi pais es "PENDEJO", bien si yo
> >>recibo en mi string, cualesquiera de las siguientes
> >frases:
> >>
> >>"ESPERO QUE ESTE BIEN PENDEJO"
> >>"POR ESO ME CAES MALPENDEJO"
> >>"PENDEJOINUTIL QUE TE VAYA BIEN"
> >>
> >>Descartarlas y que no aparezcan en la television abierta.
> >>
> >>Gracias por todo su apoyo, como siempre.
> >>.
> >>
> >
> >
> >
> >Outgoing mail is certified Virus Free.
> >Checked by AVG anti-virus system (http://www.grisoft.com).
> >Version: 6.0.593 / Virus Database: 376 - Release Date:
> 21/02/2004
> >
> >
> >.
> >
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 21/02/2004


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida