25
Canonicalization techniques for computer-mediated communication Bryan Jurish, 1 Kay-Michael Würzner, 2 Maria Ermakova, 1 Sophie Arana 1 {jurish,wuerzner,ermakova}@bbaw.de (1) Berlin-Brandenburgische Akademie der Wissenschaften (2) Universität Potsdam GSCL-2013 Workshop “Verarbeitung . . . internetbasierter Kommunikation” Darmstadt, 23 rd September 2013 2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 1/20

Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Canonicalization techniques for

computer-mediated communication

Bryan Jurish,1 Kay-Michael Würzner,2 Maria Ermakova,1 Sophie Arana1

{jurish,wuerzner,ermakova}@bbaw.de

(1) Berlin-Brandenburgische Akademie der Wissenschaften (2) Universität Potsdam

GSCL-2013 Workshop “Verarbeitung . . . internetbasierter Kommunikation”

Darmstadt, 23rd September 2013

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 1/20

Page 2: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Overview

The Big Picture

The SituationThe ProblemThe Approach

Canonicalization Methods

Type-wise ConflationTransliteration, Phonetization, Rewrite Cascade

Token-wise DisambiguationDynamic Hidden Markov Model

Problems & WorkaroundsLexical, Morphological, Phonological, Suprasegmental

Summary & Outlook

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 2/20

Page 3: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

— The Big Picture —

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 3/20

Page 4: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Deutsches Textarchiv (DTA)Primary Goals

digitize ∼ 1,300 print volumes, printed ∼ 1600-1900first editions of respective worksdetailed metadata, highly accurate transcriptions

TEI-XML corpus encoding & storageDTA base format (DTABf) dialect

linguistic analysis (automated)tokenization, normalization, PoS-tagging, lemmatization

online search (DDC) http://www.ddc-concordance.org

lemma-based, PoS-sensitive, spelling-tolerant

In Numbers(DTA+DTAE 2013-05-02)

1,276 transcribed works353,245 digitized pages

567,200,587 unicode characters81,049,777 tokens (alpha-numeric)

1,947,414 types (alpha-numeric)

TODO: UPDATE FOR IBK CORPUS2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 4/20

Page 5: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

The SituationCMC Text 6∋ Orthographic Conventions

also applies to historical text, OCR output, . . .

many non-standard graphemic forms

nicht“not”

nciht, nert, net, nich, nicha,

niiiiiiicht, nit, nnicht, . . .

tschüss“bye”

schüssi, tschaui, tschö,

tschöööö, tschüssi, tschüssie,

tschüüüüüüüüüüsssss, . . .

Conventional NLP Tools ⇒ Strict Orthography

IR systems, PoS taggers, stemmers, lemmatizers,morphological analyzers, parsers, . . .

Fixed lexicon keyed by (ortho)graphic form

Conventional lexemes only (≈ newspaper domain)

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 5/20

Page 6: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

The Problem

Conventional Tools

⊕ Unconventional Corpus

= Soup

Corpus variants missing from application lexicon

low coverage (many unknown types)

poor recall (relevant data not retrieved)

spurious “noise” (poor model fit)

. . . and more!

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 6/20

Page 7: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

The Approach: Canonicalizationa.k.a. (orthographic) ‘standardization’, ‘normalization’, . . .

In a Nutshell

c u l8r doooood

↓ ↓ ↓ ↓see you later dude

Map each word w to a unique canonical cognate w

Defer application analysis to canonical forms

DTA::CAB infrastructure developed for historical text

Canonical Cognates

Lexically active conventional equivalent(s) w ∈ Lex

Preserve both root and relevant features of input

Conflation Relation ∼r

Binary relation on strings (words) in A∗

Prototypically a true equivalence relation2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 7/20

Page 8: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

— Canonicalization Methods —

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 8/20

Page 9: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

DTA::CAB System Architecture

TAGHLex

TrainCorpus

cmcLex

XLit

Morph

EqPho Rewrite

HMM

ExLexinput

outputUnWrap

TokWrap

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 9/20

Page 10: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Deterministic Transliteration (xlit)

Sketch w ∼xlit v :⇔ xlit∗(w) = xlit∗(v)

Idea: handle non-standard characters (Jurish 2008, 2010b,c)

Implementation: O(1) character lookup table

useful as preprocessor for subsequent methods

Examples

Foreign Scripts 北京 7→ BeiJing “Beijing”

Πλατων 7→ Platon “Plato”

Diacritics sçhon 7→ schon “already”

schøn 7→ schön “beautiful”

Ligatures œde 7→ öde “bleak”

Ærger 7→ Ärger “trouble”

(pesudo-) Allographs ß©è 7→ huch “oops”

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 10/20

Page 11: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

TAGH Morphology (morph)

Sketch (Geyken & Hanneforth, 2006)

Model (conventional) morphological processes as WFST

Provides weighted target language for subsequent methods

analysis cost ≈ derivational complexity

“Known-wins” filtering w 7→ w :⇐ w ∈ π1(Mmorph)

Overgeneration: ‘known’ form shouldn’t always win

hab 7→ *habVVIMP 6= habe “have”

Andre 7→ *AndréNE 6= Andere “other”

muste 7→ *mus|te 6= muss|te “must”

Grad 7→ *Grad 6= Gerade “directly”

schafsinnig 7→ *schaf|sinnig 6= scharfsinnig “perceptive”

Workaround: safety heuristics, e.g. *V.imp, *NE, *f = 0

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 11/20

Page 12: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Phonetic Equivalence (eqpho)

Sketch w ∼pho v :⇔ pho(w) = pho(v)

Idea: conflate words by phonetic form (Jurish, 2008, 2010b)

Implementation: text-to-speech rule-set (Möhler et al., 2001)

modified & compiled as FST Mpho

online k−best equivalence cascade search (Jurish, 2010a)

Ceqpho := Mpho ◦M−1pho ◦ π1(Mmorph)

Examples

Successes betrib 7→ Betrieb “operation”

eindoitig 7→ eindeutig “univocal”

hallloooo 7→ hallo “hello”

Failures mirsch 67→ mich “me”

nischt 67→ nicht “not”

Workarounds: target language pruning, cascade lookup cutoffs

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 12/20

Page 13: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Rewrite Cascade (rw)

Sketch bestrw(w) := argminv∈A∗JMrw ◦ π1(Mmorph)K(w, v)

w ∼rw v :⇔ bestrw(w) = bestrw(v)

Idea: map words to nearest conventional type (Jurish, 2010b,c)

generalized string edit distance (Levenshtein, 1966)

computable even for infinite lexica (Mohri, 2002; Jurish, 2010a)

Implementation: online (k = 1)−best cascade searcheditor WFST Mrw compiled from keyboard adjacency model

weight interpolation constants λrw and λmorph

Keyboard Adjacency

limit search space

attenuate edit costs

insert, delete, replace

. . . but NOT transpose!

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 13/20

Page 14: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Error Model MrwGeneric Edit Operations

Deletion guet 7→ gut “good”

Insertion is 7→ ist “is”

Substitution goht 7→ geht “goes”

Transposition udn 7→ und “and”

Doubling das 7→ dass “that”

Un-doubling neuees 7→ neues “new”

Un-potentiation juhuuuu 7→ juhu “woo-hoo”

Keyboard-Adjacent Edit Operations

Deletion iommer 7→ immer “always”

hoi 7→ hi “hi”

Insertion z 7→ zu “to”

schaf 7→ scharf “sharp”

Substitution guvkt 7→ guckt “looks”

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 14/20

Page 15: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Token-wise Disambiguation (hmm)Idea (Mays et al., 1991; Brill & Moore, 2000; Jurish, 2010c)

Allow high-recall overgeneration at type level

Recover precision using token-level context

Implementation: Dynamic Hidden Markov Model (HMM)

States are word-conflator pairs Q = (W ∪ {u})×R

Observations are input strings OS =⋃

nS

i=1{wi} ⊂ A∗

Transitions (static) A(〈wi, ri〉

mi=1

)≈ p

(wm

∣∣wm−11

)

Lexicon (dynamic): Maxwell-Boltzmann distribution

B(〈w, r〉, w

)≈ bβdr(w,w)

∑r′∈R

∑w′∈↓[w]

r′bβd

r′(w,w′)

b, β are global model parameters (b ≥ 1, β ≤ 0)dr(w, w) depends on conflator r

Lookup (moot): Viterbi Algorithm (Viterbi, 1967)

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 15/20

Page 16: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

HMM Example

Input hallooo wida muste kuz w€g

xlit hallooo wida muste kuz wEg

pho {hallo}

wider,

wieder

{muste}

Cuts,

Kuts

weck,

weg

rw hallo Weda musste kurz weg

hmm hallo wieder musste kurz weg

Output hallo wieder musste kurz weg

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 16/20

Page 17: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

HMM Example

Input hallooo wida muste kuz w€g

xlit hallooo wida muste kuz wEg

pho {hallo}

wider,

wieder

{muste}

Cuts,

Kuts

weck,

weg

rw hallo Weda musste kurz weg

hmm hallo wieder musste kurz weg

Output hallo wieder musste kurz weg

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 16/20

Page 18: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

HMM Example

Input hallooo wida muste kuz w€g

xlit hallooo wida muste kuz wEg

pho {hallo}

wider,

wieder

{muste}

Cuts,

Kuts

weck,

weg

rw hallo Weda musste kurz weg

hmm hallo wieder musste kurz weg

Output hallo wieder musste kurz weg

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 16/20

Page 19: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

HMM Example

Input hallooo wida muste kuz w€g

xlit hallooo wida muste kuz wEg

pho {hallo}

wider,

wieder

{muste}

Cuts,

Kuts

weck,

weg

rw hallo Weda musste kurz weg

hmm hallo wieder musste kurz weg

Output hallo wieder musste kurz weg

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 16/20

Page 20: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

HMM Example

Input hallooo wida muste kuz w€g

xlit hallooo wida muste kuz wEg

pho {hallo}

wider,

wieder

{muste}

Cuts,

Kuts

weck,

weg

rw hallo Weda musste kurz weg

hmm hallo wieder musste kurz weg

Output hallo wieder musste kurz weg

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 16/20

Page 21: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

HMM Example

Input hallooo wida muste kuz w€g

xlit hallooo wida muste kuz wEg

pho {hallo}

wider,

wieder

{muste}

Cuts,

Kuts

weck,

weg

rw hallo Weda musste kurz weg

hmm hallo wieder musste kurz weg

Output hallo wieder musste kurz weg

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 16/20

Page 22: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Some Anticipated Difficulties

Lexicalne 7→ eine “a”

ma 7→ mal “once”neologisms & “missing” lexemes

Workaround: static exception lexicon Mexlex

Morphological*glaub 7→ glaube “believe”

welch 7→ welchen “which”“missing” productive processes

Workaround: Mmorph plug-in(s)* . . . or typographical simulations of phonological processes acting on inflectional morphemes?

Phonetic / Phonologicalsehn ∼ sehen “see”

zehn 6∼ Zehen “ten”identity criterion is too strict

Workaround: Mrw plug-in(s)

Suprasegmentalhat’s 7→ hat es “has it”

kannste 7→ kannst du “can you”unclear token boundaries

Workaround: ???

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 17/20

Page 23: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Observed Mappings

by Type (N = 4340) by Token (N = 13611)

id (53.9%)

case (28.2%)

rw (8.5%)

pho (5.0%)

other (4.3%)

id (72.9%)

case (18.6%)

rw (3.0%)

pho (2.3%)

other (3.1%)

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 18/20

Page 24: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

Concluding Remarks

Unconventional Text and Conventional Toolswon’t play together nicely “out of the box”

Canonicalization Methods

transliteration ∼ quick and dirty

phonetic equivalence ∼ elegant but coarse

rewrite cascade ∼ flexible but costly

HMM disambiguator ∼ precision recovery

Future Work

part-of-speech annotations STTS

plug-in resources Mexlex, Mrw, M ′

morph

model parameter optimization ≥27 free parameters

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 19/20

Page 25: Canonicalization techniques for computer-mediated ...kaskade.dwds.de/~moocow/mirror/pubs/jwea2013_gscl_ibk.pdftransliteration ∼ quick and dirty phonetic equivalence ∼ elegant but

C U L8R DØØD$

(“The End”)

Thank you for listening!

2013-09-23 / {Jurish,Würzner,Ermakova,Arana} / Canonicalization techniques – p. 20/20