SlideShare une entreprise Scribd logo
1  sur  39
République Algérienne démocratique et populaire.
Université Dr. Tahar Moulay – Saïda
Département d’informatique
Matière : Recherche d’information
L3-ISIL
Présenté par : Chargé du module : Mr.Bendaoud
• MEDDAH Kamar.
• NEDJAI Sofiane.
• OUARDI Yakoub.
Plan
Algorithme de porter 2
I. Introduction,
II.Notations,
III.Algorithme,
IV.Exemples.
Algorithme de porter 3
I. Introduction
Algorithme de porter 4
• but : avoir la même
forme de base pour des
mots de la même famille
• Conçu pour l’anglais,
adaptable à d’autres
langues (français, ...)
Algorithme de porter 5
II. Notations
Algorithme de porter 6
Notes
Algorithme de porter 7
• v représente une voyelle(y est considéré
comme une voyelle s'il est précédé par une
consonne).
• c représente une consonne.
• V représente une suite de voyelles.
• C représente une suite de consonnes.
Algorithme de porter 8
Un mot en anglais peut être de l'une des 4
formes suivantes :
• CVCV … C
• CVCV … V
• VCVC … C
• VCVC … V
• ce qui peut se représenter par :
[C ](V C )m[V ]
ou m est appelée la mesure d'un mot.
Algorithme de porter 9
• m = 0 ; by , tree.
• m = 1 ; trouble, oats, trees, ivy.
• m = 2 ; troubles , private, oaten,
orrery.
Algorithme de porter 10
RÈGLES
Algorithme de porter 11
Algorithme de porter 12
• Les règles de désuffixation sont exprimées
sous la forme :
(condition) S1 → S2
ce qui signifie que si un mot se termine par S1
et que le préfixe satisfait la condition alors le
suffixe S1 est remplacé par S2
CONDITION
Algorithme de porter 13
Algorithme de porter 14
• *e : le préfixe se termine par la lettre e.
• ∗v∗ : le préfixe contient une voyelle.
• ∗d : le préfixe se termine par une consonne
doublée.
• ∗o : le préfixe se termine par cvc ou` le
second c n’est ni w, ni x, ni y .
Note :
• Il est possible d’utiliser des opérateurs booléens : et, ou,
non.
• A chaque étape seule la règle capturant le plus long S1
s'applique.
III. Algorithme
Algorithme de porter 15
ÉTAPE 1A
Algorithme de porter 16
• sses → ss caresses → caress
• ies → i ponies → poni
• ss → ss caress → caress
• s → cats → cat
ÉTAPE 1B
Algorithme de porter 18
Algorithme de porter 19
• (m > 0) eed → ee feed → feed
agreed → agree
• (*v*) ed → plastered → plaster
bled → bled
• (v) ing → motoring → motor
sing → sing
• at → ate conflat(ed) → conflate
• bl → ble troubl(ed) → trouble
• iz → ize siz(ed) → size
Algorithme de porter 20
(*d et non (*l ou *s ou *z)) → lettre non
doublée.
• hopp(ing) → hop
• tann(ed) → tan
• fall(ing) → fall
• hiss(ing) → hiss
• fizz(ed) → fizz
(m = 1) et *o → e (filing) → file
ÉTAPE 1C
Algorithme de porter 21
• (*v*)y → i happy → happi
sky → sky
Algorithme de porter 22
ÉTAPE 2
Algorithme de porter 23
Algorithme de porter 24
• (m > 0)ational → ate relational → relate
• (m > 0)tional → TION conditional → Condition
rational → rational
• (m > 0)enci → ence valenci → valence
• (m > 0)anci → ance hesitanci → hesitance
• (m > 0)izer → ize digitizer → digitize
• (m > 0)abli → able conformabli → conformable
• (m > 0)alli → al radicalli → radical
• (m > 0)entli → ent differentli → different
• (m > 0)eli → e vileli → vile
• (m > 0)ousli → ous analogousli → analogous
Algorithme de porter 25
• (m > 0)ization → ize vietnamization → vietnamize
• (m > 0)ation → ate predication → predicate
• (m > 0)ator → ate operator → operate
• (m > 0)alism → al feudalism → feudal
• (m > 0)iveness → ive decisiveness → decisive
• (m > 0)fulness → ful hopefulness → hopeful
• (m > 0)ousness → ous callousness → callous
• (m > 0)aliti → al formaliti → formal
• (m > 0)iviti → ive sensitiviti → sensitive
• (m > 0)biliti → ble sensibiliti → sensible
ÉTAPE 3
Algorithme de porter 26
Algorithme de porter 27
• (m > 0)icate → ic triplicate → triplic
• (m > 0)ative → formative → form
• (m > 0)alize → al formalize → formal
• (m > 0)iciti → ic electriciti → electric
• (m > 0)ical → ic electrical → electric
• (m > 0)ful → hopeful → hope
• (m > 0)ness → goodness → good
ÉTAPE 4
Algorithme de porter 28
Algorithme de porter 29
• (m > 1)al→ revival → reviv
• (m > 1)ance→ allowance → allow
• (m > 1)ence→ inference → infer
• (m > 1)er→ airliner → airlin
• (m > 1)ic→ gyroscopic → gyroscop
• (m > 1)able→ adjustable → adjust
• (m > 1)ible→ defensible → defens
• (m > 1)ant→ irritant → irrit
• (m > 1)ement→ replacement → replac
Algorithme de porter 30
• (m > 1)ment→ adjustment → adjust
• (m > 1)ent→ dependent → depend
• (m > 1 et (*s ou*t))ion → adoption → adopt
• (m > 1)ou→ homologou → homolog
• (m > 1)ism→ communism → commun
• (m > 1)ate→ activate → activ
• (m > 1)iti→ angulariti → angular
• (m > 1)ous→ homologous → homolog
• (m > 1)ive→ effective → effect
• (m > 1)ize→ bowdlerize → bowdler
ÉTAPE 5A
Algorithme de porter 31
Algorithme de porter 32
• (m > 1)e → probate → probat
rate → rate
• (m > 1 et non *o)e → cease → cease
ÉTAPE 5B
Algorithme de porter 33
Algorithme de porter 34
• (m > 1 et *d et *l) → lettre non doublée
controll →control
roll→roll
IV. EXEMPLES
Algorithme de porter 35
Algorithme de porter 36
• generalizations
→generalization étape 1
→generalize étape 2
→general étape 3
→gener étape 4
Algorithme de porter 37
• oscillators
→oscillator étape 1
→oscillate étape 2
→oscill étape 4
→oscil étape 5
Ressources
• <Appendix: Porter's algorithm>
<http://people.ischool.berkeley.edu/~hearst/
irbook/porter.html>
• <The Porter stemming algorithm>
<http://snowball.tartarus.org/algorithms/por
ter/stemmer.html>
• <An Algorithm for Suffix Stripping>
<M. F. Porter/Program, 14(3), 130{137, 1980>
Algorithme de porter 38
VOUS AVEZ DES
QUESTIONS ?
Algorithme de porter 39

Contenu connexe

Tendances

Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
base de données fédérés
base de données fédérésbase de données fédérés
base de données fédérés
Oussama Yoshiki
 

Tendances (20)

Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Big data
Big dataBig data
Big data
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
[PFE] Master - Génie logiciel
[PFE] Master - Génie logiciel  [PFE] Master - Génie logiciel
[PFE] Master - Génie logiciel
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment system
 
base de données fédérés
base de données fédérésbase de données fédérés
base de données fédérés
 

Plus de kamar MEDDAH

Plus de kamar MEDDAH (13)

Intro to web dev
Intro to web devIntro to web dev
Intro to web dev
 
Algorithme Colonie de fourmis
Algorithme Colonie de fourmisAlgorithme Colonie de fourmis
Algorithme Colonie de fourmis
 
Random number generator
Random number generatorRandom number generator
Random number generator
 
Routage rip
Routage ripRoutage rip
Routage rip
 
Etude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pEtude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2p
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuée
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
 
Active directory
Active directoryActive directory
Active directory
 
Wwan
WwanWwan
Wwan
 
Hadoop
HadoopHadoop
Hadoop
 
Erlang
ErlangErlang
Erlang
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Javascript
JavascriptJavascript
Javascript
 

Porter stemming algorithm

  • 1. République Algérienne démocratique et populaire. Université Dr. Tahar Moulay – Saïda Département d’informatique Matière : Recherche d’information L3-ISIL Présenté par : Chargé du module : Mr.Bendaoud • MEDDAH Kamar. • NEDJAI Sofiane. • OUARDI Yakoub.
  • 5. • but : avoir la même forme de base pour des mots de la même famille • Conçu pour l’anglais, adaptable à d’autres langues (français, ...) Algorithme de porter 5
  • 8. • v représente une voyelle(y est considéré comme une voyelle s'il est précédé par une consonne). • c représente une consonne. • V représente une suite de voyelles. • C représente une suite de consonnes. Algorithme de porter 8
  • 9. Un mot en anglais peut être de l'une des 4 formes suivantes : • CVCV … C • CVCV … V • VCVC … C • VCVC … V • ce qui peut se représenter par : [C ](V C )m[V ] ou m est appelée la mesure d'un mot. Algorithme de porter 9
  • 10. • m = 0 ; by , tree. • m = 1 ; trouble, oats, trees, ivy. • m = 2 ; troubles , private, oaten, orrery. Algorithme de porter 10
  • 12. Algorithme de porter 12 • Les règles de désuffixation sont exprimées sous la forme : (condition) S1 → S2 ce qui signifie que si un mot se termine par S1 et que le préfixe satisfait la condition alors le suffixe S1 est remplacé par S2
  • 14. Algorithme de porter 14 • *e : le préfixe se termine par la lettre e. • ∗v∗ : le préfixe contient une voyelle. • ∗d : le préfixe se termine par une consonne doublée. • ∗o : le préfixe se termine par cvc ou` le second c n’est ni w, ni x, ni y . Note : • Il est possible d’utiliser des opérateurs booléens : et, ou, non. • A chaque étape seule la règle capturant le plus long S1 s'applique.
  • 17. • sses → ss caresses → caress • ies → i ponies → poni • ss → ss caress → caress • s → cats → cat
  • 19. Algorithme de porter 19 • (m > 0) eed → ee feed → feed agreed → agree • (*v*) ed → plastered → plaster bled → bled • (v) ing → motoring → motor sing → sing • at → ate conflat(ed) → conflate • bl → ble troubl(ed) → trouble • iz → ize siz(ed) → size
  • 20. Algorithme de porter 20 (*d et non (*l ou *s ou *z)) → lettre non doublée. • hopp(ing) → hop • tann(ed) → tan • fall(ing) → fall • hiss(ing) → hiss • fizz(ed) → fizz (m = 1) et *o → e (filing) → file
  • 22. • (*v*)y → i happy → happi sky → sky Algorithme de porter 22
  • 24. Algorithme de porter 24 • (m > 0)ational → ate relational → relate • (m > 0)tional → TION conditional → Condition rational → rational • (m > 0)enci → ence valenci → valence • (m > 0)anci → ance hesitanci → hesitance • (m > 0)izer → ize digitizer → digitize • (m > 0)abli → able conformabli → conformable • (m > 0)alli → al radicalli → radical • (m > 0)entli → ent differentli → different • (m > 0)eli → e vileli → vile • (m > 0)ousli → ous analogousli → analogous
  • 25. Algorithme de porter 25 • (m > 0)ization → ize vietnamization → vietnamize • (m > 0)ation → ate predication → predicate • (m > 0)ator → ate operator → operate • (m > 0)alism → al feudalism → feudal • (m > 0)iveness → ive decisiveness → decisive • (m > 0)fulness → ful hopefulness → hopeful • (m > 0)ousness → ous callousness → callous • (m > 0)aliti → al formaliti → formal • (m > 0)iviti → ive sensitiviti → sensitive • (m > 0)biliti → ble sensibiliti → sensible
  • 27. Algorithme de porter 27 • (m > 0)icate → ic triplicate → triplic • (m > 0)ative → formative → form • (m > 0)alize → al formalize → formal • (m > 0)iciti → ic electriciti → electric • (m > 0)ical → ic electrical → electric • (m > 0)ful → hopeful → hope • (m > 0)ness → goodness → good
  • 29. Algorithme de porter 29 • (m > 1)al→ revival → reviv • (m > 1)ance→ allowance → allow • (m > 1)ence→ inference → infer • (m > 1)er→ airliner → airlin • (m > 1)ic→ gyroscopic → gyroscop • (m > 1)able→ adjustable → adjust • (m > 1)ible→ defensible → defens • (m > 1)ant→ irritant → irrit • (m > 1)ement→ replacement → replac
  • 30. Algorithme de porter 30 • (m > 1)ment→ adjustment → adjust • (m > 1)ent→ dependent → depend • (m > 1 et (*s ou*t))ion → adoption → adopt • (m > 1)ou→ homologou → homolog • (m > 1)ism→ communism → commun • (m > 1)ate→ activate → activ • (m > 1)iti→ angulariti → angular • (m > 1)ous→ homologous → homolog • (m > 1)ive→ effective → effect • (m > 1)ize→ bowdlerize → bowdler
  • 32. Algorithme de porter 32 • (m > 1)e → probate → probat rate → rate • (m > 1 et non *o)e → cease → cease
  • 34. Algorithme de porter 34 • (m > 1 et *d et *l) → lettre non doublée controll →control roll→roll
  • 36. Algorithme de porter 36 • generalizations →generalization étape 1 →generalize étape 2 →general étape 3 →gener étape 4
  • 37. Algorithme de porter 37 • oscillators →oscillator étape 1 →oscillate étape 2 →oscill étape 4 →oscil étape 5
  • 38. Ressources • <Appendix: Porter's algorithm> <http://people.ischool.berkeley.edu/~hearst/ irbook/porter.html> • <The Porter stemming algorithm> <http://snowball.tartarus.org/algorithms/por ter/stemmer.html> • <An Algorithm for Suffix Stripping> <M. F. Porter/Program, 14(3), 130{137, 1980> Algorithme de porter 38
  • 39. VOUS AVEZ DES QUESTIONS ? Algorithme de porter 39