43
Des applications plus intelligentes Bashar Al-Fallouji

Des applications plus intelligentes

Embed Size (px)

DESCRIPTION

Presenting the core notions related to Text-Mining, we will see some of the existing technologies, their features. The talk will be focused on the added value and benefits that Text-Mining may provide to your (Web) application.

Citation preview

Page 1: Des applications plus intelligentes

Des applications plus intelligentes

Bashar Al-Fallouji

Page 2: Des applications plus intelligentes

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)

Page 3: Des applications plus intelligentes

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).

Page 4: Des applications plus intelligentes

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)

Page 5: Des applications plus intelligentes

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 ?

Page 6: Des applications plus intelligentes

#1 – Rappel sur le Text-Mining

Page 7: Des applications plus intelligentes

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

Page 8: Des applications plus intelligentes

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!

Page 9: Des applications plus intelligentes

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

Page 10: Des applications plus intelligentes

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

Page 11: Des applications plus intelligentes

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.

Page 12: Des applications plus intelligentes

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.

Page 13: Des applications plus intelligentes

Bashar Al-Fallouji - Des Applications Plus Intelligentes 13

Données non-structurées

80%Source : Experts Corner: Seth Grimes

Page 14: Des applications plus intelligentes

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.)

Page 15: Des applications plus intelligentes

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

Page 16: Des applications plus intelligentes

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)

Page 17: Des applications plus intelligentes

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)

Page 18: Des applications plus intelligentes

Bashar Al-Fallouji - Des Applications Plus Intelligentes 18

Extraction d’entités

Page 19: Des applications plus intelligentes

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

Page 20: Des applications plus intelligentes

Bashar Al-Fallouji - Des Applications Plus Intelligentes 20

Garbage in = Garbage out

Page 21: Des applications plus intelligentes

#2 – Technologies existantes

Page 22: Des applications plus intelligentes

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

Page 23: Des applications plus intelligentes

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

Page 24: Des applications plus intelligentes

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…

Page 25: Des applications plus intelligentes

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.)

Page 26: Des applications plus intelligentes

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

Page 27: Des applications plus intelligentes

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);

Page 28: Des applications plus intelligentes

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

Page 29: Des applications plus intelligentes

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

Page 30: Des applications plus intelligentes

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

Page 31: Des applications plus intelligentes

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

Page 32: Des applications plus intelligentes

#3 – L’intégration du Text-Mining dans les applications (Web)

Page 33: Des applications plus intelligentes

Bashar Al-Fallouji - Des Applications Plus Intelligentes 33

Intégration typique

Page 34: Des applications plus intelligentes

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

Page 35: Des applications plus intelligentes

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)

Page 36: Des applications plus intelligentes

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

Page 37: Des applications plus intelligentes

Bashar Al-Fallouji - Des Applications Plus Intelligentes 37

Autres exemples :Recherche Sémantique OntoText KIM

Page 38: Des applications plus intelligentes

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

Page 39: Des applications plus intelligentes

Bashar Al-Fallouji - Des Applications Plus Intelligentes 39

Autres exemples : Zemanta

Page 40: Des applications plus intelligentes

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

Page 41: Des applications plus intelligentes

Bashar Al-Fallouji - Des Applications Plus Intelligentes 41

Merci pour votre attention !

Page 42: Des applications plus intelligentes

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

Page 43: Des applications plus intelligentes

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