340 likes | 440 Views
Computerlinguistik. 5. Vorlesung (12.11.2009). apl. Professor Dr. Ulrich Schade Fraunhofer-Institut für Kommunikation, Informationstechnik und Ergonomie ulrich.schade@fkie.fraunhofer.de. Computerlinguistik. Inhalt der Vorlesung. Einführung Methoden Parsing Tagging Ontologien
E N D
Computerlinguistik 5. Vorlesung (12.11.2009) apl. Professor Dr. Ulrich Schade Fraunhofer-Institut für Kommunikation, Informationstechnik und Ergonomie ulrich.schade@fkie.fraunhofer.de
Computerlinguistik Inhalt der Vorlesung Einführung Methoden Parsing Tagging Ontologien Anwendungen Maschinelle Übersetzung Informationsextraktion Textanalyse Gesamtsystem
Computerlinguistik Ontologien – Definition „Eigentlich“ ist dieOntologie eine Disziplin der Philosophie: die Lehre vom Sein bzw. vom Seienden. In der Informatik bezeichnet man damit die Repräsentation von Wissen über einen Gegenstandsbereich. Entsprechend ist es in der Informatik auch möglich über „Ontologien“ (Plural) zu sprechen, wobei sich dann zwei Ontologien in der Art des repräsentierten Wissens bzw. im Gegenstandsbereich unterscheiden. In der Philosophie gibt es dagegen nur eine Ontologie.
Computerlinguistik Ontologien – Definition Gruber (1993): „An ontology is an explicit specification of a shared conceptualization.“ „explicit“: Alles, was ein System wissen soll, muss explizit repräsentiert werden. „shared conceptualization“: Zu explizieren ist insbesondere auch das, was wir (als Menschen) in der Kommunikation nichtverbalisieren, weil es für uns (die Kommunikations- partner) selbstverständlich ist.
Computerlinguistik Ontologien – Definition Mit der Hilfe von Ontologien soll also implizitesWissen, über das Menschen verfügen, für Systeme nutzbar gemacht werden. Das geschieht dadurch, dass dieses Wissen in der Ontologie expliziertwird. Aus diesem Ansatz ergibt sich auch die Beschränkung auf einen Gegenstandsbereich: Um den Umfang des zu repräsentierenden Wissens überhaupt handhabbar zu halten, können sich Ontologien stets nur auf (eingeschränkte) Gegenstandsbereiche („domains“) beziehen.
Computerlinguistik Ontologien Wissen Was gibt es überhaupt für Arten von Wissen? Was ist der Unterschied zwischen explizitem und implizitem Wissen?
Computerlinguistik Wissen DeklarativesWissen • Faktenwissen (propositional) • Faktenwissen (als „Bild“, als „Film“, ...) • Wissen über den situativen Kontext • Wissen über Regeln ProzeduralesWissen • Wissen über die Anwendung von Regelwissen • Implizites Wissen über das Ausführen von Handlungen
Computerlinguistik deklaratives Wissen Faktenwissen (propositional) Paris ist die Hauptstadt von Frankreich. Faktenwissen (als „Bild“, als „Film“, ...)
Computerlinguistik deklaratives Wissen Wissen über den situativen Kontext Wer ist Sprecher, wer ist Hörer? Wo, wann, warum und wie findet das Gespräch statt? Wissen über Regeln „Wenn man eine Telephonnummer nicht weiß, kann man die Auskunft anrufen.“ „Im Deutschen steht bei einer NP der Artikel vor dem Nomen.“
Computerlinguistik prozedurales Wissen Wissen über die Anwendung von Regelwissen Sprachverarbeitung (wenigstens zum Teil) Turn-Taking Beachten von Verkehrsregeln im Straßenverkehr Implizites Wissen über das Ausführen von Handlungen wie man mit dem Fahrrad fährt wie man geht
Computerlinguistik explizit versus implizit explizit formuliert formal formuliert im Computer nutzbar implizit nicht formuliert, (evtl. sogar nicht formulierbar in der Ontologie nicht repräsentierbar und daher vom Computer nicht nutzbar)
Computerlinguistik wie man eine Ontologie aufbaut • Vorgehensweise • Phase 1: Die Machbarkeitsstudie • Phase 2: Start / Vorbereitung • Phase 3: Aufbau / Verfeinerung • Phase 4: Evaluation • Phase 5: Applikationen und Evolution
Computerlinguistik wie man eine Ontologie aufbaut • Vorgehensweise – Die Machbarkeitsstudie • Welches Problem ist zu lösen? Gegenstandsbereich • Welche Ressourcen stehen zur Verfügung ? • Hardware ... • Software (Protégé http://protege.stanford.edu/ ) • Personal ... • Zeit ...
Computerlinguistik wie man eine Ontologie aufbaut • Vorgehensweise – Start und Vorbereitung • Was gehört zu dem Problem? • Welche problemrelevanten Konzepte umfasst der Gegenstandsbereich? Welche davon sind Klassen und welche sind Instanzen? • Welche Attribute der Konzepte sind für die Problemlösung wichtig? • Welche Relationen zwischen den Konzepten sind wichtig? • Dieser Arbeitsschritt kann mit Papier und Bleistift geleistet werden: • Ideen notieren / festhalten!
Computerlinguistik wie man eine Ontologie aufbaut • Vorgehensweise – Ontologieaufbau • Notierte Ideen in Software gießen. • Top-Down: Aufbau der Klassen-Hierarchie (Taxonomie) • Hierfür kann man evtl. eine „Upper Ontology“ nutzen. • Bottom-Up: Extrahiere (halb-automatisch?) Konzepte, Attribute etc. • aus vorliegenden Dokumenten und konstruiere dazu eine Klassen-Hierarchie, die diese Konzepte umfasst.
Computerlinguistikwie man eine Ontologie aufbaut Subclass Hierarchy Tree entityphysicalobjectself connected objectregionholeastronomical bodygeographic areageopolitical areawater arealand areacontinentislandnationstate or provinceaddresscitycollectionagentprocessabstract Eine Upper Ontology enthält die Hierarchie allgemeiner Klassen. Das Beispiel stammt von „SUMO“ (Suggested Upper Merged Ontology). http://www.ontologyportal.org/
Computerlinguistik Ontologieaufbau • Die Hierarchie der Objektklassen ist eine Taxonomie, die auf der Relation ISA („water“ is a „substance“) aufgebaut ist. • Den einzelnen Objektklassen kann man Attribute zuordnen, die sich entlang der Klassenhierarchie vererben.
Computerlinguistik Ontologieaufbau Klassen • Man unterscheidet „abstrakte“ von „konkreten“ Klassen. • Nur konkrete Klassen dürfen Instanzen haben. • Es empfiehlt sich, dass nur die untersten Klassen der Hierarchie konkrete Klassen sind.
Computerlinguistik Ontologieaufbau Instanzen Instanzen sind – ganz im Sinne der objekt-orientierten Programmierung – individuelle Exemplare ihrer Konzeptklasse. [Mengentheoretisch sind es Elemente.] Ontologie von Frau Granieczny
ComputerlinguistikOntologieaufbau – Instanzen die Verteilung von Wissen zwischen Ontologie und Datenbank • Instanzen und spezifische Fakten wie „Paris ist die Hauptstadt von Frankreich.“ stehen in größeren Anwendungen in der Datenbank. • Allgemeine Fakten finden sich in der Datenbank (indirekt) • und in der Ontologie. • Beispiel: „Jedes Land hat (genau) eine Hauptstadt.“ • Die Beziehungen zwischen Fakten / Regeln stehen in der Ontologie. • Beispiel: • „Stadt A liegt näher am Äquator als Stadt B, wenn die Zahl, mit der die • Breite von A angegeben ist, kleiner ist als die entsprechende Zahl bei B.“
Computerlinguistik Ontologieaufbau Attribute Da die Attribute vererbt werden, weist man sie der höchstmöglichen Klasse zu, wobei die Werte-bereiche eines Attributs mit zunehmender Hierarchietiefe zunehmend eingeschränkt werden.
Computerlinguistik Ontologieaufbau Attribute Attributwerte können vom Typ her sein: Strings, Symbols, Zahlen (Integer, Float), Instanzen, Klassen, spezifische Typen (Datum).
Computerlinguistik Ontologieaufbau Attribute Attribute haben manchmal genau einen Wert (Name). Manchmal können sie auch mehrere Werte haben (hat als Bauteil).
Computerlinguistik Ontologieaufbau Unterklasse oder Attribute Je nach Anwendung werden bestimmte Eigen-schaften als Attribut oder als Unterklasse realisiert.
Computerlinguistik Ontologieaufbau Relationen Wenn der Wert eines Attributs auf eine andere Klasse bzw. eine andere Instanz der Ontologie verweist, besteht eine Beziehung zwischen den beiden Objekten und damit eine Relation. Im Beispiel haben wir die Relation, dass sich der „Elbe Seiten Kanal“ (bzw. dessen Lokation) unter der „Bahnbrücke bei Stortenbüttel“ befindet.
Computerlinguistik Ontologieaufbau Relationen Beispiel 2: „Ausstellungsdatum“ (für Dokumente)
Computerlinguistik Ontologieaufbau Relationen Beispiel 3: „hat als Ressource“
Computerlinguistik Ontologieaufbau Relationen Beispiel 4: Metarelation Es gibt auch Metarelationen, etwa um auszudrücken, dass zwei Klassen keine gemeinsamen Instanzen haben.
Computerlinguistik wie man eine Ontologie aufbaut • Evaluation • Die Ontologie wird auf Mängel hin überprüft. • Werden Mängel entdeckt, so führt dies (hoffentlich ) zu einer Überarbeitung der Ontologie; deshalb heißt die dritte Phase auch • „Aufbau und Verfeinerung“. Schleifen sind normal. Aufbau und Verfeinerung Evaluation
Computerlinguistik Ontologieevaluation • Ontologien können unter unterschiedlichen Aspekten evaluiert werden: • technologische Aspekte • nutzerbezogene Aspekte • formale Aspekte
Computerlinguistik Ontologieevaluation Evaluation in Bezug auf die Technologie • einheitliche Syntax • Konsistenz; Widerspruchsfreiheit (Überprüfung der Semantik) • Skalierbarkeit (Kann die Ontologie leicht erweitert werden? Ist die Nutzung der Ontologie dann noch schnell genug?) • Interoperabilität (Kann die Ontologie technisch eingebunden werden; z.B. im Rahmen einer service-orientierten Architektur?)
Computerlinguistik Ontologieevaluation Evaluation in Bezug auf den Nutzer • Erfüllt die Ontologie die gestellte Aufgabe? • Ist die Semantik für den Nutzer verständlich? Bedeuten die Namen für die Konzepte (Klassen, Instanzen) und die Attribute das, was der Nutzer darunter versteht? Formale Evaluation • Formale Überprüfungen können evtl. mit Tools (z.B. OntoClean) durchgeführt werden.
Computerlinguistik wie man eine Ontologie aufbaut • Applikationen und Evolution • In welchen Anwendungen / Systemen kann die entwickelte Ontologie noch verwendet werden? • Mit welchen Applikationen kann man das in der Ontologie repräsentierte Wissen abgreifen und nutzen? • Unter welchen Umständen bzw. in welchen Zeitzyklen wird die Ontologie an die neusten Entwicklungen angepasst?
Computerlinguistik Literatur • Guarino, N. & Welty, C.A. (2004). An Overview of OntoClean. Kapitel 8 in Staab & Studer (Eds.), Handbook on Ontologies. • Mitkov, R. (2003). The Oxford Handbook of Computational Linguistics. Oxford, UK: Oxford University Press. • Sowa, J.F. (2000). Knowledge Representation. Pacific Grove, CA: Brooks/Cole. • Staab, S. & Studer, R. (2004), Handbook on Ontologies. Berlin: Springer. • Sure, Y., Staab, S. & Studer, R. (2004). On-To-Knowledge Methodology (OTKM). Kapitel 6 in: Staab & Studer (Eds.), Handbook on Ontologies.