Named Graph

Was ist ein Named Graph?

Der Named Graph ist einer der Grundgedanken des semantischen Webs. Das semantische Web wiederum steht für die Idee, dass das Internet als „gigantischer globaler Graph“ verstanden werden kann.

Ein Named Graph wird durch den Aufruf eines Uniform Resource Identifiers – das ist der Name des Graphen, abgekürzt URI – angesprochen und kann neben dem eigentlichen Inhalt zusätzliche Metadaten enthalten. Der Named Graph erweitert das RDF-Modell, das wiederum aus drei Teilen besteht: einer Ressource, der Eigenschaft dieser Ressource und den Werten dieser Eigenschaft. Diese Struktur kann man auch treffend mit den grammatikalischen Teilen eines Satzes vergleichen, und zwar mit Subjekt, Prädikat und Objekt. Die Datensysteme, die mit solchen sogenannten Tripeln arbeiten, sind gegenüber relationalen Datenbanken sehr performant – daher werden sie häufig im Bereich Künstliche Intelligenz eingesetzt. Hier ist es nämlich wichtig, auf enorme Mengen von Daten schnell zuzugreifen. Das heißt, neben dem World Wide Web werden mit Named Graphs bspw. auch Wissensrepräsentationen modelliert. Die Wissensrepräsentation ist ebenfalls ein Teilbereich der Künstlichen Intelligenz und kann z.B. ein digitales Lexikon sein.

Was hat der Named Graph mit dem HTTP zu tun?

Ein Graph besteht aus Knoten und Kanten; überträgt man dieses Modell auf das Web, sind das Webseiten und deren Verbindungen. Tim Berners-Lee – der Erfinder des Internets – beschrieb seine Erfindung als „Giant Global Graph“. Wie bereits beschrieben, sind die darin enthaltenen Teilgraphen (sprich die Webseiten) über URIs erreichbar. Nun sind diese Teilgraphen in der Realität HTML-Dokumente, die über HTTP-Requests aufgerufen werden können; das erklärt, weshalb das Hypertext Transfer Protocol und Hyperlinks die Kanten im Graphenmodell sind.

Um das Resource Description Framework Schema (abgekürzt RDFS) effizient nutzen zu können, gibt es RDF-Dokumente. Die eigens dafür entwickelte Sprache RDF/XML erlaubt es, Webseiten mit Tripeln zu beschreiben. Wird auf einer Seite bspw. ein Musikalbum vorgestellt, erhält man über das RDF-Dokument Informationen wie Titel, Band oder Herstellungsjahr. Natürlich ist darin auch der zugehörige Hyperlink als Namensgeber des Named Graph enthalten. Der RSS-Feed, der Empfänger über Änderungen auf Websites informiert, nutzt diese Technik z.B. für sich.

Wie können uns RDF und Ontologien helfen?

Die Begriffe Ontologie und RDF-Schema werden häufig synonym verwendet. In der Praxis handelt es sich dabei um eine Datenbank, deren Datenstruktur aus Tripeln besteht – den sogenannten Triplestore. So wie es die Datenbanksprache SQL für relationale Datenbanken gibt, steht auch für einen RDF Store (wie ein Triplestore ebenso genannt werden kann) eine Abfragesprache zur Verfügung; mit SPARQL wird auf Datenobjekte zugegriffen. Auf dieser Art von Datenhaltung basieren viele soziale Netzwerke. Dank der FOAF-Ontologie erhält man bei Abfragen per SPARQL in solchen Datenbanksystemen neben Angaben über die abgefragte Person (wie Name oder Herkunft) auch Informationen über die Verbindung mit anderen Mitgliedern des Netzwerks.

Natural Language Programming

Was ist Natural Language Programming?

Wird Natural Language Programming (auch abgekürzt als NLP) für die Entwicklung von Software eingesetzt, besteht das Computerprogramm aus meist englischsprachigen (und durch Abschnitte strukturierten) Texten.

Die Sätze, aus denen diese Texte bestehen, sind eng an die menschliche Sprache angelehnt. Damit sie von dem Computer verarbeitet werden können, werden die sogenannten NLP-Dokumente in tiefere Programmiersprachen wie bspw. Python übersetzt.

Natural Language Programming weist einige Analogien zum zukunftsträchtigen Natural Language Processing auf (Verarbeitung von gesprochener Sprache); beide Felder beschäftigen sich mit der Steuerung von Computern durch menschliche Sprache. Jedoch spielt Natural Language Programming nur für Fachleute eine Rolle, weil hierfür die Syntax der unterschiedlichen Programmiersprachen erst gelernt werden müssen. Letzteres Feld ist auch Endverbraucher interessant, da lediglich die Fähigkeit zu sprechen von dem Anwender vorausgesetzt wird.

Wie lautet die Syntax von NLP?

Abgesehen von wenigen Ausnahmen richten sich Programmiersprachen – die für Natural Language Programming entwickelt wurden – nach der Syntax der englischen Sprache. Sie unterscheiden sich untereinander oft nur in Nuancen. Deshalb können Programme beliebigen Personen vorgelesen und zugleich von einem Computer ausgeführt werden.

Abgesehen von der Syntax ist es als Entwickler wichtig, sich der Ontologie bewusst zu sein, die jeder dieser Sprachen zugrunde liegt. Ein dadurch entstehendes, generisches System macht es erst möglich, Computerprogramme auf Basis von NLP zu schreiben. Sätze innerhalb einer Ontologie zeichnen sich dadurch aus, dass sie immer entweder einen Zusammenhang herstellen, eine Aktion ausführen oder eine Frage beantworten.

Was sind Beispiele für Natural Language Programming?

  • Transcript ist eine der bekanntesten Programmiersprachen des Natural Language Programmings. Die darauf basierende integrierte Entwicklungsumgenung LiveCode wird in einem Drittel der schottischen Schulen für Lernzwecke eingesetzt.
  • Inform 7 ist eine objektorientierte Sprache, die für die Entwicklung von Textadventures vorgesehen ist. In diesem Computerspielgenre navigiert sich der Spieler mit Texteingaben durch das Spielgeschehen. Dank unterschiedlicher Sprachversionen kann u.a. auch auf Deutsch „programmiert“ werden.
  • AppleScript zeigt als Bestandteil des Apple Betriebssystems macOS, wie weit verbreitet NLP war und immer noch ist. Es kann bspw. für die Automatisierung von sich wiederholenden Aufgaben eingesetzt werden, erhielt jedoch seit einiger Zeit kein Update mehr.
  • HyperTalk ist ebenfalls von Apple entwickelt und mit den Möglichkeiten einer prozeduralen Programmierung ausgestattet (das heißt for/while/until, if/then/else, sowie Funktions-Handler stehen zur Verfügung).
  • SenseTalk ist ein weiterer Vertreter der hohen Skriptsprachen und kann sowohl objektorientiert als auch prozedural geschrieben werden.
  • Verschiedene Frameworks erlauben es, bekannte Sprachen wie Python für Natural Language Programming einzusetzen. Quepy macht aus Python-Code bspw. Datenbankabfragen.

Neurowissenschaften

Was sind Neurowissenschaften?

Der Begriff „Neurowissenschaften“ bezieht sich auf die wissenschaftliche Erforschung des Nervensystems. Er setzt sich aus den Wörtern „Neuron“ (Nerv) und „Wissenschaft“ zusammen.

Die Neurowissenschaften befassen sich mit allen wissenschaftlichen Aspekten des Nervensystems, einschließlich der molekularen, zellulären, funktionellen und strukturellen Elemente sowie der evolutionären, medizinischen und rechnerischen Aspekte.

Das Nervensystem ist eine Ansammlung miteinander verbundener Neuronen, die untereinander und mit anderen Zellen über spezialisierte synaptische Verbindungen kommunizieren. Die Neuronen projizieren lange Fäden, die sogenannten Axone, die weit entfernte Teile des Körpers erreichen und Signale weiterleiten können, die die neuronale und muskuläre Aktivität an ihren Endpunkten beeinflussen.

Alle Elemente des Nervensystems werden so von Neurowissenschaftlern erforscht, um zu verstehen, wie es strukturiert ist, wie es funktioniert, wie es sich bildet und wie es verändert werden kann.

Einige Beispiele für relevante Bereiche sind:

  1. Neuronale Signalübertragung und axonale Vernetzungsmuster
  2. Neuronale Entwicklung und biologische Funktion
  3. Bildung neuronaler Schaltkreise und funktionelle Rolle bei Reflexen, Wahrnehmung, Gedächtnis, Lernen und emotionaler Reaktion
  4. Kognitiven Neurowissenschaften, die sich mit psychologischen Funktionen im Zusammenhang mit neuronalen Schaltkreisen befassen
  5. Bildgebung des Gehirns bei der Diagnose von Krankheiten

Was sind Methoden der Neurowissenschaften?

fMRI:
Die funktionelle Magnetresonanztomographie misst die neuronale Aktivität, indem sie Veränderungen der Durchblutung des Gehirns feststellt. Unterschiede in den magnetischen Eigenschaften von Hämoglobin werden unter einem starken Magnetfeld in einem Scanner erkannt.

PET:
Bei der Positronen-Emissions-Tomographie werden in den Blutkreislauf injizierte Radiotracer vom Körper absorbiert, und die von ihnen ausgesandten Gammastrahlen werden vom System erfasst.

TMS:
Bei der transkraniellen Magnetstimulation erzeugt ein auf den Schädel gehaltener elektromagnetischer Kragen elektrische Ströme in der darunter liegenden Hirnregion und moduliert die neuronale Aktivität, um deren Funktionsweise und Konnektivität zu untersuchen.

Optogenetik:
Die Optogenetik ist eine Kombination von Konzepten aus der Optik und der Genetik und ist eine Technik, die Licht zur präzisen Modulation von Neuronen einsetzt, die genetisch so verändert wurden, dass sie ein lichtempfindliches Molekül in Tiermodellen exprimieren.

Elektrophysiologie:
Bei der Patch-Clamp-Aufzeichnung und ihren Vertretern wird eine Mikroelektrode verwendet, um die Ionenkanaleigenschaften einer „geflickten“ Zellmembran zu untersuchen und die Merkmale einzelner Neuronen im Gehirn zu erfassen. Die jüngste Entwicklung von Multielektroden-Arrays hat es den Forschern ermöglicht, die Aktivität vieler Neuronen gleichzeitig aufzuzeichnen.

Welche Disziplinen gehören zu den Neurowissenschaften?

Die Neurowissenschaften können zum Verständnis der zugrundeliegenden Mechanismen des menschlichen Gehirns in folgende sich überschneidende Bereiche gegliedert werden:

  • Verhaltens-/ kognitiven Neurowissenschaften
  • zelluläre und molekulare Neurowissenschaften
  • Systemneurowissenschaften
  • translationale und klinische Wissenschaften
  • Neuroinformatik

Neurowissenschaftler sind im Wesentlichen Grundlagenforscher, die in der Regel über einen Doktortitel in Neurowissenschaften oder einem verwandten Fachgebiet verfügen. Sie können dann in der Post-Doc-Forschung arbeiten oder sich als Mediziner weiterbilden und sich später auf Neurowissenschaften spezialisieren.

Diese tragen häufig dazu bei, die genetischen Grundlagen vieler neurologischer Krankheiten, wie der Alzheimer-Krankheit zu verstehen und Strategien für die Heilung und Behandlung zu ermitteln. Neurowissenschaftler können auch an der Erforschung von psychischen Störungen wie Schizophrenie oder Verhaltensstörungen beteiligt sein.

Naive Bayes

Was ist Naive Bayes?

Naive Bayes ist ein probates Mittel in der Künstlichen Intelligenz (KI) mit dem Klassifikationen vorgenommen werden können. So stellt der Bayes-Klassifikator eine Technik des maschinellen Lernens dar. Es können Objekte wie Textdokumente in zwei oder mehr Klassen eingeteilt werden. Durch die Analyse spezieller Trainingsdaten, bei denen richtige Klassen vorgegeben sind, lernt der Klassifikator. Der naive Bayes-Klassifikator kommt dann zum Einsatz, wenn Wahrscheinlichkeiten von Klassen anhand einer Reihe von bestimmten Beobachtungen gemacht werden.

Das Modell beruht auf der Annahme, dass Variablen je nach Klasse nämlich bedingt unabhängig sind. Um den Bayes-Klassifikator zu definieren, benötigt man ein Kostenmaß, das jeder vorstellbaren Klassifizierung Kosten zuweist. Ein Bayes-Klassifikator ist dabei der Klassifikator, der alle durch Klassifizierungen aufkommenden Kosten minimiert. Das Kostenmaß wird auch Risikofunktion genannt.

Der Bayes-Klassifikator minimiert das Risiko einer Fehlentscheidung und ist über das Minimum-risk-Kriterium definiert. Wenn ein primitives Kostenmaß eingesetzt wird, das praktisch ausschließlich bei Fehlentscheidungen Kosten verursacht, dann minimiert ein Bayes-Klassifikator die Wahrscheinlichkeit von Fehlentscheidungen. Dann sagt man, der Klassifikator ist über das Maximum-a-posteriori-Kriterium definiert.

Welche Anwendungen gibt es für Naive Bayes?

Naive Bayes wird häufig für Spam-Klassifizierung eingesetzt. So nutzen Spamfilter häufig den naiven Bayes-Klassifikator. Die Klassenvariable zeigt an, ob eine Nachricht Spam oder erwünscht ist. Alle Wörter in dieser Nachricht entsprechen den Variablen, wobei die Anzahl an Variablen im Modell durch die entsprechende Länge der Nachricht bestimmt sind.

Welche Varianten gibt es?

Es gibt den:

  • Gaussian Naive Bayes
  • Multinomial Naive Bayes
  • Bernoulli Naive Bayes
  • Complement Naive Bayes
  • Categorical Naive Bayes

Wie funktioniert Naive Bayes?

Die Technik benutzt alle gegebenen Attribute. Es gibt zwei Annahmen über diese Attribute. Einerseits sind alle Attribute in der Annahme gleich wichtig. Andererseits sind die Attribute statistisch unabhängig, was bedeutet, dass die Kenntnis eines Wertes nichts über den Wert von einem anderen Attribut aussagt. Diese Unabhängigkeitsannahme stimmt allerdings nie. Dennoch funktioniert dieses Verfahren in der Praxis gut! Zudem kann es gut mit fehlenden Werten arbeiten.

Ein Beispiel ist eine Trainings-Datenmenge von Wetter und der Möglichkeit ein Sportspiel bei schönem Wetter durchzuführen. Der erste Schritt besteht darin, die Daten in eine Häufigkeitstabelle umzuwandeln. Eine Wahrscheinlichkeitstabelle wird danach im zweiten Schritt erzeugt mit der Suche nach Wahrscheinlichkeiten wie bedecktes Wetter (0.29) und der Wahrscheinlichkeit fürs Spielen von (0.64). Im dritten Schritt wird die Naive Bayes Gleichung verwendet, um die Posterior Wahrscheinlichkeit für jede Klasse zu berechnen. Die Klasse mit der höchsten Posterior Wahrscheinlichkeit ist das Ergebnis der Vorhersage.

Natural Language Generation

Was ist Natural Language Generation?

Natural Language Generation oder auch Textgenerierung genannt ist die automatische Produktion von natürlicher Sprache durch eine Maschine. NLG ist eine besondere Form der Künstlichen Intelligenz. Ein Generierungsprozess verwendet unterschiedliche Beschreibungsmodelle und Fachausdrücke unter verschiedenen Methoden und Blickwinkeln. Die Aussagen sollten widerspruchsfrei sein. Nach einem Vorschlag von Ehud Reiter kann eine Architektur verwendet werden, die standardmäßig aus einem Textplaner und einem Satzplaner sowie einem Oberflächenrealisierer besteht.

Es wird die Theorie rhetorischer Strukturen für Diskursrelationen genutzt. So ist ein Text kohärent, falls er durch einen Baum rhetorischer Relationen und elementaren Texteinheiten konsistent dargestellt werden kann. Es gibt Relationen zwischen Haupt- und Nebensätzen und dabei die Bindeglieder:

  • CAUSE
  • RESULT
  • ELABORATION
  • CONTRAST
  • SEQUENCE
  • LIST
  • CONCESSION
  • und Weitere

Die Generierung benötigt zwei Komponenten nach M. Hess. Eine strategische Komponente ermittelt was gesagt werden soll. So geschieht dabei die Informationsauswahl, die Inhaltswahl und die Bereichsplanung. Für diese Komponente werden Such- und Planungsstrategien künstlicher Intelligenz eingesetzt. Außerdem gibt es die taktische Komponente. Bei dieser wird ermittelt wie etwas gesagt werden soll. So wird die sprachliche Form geplant. Es wird hier eine auf den Generierungsaspekt zugeschnittene Grammatik genutzt.

Von Ulrich Gaudenz Müller gibt es ein System zur Textgenerierung, das SARA (Satz-Random-Generator) genannt wurde und gemeinsam mit dem Germanisten und Computerlinguisten Raimund Drewek entwickelt wurde. Vorausgesetzt wird für eine Generierung, dass die Information formal, computerlinguistisch vorliegt und etwa aus Datenbanken oder Wissensrepräsentationen extrahiert werden kann. Anwendungsgebiete gibt es im Roboterjournalismus, bei Chatbots und im Content Marketing.

Welche Anwendungsfelder gibt es bei Natural Language Generation?

Überall wo strukturierte Daten generiert werden sollen, kann Natural Language Generation (NLG) eingesetzt werden, so etwa im E-Commerce oder an der Börse. Auch in der Berichterstattung für Sport, Wirtschaft und Wetter kann NLG zum Einsatz kommen. Ziel ist es leserfreundliche Texte zu erstellen.

Welche Technologien werden für NLG genutzt?

„Big Data“ kann in die Texterstellung miteinbezogen werden. So können Sachverhalte dargestellt und Zahlen detailliert interpretiert werden. Der Output kann an ein CMS weitergereicht werden. Die beliebte Programmiersprache Python kann genutzt werden, um Texte zu generieren, zu übersetzen und Deep Learning einzusetzen.

Welche Ebenen von NLG gibt es?

Es gibt die Inhaltsanalyse, das Datenverstehen, die Dokumentenstrukturierung, die Satzzusammensetzung sowie die grammatische Strukturierung und die Sprachpräsentation. In der Inhaltsanalyse werden Daten gefiltert, um festzustellen, was in den Inhalt übernommen werden soll. Beim Datenverstehen werden die Daten interpretiert, häufig mithilfe von Maschinenlernen. Die Dokumentenstrukturierung wird mit dem Dokument geplant und eine Erzählungsstruktur wird ausgewählt.