Natural Language Processing

 

  1. Was ist Natu­ral Lan­guage Pro­ces­sing?
  2. In die­sen Anwen­dun­gen steckt Natu­ral Lan­guage Pro­ces­sing
  3. Wie funk­tio­niert Lan­guage Pro­ces­sing?
  4. Spra­che ver­ar­bei­ten vs. Spra­che ver­ste­hen vs. Spra­che gene­rie­ren
  5. Defi­ni­ti­on Natu­ral Lan­guage Pro­ces­sing

 

 

Was ist Natural Language Processing?

 

Zwi­schen Mensch und Com­pu­ter bestehen gra­vie­ren­de Kom­mu­ni­ka­ti­ons­pro­ble­me: wäh­rend die Maschi­ne nur spe­zi­el­le Pro­gram­mier­spra­chen beherrscht oder zumin­dest struk­tu­rier­te Daten für die Ver­ar­bei­tung benö­tigt, spre­chen und ver­ste­hen Men­schen “natür­li­che” Spra­che mit all ihren Unge­nau­ig­kei­ten und Mehr­deu­tig­kei­ten.

Eine der Grund­ide­en von Natu­ral Lan­guage Pro­ces­sing (NLP) besteht daher dar­in, den Aus­tausch zwi­schen bei­den Sei­ten zu ver­ein­fa­chen. Natu­ral Lan­guage Pro­ces­sing ist ein Teil­ge­biet aus dem gro­ßen Feld Künst­li­che Intel­li­genz und stellt Tech­no­lo­gi­en bereit, die Com­pu­tern das Ver­ste­hen, Inter­pre­tie­ren und Erzeu­gen unstruk­tu­rier­ter mensch­li­cher Spra­che ermög­li­chen.

 

In diesen Anwendungen steckt Natural Language Processing

 

Die Anfän­ge von Natu­ral Lan­guage Pro­ces­sing gehen zurück in die 1940er Jah­re. Nach vie­len Jahr­zehn­ten nur lang­sa­men Fort­schrit­tes ist Natu­ral Lan­guage Pro­ces­sing heu­te vor allem durch leis­tungs­fä­hi­ge­re Hard­ware und Inno­va­tio­nen wie Maschi­nel­les Ler­nen ein hoch­dy­na­mi­sches Feld.

Der Auf­schwung ist mit Sicher­heit noch längst nicht am Ende ange­langt, den­noch bil­det natür­li­che Sprach­ver­ar­bei­tung schon heu­te die Grund­la­ge einer Rei­he von spe­zi­el­len und all­täg­li­chen Anwen­dun­gen:

  • Intel­li­gen­te Online-Such­funk­tio­nen kom­plet­tie­ren die Ein­ga­ben eines Users
  • Spam-Fil­ter erken­nen die Inhal­te von E-Mails
  • Text­ana­ly­se zum Check von Doku­men­ten wie Ver­trä­gen auf for­ma­le und inhalt­li­che Feh­ler
  • Chat­bots ver­ar­bei­ten Ein­ga­ben eines Nut­zers und ant­wor­ten adäquat
  • Vir­tu­el­le Sprach­as­sis­ten­ten ver­ste­hen Sprach­ein­ga­ben und for­mu­lie­ren Out­put
  • Maschi­nel­les Über­set­zen von Tex­ten

 

Wie funktioniert Language Processing?

 

Unab­hän­gig davon, wel­che sprach­li­chen Inhal­te ein Com­pu­ter ver­ar­bei­tet, muss er die ein­zel­nen Tei­le unter­schei­den und ihre Bedeu­tung erken­nen, um das Gan­ze zu ver­ste­hen. Das theo­re­ti­sche Rüst­zeug von Natu­ral Lan­guage Pro­ces­sing lie­fert daher die Lin­gu­is­tik und hier vor allem die Com­pu­ter­lin­gu­is­tik.

Am anschau­lichs­ten wird die Funk­ti­ons­wei­se eines NLP-Sys­tems, wenn man die ein­zel­nen Pha­sen von Spra­che und Sprach­ver­ar­bei­tung Schicht für Schicht unter die Lupe nimmt. Je nach­dem, ob gespro­che­nes oder geschrie­be­nes Wort ver­ar­bei­tet wird, steht einer der fol­gen­den Aspek­te im Mit­tel­punkt.

Ein NLP-Sys­tem, das gespro­che­ne Ein­ga­ben auf­nimmt, ana­ly­siert und kodiert die Schall­wel­len in ein digi­ta­li­sier­tes Signal und inter­pre­tiert die Daten anschlie­ßend nach ver­schie­de­nen Regeln oder durch Ver­gleich mit einem jeweils zugrun­de­lie­gen­den Sprach­mo­dell. Die lin­gu­is­ti­schen Teil­dis­zi­pli­nen Pho­no­lo­gie und Pho­ne­tik bil­den bei der Sprach­er­ken­nung die theo­re­ti­schen Grund­la­gen.

Egal, ob es sich um Input in Form einer Audio-Datei oder geschrie­be­nen Text han­delt: Um in spä­te­ren Schrit­ten die Bedeu­tung einer Äuße­rung zu erken­nen, muss ein Natu­ral Lan­guage Pro­ces­sing-Sys­tem die Ein­ga­be in ein­zel­ne Bestand­tei­le zer­le­gen.

Auf der Ebe­ne von Sät­zen und Phra­sen, der Syn­tax, ermit­telt Natu­ral Lan­guage Pro­ces­sing die gram­ma­ti­ka­li­sche Struk­tur einer Äuße­rung. Unter­halb der Syn­tax bestim­men mor­pho­lo­gi­sche Ver­fah­ren ein­zel­ne Wör­ter und deren Ein­hei­ten. Ziel ist es hier­bei, auf der lexi­ka­li­schen Ebe­ne die Bedeu­tung jedes ein­zel­nen Begrif­fes zu ver­ste­hen und so die Vor­aus­set­zung für das Ver­ständ­nis der gesam­ten Äuße­rung zu schaf­fen.

Im Zusam­men­spiel aus Infor­ma­tio­nen über Struk­tur eines Sat­zes und der Bedeu­tung ein­zel­ner Tei­le erge­ben sich Hin­wei­se auf die Bedeu­tung eines Sat­zes. Die ein­zel­nen Tei­le in einen Kon­text ein­ord­nen und so idea­ler­wei­se meh­re­re Ele­men­te einer zusam­men­hän­gen­den Aus­sa­ge kor­rekt zu ver­ste­hen, ist schließ­lich Auf­ga­be der Seman­tik.

Unter­schied­li­che, der Seman­tik zuzu­ord­nen­de Ver­fah­ren kön­nen in einem Natu­ral Lan­guage Pro­ces­sing-Sys­tem einen Bei­trag leis­ten bzw. Teil­as­pek­te bedie­nen. Dazu zäh­len etwa die Enti­tä­ten­ex­trak­ti­on (auch: Named Ent­i­ty Reco­gni­ti­on) die Sen­ti­ment­ana­ly­se oder die Dis­am­bi­gu­ie­rung.

 

Sprache verstehen vs. Sprache generieren vs. Sprache verarbeiten

 

Weil natür­li­che Sprach­ver­ar­bei­tung so viel­schich­tig ist, hat es sich eta­bliert, Anwen­dun­gen mit eng defi­nier­tem Fokus in einen von zwei aner­kann­ten Berei­chen ein­zu­ord­nen. Als Teil­dis­zi­pli­nen von Natu­ral Lan­guage Pro­ces­sing gel­ten Natu­ral Lan­guage Under­stan­ding (NLU) und Natu­ral Lan­guage Gene­ra­ti­on (NLG).

Natu­ral Lan­guage Under­stan­ding (NLU) kon­zen­triert sich in ers­ter Linie dar­auf, einer Maschi­ne das Ver­ständ­nis eines Tex­tes oder von gespro­che­nem Wort zu ermög­li­chen. Ana­ly­siert etwa eine Anwen­dung den News­bei­trag eines Online-Por­tals und iden­ti­fi­ziert dar­aus mit­tels Enti­tä­ten­ex­trak­ti­on Ele­men­te wie Per­so­nen, Orte und Ereig­nis­se han­delt es sich dabei “nur” um Natu­ral Lan­guage Under­stan­ding. Sobald es dar­um gehen wür­de, auf einen iden­ti­fi­zier­ten Inhalt zu reagie­ren, etwa in einem Chat­bot, wird die Anwen­dung NLP.

Natu­ral Lan­guage Gene­ra­ti­on hin­ge­gen bezeich­net die Pro­duk­ti­on von Text durch einen Algo­rith­mus. Vor­aus­set­zung dafür sind struk­tu­rier­te Daten wie sie etwa in Form von Bör­sen­in­for­ma­tio­nen, Pro­dukt­merk­ma­len, Sport- oder Wet­ter­da­ten vor­lie­gen. Auto­ma­ti­sche Text­ge­ne­rie­rung macht dar­aus dann in Echt­zeit und belie­bi­ger Anzahl Inhal­te. Da Natu­ral Lan­guage Gene­ra­ti­on Daten zu Spra­che ver­ar­bei­tet, wird das Teil­ge­biet unter den Über­be­griff Natu­ral Lan­guage Pro­ces­sing gefasst.

 

Definition Natural Language Processing

 

Com­pu­ter machen Sachen mit Spra­che” — so lie­ße sich Natu­ral Lan­guage Pro­ces­sing umgangs­sprach­lich defi­nie­ren. Eine wis­sen­schaft­li­che Defi­ni­ti­on des Begrif­fes Natu­ral Lan­guage Pro­ces­sing stammt von der Infor­ma­ti­ke­rin Eliza­beth D. Lid­dy:

Natu­ral Lan­guage Pro­ces­sing is a theo­reti­cal­ly moti­va­ted ran­ge of com­pu­ta­tio­nal tech­ni­ques for ana­ly­zing and rep­re­sen­ting natu­ral­ly occur­ring texts at one or more levels of lin­gu­is­tic ana­ly­sis for the pur­po­se of achie­ving human-like lan­guage pro­ces­sing for a ran­ge of tasks or app­li­ca­ti­ons.”

Natu­ral Lan­guage Pro­ces­sing ist ein theo­re­tisch fun­dier­ter Bereich von com­pu­ter­ge­stütz­ten Tech­ni­ken zur Ana­ly­se und Dar­stel­lung natür­lich vor­kom­men­der Tex­te auf einer oder meh­re­ren Ebe­nen der lin­gu­is­ti­schen Ana­ly­se, mit dem Ziel, an mensch­li­che Fähig­kei­ten rei­chen­de Ergeb­nis­se der Sprach­ver­ar­bei­tung zu erzie­len und so eine Rei­he von Auf­ga­ben oder Anwen­dun­gen zu ermög­li­chen.”

 

Quel­len: