Le principe de la tokenisation est de découper en morceaux significatifs (les tokens) le code
d’une page Web.
Afin de déterminer ce qui est significatif du contenu d’une page Web à partir de son code il a
fallu en étudier la forme.
Exemple : http://www.cplair.com/
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>AVERTISSEMENT</title>
</head>
<body bgcolor="#000000">
<table border="0" cellpadding="0" cellspacing="1" width="100%">
<tr>
<td width="100%">
<p align="center"><b><font size="3" color="#FF0000">AVERTISSEMENT
!</font><font color="#ff00ff" size="3">
Ce site Internet est réservé à un public majeur.<br>
Il contient des photos classées X qui peuvent être choquantes.<br>
</font><font color="#FF0000" size="3">
<u>l'accès est interdite aux personnes mineures</u></font><font
color="#ff00ff" size="3">
<br>
<br>
20
Je certifie sur l'honneur :<br>
- d'être majeur selon la loi en vigueur dans mon pays.<br>
- que les lois de mon pays m'autorisent a accéder à ce site.<br>
- je consulte ce site a titre personnel <br>
Je m'engage sur l'honneur à :<br>
- ne pas faire état de l'existence de ce serveur et à ne pas en
diffuser
le contenu à des mineurs.<br>
- assumer ma responsabilité, si un mineur accède à ce serveur à cause
de négligences de ma part : absence de protection de l'ordinateur
personnel, absence de logiciel de censure, divulgation ou perte du
mot de
passe de sécurité.<br>
- Je m'interdis dès à présent de poursuivre l'éditeur et l'auteur de
ce site sur toute action judiciaire.<br>
J'ai lu attentivement les paragraphes ci-dessus et signe<br>
électroniquement mon accord avec ce qui précède en cliquant sur le
bouton ENTRER</font></b></td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="1" width="100%">
<tr>
<td width="50%">
<p align="center"><a href="accueil.htm"><img border="0"
src="entrer.gif" width="132" height="33"></a></td>
<td width="50%">
<p align="center"><b><font color="#00FFFF"><u><font size="4">pour les
mineurs</font></u> <a href="http://www.sitespourenfants.com/">
<img border="0" src="sortir.gif" width="121"
height="35"></a></font></b></td>
</tr>
</table>
</body>
</html>
Suite à cette étude on se rend compte que :
- Les balises HTML (ou tags) peuvent nous renseigner sur la teneur d’une page Web.
Elles peuvent par exemple contenir la mise en page du site, comme les couleurs
utilisées (<body bgcolor="#000000"> ou <font ... color="#FF0000">) ou bien la
police de caractères, ce qui peut apporter des informations sur le type de contenu
d’autant plus que beaucoup de sites pornographiques utilisent les mêmes styles (fond
rose par exemple).
De même peuvent être pertinents le nombre d’images (<img border="0" src="sortir.gif" width="121" height="35">) ou de liens (<a href="http://www.sitespourenfants.com/">), les titres des tables (<thead...>),
ou bien encore le vocabulaire utilisé dans les balises <meta> (elles sont utilisées par
les webmestres pour le référencement des sites Web sur les moteurs de recherches et
contiennent donc un vocabulaire explicite décrivant le contenu du site ou de la page).
Bien évidemment toutes les autres balises peuvent également apporter des
informations sur le caractère "licite" d’une page.
- Les noms de domaines (www.sitespourenfants.com) peuvent également nous
renseigner sur la catégorie à laquelle appartient une page. En effet beaucoup de sites
Web sont interconnectés par liens hypertextes et le nom de domaine nous renseigne
sur les hébergeurs de ces pages qui hébergent généralement un des deux types de
contenu. Des noms de domaines reviennent souvent et sont donc à même d’indiquer la
teneur d’une page.
- Enfin une fois tout le code supprimé (l’ensemble des balises), il reste le texte visible
par l’utilisateur. Là encore on sait que ce vocabulaire visible est forcément explicite et
qu’un certain type de vocabulaire peut être attribué à un type de contenu. Récupérer
chaque mot peut donc apporter une indication convaincante.
Afin d’améliorer encore la "compréhension" du texte on va également prendre en
compte les bi-mots, regroupements de deux mots consécutifs.
En effet si on prend par exemple l’ensemble : "être majeur", " majeur" pris
séparément apportent du sens, "être" non. L’ensemble formé par deux mots permet
d’ajouter encore plus de sens avec le token "être majeur".
Le fait de distinguer différents types de tokens permet d’éviter d’être dépendant d’un seul.
Certaines pages contiennent extrêmement peu de texte (voir pas du tout) mais contiennent en
revanche du code HTML (comme les galeries d’images par exemple).