An Event-based Approach for Querying Graph- Structured Data Using Natural Language Richard Frost, Wale Agboola, Eric Matthews and Jon Donais School of.

Slides:



Advertisements
Similar presentations
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Advertisements

Cs7120 (Prasad)L21-DCG1 Definite Clause Grammars
GridVine: Building Internet-Scale Semantic Overlay Networks By Lan Tian.
RDF Tutorial.
Proceedings of the Conference on Intelligent Text Processing and Computational Linguistics (CICLing-2007) Learning for Semantic Parsing Advisor: Hsin-His.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Ch.2: Syntax and Semantics Fall 2005.
Semantic Search Jiawei Rong Authors Semantic Search, in Proc. Of WWW Author R. Guhua (IBM) Rob McCool (Stanford University) Eric Miller.
Modelling Conceptual Knowledge using Logic - Week 6 Lee McCluskey Department of Computing and Mathematical Sciences University of Huddersfield.
Dr. Jim Bowring Computer Science Department College of Charleston CSIS 690 (633) May Evening 2009 Semantic Web Principles and Practice Class 4: 20 May.
Page 1 Multidatabase Querying by Context Ramon Lawrence, Ken Barker Multidatabase Querying by Context.
Automatic Data Ramon Lawrence University of Manitoba
Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science.
Dr. Muhammed Al-Mulhem ICS An Introduction to Functional Programming.
SpeechWeb & Adobe Captivate towards a revolution in education Richard Frost School of Computer Science University of Windsor ITS 2012 Windsor.
Type-Directed, Whitespace-Delimited Parsing for Embedded DSLs Cyrus Omar School of Computer Science Carnegie Mellon University [GlobalDSL13] Benjamin ChungAlex.
Extensible Type-Driven Parsing for Embedded DSLs in Wyvern Cyrus Omar Benjamin Chung Darya Kurilova Ligia Nistor Alex Potanin (Victoria University of Wellington)
4.22 Domain and Range from a Graph Nov. 10 and 11.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
1. Motivation Knowledge in the Semantic Web must be shared and modularly organised. The semantics of the modular ERDF framework has been defined model.
Computer Science 112 Fundamentals of Programming II Recursive Processing of Languages.
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
SPARQL Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Database Support for Semantic Web Masoud Taghinezhad Omran Sharif University of Technology Computer Engineering Department Fall.
Ultrawrap: SPARQL Execution on Relational Data Juan F. Sequeda, Daniel P. Miranker University of Texas - Austin ISWC 2009 Seoul National University Internet.
Trisolda Jakub Yaghob Charles University in Prague, Czech Rep.
AN IMPLEMENTATION OF A REGULAR EXPRESSION PARSER
Relational Databases to RDF (a.k.a RDB2RDF) Juan F. Sequeda Dept of Computer Science University of Texas at Austin.
An event-based denotational semantics for natural language queries of data represented in triple stores Richard Frost, Randy Fortier and Bryan St. Amour.
7. Parsing in functional unification grammar Han gi-deuc.
SPARQL Query Graph Model (How to improve query evaluation?) Ralf Heese and Olaf Hartig Humboldt-Universität zu Berlin.
IEEE Int'l Symposium on Signal Processing and its Applications 1 An Unsupervised Learning Approach to Content-Based Image Retrieval Yixin Chen & James.
Head-driven Phrase Structure Grammar (HPSG)
Semantically Processing The Semantic Web Presented by: Kunal Patel Dr. Gopal Gupta UNIVERSITY OF TEXAS AT DALLAS.
Web-site Building Methodologies Current Research.
1 Lazy Combinators for Executable Specifications of General Attribute Grammars Rahmatullah Hafiz and Richard A. Frost
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Database Management Systems Chapter 4 Relational Algebra.
SPIN in Five Slides Holger Knublauch, TopQuadrant Inc. Example file:
Semantics-based Interoperability Gopal Gupta The University of Texas at Dallas.
A Monadic-Memoized Solution for Left-Recursion Problem of Combinatory Parser Rahmatullah Hafiz Fall, 2005.
1-1 An Introduction to Functional Programming Sept
Implementation of a Relational Database as an Aid to Automatic Target Recognition Christopher C. Frost Computer Science Mentor: Steven Vanstone.
Information Retrieval
Conceptualization Relational Model Incomplete Relations Indirect Concept Reflection Entity-Relationship Model Incomplete Relations Two Ways of Concept.
Programming Languages and Design Lecture 2 Syntax Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Modeling Security-Relevant Data Semantics Xue Ying Chen Department of Computer Science.
Notation, Technology and Ideas How an old tune went global and how natural- language speech applications can be built and deployed on the web Richard Frost.
Architectural Considerations for Semantic Support Group Name: WG5 Source: Martin Bauer (NEC), Joerg Swetina (NEC) Meeting Date: Agenda Item:
Chapter 04 Semantic Web Application Architecture 23 November 2015 A Team 오혜성, 조형헌, 권윤, 신동준, 이인용.
GoRelations: an Intuitive Query System for DBPedia Lushan Han and Tim Finin 15 November 2011
Facilitating Semantic Web Search with Embedded Grammar Tags (EGTs) Gautham K.Dorai Yaser Yacoob Department of Computer Science University of Maryland –
Artificial intelligence (AI)
Fundamentals of Programming II Recursive Processing of Languages
English 12 Mrs. Fountain Week 2 Warm-Ups.
Semantic Parsing for Question Answering
Middleware independent Information Service
Why the interest in Queries?
Information Retrieval on the World Wide Web
LING 581: Advanced Computational Linguistics
CPSC 388 – Compiler Design and Construction
Efficient SPARQL-to-SQL translation using R2RML Mappings
Implementing Language Extensions with Model Transformations
The Relational Model Textbook /7/2018.
CSCE 330 Programming Language Structures Ch.2: Syntax and Semantics
Ontology-Based Approaches to Data Integration
PURE Learning Plan Richard Lee, James Chen,.
Implementing Language Extensions with Model Transformations
Visual Grounding.
Presentation transcript:

An Event-based Approach for Querying Graph- Structured Data Using Natural Language Richard Frost, Wale Agboola, Eric Matthews and Jon Donais School of Computer Science University of Windsor GraphQ 2014

Natural-Language Interfaces to triplestores Translate NL to SPARQL – Problem 1 “Who married Al Capone in 1918?” prepositional phrase ⇩ translation SPARQL QUERY ↕ SPARQL endpoint < How do we add the data representing the prepositional phrase?. Not adequate as Capone could have married twice. ANSWER: Use some version of reification BUT complicates translation from NL to SPARQL GraphQ 2014

Natural-Language Interfaces to triplestores Translate NL to SPARQL – Problem 2 “Who joined every gang that was joined by Torrio and stole a car in 1918 or 1920 in a borough of New York?” ⇩ SPARQL QUERY Too complicated – chained complex prepositional phrases with arbitrarilty-nested quantifiers? We are unaware of any system that can do this. ANSWER: Do not use SPARQL Evaluate the NL queries directly w.r.t. the triplestore GraphQ 2014

A Solution to Problem 1 Event-Based Triplestores – a form of reification [("event1000","type", "born_ev"), ("event1005", ”type", “smoke_event"), ("event1000", "subject", "capone"), ("event1006", "type", "membership"), ("event1000", "year", "1899"), ("event1006", "subject", "car_1"), ("event1000", "location","brooklyn"), ("event1006", "object", "car"), ("event1001", "type", "join_ev"), ("event1007", "type", "membership"), ("event1001", "subject", "capone"), ("event1007", "subject", "fpg"), ("event1001", "object", "fpg"), ("event1007", "object", "gang"), ("event1002", "year", "1908" ), ("event1005", “subject”, “capone”), ("event1004", "type", "steal_ev"), ("event1010", "subject", "capone"), ("event1004", "subject", "capone"), ("event1010", "object", "person"), ("event1004", "object", "car_1"), ("event1010", "type", "membership"), ("event1004", "year", "1908"), ("event1011", "subject", "torrio"), ("event1004", "location","brooklyn"), etc. GraphQ 2014

Solution to Problem 2 Direct Evaluation of NL Queries w.r.t. Triplestore “Who stole a car in 1918 or 1920 in a borough of New York?” ⇩parser⇩ “Who (stole (a car) [(in (1918 or 1920), in (a (borough (located_in New_York)))])?” ⇩ ⇩ ⇩ ⇩ ⇩ ⇩ ⇩ ⇩ ⇩ ⇩ ⇩ ⇩ ⇩ λ… ( λ… ( λ… λ…) [(λ… ( λ… λ… λ… ), λ …(λ…( λ… ( λ… λ… )))]) ⇧ ⇧ ⇧ ⇧ TRIPLESTORE Where λ… are functions (which are the denotations of English words) based on an efficient version of Montague semantics Some functions are defined in terms of triplestore retrieval operations: ⇧ GraphQ 2014

Basic Triplestore Retrieval Functions getts_1 (ANY, REL “subject”, ENT “capone”) => {(1000, REL “subject”, ENT “capone”), (1001, REL “subject”, ENT “capone”), etc. getts_3 similar. getts_1 and getts_3 are used to define other basic retrieval operators. Defs in the paper.. Example uses of other retrieval operators: get_subjs_for_events {EV 1000, EV 1009} => {ENT "capone", ENT "torrio"} get_members “thief_set” => {ENT “capone"} get_subjs_of_event_type “born_ev” => {ENT “capone”} We can now define semantics using these basic operators GraphQ 2014

Definitions of the denotations of Words We use the notation of set theory in place of lambda expressions thief = get_members “thief_set" e.g. thief => {ENT “capone”} smokes = get_subjs_of_event_type “smoke_ev” e.g. smokes => {ENT “capone”} capone setofents = (ENT "capone") ∈ setofents e.g. capone smokes => True a nph vbph = #( nph ⋂ vbph) ~= 0 term_and tmph1 tmph2 = f where f setofevs = (tmph1 setofevs) & (tmph2 setofevs) e.g. ((a thief ) $term_and capone) smokes => True GraphQ 2014

Our new semantics – major contribution 1 An explicit definition of the denotation of transitive verbs join tmph = { subj | (subj, evs) ∈ (make_image join_event) & tmph ( ⋃ {map thirds (getts (ev, REL "object", ANY)) | ev ∈ evs})} where, for example: make_image “join_ev” => {(ENT “capone”, {EV 1001, EV 1003}), (ENT “torrio”, {EV 1009})} e.g. join (a gang) => {ENT “capone”, ENT “torrio”} GraphQ 2014

Major contribution 2: Prepositional phrases Simplified example – a single prepositional phrase steal_with_time tmph date = {subj | (subj, evs) ∈ image_steal & tmph ( ⋃ {thirds (getts (ev,REL"object",ANY)) | ev ∈ evs & date(thirds ( getts (ev,REL "date", ANY)))})} The date argument is used to “filter” the events. e.g. steal_with_time (a car) (date_1918) => {ENT "capone"} GraphQ 2014

The result: A wide range of English NL queries We have implemented simple case of prepositional phrases in Haskell – with an in-program triplestore. e.g. “Which gangster who stole a car in 1915 or 1918 joined a gang that was joined by Torrio?” ⇩ manual insertion of brackets which (gangster $that (steal_with_time (a car) (date_1915 $term_or date_1908)) (join (a (gang $that (joined_by torrio)))) ⇩ {ENT “capone”} GraphQ 2014

Next steps 1. Extend implementation to include chained prepositional phrases such as: “who stole a car in Brooklyn in 1908 or 1915” (our solution is briefly described in the paper) (have done this) 2. Deploy our triples on the semantic web and access them through a SPARQL endpoint using the basic retrieval operators (which only use basic SPARQL SELECT operations (have done this) SELECT ?first WHERE {?first,, }. SELECT ?third WHERE {,, ?third}. 3.Integrate the semantics with our X-SAIGA NL parser. (have nearly completed this) 4.Interface our query processor with our speech browser. (have nearly completed this) ⇩ An NL speech query interface to semantic web data GraphQ 2014

References to our previous work SEMANTICS: R. A. Frost, B. S. Amour, and R. Fortier. An event based denotational semantics for natural language queries to data represented in triple stores. IEEE ICSC, IEEE, Frost, R. A. and Fortier, R. (2007) An efficient denotational semantics for natural language database queries, NLDB 07, LNCS 4592, Frost, R. A. (2006) Realization of natural language interfaces using lazy functional programming. ACM Comp. Surv. 38 (4) Article 11. PARSING: Hafiz, R. and Frost, R, (2010) Lazy combinators for executable specifications of general attribute grammars, Proc. of the 12th International Symposium on Practical aspects of declarative languages (PADL), LNCS 5937, Frost, R., Hafiz, R., Callaghan, P., (2007) Modular and efficient top-down parsing for ambiguous left-recursive grammars. In 10th ACL, IWPT, 109–120. SPEECH RECOGNITION: Frost, R. A., Ma, X. and Shi, Y. (2007) A browser for a public-domain SpeechWeb. WWW 2007, Frost, R. A. (2005). A call for a public-domain SpeechWeb. CACM 48 (11) GraphQ 2014

Acknowledgements Rahmatullah Hafiz Paul Callaghan Nabil Abdullah Ali Karaki Paul Meyer Matthew Clifford Shane Peelar Stephen Karamatos Walid Mnaymneh Rob Mavrinac Cai Filiault NSERC – Natural Science and Engineering Council of Canada Research Services - University of Windsor GraphQ 2014