¿Cuál es el algoritmo utilizado por Diffbot para extraer datos web?

(Antecedentes rápidos: Diffbot ha estado trabajando en la extracción automática de datos web desde 2010, y proporciona una serie de API a pedido para estructurar automáticamente artículos y publicaciones de blog, productos, hilos de discusión, páginas de video, etc., puede probarlos y / o regístrese para obtener una cuenta de prueba gratuita en http://www.diffbot.com.)

Nuestro enfoque se basa en técnicas de visión por computadora (junto con el aprendizaje automático, la PNL y la inspección de marcado) como el motor principal para identificar el contenido adecuado para extraer de una página. Lo que esto significa: al analizar un documento web, nuestro sistema muestra la página por completo, tal como aparece en un navegador, incluidas imágenes, CSS, incluso contenido entregado por Ajax, y luego analiza su diseño visual.

Una representación completa permite que la página se descomponga en sus componentes visuales constituyentes. Luego, utilizando algoritmos entrenados para el aprendizaje automático, estos elementos serán ponderados por su probabilidad de ser varios componentes de una página: título, fecha, autor, precio (s) del producto, imagen (es) relacionada (s), texto completo, íconos para compartir, a continuación enlace de página, ruta de exploración, comentarios, etc. Como parte de esto, el contenido y el marcado dentro y alrededor de cada elemento también se evaluarán para ayudar a identificar aún más los elementos correctos. Dentro de cada uno de estos, nuevamente se utilizarán nuestros algoritmos entrenados para el aprendizaje automático para identificar la probabilidad de cada bloque en función del contenido del elemento, el marcado circundante, etc.

Finalmente, los componentes no relacionados serán descartados y los elementos identificados serán procesados ​​(texto extraño o elementos en línea eliminados; HTML normalizado; fecha normalizada; encabezados de imagen escaneados; etc.). Luego, estos se recopilan y devuelven como una respuesta JSON.

Un enfoque visual permite una mejor identificación de contenido extraño (enlaces de publicidad en línea / enlaces a contenido relacionado; compartir enlaces; elementos de atribución; etc.) y los metadatos difíciles de identificar (autor, fecha, título, etc.) y trabajar muy bien en páginas que no están en inglés, ya que la estructura visual de una página tiende a ser similar independientemente del idioma escrito de una página. Por ejemplo, en el siguiente artículo en idioma chino (http://www.worldjournal.com/view…), una extracción visual funciona muy bien: