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

Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
Diaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfDiaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfEST-UMI de Meknès
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIMansouri Khalifa
 
Equipements d'interconnexion
Equipements d'interconnexionEquipements d'interconnexion
Equipements d'interconnexionInes Kechiche
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Présentation PFE Hachem Selmi et Ahmed Dridi Big data
Présentation PFE Hachem Selmi et Ahmed Dridi Big data Présentation PFE Hachem Selmi et Ahmed Dridi Big data
Présentation PFE Hachem Selmi et Ahmed Dridi Big data HaShem Selmi
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
CV longue version Radouane Mrabet
CV longue version Radouane MrabetCV longue version Radouane Mrabet
CV longue version Radouane MrabetRadouane Mrabet
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Saâd Zerhouni
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 

Tendances (20)

Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Diaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfDiaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdf
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURI
 
Equipements d'interconnexion
Equipements d'interconnexionEquipements d'interconnexion
Equipements d'interconnexion
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Présentation PFE Hachem Selmi et Ahmed Dridi Big data
Présentation PFE Hachem Selmi et Ahmed Dridi Big data Présentation PFE Hachem Selmi et Ahmed Dridi Big data
Présentation PFE Hachem Selmi et Ahmed Dridi Big data
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
CV longue version Radouane Mrabet
CV longue version Radouane MrabetCV longue version Radouane Mrabet
CV longue version Radouane Mrabet
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 

Plus de kamar MEDDAH

Algorithme Colonie de fourmis
Algorithme Colonie de fourmisAlgorithme Colonie de fourmis
Algorithme Colonie de fourmiskamar MEDDAH
 
Random number generator
Random number generatorRandom number generator
Random number generatorkamar MEDDAH
 
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 p2pkamar MEDDAH
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuéekamar MEDDAH
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQLkamar 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