Des applications plus intelligentes
Bashar Al-Fallouji
Bashar Al-Fallouji - Des Applications Plus Intelligentes 2
Qui suis-je ?
Bashar Al-Fallouji Architecte de Solution chez OpenText
(Nstein) Mon Blog : bashar.alfallouji.com
Sujets d’intérêt Génie logiciel Informatique décisionnelle (BI)
Bashar Al-Fallouji - Des Applications Plus Intelligentes 3
Objectif
Présenter les technologies de Text-Mining existantes et leurs fonctionnalités.
Vous sensibiliser au potentiel énorme que le Text-Mining peut apporter dans vos applications (Web).
Bashar Al-Fallouji - Des Applications Plus Intelligentes 4
Agenda
Rappel sur le text mining (définition, concepts clés, etc.)
Présentation des technologies existantes (produits, API, fonctionnalités, etc.)
Intégration du Text-Mining dans les applications (Web)
Bashar Al-Fallouji - Des Applications Plus Intelligentes 5
Deux questions pour vous …
1. Que signifie le terme Text-Mining ?
2. Qui a déjà utilisé une technologie de Text-Mining ?
#1 – Rappel sur le Text-Mining
Bashar Al-Fallouji - Des Applications Plus Intelligentes 7
Différents types de données dans nos applications
Les applications de traitement de l’information gère en général différents types de données
Données structurées Date Booléen Valeur numérique (prix, pourcentage, quantité, etc.) Types énumérés (Mr, Ms, etc.)
Données non-structurées Image Vidéo Son Corps de texte
Bashar Al-Fallouji - Des Applications Plus Intelligentes 8
Différents types de données dans nos applications
Il est facile de comprendre et de retrouver de l’information à partir de données structurés
SELECT * FROM TBL_FACTURE WHERE prix > 100
Moins évident avec les données non-structurées
Pourtant les données non-structurées peuvent receler une grande quantité d’information!
Bashar Al-Fallouji - Des Applications Plus Intelligentes 9
PHOTO
Id : 1Author : John DoeFile : /var/img/woman.jpg
Données non-structurées sont des mine d’or d’information
Bashar Al-Fallouji - Des Applications Plus Intelligentes 10
PHOTO
Id : 1Author : John DoeFile : /var/img/woman.jpg
Données non-structurées sont des mine d’or d’information
Bashar Al-Fallouji - Des Applications Plus Intelligentes 11
PHOTO
Id : 1Author : John DoeFile : /var/img/woman.jpg
Données non-structurées sont des mine d’or d’information
Femme flottant sur le dos dans la mer avec une vue à l’horizon sur des montagnes durant une journée ensoleillée.
Bashar Al-Fallouji - Des Applications Plus Intelligentes 12
Mine d’or d’information
Constat Vidéos, Photos, Son et Texte recèlent /
cachent des informations de hautes qualités.
But Extraire cette information et
automatiser le processus d’extraction.
Bashar Al-Fallouji - Des Applications Plus Intelligentes 13
Données non-structurées
80%Source : Experts Corner: Seth Grimes
Bashar Al-Fallouji - Des Applications Plus Intelligentes 14
Définition Text-Mining
Processus d’extraction d’information de hautes-qualités à partir d’un texte
Le but étant de réduire l’effort (automatiser) liée à l’extraction des ces informations.
Le Text-Mining mélange plusieurs disciplines Recherche d’information (Information Retrieval); Data Mining; Apprentissage Machine (Machine Learning); Linguistique; Statistique.
Plusieurs domaines d’application (Média, Publishing, Securité, Biomédical, Académique, etc.)
Bashar Al-Fallouji - Des Applications Plus Intelligentes 15
Text-Mining
Nécessite du texte (quantité importante d’information se trouve dans le corps de texte)
Données non-structurées, Bloc de texte : Article (e.g. news, blogs) Email (e.g. feedback client) Post, Commentaire (e.g. forum) Logs (Server logs)
Le Text-Mining permet d’enrichir le contenu et de mieux les structurer
Plus les données sont structurées, plus facile il est de les Retrouver (Recherche facilitée) Analyser (Interprétation des données) Regrouper, relier Réutiliser
Bashar Al-Fallouji - Des Applications Plus Intelligentes 16
Quelques concepts clés
Traitement automatique du language naturel ou NLP (Natural Language Processing) Discipline mélangeant informatique et linguistique Application de programmes et techniques à tous les aspects du language humain Traduction, Correction Orthographique, Résumé automatique, Synthèse de la
parole, reconnaissance vocale, classification et catégorisation de documents, etc.Source : Wikipedia
Entité
Catégories
Fichiers d’autorité
Taxonomie = Classification d’entités (souvent représenté sous forme d’un arbre)
Onthologie = Description de l’ensemble (Possède une grammaire, des relations entres les entités)
Bashar Al-Fallouji - Des Applications Plus Intelligentes 17
Text-Mining ?
Permet de répondre à des questions précises Qui, Quand, Où, etc.
Détection de la langue
Génération automatisée de résumés
Détection du ton (Sentiment Analysis)
Bashar Al-Fallouji - Des Applications Plus Intelligentes 18
Extraction d’entités
Bashar Al-Fallouji - Des Applications Plus Intelligentes 19
Exemple
Several people are dead and more than a dozen others are injured following an avalanche in the interior of British Columbia. Numerous others may be missing and a massive search operation is underway.
Late Saturday night, three people were reported dead and 17 others were injured. Among the injured, two are in critical condition, CTV News reports. The avalanche occurred near Revelstoke, which is in the province's rugged interior, about 200 kilometres northeast of Kelowna.
The slide occurred as about 200 people were taking part in a large snowmobile gathering on Boulder Mountain on Saturday afternoon. Helicopters and search dogs were scouring the area on Saturday and the mountain has been shut down. The snowmobiling event is known as the Big Iron Shootout. CTV camera operator Rod Romano arrived at the avalanche scene about three minutes after the slide occurred around 3 p.m. local time.
Mined with AlchemyAPI
Bashar Al-Fallouji - Des Applications Plus Intelligentes 20
Garbage in = Garbage out
#2 – Technologies existantes
Bashar Al-Fallouji - Des Applications Plus Intelligentes 22
SaaS vs not SaaS
SaaS
Avantages Accès facile aux
fonctionnalités (Rest, Soap) Généralement moins
coûteux en terme d’Infrastructure (Coût en serveur, Maintenance, Mise à niveau, etc.)
Désavantages Restrictions au niveau API Potentiels problèmes au
niveau performance (ping, blocage IP)
Disponibilité du service (Service Level Agreement)
Not SaaS
Avantages Peut être plus performant
(temps de latence, pas de restriction à priori)
Possibilité d’avoir des taxonomies et AF personnalisés
Désavantages Coût Complexité et
maintenance
Bashar Al-Fallouji - Des Applications Plus Intelligentes 23
Gate (Not SaaS)
Suite logiciel Open Source
Existe depuis 15 ans (Java)
La suite est composée
Un IDE - GATE Developer4 : Environnement de développement intégré (plusieurs plugins disponible)
Une web app - GATE Teamware : Un outil d’annotation (collaboratif) offrant un backend
Un framework - GATE Embedded: Librairie orientée objet exposant l’API
an architecture: a high-level organisational picture of how language processing software composition
a process for the creation of robust and maintainable services
Bashar Al-Fallouji - Des Applications Plus Intelligentes 24
Technologies existantes (SaaS) Quelques noms (listes non-exhaustive!)
Open Calais AlchemyAPI OpenAmplify BeliefNetworks Yahoo Term Extraction Evri Wingify Zemanta UClassify Alias-I Etc…
Bashar Al-Fallouji - Des Applications Plus Intelligentes 25
Fonctionnalitées offertes
Annotateur d'entité, extraction de concepts, catégorisation, génération de résumé, analyse du sentiment, détection de la langue
Langues supportées (EN, FR, SP)
Format supportés (HTML, Microformats)
API existantes (PHP, Perl, .NET, etc.)
Bashar Al-Fallouji - Des Applications Plus Intelligentes 26
OpenCalais
Rachat par Reuters de ClearForest en 2007
Reuters a démarré OpenCalais en Janvier 2008
Fonctionnalités principales Catégorisation Extraction d’entité, faits et événements
Langues supportées : Anglais, Français (Espagnol)
Quota : 50,000 transactions / jour, 4 transactions par seconde
Bashar Al-Fallouji - Des Applications Plus Intelligentes 27
OpenCalais : Exemple d’appel
1. <?php2. 3. $url = 'http://api.opencalais.com/enlighten/rest/';4. 5. $array = array( 'licenseID' => $apiKey,6. 'content' => $content,7. 'paramsXML' => $params );8. 9. 10. $ch = curl_init();11. curl_setopt($ch, CURLOPT_URL, $url);12. curl_setopt($ch, CURLOPT_POST, 1);13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);14. curl_setopt($ch, CURLOPT_POSTFIELDS, $array);15. 16. $res = curl_exec($ch);
Bashar Al-Fallouji - Des Applications Plus Intelligentes 28
AlchemyAPI
Produit de Orchestr8 (2005)
Fonctionnalités principales Concept / Keywords Extractions Categorization Entity Language detection
Microformat Parsing, RSS / ATOM Feed Detection / Web page cleansing
Quota : 30,000 API appel / jour
Anglais, Français, Espagnol, (Allemand, Italien, Portuguais, Russe et Suédois)
Plugins Wordpress AlchemySEO : Tagging Automatique (SEO) basé
sur les microformats
Bashar Al-Fallouji - Des Applications Plus Intelligentes 29
OpenAmplify
Web service développé par Hapax
Fonctionnalités principales Catégorisation Extraction d’entité Analyse du Sentiment
Format de sortie supporté : DART,
OAS, RDF, RDFa, HTML
1000 transactions / jour
Source : www.openAmplify.com
Bashar Al-Fallouji - Des Applications Plus Intelligentes 30
Yahoo Term Extraction
Fonctionnalités principales Extraction d’entité
5000 transactions / jour et IP (utilisation non-commerciale)
Seule l’anglais est supportée
Output : JSON / PHP
Bashar Al-Fallouji - Des Applications Plus Intelligentes 31
NaCTeM
National Center for Text Mining
NaCTeM offre différentes solutions
TerMine : Reconnaissance automatique de termes dans un document
AcroMine : Recherche d’acronyme (biomédical)
Medie : Engin de recherche Sémantique (Biomédical)
Facta+ : Engin de recherche d’association entre concept (biomédical)
KLEIO : Recherche sémantique par facette (biomédical)
Info-PubMed : Fournit de l’information (graphique) sur les maladies et les organismes
#3 – L’intégration du Text-Mining dans les applications (Web)
Bashar Al-Fallouji - Des Applications Plus Intelligentes 33
Intégration typique
Bashar Al-Fallouji - Des Applications Plus Intelligentes 34
Intégration du Text-Mining dans des applications open source
OpenCalais Drupal
http://drupal.org/project/opencalais
Wordpress http://tagaroo.opencalais.com/
Plugin Firefox https://addons.mozilla.org/en-US/firefox/addon/3999
Bashar Al-Fallouji - Des Applications Plus Intelligentes 35
Intégration du Text-Mining dans des applications open source AlchemyAPI
Plugin Wordpress http://wordpress.org/extend/plugins/tags/alchemyapi
AlchemySEO▪ Automatic tagging for SEO using MicroFormats▪ Génére une version sémantique de votre page pour les
moteurs de recherche (Extraction d’entités)http://www.alchemyapi.com/tools/alchemyseo/
Exemple (tags générés automatiquement)
Bashar Al-Fallouji - Des Applications Plus Intelligentes 36
Intégration du Text-Mining dans des applications open source
OpenAmplify Drupal
http://drupal.org/project/amplify
Gmail Addon http://community.openamplify.com/media/p/1029.aspx
Plugins disponibles sur http://community.openamplify.com/media/g/gallery/default.aspx
Bashar Al-Fallouji - Des Applications Plus Intelligentes 37
Autres exemples :Recherche Sémantique OntoText KIM
Bashar Al-Fallouji - Des Applications Plus Intelligentes 38
Autres exemples : Zemanta
Zemanta analyses des données générées par les utilisateurs (UGC) pour suggérer des photos, tags et liens pertinents.
Disponible pour Firefox, Explorer et Google Chrome
Zemanta suggère du contenu provenant de Wikipedia, Youtube, IMDB, Amazon.com, Crunchbase, Flickr, ITIS, Musicbrainz, Mybloglog, Myspace, NCBI, Rottentomatoes, Twitter, Facebook, Snooth et Wikinvest.
Source : Wikipedia
Bashar Al-Fallouji - Des Applications Plus Intelligentes 39
Autres exemples : Zemanta
Bashar Al-Fallouji - Des Applications Plus Intelligentes 40
Conclusion - Le Text-Mining dans vos applications ?
Système d’annotation / tagging automatisée
Amélioration de la recherche
Regroupement automatisée de contenu
A des fins d’analyses Rapport (Statistique sur le contenu, Aggrégation,
etc)
Offrir plus de liens sur un site Web
Bashar Al-Fallouji - Des Applications Plus Intelligentes 41
Merci pour votre attention !
Bashar Al-Fallouji - Des Applications Plus Intelligentes 42
Liens & Références
Semantic Search Engine http://wortschatz.uni-leipzig.de/
NaCTeM http://www.nactem.ac.uk/
OpenCalais http://www.opencalais.com
OpenAmplify http://www.openamplify.com
AlchemyAPI http://www.alchemyapi.com
Bashar Al-Fallouji - Des Applications Plus Intelligentes 43
Liens & Références
Text Mining: Finding Nuggets in Mountains of Textual DataJochen Dijrre, Peter Gerstl, Roland Seiffert
http://www.cs.uvm.edu/~xwu/kdd/TextMining-09.ppt
Natural Language ProcessingJF Allen
http://portal.acm.org/citation.cfm?id=1074630
Top Related