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

Porter stemming algorithm

  • 1.
    République Algérienne démocratiqueet 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.
  • 2.
  • 3.
  • 4.
  • 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
  • 6.
  • 7.
  • 8.
    • v représenteune 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 enanglais 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
  • 11.
  • 12.
    Algorithme de porter12 • 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
  • 13.
  • 14.
    Algorithme de porter14 • *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.
  • 15.
  • 16.
  • 17.
    • sses →ss caresses → caress • ies → i ponies → poni • ss → ss caress → caress • s → cats → cat
  • 18.
  • 19.
    Algorithme de porter19 • (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 porter20 (*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
  • 21.
  • 22.
    • (*v*)y →i happy → happi sky → sky Algorithme de porter 22
  • 23.
  • 24.
    Algorithme de porter24 • (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 porter25 • (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
  • 26.
  • 27.
    Algorithme de porter27 • (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
  • 28.
  • 29.
    Algorithme de porter29 • (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 porter30 • (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
  • 31.
  • 32.
    Algorithme de porter32 • (m > 1)e → probate → probat rate → rate • (m > 1 et non *o)e → cease → cease
  • 33.
  • 34.
    Algorithme de porter34 • (m > 1 et *d et *l) → lettre non doublée controll →control roll→roll
  • 35.
  • 36.
    Algorithme de porter36 • generalizations →generalization étape 1 →generalize étape 2 →general étape 3 →gener étape 4
  • 37.
    Algorithme de porter37 • oscillators →oscillator étape 1 →oscillate étape 2 →oscill étape 4 →oscil étape 5
  • 38.
    Ressources • <Appendix: Porter'salgorithm> <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