2010-10-18 20 views
17

No puedo administrar fácilmente los feeds RSS debido a la gran cantidad de historias nuevas/contenidos de noticias similares publicados en varios sitios de noticias. Para temas como noticias mundiales y noticias de negocios, muchas de las historias son redundantes, lo que agrega una carga para que los lectores resuelvan qué historias ya han leído. Para lidiar con los problemas gemelos de inundación y redundancia, necesito desarrollar un código que reduzca la cantidad de elementos para leer y use la información superpuesta para divinos temas interesantes.Agrupando contenidos de noticias similares juntos en GOOGLE NEWS

sería más fácil si pudiera Agrupar contenidos de noticias similares juntos en GOOGLE NEWS/StackOverflow y presentarlo a los usuarios.

+0

¿Las * categorías de temas * (deportes, mundo, entretenimiento, salud ...) * están predeterminadas *? En otras palabras, ¿ya sabes cómo agrupar las noticias? (En caso afirmativo, se trata de un problema de aprendizaje supervisado) ¿O corresponde a los usuarios especificar cuántos y qué categorías de temas hay? (=> sin supervisión => más difícil) – knb

Respuesta

2

No veo ninguna pregunta aquí, pero comenzaría por desarrollar algún tipo de algoritmo de huellas digitales, con palabras, nombres, títulos, fechas, etc. de los artículos. Luego verificaría la similitud de las huellas dactilares para encontrar artículos idénticos, tal vez mediante algún tipo de trabajo de MapReduce para distribuir fácilmente el trabajo a diferentes servidores en un clúster.

Si quieres un poco de inspiración, echa un vistazo al código fuente de Google Historias de todos: http://code.google.com/p/living-stories/

9

Esto es definitivamente un no tan fácil de resolver un problema que puede ser resuelto por:

  • inteligentes funciones de texto-análisis
  • potencia de hardware prima
  • ambos
  • pruebas, pruebas, ensayos
  • puesta a punto al final

Primero de todo lo que había grupos diferentes fuentes de noticias a alguna categoría relativamente amplio. Puede determinar fácilmente que una fuente de noticias Tech no publicará noticias bajo categoría económica. (O será, ese es el problema.)

La mayoría de los títulos de las noticias de casos no se tocarán, se mantiene en la forma original como máximo. Así que Categoría, Título y Fecha de Publicación es un buen punto de partida para agrupar las noticias en una sola.

Si detecta problemas con los métodos anteriores, necesita un ajuste fino debajo del capó.

Quizás necesite leer el artículo completo y comparar dos (miles de) artículos palabra por palabra.

  • Hay muchas palabras vacías que pueden distorsionar la comparación, por lo que deberá ignorarlas.
  • Es posible que desee definir sinónimos (J Lo = Jennifer López)

Si los textos primas de noticias son similares (se puede definir un valor umbral) se pueden comparar los otros factores de nuevo (descrito anteriormente).

Algunas fuentes de noticias que proporcionan un buen etiquetado en la fuente RSS, tal vez usted puede usar esto también pero no confiar en ello.

Y recuerde, necesitará muchos ajustes al principio (alrededor de 1 año) y entonces estará bien.

+0

Estimado Fabrik, gracias por su respuesta ... ¿hay algún algoritmo o código disponible para esto? – Gourav

+0

Las malas noticias: debes escribir las tuyas. ¿El bueno? He proporcionado muchas informaciones útiles;) – fabrik

+0

Consulte la literatura sobre vectores semánticos –

2

He leído en alguna parte, pero no tengo una referencia, que Google News usa una variante de MinHash para detectar publicaciones de noticias casi duplicadas. Y muchos de ellos son casi idénticos, provenientes de una agencia de prensa solo con pequeñas adaptaciones de los periódicos.

http://en.wikipedia.org/wiki/MinHash

tiene una referencia y la afirmación de que Google Noticias utiliza una variante de LSH y minhash:

Das, Abhinandan S. et al. (2007), "Personalización de noticias de Google: filtrado colaborativo en línea escalable", Actas de la 16ª conferencia internacional en la World Wide Web. ACM

1

creo que debería tratar Coeficiente de Jaccard o similitud de Jaccard

El índice de Jaccard, también conocido como el coeficiente de similitud de Jaccard (acuñado originalmente coeficiente de Communauté de Paul Jaccard), es una estadística que se usa para comparar el similitud y diversidad de conjuntos de muestras. El coeficiente de Jaccard mide la similitud entre los conjuntos de muestras finitos, y se define como el tamaño de la intersección dividido por el tamaño de la unión de los conjuntos de muestras. Jaccarrd Coefficient.

Creo que Facebook utiliza esto, así como algunas tiendas de comercio electrónico para agrupar sus productos relacionados, publicaciones, etc. Puede echar un vistazo a estos otros enlaces aquí en Stackoverflow para la guía.

-1

Usted tendrá que hacer algún tipo de agrupamiento de documentos. Esto implica:

  • Rompiendo artículos abajo en "características" (por ejemplo, un vector TF-IDF de palabras clave)
  • Tener una métrica de similitud (por ejemplo, el coseno similitud, que puede tomar dos artículos y decidir cuán similares son)
  • Algoritmo de agrupación, que utiliza la métrica de similitud para dividir los artículos en grupos.

Dado que esto es noticia y tiene nuevos artículos entrando, es probable que necesite un algoritmo "en línea" en lugar de un lote. Busque DBSCAN incremental como ejemplo.

Cuestiones relacionadas