Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Machine Learning en la Extraccion de Datos Web

matiskay
October 09, 2017

Machine Learning en la Extraccion de Datos Web

* Autopager
* Soft404 Classifier
* Form and fields Classifier
* Similarity Between HTML pages

matiskay

October 09, 2017
Tweet

More Decks by matiskay

Other Decks in Programming

Transcript

  1. Acerca de Mi • Ingeniero de Software en GovPredict •

    Organizacion del Data Science Meetup • Mucho interes en Machine Learning y Ciencia de Datos • Trabajando en Extraccion de Datos desde el 2012 • Vivo en Arequipa • matiskay en Twitter, Gmail y Github.
  2. Casos de Uso • Comparacion de precios • Lead Generation

    • Real State • Company Reputation • Customer Behaviour • Tracking Legislation • Hiring
  3. Extraccion de Caracteristicas • ¿Que caracteristicas podemos usar de una

    pagina web? • Transformar arboles HTML en HTML tokens es decir la informacion de la posicion en el HTML es preservada. • Agrupar grupos en textos. • Representar el HTML como una secuencia de tags. • Anotar informacion usando https://github.com/ scrapinghub/webstruct
  4. Soft404 • Pagina que no retorna un codigo 404 (Pagina

    no encontrada / Contenido no disponible). • https://github.com/TeamHG-Memex/soft404 • Entrenado en 120k paginas de 25k dominios, con una razon 1/3. • Usando 10-fold-cross validation, ROC AUC es 0.995 +/- 0.002 • SGDClassifier + Logistic Regression
  5. Paginacion • Detectar y clasificar links de paginacion • https://github.com/TeamHG-Memex/autopager

    • Usa Conditional Random Fields. • Clasificar los links en • PREV: Link a la pagina previa • PAGE: Link a una pagina especifica • NEXT: Link a la proxima pagina • OTHER: No es link de un paginado • Features • Texto del Link. • La clase del CSS. • Partes de la URL. • Contexto de la izquierda y derecha. • La pagina es representada como una secuencia de elementos <a>. Solo <a> con href no vacio son considerados en la secuencia.
  6. Formularios Web • Clasificar que tipo de formulario que se

    encuentra en una pagina web (login, signup, search, mailing list, etc) • https://github.com/TeamHG-Memex/ Formasaurus • Formsaurus usa 2 modelos uno para detectar formularios y otro para detectar el tipo de campo. • El modelo fue entrenado en 1000+ formularios anotados.
  7. Formularios Web • Deteccion de Formularios: Usa Regresion Logistica. •

    Features • POST/GET? • Texto en los botones de submit. • Nombres de las clases y los IDS. • Etiquetas de los inputs. • Presencia de algunos strings en las urls.
  8. Formularios Web • Deteccion de los tipos de Campos: Usa

    Conditional Random Field. Todos los campos en el formulario es una secuencia donde el orden importa. • Features • El tipo de formulario predecido por el clasificador de formularios. • El tag del campo. • El valor del campo • El texto anterior y posterior del campo • El css y el ID del campo • El texto de la etiqueta
  9. Similaridad entre paginas Web • Las paginas web se pueden

    clasificar por estructura (DOM Tree) y por el Estilo (CSS).
  10. Similaridad de Estilo • Calcula las classes de las paginas

    web y luego calcula la similaridad de Jaccard para ver que tan similares son las paginas web en terminos de estilos. • El numero de classes repetidas no afecta la metrica • Documentos que tiene el mismo conjunto de clases poseen una mayor metrica. • La similaridad de estilo puede causar falsos positivos.
  11. • Detect and extract listing data from HTML page https://github.com/scrapinghub/mdr

    • Automatic Item List Extraction: https://github.com/ scrapinghub/aile • Extract structured data from HTML page: https:// github.com/scrapinghub/pydepta Otras Bibliotecas Interesantes