SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Présentation data warehouse etl et olap
Présentation data warehouse etl et olapPrésentation data warehouse etl et olap
Présentation data warehouse etl et olapCynapsys It Hotspot
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPTriyadadva
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseAbderrahmane Filali
 
Business Intelligence Reporting Solution
Business Intelligence Reporting Solution Business Intelligence Reporting Solution
Business Intelligence Reporting Solution Imad ALILAT
 
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.
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...Hajer Dahech
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
les style d'architecture
les style d'architecture les style d'architecture
les style d'architecture Mouna Maazoun
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…MongoDB
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidBadrElattaoui
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4JLilia Sfaxi
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
Etat de l’art approche et outils BI
Etat de l’art approche et outils BIEtat de l’art approche et outils BI
Etat de l’art approche et outils BISaid Sadik
 

La actualidad más candente (20)

Présentation data warehouse etl et olap
Présentation data warehouse etl et olapPrésentation data warehouse etl et olap
Présentation data warehouse etl et olap
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
Business Intelligence Reporting Solution
Business Intelligence Reporting Solution Business Intelligence Reporting Solution
Business Intelligence Reporting Solution
 
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...
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
les style d'architecture
les style d'architecture les style d'architecture
les style d'architecture
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
 
système multi agent
système multi agentsystème multi agent
système multi agent
 
Pfe
PfePfe
Pfe
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4J
 
Qu'est-ce qu'un ETL ?
Qu'est-ce qu'un ETL ?Qu'est-ce qu'un ETL ?
Qu'est-ce qu'un ETL ?
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Etat de l’art approche et outils BI
Etat de l’art approche et outils BIEtat de l’art approche et outils BI
Etat de l’art approche et outils BI
 

Más 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
 

Más 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