Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Buscar contenido similar para evitar duplicados o reposts

Estas en el tema de Buscar contenido similar para evitar duplicados o reposts en el foro de Mysql en Foros del Web. Saludos amigos, tengo una pagina de clasificados, y estoy trabajando en una version 2 y quiero implementar un algoritmo que evite que la gente ponga ...
  #1 (permalink)  
Antiguo 05/07/2013, 16:05
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Buscar contenido similar para evitar duplicados o reposts

Saludos amigos, tengo una pagina de clasificados, y estoy trabajando en una version 2 y quiero implementar un algoritmo que evite que la gente ponga mas de una vez un anuncio clasificado, pero no puedo hacer solo una comparacion entre el titulo y el contenido ya que puede variar en un par de caracteres algo y una comparacion de ese tipo me dejaria que se publiquen duplicados, por ejemplo, el anuncio 1 dice "hola soy xcars" y el anuncio 2 dice "hola soy x cars" si comparo la cadena completa me dira que son diferentes y me dejara postear el anuncio.

Quisiera poder tener un algoritmo que verifique todo el contenido y en base a un % o nose, algun criterio definir si es duplicado o no.

Lo he intengado googlear y buscar aqui en el foro pero se me ha hecho dificil encontrar las palabras correctas para hacer una busqueda asi que por eso pongo el tema.....

Gracias por sus ideas y aportes.
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #2 (permalink)  
Antiguo 05/07/2013, 16:46
 
Fecha de Ingreso: abril-2011
Mensajes: 66
Antigüedad: 13 años
Puntos: 7
Respuesta: Buscar contenido similar para evitar duplicados o reposts

Francamente, si estas buscando un algoritmo, tendria que ser un algoritmo de tipo inteligencia artificial o algo que pudiera determinar lo que deseas, pero en porcentajes de similitud, porque al mismo ejemplo que tu posteas, te puedo mencionar de que es lo mismo que si yo dijera:

"Hola, soy xcars" --> Español
"Hello, I'm xcars" --> Ingles.

Y eso, es exactamente lo mismo, pero en diferente idioma, y si fuera traducido por algun traductor de ingles seria:
"Hola, yo soy xcars"

La verdad es que esta interpretacion la realizamos nosotros de acuerdo a porcentaje de similitudes, seria interesante ver un algoritmo con porcentaje de similitud.

Saludos.
  #3 (permalink)  
Antiguo 05/07/2013, 21:56
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: Buscar contenido similar para evitar duplicados o reposts

Saludos y gracias por tu respuesta.

Primero, hay que considerar que no he dicho ni mencionado nada de diferentes idiomas, la pagina es en español y lo sera durante muchisimo tiempo mas antes de pasar a otro idioma, por lo que no me preocupa para nada en que idioma lo posteen, para eso hay un administrador y si un anuncio no esta publicado correctamente o se nota que es una traduccion se elimina.

Lo que deseo es disminuir la cantidad de trabajo "manual" de verificacion, y cuando estudie en el colegio hace mas de 20 años hicimos algoritmos de este tipo, pero son poco eficientes, pero creo que talvez ya exista alguna funcion en PHP o alguien ya ha hecho alguna que haga esto, pues el problema principal aqui es que el "anuncio nuevo" esta del lado del cliente y se tiene que comparar contra los anuncios en una BD por lo que no es sencillo decir que se va a hacer un explode y comparar, por eso mismo lo puse dentro del foro de PHP/MySQL porque es una combinacion de ambos, nose si crear un diccionario con ciertas palabras como advervios, proverbios etc, para excluirlas de un anuncio y tener una lista de palabras de cada anuncio y contra estas comparar y si llegamos a un %x no permitir la publicacion, nose, se me ocurren varias formas, pero no lo he intentado aun pues es un proceso algo complejo y no quiero inventar la rueda nuevamente... si al final nadie ha pasado por esta experiencia y me da una luz o una directriz de que camino tomar, si encuentro una solucion con gusto la compartire.... de nuevo gracias por tu respuesta.
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #4 (permalink)  
Antiguo 06/07/2013, 07:28
 
Fecha de Ingreso: abril-2011
Mensajes: 66
Antigüedad: 13 años
Puntos: 7
Respuesta: Buscar contenido similar para evitar duplicados o reposts

Hola xcars.

Me parece que te molesto un poquito mi respuesta, si eso es cierto, por favor perdoname.

Con respecto a lo que dices, concuerdo contigo, a mi tambien en alguna oportunidad tuve que realizar ese tipo de ejercicios, pero ese tipo de ejercicios es en alguna medida ineficiente, puesto que tendrias que evaluar ese mismo algortimo por cada uno de los temas de la base de datos.

Ahora, puedes ahorrar esa carga de trabajo muy bien como tu imaginas, dandole al tema una propiedad que es que tenga como etiquetas o tag, asi podras clasificar los temas y bscar los temas que tengan o contengan los mismos tags. Asi reduces la carga.

Si te mencione el ejemplo del idioma, era porque no sabia, pero ya me quedo muy claro. Y en cuanto a la interpretacion, lo que queria mencionar con mi post es que ese tipo de criterios depende a una similitud humana que nosotros realizamos, por eso te mencione de que puede ser un buen algoritmo que no busque exactamente igual al texto, pero que si calcule el pocentaje de similitud que tiene un tema con otro.

Me entusiasmo el tema !!!, dejame ver que averiguo.

Saludos.
  #5 (permalink)  
Antiguo 06/07/2013, 07:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Buscar contenido similar para evitar duplicados o reposts

Cita:
por eso mismo lo puse dentro del foro de PHP/MySQL
Este no es un foro de PHP/MySQL. Es un foro de MySQL, y MySQL no es PHP ni parte de PHP.
En los foros de BBDD analizamos el tema desde la óptica de las bases de datos y el SQL, no de lógica de programación.

Si quieres ver un algoritmo de PHP para resolver el tema, te paso el post al Foro correspondiente, donde están los expertos en PHP y podrás recibir mejor ayuda. De lo contrario, podemos intentar analizar las implicancias en BBDD.

Lo que sí puedo decirte es que un algoritmo, o conjunto de algoritmos como el que necesitas, no se trata de algo menor, si quieres que sea efectivo y eficiente. El problema de la similitud de loa avisos clasificados, es algo recurrente y que ninguna empresa dedicada a esos rubros ha logrado resolver.
Por lo pronto, debes definir mejor el marco de análisis, porque los avisos pueden ser similares, pero los usuarios diferentes, y eso no sería un caso de impedimento, como te puedes imaginar.
También debes considerar los periodos de vigencia de las ofertas, las áreas geográficas implicadas, los subrubros impactados... en definitiva, lo que quiero que decir es que sólo el planteo global del problema requiere de un análisis preliminar mas extenso hablar solamente de similitudes de avisos o publicaciones.
No estoy seguro que esto se pueda resolver sin un equipo de trabajo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 06/07/2013 a las 08:04
  #6 (permalink)  
Antiguo 06/07/2013, 15:46
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: Buscar contenido similar para evitar duplicados o reposts

para nada Mouse, no me molesto y las disculpas del caso si pareci grosero, igual como comente si logro hacer algo eficiente lo compartire con gusto.
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #7 (permalink)  
Antiguo 06/07/2013, 15:50
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: Buscar contenido similar para evitar duplicados o reposts

Saludos. Primero las disculpas del caso, entre por el foro de PHP y habia una subseccion que decia MySQL asi que asumi que era un foro donde se hablaba de temas relacionados, ya que como entenderas este no es un tema de solo PHP o solo MySQL, son ambos trabajando en conjunto y x eso hasta me parecio genial que hubieran abierto la seccion qeu pena que no era asi, y que solo era un enlace dentro del foro de pHP hacia mySQL.

Pero bueno, principalmente no me quiero complicar pues buscare duplicados unicamente para el mismo usuario, es decir, que si el usuario1 pone un anuncio y el usuario2 pone el mismo anuncio, no sera bloqueado, unicamente se evaluara de manera manual para determinar que se hara, por eso es que me centro en como determinar que un anuncio es "similar" a otro, pues al poder determinarlo puedo tomar que otras decisiones o soluciones implementar. Pero en fin como tu dices no es un tema simple, pero ya estoy haciendo un esquema para resolverlo si lo logro resolver lo comparto para ver como se mejora... gracias a ambos por la ayuda....

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Este no es un foro de PHP/MySQL. Es un foro de MySQL, y MySQL no es PHP ni parte de PHP.
En los foros de BBDD analizamos el tema desde la óptica de las bases de datos y el SQL, no de lógica de programación.

Si quieres ver un algoritmo de PHP para resolver el tema, te paso el post al Foro correspondiente, donde están los expertos en PHP y podrás recibir mejor ayuda. De lo contrario, podemos intentar analizar las implicancias en BBDD.

Lo que sí puedo decirte es que un algoritmo, o conjunto de algoritmos como el que necesitas, no se trata de algo menor, si quieres que sea efectivo y eficiente. El problema de la similitud de loa avisos clasificados, es algo recurrente y que ninguna empresa dedicada a esos rubros ha logrado resolver.
Por lo pronto, debes definir mejor el marco de análisis, porque los avisos pueden ser similares, pero los usuarios diferentes, y eso no sería un caso de impedimento, como te puedes imaginar.
También debes considerar los periodos de vigencia de las ofertas, las áreas geográficas implicadas, los subrubros impactados... en definitiva, lo que quiero que decir es que sólo el planteo global del problema requiere de un análisis preliminar mas extenso hablar solamente de similitudes de avisos o publicaciones.
No estoy seguro que esto se pueda resolver sin un equipo de trabajo...
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.

Etiquetas: contenido, duplicados, similar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:32.