Analyse et classification d’URL
        Projet iPinion - avril 2010
Objectifs
•   Extraire le maximum d’informations possible
    d’une URL sans avoir à crawler la page
    correspondante
•   La taxonomie utilisée pour la classification est
    basée sur l’auteur du contenu : institutionnel,
    corporate, particulier, journaliste
•   D’autres aspects sont pris en compte par un
    système de tags (type de site, langue, etc.)
Sommaire

• 1. Analyse de l’URL de base
• 2. Analyse du path
• 3. Résultats
• 4. Traitements postérieurs
Décomposition d’une URL

Protocole   Sous-domaine   Domaine   TLD     Sous-dossier   Sous-dossiers

http://tempsreel.nouvelobs.com/actualite/social/20100412.OBS2257/
 sncf-78-de-ter-en-regions-57-de-trains-grande-lignes-teoz.html
                                     Titre                                  Extension
1. Analyse de l’URL de base

• L’URL de base se compose du sous-
  domaine, du domaine, du TLD, et
  éventuellement du premier sous-répertoire
• Elle est la partie la plus signifiante de l’URL,
  et contient toujours le nom du site
• Elle a l’inconvénient d’être très courte
Déterminer le nom du site
       Le nom du site est l’un de ces trois tokens :
http://tempsreel.nouvelobs.com/actualite/social/20100412.OBS2257/
 sncf-78-de-ter-en-regions-57-de-trains-grande-lignes-teoz.html


  http://infopartage.blogspot.com/2010/04/des-dizaines-de-milliers-de-polonais.html
                   http://twitter.com/bitsmedia/status/12255541587
http://www.liberation.fr/societe/0101630566-malentendu-sur-les-zones-noires-de-xynthia

   -> si l’URL contient deux tokens, le premier est le nom du site
   -> si elle contient trois tokens :
      -> si elle commence par www, le token suivant est le nom du site
      -> si non, on examine le deuxième token :
          -> si c’est un service de blog listé, le premier token est le site
          -> si non, le deuxième token est le site, et le premier est un sous-domaine, à
   traiter avec les sous-url
   -> dans tous les cas, le dernier token est le TLD
   -> si le nom du site récupéré à l’issue de cette première étape est dans la liste des
   exceptions, le nom du site est le premier token suivant l’URL de base (ex : twitter)
Tests sur le nom du site 1
    •   On recheche le nom, par ordre de priorité, dans :
    - la liste des exceptions
    - la liste ‘institutionnels’
    - la liste ‘médias’
    - Google News (s’il est présent, il est ajouté à la liste ‘médias’)
    - la base des marques déposées de l’INPI (s’il est présent, il est ajouté à la
    liste ‘marques’)
 http://www.elysee.fr/president/les-actualites/communiques-de-presse/
2010/avril/annulation-du-deplacement-de-m-le-president-de-la.8579.html

                           auteur="institutionnel"


 http://www.lepost.fr/article/2009/05/13/1533812_la-banque-postale-
                       comprend-la-crise.html

                                 auteur="média"
Tests sur le nom du site II

  • Si tous les tests précédents échouent, on
     recherche la présence de mots qualifiants
     (‘lefilm’, ‘blog’, ‘actu’) dans le nom du site
                 http://fragiles-lefilm.com/
  nom="fragiles" type="film" auteur="corporate" lang="fr"


  • En cas de nouvel échec, on effectue ces tests
     sur le sous-domaine et le premier sous-
     répertoire
http://leblog.vendeesign.com/web20/facebook-lance-facebook-lite-un-
                        twitter-like-6543/
              nom="vendeesign" type="blog" lang="fr"
Tests sur le TLD

• Si le TLD est national : on note #france (.fr),
  #francophone (.ch) ou #international (.de)
• Si le TLD est générique : s’il existe des
  restrictions particulières (.gov, .mil, .edu), on
  ajoute un tag correspondant (#institutionnel)
• Cas spécifique : .gouv.fr , par exemple, ajoute
  les tags #france et #institutionnel
2. Analyse du path

• La suite de l’URL (‘path’) est segmentée sur
  les ‘/’
• Le path peut contenir de nombreuses
  informations pertinentes
• Cependant, il doit être traité différemment
  de la partie principale l’URL
Recherche de date
• On trouve souvent une date encodée dans
  la première partie du path
• Diverses expressions régulières permettent
  de rechercher la présence d’une date
• La date de publication d’une page est une
  information importante pour en
  déterminer la pertinence
    http://www.capitaine-commerce.com/2007/12/20/
  http://fr.rian.ru/business/20071001/81826681.html
Test sur l’extension

• L’analyse de l’extension permet de
  déterminer s’il s’agit d’une page (.html, .php,
  etc.), d’un fichier multimédia (.jpg, .png, etc.),
  ou d’un flux RSS (.xml)
• On peut ensuite savoir quels traitements
  postérieurs seront possibles ou nécessaires :
  il est par exemple inutile de crawler les
  adresses pointant vers un fichier multimédia
Recherche du type de site

   • Certains tokens (ex. : ‘wiki’ ou ‘blog’)
      permettent de déterminer le type de site
      correspondant à l’URL
     http://forums.thinkpads.com/viewtopic.php?f=43&t=86489
                          type="forum"


   • Le type de site peut également être
      déterminé à partir des listes de sites
      utilisées pour l’analyse
http://www.lepost.fr/article/2009/05/13/1533812_la-banque-postale-
                      comprend-la-crise.html
                        type="actualités"
Parsing du titre
    • On fait l’hypothèse que le dernier token
       avant l’extension est le titre de la page
    • On élimine tous les nombres de plus de
       quatre chiffres, ainsi que tout se qui se trouve
       avant un underscore, dans le premier token
    • On tokenize ensuite sur ‘-’ , le seul
       séparateur possible
http://cordonsbourse.blogs.liberation.fr/cori/2009/08/un-milliard-
   deuros-provisionn%C3%A9-pour-les-traders-de-bnp-paribas.html

  titre="un milliard deuros provisionné pour les traders de bnp
                            paribas"
Des tags pour les autres
             informations
     • Si un mot qualifiant a été identifié dans
         l’URL, mais pas à une position particulière
         (ni nom du site, ni titre de la page), il est
         récupéré sous forme de tag :

http://emploi.france5.fr/emploi/creation-entreprise/choisir-son-statut/
                           53169148-fr.php

                     tags="creation entreprise"
3. Résultats provisoires

• A l’issue du script on dispose au minimum,
  pour chaque URL, du nom du site.
• On parvient à identifier un type d’auteur
  dans 60-70% des cas
• On dispose également de plusieurs tags
  (environ 5 par URL en moyenne)
Exemples complets I
http://al-turayya.hautetfort.com/archive/2010/03/08/
     faire-un-don-pour-soutenir-mon-blog.html

<url site="al turayya" page_title="faire un don pour
    soutenir mon blog" auteur="perso" type="blog"
service="hautetfort" lang="fr" filetype="text/html"
date="08/03/2010">http://al-turayya.hautetfort.com/
 archive/2010/03/08/faire-un-don-pour-soutenir-mon-
                   blog.html</url>




              http://www.ameliste.fr/

<url site="ameliste" auteur="commercial" lang="fr">
           http://www.ameliste.fr/</url>
Exemples complets II
     http://www.lalibre.be/economie/finance/article/
        285542/ing-a-bien-commence-l-annee.html


<url site="lalibre.be" page_title="ing a bien commence
       l annee" tags="economie finance article"
auteur="média" lang="fr" country="be" filetype="text/
           html" date="08/03/2010">http://al-
 turayya.hautetfort.com/archive/2010/03/08/faire-un-
         don-pour-soutenir-mon-blog.html</url>
4. Traitements postérieurs
• A l’issue de ce premier traitement, on peut
  envisager d’affiner la classification des URL
• On classifie les URL du corpus de référence en
  fonction d’une typologie plus fine, créant ainsi
  des ‘profils’
• Dans un second temps, on peut envisager
  d’utiliser ce corpus annoté avec un programme
  d’apprentissage automatique supervisé

Classificateur d'URL

  • 1.
    Analyse et classificationd’URL Projet iPinion - avril 2010
  • 2.
    Objectifs • Extraire le maximum d’informations possible d’une URL sans avoir à crawler la page correspondante • La taxonomie utilisée pour la classification est basée sur l’auteur du contenu : institutionnel, corporate, particulier, journaliste • D’autres aspects sont pris en compte par un système de tags (type de site, langue, etc.)
  • 3.
    Sommaire • 1. Analysede l’URL de base • 2. Analyse du path • 3. Résultats • 4. Traitements postérieurs
  • 4.
    Décomposition d’une URL Protocole Sous-domaine Domaine TLD Sous-dossier Sous-dossiers http://tempsreel.nouvelobs.com/actualite/social/20100412.OBS2257/ sncf-78-de-ter-en-regions-57-de-trains-grande-lignes-teoz.html Titre Extension
  • 5.
    1. Analyse del’URL de base • L’URL de base se compose du sous- domaine, du domaine, du TLD, et éventuellement du premier sous-répertoire • Elle est la partie la plus signifiante de l’URL, et contient toujours le nom du site • Elle a l’inconvénient d’être très courte
  • 6.
    Déterminer le nomdu site Le nom du site est l’un de ces trois tokens : http://tempsreel.nouvelobs.com/actualite/social/20100412.OBS2257/ sncf-78-de-ter-en-regions-57-de-trains-grande-lignes-teoz.html http://infopartage.blogspot.com/2010/04/des-dizaines-de-milliers-de-polonais.html http://twitter.com/bitsmedia/status/12255541587 http://www.liberation.fr/societe/0101630566-malentendu-sur-les-zones-noires-de-xynthia -> si l’URL contient deux tokens, le premier est le nom du site -> si elle contient trois tokens : -> si elle commence par www, le token suivant est le nom du site -> si non, on examine le deuxième token : -> si c’est un service de blog listé, le premier token est le site -> si non, le deuxième token est le site, et le premier est un sous-domaine, à traiter avec les sous-url -> dans tous les cas, le dernier token est le TLD -> si le nom du site récupéré à l’issue de cette première étape est dans la liste des exceptions, le nom du site est le premier token suivant l’URL de base (ex : twitter)
  • 7.
    Tests sur lenom du site 1 • On recheche le nom, par ordre de priorité, dans : - la liste des exceptions - la liste ‘institutionnels’ - la liste ‘médias’ - Google News (s’il est présent, il est ajouté à la liste ‘médias’) - la base des marques déposées de l’INPI (s’il est présent, il est ajouté à la liste ‘marques’) http://www.elysee.fr/president/les-actualites/communiques-de-presse/ 2010/avril/annulation-du-deplacement-de-m-le-president-de-la.8579.html auteur="institutionnel" http://www.lepost.fr/article/2009/05/13/1533812_la-banque-postale- comprend-la-crise.html auteur="média"
  • 8.
    Tests sur lenom du site II • Si tous les tests précédents échouent, on recherche la présence de mots qualifiants (‘lefilm’, ‘blog’, ‘actu’) dans le nom du site http://fragiles-lefilm.com/ nom="fragiles" type="film" auteur="corporate" lang="fr" • En cas de nouvel échec, on effectue ces tests sur le sous-domaine et le premier sous- répertoire http://leblog.vendeesign.com/web20/facebook-lance-facebook-lite-un- twitter-like-6543/ nom="vendeesign" type="blog" lang="fr"
  • 9.
    Tests sur leTLD • Si le TLD est national : on note #france (.fr), #francophone (.ch) ou #international (.de) • Si le TLD est générique : s’il existe des restrictions particulières (.gov, .mil, .edu), on ajoute un tag correspondant (#institutionnel) • Cas spécifique : .gouv.fr , par exemple, ajoute les tags #france et #institutionnel
  • 10.
    2. Analyse dupath • La suite de l’URL (‘path’) est segmentée sur les ‘/’ • Le path peut contenir de nombreuses informations pertinentes • Cependant, il doit être traité différemment de la partie principale l’URL
  • 11.
    Recherche de date •On trouve souvent une date encodée dans la première partie du path • Diverses expressions régulières permettent de rechercher la présence d’une date • La date de publication d’une page est une information importante pour en déterminer la pertinence http://www.capitaine-commerce.com/2007/12/20/ http://fr.rian.ru/business/20071001/81826681.html
  • 12.
    Test sur l’extension •L’analyse de l’extension permet de déterminer s’il s’agit d’une page (.html, .php, etc.), d’un fichier multimédia (.jpg, .png, etc.), ou d’un flux RSS (.xml) • On peut ensuite savoir quels traitements postérieurs seront possibles ou nécessaires : il est par exemple inutile de crawler les adresses pointant vers un fichier multimédia
  • 13.
    Recherche du typede site • Certains tokens (ex. : ‘wiki’ ou ‘blog’) permettent de déterminer le type de site correspondant à l’URL http://forums.thinkpads.com/viewtopic.php?f=43&t=86489 type="forum" • Le type de site peut également être déterminé à partir des listes de sites utilisées pour l’analyse http://www.lepost.fr/article/2009/05/13/1533812_la-banque-postale- comprend-la-crise.html type="actualités"
  • 14.
    Parsing du titre • On fait l’hypothèse que le dernier token avant l’extension est le titre de la page • On élimine tous les nombres de plus de quatre chiffres, ainsi que tout se qui se trouve avant un underscore, dans le premier token • On tokenize ensuite sur ‘-’ , le seul séparateur possible http://cordonsbourse.blogs.liberation.fr/cori/2009/08/un-milliard- deuros-provisionn%C3%A9-pour-les-traders-de-bnp-paribas.html titre="un milliard deuros provisionné pour les traders de bnp paribas"
  • 15.
    Des tags pourles autres informations • Si un mot qualifiant a été identifié dans l’URL, mais pas à une position particulière (ni nom du site, ni titre de la page), il est récupéré sous forme de tag : http://emploi.france5.fr/emploi/creation-entreprise/choisir-son-statut/ 53169148-fr.php tags="creation entreprise"
  • 16.
    3. Résultats provisoires •A l’issue du script on dispose au minimum, pour chaque URL, du nom du site. • On parvient à identifier un type d’auteur dans 60-70% des cas • On dispose également de plusieurs tags (environ 5 par URL en moyenne)
  • 17.
    Exemples complets I http://al-turayya.hautetfort.com/archive/2010/03/08/ faire-un-don-pour-soutenir-mon-blog.html <url site="al turayya" page_title="faire un don pour soutenir mon blog" auteur="perso" type="blog" service="hautetfort" lang="fr" filetype="text/html" date="08/03/2010">http://al-turayya.hautetfort.com/ archive/2010/03/08/faire-un-don-pour-soutenir-mon- blog.html</url> http://www.ameliste.fr/ <url site="ameliste" auteur="commercial" lang="fr"> http://www.ameliste.fr/</url>
  • 18.
    Exemples complets II http://www.lalibre.be/economie/finance/article/ 285542/ing-a-bien-commence-l-annee.html <url site="lalibre.be" page_title="ing a bien commence l annee" tags="economie finance article" auteur="média" lang="fr" country="be" filetype="text/ html" date="08/03/2010">http://al- turayya.hautetfort.com/archive/2010/03/08/faire-un- don-pour-soutenir-mon-blog.html</url>
  • 19.
    4. Traitements postérieurs •A l’issue de ce premier traitement, on peut envisager d’affiner la classification des URL • On classifie les URL du corpus de référence en fonction d’une typologie plus fine, créant ainsi des ‘profils’ • Dans un second temps, on peut envisager d’utiliser ce corpus annoté avec un programme d’apprentissage automatique supervisé