230 likes | 375 Views
Stemming und Lemmatisierung. Orthographische und morphologische Normalisierung von Index/Query Termen. Motivation. Simultane Suche nach allen morphologischen oder orthographischen Varianten Verbesserung des Recalls ohne Verschlechterung der Precision
E N D
Stemming und Lemmatisierung Orthographische und morphologische Normalisierung von Index/Query Termen
Motivation • Simultane Suche nach allen morphologischen oder orthographischen Varianten • Verbesserung des Recalls ohne Verschlechterung der Precision • „einfache Lösung“: Benutzer muss durch Verwendung von Trunkierungsoperatoren (*) oder Disjunktion über alle Formen selbst dafür Sorge tragen • Problem bei Trunkierung: es werden ungewollte Fortsetzungen erzeugt: auto* findet Auto und Autos, aber auch automatisch, Autor oder Automorphismus usw.
„neuer Markt“ : 102.117 „neue Markt“ : 15.058 „neuen Markt“ : 90.716 „neuem Markt“: 404 Disjunktion: 176.749 „grosser Busen“ : 152 „großer Busen“ : 180 „große Busen“ : 175 „grosse Busen“ : 126 „grossen Busen“ : 277 „großen Busen“ : 478 „großem Busen“ : 77 „grossem Busen“ : 110 Disjunktion: : 2.869 Beispiele (Zahlen von AltaVista)
Vorgehen • Führe alle morphologischen oder orthographischen Varianten auf eine kanonische Form zurück • Stemming: kanonische Form ist ein (künstlicher) Wortstamm, der durch regelbasiertes Abschneiden von Suffixen entsteht, ohne Konsultation eines Wörterbuchs. z.B. {Museum, Museen}-> muse • Lemmatisierung: kanonische Form ist die Grundform, die in einem (elektronischen) Wörterbuch nachgeschlagen wird. Z.B {Museum, Museen} -> Museum
Stopwörter • Stopwörter sind Wörter, die in einer Dokumentenkollektion so häufig vorkommen, dass es keinen Sinn macht nach ihnen zu suchen bzw. sie zu indexieren (z.B. der, die, das, ist, ...) • Erstellung einer Stopwortliste entweder auf der Basis einer Frequenzliste, oder nach linguistischen Kriterien: Funktionswörter • Vorteil der Eliminierung von Stopwörtern: Index wird wesentlich kleiner • Nachteil: keine Phrasensuche möglich: „to be or not to be“
Stemming Algorithmen • Bekanntester und verbreitetster: Porter Stemmer • Entwickelt fürs Englische • Idee: in verschiedenen Durchgängen werden jeweils unterschiedliche Suffixe entfernt (soll Abfolge von Flexions- und Derivationssuffixen widerspiegeln) • Entfernung von Suffixen kann durch Bedingungen an den verbleibenden Stamm eingeschränkt werden
Porter Stemmer • Jedes Wort hat die Form C?(VC){m}V?, C ist beliebige Folge von Konsonanten, V beliebige Folge von Vokalen, 0<=m • Jede Regel hat die Form: (condition) S1 -> S2 • Mögliche Conditions: m > n, *S (Stamm endet mit s), *v* (Stamm enthält Vokal), *d (Stamm endet mit Doppelkonsonant), *o (Stamm endet mit cvc) • S1 ist ein Suffix des Worts, S2 kann entweder leer sein oder ein neues Suffix sein
Porter Algorithmus Step 1a SSES -> SS caresses -> caress IES -> I ponies -> poni ties -> ti SS -> SS caress -> caress S -> cats -> cat Step 1b (m>0) EED -> EE feed -> feed agreed -> agree (*v*) ED -> plastered -> plaster bled -> bled (*v*) ING -> motoring -> motor sing -> sing
Porter Algorithmus If the second or third of the rules in Step 1b is successful, the following is done: AT -> ATE conflat(ed) -> conflate BL -> BLE troubl(ed) -> trouble IZ -> IZE siz(ed) -> size (*d and not (*L or *S or *Z)) -> single letter hopp(ing) -> hop fall(ing) -> fall hiss(ing) -> hiss fizz(ed) -> fizz (m=1 and *o) -> E fail(ing) -> fail fil(ing) -> file Step 1c (*v*) Y -> I happy -> happi sky -> sky
Porter Algorithmus Step 2 (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 (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
Porter Algorithmus Step 3 (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 Step 4 (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 (m>1) MENT -> adjustment -> adjust (m>1) ENT -> dependent -> depend (m>1 and (*S or *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
Porter Algorithmus Step 5a (m>1) E -> probate -> probat rate -> rate (m=1 and not *o) E -> cease -> ceas Step 5b (m > 1 and *d and *L) -> single letter controll -> control roll -> roll
Probleme beim Porter Stemmer • Erzeugung nicht existenter Stämme: iteration -> iter, general -> gener. An sich kein Problem, da bei der Query derselbe Stamm erzeugt wird. • Künstliche Ambiguitäten: {organization, organ} -> organ, {policy, police} -> polic, {execute, executive} -> execut, {arm, army} -> arm, usw. • Verwandte Formen werden nicht identifiziert: european/europe, create/creation, matrices/matrix, usw.
Stemming im Deutschen nicht anwendbar • Wortinterne Prozesse, Präfigierung: lesen – las – gelesen, Baum – Bäume • Komposita verhindern sinnvolle Formulierung von Constraints: Ferienende – lesende – Ende • Zerlegung von Komposita notwendig für wirkliche Verbesserung der Suche
Beispiel (mit Stopwortelimination) • This document will describe marketing strategies carried out by U.S. companies for their agricultural chemicals, report predictions for market share of such chemicals, or report market statistics for agrochemicals, pesticide, herbicide, fungicide, insecticide, fertilizer, predicted sales, market share, stimulate demand and price cut, volume of sales • market strateg carr compan agricultur chemic report predict market share chemic report market statist agrochem pesticid harbicid fungicid insecticid fertil sale stimul demand price cut volum sale
Lemmatisierung • Reduktion der Wortformen auf ihre Grundform (und weitere Information) durch Nachschlagen in einem elektronischen Wörterbuch • Vollformenlexikon: jede Wortform kann direkt im Lexikon nachgeschlagen werden • Grundformenlexikon: Wortform wird durch morphologische Regeln auf eine potentielle Grundform reduziert, die dann im Lexikon nachgeschlagen wird • Vollformenlexikon ist aufwendiger hinsichtlich Speicherplatz aber effizienter bei der Verarbeitung
Nachteile von Lemmatisierung • Erfordert umfangreiches elektronisches Wörterbuch, aufwendig in der Erstellung und Wartung • Relativ hohe Anforderungen an Verarbeitungszeit oder Speicherplatz • Was passiert mit Wortformen, die nicht im Lexikon gefunden werden • Eigennamen • Komposita im Deutschen • In der Regel keine Derivationsanalyse
Probleme bei der Lemmatisierung im Deutschen • Ambiguitäten: „laden“ kann lemmatisiert werden zu (laden, N, mask), (lade, N, fem), (laden, V), „geäst“ kann lemmatisiert werden zu (äsen, V), (geäst, N, neut) • Was wird als Lemma bei systematischen Konversionen angenommen: Verbinfinitiv – Nomen (lachen – das Lachen), Partizip – Adjektiv (gestrichen), Adjektiv – Nomen (süchtig – der Süchtige) • Erfassung aller Komposita im Lexikon unmöglich, deshalb Kompositazerlegung notwendig
Probleme bei der Kompositazerlegung im Deutschen • Verschiedene korrekte Zerlegungen: Wachstube in wachs + tube oder wach + stube • Simplizia können irrtümlich zerlegt werden: Pomade -> po + made, Proletarier -> prolet + arier, Tangente -> tang + ente • große Anzahl von Zerlegungsambiguitäten, die nicht korrekt sind: Aluminiumherstellung kann auf 12 versch. Arten zerlegt werden, z.B. alu+mini+umher+stellung, Alleinerziehende -> all+ein+erzieh+ende
Lemmatisierung und Suchmaschinen • Grundformreduktion bei Query- und Index- Termen • Query-Expansion um alle anderen Flexionsformen • Expansion der Indexterme um alle Flexionsformen
Vorteile: Leicht in bestehende Systeme zu integrieren, da Index nicht verändert werden muss Keine Vergrößerung des Indexes Expandierte Query kann vom Benutzer nacheditiert werden Nachteile: Sprache der Query muss bekannt sein Disjunktion kann bei stark flektierenden Sprachen zu grossem Performanzverlust führen Problematisch im Zusammenhang mit Phrasensuche Nicht vorhersehbare Interaktion mit dem Ranking Query-Expansion
Vorteile: Sprache der Query muss nicht bekannt sein, Dokumentensprache i.d.R. leicht zu ermitteln Keine Manipulation der Query notwendig Kein Performanzverlust durch aufgeblasene Query Zur Disambiguierung steht der Kontext zur Verfügung Nachteile: Immense Vergrößerung des Index Wörtliche Suche muss weiterhin möglich sein (Eigennamen) Keine Phrasensuche wenn kein Positionsindex vorhanden Einbeziehung der expandierten Formen ins Ranking unklar Expansion der Indexterme
Vorteile: Index wird im schlimmsten Fall doppelt so groß Kein Performanzverlust bei der Suche durch große Disjunktionen Fehlertolerant: bei Index- und Query-Termen wird derselbe Fehler gemacht Nachteile: Sprache der Query muss bekannt sein Wörtliche Suche muss weiterhin möglich sein (Eigennamen) Keine Phrasensuche wenn kein Positionsindex vorhanden Behandlung ambiger Grundformen unklar Normalisierung von Query- und Index-Termen