owlizr
DESCRIPTION
In this paper we present OWLizr, asystem that constructs formal knowledgerepresentations using the Web Ontology Language(OWL) from natural language text in bahasaIndonesia.TRANSCRIPT
Knowledge Representation System for Bahasa Indonesia Based on Knowledge Representation System for Bahasa Indonesia Based on
Web Ontology Language Description Logic (OWL DL)Web Ontology Language Description Logic (OWL DL)
Fariz DarariAdila Alfa Krisnadhi
Hisar Maruli Manurung
Faculty of Computer ScienceUniversitas Indonesia
ICACSIS 2010Download paper: ir.cs.ui.ac.id/publication/2010/owlizr.pdf
Outline
Background Knowledge Representation Architecture Evaluation Results Conclusions
Challenge
? KNOWLEDGETEXT
Why?
Automated Knowledge Representation & Reasoning!!
We always love automated things:• Automated Door• Automated Teller Machine• Automated Motorbike
Goal
KNOWLEDGETEXT
Background
Previous Works
Larasati's Model a syntactic and semantic processing system for QA in Bahasa
Mahendra's Extend the system with the axiom addition, e.g., NLP axiom & world knowledge axiom
NLP and Event Representation
Reification
Turning non-object thing into object
Using Neo-davidsonian approach, with thematic roles (agent, patient, theme, time, location)
Description Logic
Consists of two components:
Previous research by Franconi with KODIAK, representing knowledge from natural language using Description Logic
OWLizrKnowledge Representation
Event Modelling
EventEvent
PatientPatient
AgentAgent
ActionAction
hasAgent
hasAction
hasPatient
Event Modelling (cont)
event_1event_1
carcar
budibudi
buy_actionbuy_action
hasAgent
hasAction
hasPatient
“Budi buys a car” or “Budi membeli mobil”
Background Knowledge
DL Model
Class: Thing, PhysicalObject, AbstractObject, LivingPhysicalObject, NonLivingPhysicalObject
Class Definition
DL Model (cont)
OWLizrArchitecture
Architecture
Two Modes
Knowledge-assertion Mode NLP Semantic Analyzer → KB Generator → KB Reasoner
Query Mode NLP Semantic Analyzer → SPARQL Query Generator
NLP Semantic Analyzer
Reusing Mahendra's program
Analysis using syntax-driven semantic analysis with lambda calculus
Divided into 4 parts (Lexicon, Grammar, Lexical Semantics, Semantic Attachment Rules)
Example:
“Pabrik memproduksi mobil” or “The factory produces the car” becomes
[location(x5,pabrik), event(x1,memproduksi), agent(x1,x5), patient(x1,x6), objectx(x6,mobil)]
KB Generator
Transforms semantic notations into OWL
Implemented in Java with library Protege-OWL API
Two main functions, instance and property assertions
Example
Instance Assertion:from[location(x5,pabrik), event(x1,memproduksi), agent(x1,x5), patient(x1,x6), objectx(x6,mobil)]toFactory(factory_1), Event(event_1), Car(car_1)
Property Assertion:
Instance assertion
Property Assertion
KB Reasoner
Two Main Uses: Consistency Checking Check if there is a contradiction, for example “Mobil membeli radio” or “The car buys the radio” will produce an error. But, of course people can buy the radio.
Instance Checking Function to obtain inferred knowledge. It will check whether an instance could be classified in some classes or not.
SPARQL Query Generator
Translates semantic notations into SPARQL Query
Formed by two components, SELECT and WHERE clause
Then, execute query on KB
Example
Evaluation Results
Evaluation
Serves as a proof-of-concept Using a specific, domain ontology, that is economic activity Example terms are "price" or "harga", "expensive" or "mahal", "buy" or "membeli", "sell" or "menjual", "buyer" or "pembeli", and "shop" or "toko" The evaluation tests the ontology features, such as subclass, intersection, union. So, we define each terms in the ontology using various ontology features. For example, buyer is defined as:
Knowledge Assertion Mode
Input: “Anto buys the car in the shop” or “Anto membeli mobil di toko”
NLP Semantic Analyzer:
[person(x6,anto), event(x4,membeli), agent(x4,x6), patient(x4,x3), objectx(x3,mobil), di(x4,x1), location(x1,toko)]
Asserted Knowledge (Instance):
Assertion Mode (cont)
Asserted Knowledge (Property)
Assertion Mode (cont)
Inferred Knowledge
Query Mode
Input: “Who buys the car?” or “Siapa yang membeli mobil?”
NLP Semantic Analyzer:
[ans(x7), person(x5,x7), event(x4,membeli), agent(x4,x5), patient(x4,x2), objectx(x2,mobil)]
SPARQL Query Form:
ans(x7) → SELECT ?x7
person(x5,x7), event(x4,membeli), agent(x4,x5), patient(x4,x2), objectx(x2,mobil) → WHERE { ?event :hasAction :buy_action . ?event :hasAgent ?x7 . ?event :hasPatient ?ins . ?ins rdf:type :Car }
Conclusions
This research works as a bridge between NLP (Mahendra's) and DL (Franconi's)
The research value is in the formalization attempt to natural language text
The resulting knowledge can be shared and reused across the web
Next, implementing TBox assertion and increasing OWL version to OWL 2