Natural Language Pro­ces­sing be­zeich­net die Ver­ar­bei­tung na­tür­li­cher Sprache durch den Computer. Dazu gehört bei­spiels­wei­se die Über­set­zung einer Sprache in eine andere, aber auch das Erkennen ge­spro­che­ner Sprache oder das au­to­ma­ti­sche Be­ant­wor­ten von Fragen. Bei solchen Aufgaben haben Computer oft Ver­ständ­nis­pro­ble­me, da sie in erster Linie die Bedeutung der einzelnen Worte beachten. Für ein Über­set­zungs­pro­gramm ist es daher schwierig, den Un­ter­schied in der Bedeutung des Wortes „Bahnhof“ in den Sätzen „Ich gehe zum Bahnhof“ und „Ich verstehe nur Bahnhof“ zu erfassen. Durch Natural Language Pro­ces­sing lernen Computer, die Bedeutung von zu­sam­men­hän­gen­den Text­ab­schnit­ten wie Phrasen oder Sätzen zu verstehen und sinnvoll zu verwenden. Das ist nicht nur nützlich bei Über­set­zun­gen oder Chatbots, sondern auch, wenn Computer ge­spro­che­ne Befehle ausführen oder ge­spro­che­ne Sprache ge­ne­rie­ren sollen, um zum Beispiel mit einer blinden Person zu kom­mu­ni­zie­ren. Auch für das Zu­sam­men­fas­sen von längeren Texten oder um gezielt bestimmte In­for­ma­tio­nen aus einer großen Text­men­gen zu ex­tra­hie­ren, brauchen Computer ein Ver­ständ­nis sprach­li­cher Zu­sam­men­hän­ge.

Wie funk­tio­niert Natural Language Pro­ces­sing?

Un­ab­hän­gig davon, ob es nun um eine au­to­ma­ti­sche Über­set­zung oder um eine Un­ter­hal­tung mit einem Chatbot geht: Allen Natural-Language-Pro­ces­sing-Methoden ist gemeinsam, dass sie die Hier­ar­chien beachten, die die Zu­sam­men­hän­ge zwischen den einzelnen Wörtern bestimmen. Das ist schwierig, denn viele Worte haben doppelte Be­deu­tun­gen: „Ein­stel­len“ zum Beispiel kann bedeuten, dass man jemanden einen Job gibt, aber auch, dass ein Prozess beendet wird („er stellte seine Arbeit ein“). Oder es bezieht sich darauf, dass man den Kopierer richtig ein­stel­len muss, um das ge­wünsch­te Resultat zu bekommen. Solche Schwie­rig­kei­ten sind der Grund dafür, dass Natural Language Pro­ces­sing als einer der kom­pli­zier­tes­ten Bereiche der In­for­ma­tik gilt. Sprache ist oft dop­pel­deu­tig, und sie zu verstehen, erfordert aus­führ­li­ches Wissen über den Kontext, in dem sie verwendet wird. Viele Nutzer werden aus eigener Erfahrung die holprige Kom­mu­ni­ka­ti­on mit Chatbots kennen, die immer häufiger als Ersatz für Live-Chats im Kun­den­ser­vice verwendet werden. Dennoch verstehen Computer die mensch­li­che Sprache immer besser. Um ihnen die Sprache bei­zu­brin­gen, greifen Com­pu­ter­lin­gu­is­ten auf die Kennt­nis­se der ver­schie­de­nen Sprach­wis­sen­schafts­be­rei­che zurück:

  • Die Mor­pho­lo­gie be­schäf­tigt sich mit der Zu­sam­men­set­zung von Wörtern und deren Be­zie­hun­gen zu anderen Wörtern.
  • Die Syntax definiert, wie Wörter zu Sätzen zu­sam­men­ge­fügt werden.
  • In der Semantik geht es um die Bedeutung von Wörtern und Gruppen von Wörtern.
  • Mithilfe der Pragmatik wird der Kontext von sprach­li­chen Äu­ße­run­gen in den Blick genommen.
  • Die Pho­no­lo­gie schließ­lich be­schäf­tigt sich mit dem akus­ti­schen Aufbau ge­spro­che­ner Sprache und ist wichtig für die Sprach­er­ken­nung.

Part-of-Speech-Tagging (PoS)

Der erste Schritt beim Natural Language Pro­ces­sing hat mit der Mor­pho­lo­gie zu tun: Er besteht darin, die Funktion einzelner Wörter zu bestimmen. Die meisten Menschen kennen eine ver­ein­fach­te Form dieses Prozesses aus der Schule, wo sie gelernt haben, Wörter etwa als Sub­stan­tiv, Verb oder Adjektiv zu benennen. Das Bestimmen der Wort­funk­ti­on ist für Computer keine einfache Aufgabe, denn ein Wort kann abhängig vom Satz, in dem es vorkommt, die Funktion wechseln.

Um diese Mehr­deu­tig­keit der Worte auf­zu­schlüs­seln, gibt es ver­schie­de­ne Methoden: Die ältesten basieren auf großen Text­kor­po­ra wie dem Brown Corpus oder dem British National Corpus. Diese Korpora bestehen aus Millionen Wörtern Prosatext, die getaggt sind und aus denen Lern­re­geln für das Taggen von Wörtern ab­ge­lei­tet werden können. Anhand des Brown Corpus konnte etwa die Regel auf­ge­stellt werden, dass ein Verb keine Prä­di­kats­funk­ti­on mehr hat, wenn davor ein Artikel steht.

Die neueren Tagging-Programme verwenden selbst­ler­nen­de Al­go­rith­men, was bedeutet, dass sie aus den vor­han­de­nen Text­kor­po­ra au­to­ma­tisch Regeln ableiten und diese verwenden, um weitere Wort­funk­tio­nen zu bestimmen. Eines der be­kann­tes­ten Beispiele einer Tagging-Methode, die auf solchen Al­go­rith­men basiert, ist der Brill-Tagger, der zuerst die meist vor­kom­men­de Wort­funk­ti­on im Satz bestimmt, um danach mithilfe von Regeln die anderen Wort­funk­tio­nen ab­zu­lei­ten. Eine Regel könnte etwa sein: Wenn das erste Wort eines Satzes ein Eigenname ist, ist das zweite wahr­schein­lich ein Verb. In einem Satz wie „Jan hat ein Buch gekauft“ kann damit das Wort „hat“ als Verb ein­ge­stuft werden.

Parser Trees/Baum­dia­gram­me

In einem zweiten Schritt werden Kennt­nis­se aus der Syntax genutzt, um die Struktur von Sätzen zu verstehen. Dazu verwendet die Com­pu­ter­lin­gu­is­tik Baum­dia­gram­me, mittels derer ein Satz in Phrasen auf­ge­teilt wird. Beispiele von Phrasen sind etwa No­mi­nal­phra­sen, die aus einem Ei­gen­na­men oder aus einem Sub­stan­tiv und einem Artikel bestehen, oder Verb­phra­sen, die aus einem Verb und einer No­mi­nal­phra­se bestehen.

Auf Englisch heißt das Einteilen der Sätze in Phrasen Parsing, und die dabei ent­ste­hen­den Baum­dia­gram­me Parser Trees. Jede Sprache hat eine eigene Grammatik, was bedeutet, dass in jeder Sprache die Phrasen anders zu­sam­men­ge­setzt sind und die Hier­ar­chie der Phrasen anders funk­tio­niert. Die Grammatik einer Sprache kann in einem Com­pu­ter­pro­gramm per Hand pro­gram­miert werden, oder anhand eines Text­kor­pus, in dem die Satz­struk­tu­ren vermerkt sind, erlernt werden.

Semantik

Der dritte Schritt des Natural Language Pro­ces­sing führt die Ent­wick­ler in die Bereiche der Semantik. Auch wenn sowohl das Tagging als auch die syn­tak­ti­sche Funktion eines Wortes gleich sind, kann es dennoch vorkommen, dass das Wort ver­schie­de­ne mögliche Be­deu­tun­gen hat. Bei­spiel­haft ver­deut­li­chen das folgende Sätze: Im Topf wachsen schöne Blumen Der Topf ist voller Kar­tof­feln Ein Mensch, der die deutsche Sprache gut genug kennt, wird sofort wissen, dass es sich im ersten Satz um einen Blu­men­topf und im zweiten um einen Kochtopf handelt. Für einen Computer ist das aber nicht so leicht zu bestimmen. Über das Wissen, das nötig ist, um den Un­ter­schied zwischen einem Topf, in dem nor­ma­ler­wei­se Blumen wachsen, und einem Topf, in dem man Kar­tof­feln kocht, zu erkennen, verfügt der Computer nicht, und es ist für ihn nur schwer zu erlernen. Meistens versuchen Computer deshalb, die Bedeutung eines Wortes mithilfe der Worte zu bestimmen, die davor und danach im Satz stehen. So kann ein Computer lernen, dass es sich beim Wort „Topf“, das von dem Wort „Kar­tof­feln“ gefolgt wird, um einen Kochtopf handelt, und beim Wort „Topf“, das vom Wort „Blumen“ gefolgt wird, um einen Blu­men­topf. Dieses Lernen erfolgt anhand von Text­kor­po­ra, in denen die Bedeutung jedes Wortes korrekt wie­der­ge­ge­ben ist. Alles in allem bleibt Natural Language Pro­ces­sing ein komplexes Fach­ge­biet: Computer müssen eine große Menge an Ein­zel­fäl­len ver­ar­bei­ten und bei dop­pel­deu­ti­gen Worten besteht schnell die Mög­lich­keit, dass der Computer diese falsch deutet. Vor allem im Bereich der Pragmatik kann noch sehr viel ver­bes­sert werden, da es sich bei dem Kontext, in dem ein Satz geäußert wird, meistens um einen welt­li­chen Kontext handelt oder zumindest um einen Kontext, den zu verstehen viel Wissen über die eigene Welt erfordert. Besonders Ironie und Sarkasmus und hu­mor­vol­le Metaphern sind für Computer schwer zu verstehen, auch wenn es erste Versuche gibt, sie zu klas­si­fi­zie­ren.

Natural Language Pro­ces­sing Tools

Wer sich selbst mal in Natural Language Pro­ces­sing versuchen möchte, findet dafür online prak­ti­sche Tools und An­lei­tun­gen. Welches Tool für Sie am besten geeignet ist, hängt we­sent­lich davon ab, für welche Sprache und für welche Natural-Language-Pro­ces­sing-Methoden Sie es verwenden möchten. Einige bekannte Open-Source-Tools sind:

  • Das Natural Language Toolkit ist eine Sammlung von Natural Language-Pro­ces­sing-Tools in Python. Das Toolkit bietet einen Zugang zu über 100 Text­kor­po­ra – unter anderem in Englisch, Por­tu­gie­sisch, Polnisch, Nie­der­län­disch, Ka­ta­la­nisch und Baskisch. Zudem kann das Toolkit ver­schie­de­ne Text­be­ar­bei­tun­gen ausführen, wie Part-of-Speech-Tagging, Parsing, To­ke­niza­ti­on (das Bestimmen eines Wort­stam­mes; ein oft genutzter vor­be­rei­ten­der Schritt für Natural Language Pro­ces­sing) und das Zu­sam­men­fas­sen von Texten (Wrapping). Das Natural Language Toolkit umfasst auch eine Ein­füh­rung ins Pro­gram­mie­ren und eine aus­führ­li­che Do­ku­men­ta­ti­on und ist somit etwa für Stu­die­ren­de, Do­zie­ren­de und For­schen­de geeignet.
  • Stanford NLP Group Software: Eine der führenden For­schungs­grup­pen im Bereich Natural Language Pro­ces­sing bietet ver­schie­de­ne Tools an. Damit lassen sich etwa die Ba­sis­for­men der Wörter (To­ke­niza­ti­on), die Funk­tio­nen der Wörter (Parts-of-Speech-Tagging) und die Struktur der Sätze (Parsing) bestimmen. Zudem gibt es Tools für kom­pli­zier­te­re Prozesse wie Deep Learning, bei dem der Kontext der Sätze beachtet wird. Die meisten Ba­sis­funk­tio­nen sind im Stanford CoreNLP zu finden. Alle Programme der Stanford NLP Group sind in Java ge­schrie­ben und für die Sprachen Englisch, Chi­ne­sisch, Deutsch, Fran­zö­sisch und Spanisch verfügbar.
  • Vi­su­al­text ist ein Toolkit, das in einer eigenen Pro­gram­mier­spra­che für Natural Language Pro­ces­sing ge­schrie­ben ist: NLP++. Diese Pro­gram­mier­spra­che ist vor allem für so­ge­nann­te Deep Text Analyzers ent­wi­ckelt worden, also für Analysen, für die Welt­wis­sen (In­for­ma­tio­nen zur Umwelt und Ge­sell­schaft) benötigt wird. Vi­su­al­text dient vor allem dazu, gezielt In­for­ma­tio­nen aus großen Text­men­gen zu ex­tra­hie­ren. Zum Beispiel können Sie mit Vi­su­al­text lange Texte zu­sam­men­fas­sen, aber auch etwa Events zu einem be­stimm­ten Thema von ver­schie­de­nen Webseiten sammeln und in einer eigenen Übersicht un­ter­brin­gen. Für nicht­kom­mer­zi­el­le Zwecke darf man Vi­su­al­text kostenlos nutzen.
Zum Hauptmenü