Pregunta

Hay un montón de trabajo escolar sobre el contenido HTML de la extracción, por ejemplo, Gupta & Kaiser (2005) Extraer el Contenido de las Páginas Web Accesibles, y algunos signos de interés aquí, por ejemplo, uno, dos, y tres, pero no estoy muy claro acerca de lo bien que la práctica de este último refleja las ideas de la antigua.¿Cuál es la mejor práctica?

Punteros para el bien (en particular, de código abierto) de las implementaciones y una buena académica encuestas de implementaciones sería el tipo de cosa que yo estoy buscando.

Postscript de la primera:Para ser precisos, el tipo de encuesta que estoy después de que sería un documento (publicado, no publicado, lo que sea) que analiza tanto los criterios de la literatura académica, y un número de implementaciones existentes, y analiza cómo el éxito, el implementaciones son desde el punto de vista de los criterios.Y, realmente, un post a una lista de correo de trabajo para mí, demasiado.

Postscript de la segunda Para ser claro, después de que Pedro Rowell la respuesta, que me han aceptado, podemos ver que esta pregunta nos lleva a dos preguntas:(i) el problema resuelto de la limpieza de los no-conformes HTML, para que la Sopa de Hermosa es la más recomendada solución, y (ii) el problema sin resolver o separar resto (principalmente sitio-añadió repetitivo y material promocional) de la carne (el contentthat el tipo de personas que piensan que la página podría ser interesante en el hecho de encontrar pertinentes.Para abordar el estado de la técnica, nuevas respuestas la necesidad de abordar el resto de la carne peoblem explícitamente.

¿Fue útil?

Solución

La extracción puede significar diferentes cosas para diferentes personas. Es una cosa es ser capaz de hacer frente a la totalidad del HTML destrozado por ahí, y hermoso La sopa es un claro ganador en este departamento. Pero BS no le dirá lo que es costra y lo que es la carne.

Las cosas se ven diferentes (y feo) cuando se considera la extracción de contenido desde el punto de vista de un lingüista computacional. Al analizar una página que me interesa sólo en el contenido específico de la página, menos la totalidad de la navegación / publicidad / etc. costra. Y no se puede empezar a hacer las cosas interesantes - análisis de co-ocurrencia, frase descubrimiento, atribuya la generación de vector de pesos, etc -. Hasta que haya conseguido eliminar la costra

El primer documento que hace referencia la OP indica que esto fue lo que estaban tratando de lograr - analizar un sitio, determinar la estructura general, que luego restar y Voila! usted tiene sólo la carne - pero encontraron que era más difícil de lo que pensaban. Se estaban acercando el problema desde un ángulo accesibilidad mejorada, mientras que yo era un chico de búsqueda Egine temprano, pero ambos llegaron a la misma conclusión:

La separación de costra de la carne es dura. Y (leer entre las líneas de su pregunta), incluso una vez que se retira la costra, sin aplicarse con cuidado el marcado semántico es muy difícil de determinar 'la intención del autor' del artículo. Conseguir la carne de un sitio como citeseer (limpiamente y predecible diseñada y con una muy alta relación señal-ruido) es 2 o 3 órdenes de magnitud fácil que tratar con el contenido web al azar.

Por cierto, si usted está tratando con los documentos más largos que podría ser particularmente interesado en el trabajo realizado por Martí Hearst (ahora un prof en la UC Berkeley). Su tesis doctoral y otros papeles en hacer el descubrimiento subtema en grandes documentos dieron me mucha idea de hacer algo similar en documentos más pequeños (que, sorprendentemente, puede ser más difícil de tratar). Pero sólo se puede hacer esto después de que deshacerse de la costra.


Para los pocos que podría estar interesado, aquí está un poco de historia de fondo (probablemente Off Topic, pero estoy en ese tipo de humor esta noche):

En los años 80 y 90, nuestros clientes eran en su mayoría agencias gubernamentales cuyos ojos eran más grandes que sus presupuestos y cuyos sueños hecho Disneyland parecer monótono. Ellos estaban recogiendo todo lo que pudieron tener en sus manos y luego fueron a buscar una tecnología bala de plata que de alguna manera ( ola gigantesca mano ) extraer el 'significado' del documento. Derecha. Nos encontraron porque estábamos esta pequeña empresa haciendo raro "contenido de búsqueda de similitud" en 1986. Les dimos un par de demos (real, no fingido) que les asustó.

Una de las cosas que ya sabíamos (y tardó mucho tiempo para que nos creen) era que cada colección es diferente y necesita su propio escáner especial para hacer frente a esas diferencias. Por ejemplo, si todo lo que estamos haciendo es masticando artículos periodísticos rectas, la vida es bastante fácil. El titular mayoría te dice algo interesante, y la historia está escrita en el estilo de pirámide - el primer párrafo o dos tiene la carne de quién / qué / dónde / cuándo, y luego los párrafos siguientes se expanden en eso. Como he dicho, esto es lo fácil.

¿Qué hay de artículos de revistas? Oh Dios, no me hagan hablar! Los títulos son casi siempre sentido y la estructura varía de una mag a otro, e incluso de una sección de una revista a la siguiente. Recoger una copia de Wired y una copia del Atlantic Monthly. Mira un importante artículo y tratar de encontrar una significativa 1 Resumen párrafo de lo que trata el artículo. Ahora trata de describir cómo un programa podría lograr lo mismo. ¿Tiene el mismo conjunto de reglas se aplican en todos los artículos? Incluso los artículos de la misma¿revista? No, no lo hacen.

Lo sentimos a sonar como un cascarrabias en esto, pero este problema es realmente duro .

Curiosamente, una gran razón para Google siendo tan exitoso como lo es (desde una perspectiva de motores de búsqueda) es que ponen una gran cantidad de peso en las palabras y que rodea un enlace desde otro sitio . Ese vínculo de texto representa una especie de mini-resumen hecho por un ser humano del sitio / página se une a, exactamente lo que quiere cuando usted está buscando. Y funciona a través de casi todos los estilos de género / estructura de la información. Es una visión absolutamente brillante y deseo que había tenido yo mismo. Pero no habría hecho mis clientes ningún bien porque hay había vínculos de los programas de TV de Moscú de la noche anterior a un cierto mensaje de teletipo al azar que habían capturado, o alguna versión mal OCR'd de un periódico egipcio .

/ mini-perorata y-vuelta-abajo-memoria carriles

Otros consejos

¿Usted ha visto boilerpipe ? Encontrado que menciona en una pregunta similar.

Me he encontrado http://www.keyvan.net/2010/08 / php-lectura /

  

El año pasado portado legibilidad de Arc90   a utilizar en el proyecto de cinco filtros.   Ha pasado más de un año y   Legibilidad ha mejorado mucho -   Gracias a Chris Dary y el resto de   el equipo de Arc90.

     

Como parte de una actualización para el texto completo   servicio RSS empecé a portar una mayor   versión reciente (1.6.2) para PHP y el   código está ahora en línea.

     

Para cualquier persona que no están familiarizados, legibilidad   fue creado para su uso como un complemento de navegador   (A bookmarklet). Con un solo clic en él   transforma las páginas web para una fácil lectura   y despoja de desorden. Apple   recientemente incorporado en Safari   Lector.

     

También es muy útil para el contenido   extracción, que es por eso que quería   portarlo a PHP en el primer lugar.

hay algunas herramientas de código abierto disponibles que hacen tareas de extracción artículo similar. https://github.com/jiminoc/goose que era de código abierto por Gravity.com

Tiene información en el wiki, así como la fuente se puede ver. Hay docenas de pruebas de unidad que muestran el texto extraído de varias decenas de artículos.

He trabajado con Pedro Rowell hacia abajo a través de los años en una amplia variedad de recuperación de la información de los proyectos, muchos de los cuales participan muy difícil la extracción del texto a partir de una diversidad de fuentes de marcado.

Actualmente estoy centrado en la extracción del conocimiento a partir de "firehose" fuentes como Google, incluyendo su RSS tubos de vacío de enormes cantidades de locales, regionales, nacionales e internacionales, artículos de noticias.En muchos casos, los títulos son ricas y significativas, pero sólo son "ganchos" para atraer tráfico a un sitio Web en donde el artículo es un sin sentido del párrafo.Esto parece ser una especie de "spam a la inversa" diseñado para aumentar el tráfico de calificaciones.

Para clasificar los artículos, incluso con el más simple métrica de la longitud del artículo, usted tiene que ser capaz de extraer el contenido de la marca.El exótico marcado y secuencias de comandos que domina el contenido de la Web en estos días la mayoría de los saltos de código abierto de análisis de paquetes, tales como la Sopa de Hermosa cuando se aplica a grandes volúmenes característicos de Google y fuentes similares.He encontrado que el 30% o más de minado artículos de romper estos paquetes como una regla de oro.Esto ha causado que nos centremos en el desarrollo de muy bajo nivel, inteligente, de carácter analizadores para separar el texto en bruto de la marca y de secuencias de comandos.El más fino de su análisis (es decir,la partición de contenido), el más inteligente (y hecho a mano) las herramientas deben estar.Para hacer las cosas aún más interesantes, tienen un objetivo en movimiento como la creación de web continúa cambian y se transforman con el desarrollo de nuevas secuencias de comandos enfoques, marcado y extensiones del lenguaje.Esto tiende a favorecer servicio basado en la entrega de la información como opuesto a "retractilado" aplicaciones.

Mirando hacia atrás a través de los años no parece haber sido muy pocos los trabajos científicos escritos sobre el bajo nivel de la mecánica (es decir,la "práctica de la ex" usted se refiere a) de dicha extracción, probablemente porque es así de dominio y contenidos específicos.

sopa Hermosa es un robusto analizador HTML escrito en Python.

Se maneja con gracia HTML con mal marcado y también es bien diseñado como una biblioteca de Python, el apoyo a los generadores de iteración y de búsqueda, punto-notación para el acceso del niño (por ejemplo, el acceso <foo><bar/></foo>' usingdoc.foo.bar`) y Unicode sin problemas.

Si se encuentra fuera para extraer el contenido de las páginas que se emplea mucho el javascript, selenio control remoto puede hacer el trabajo. Funciona para algo más que probar. El principal inconveniente de esto es que usted va a terminar usando muchos más recursos. La ventaja es que obtendrá un suministro de datos mucho más precisos de las páginas ricas / aplicaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top