200 likes | 351 Views
Answer Set Programming for Information Agents. Thomas Eiter and Michael Fink. Vienna University of Technology Knowledge-Based Systems Group. Answer Set Programming. Recent development in nonmonotonic reasoning Use (non-monotonic) logic programs for declarative problem solving
E N D
Answer Set Programming for Information Agents Thomas Eiter and Michael Fink Vienna University of Technology Knowledge-Based Systems Group
Answer Set Programming • Recent development in nonmonotonic reasoning • Use (non-monotonic) logic programs for declarative problem solving • Method: • Represent the problem, P, by an (extended) logic program,P. • Compute some / all answer sets AS(P) of P • Extract some / all solutions S of P from some / all sets A in AS(P). Transformations P -> P , A -> S efficient
ASP (2) • Related: Problem reduction to SAT solvers (chaff,…). • Difference to Prolog: • purely declarative: rule order, subgoal order irrelevant • nonmonotonic negation (also unstratified) • nondeterminism • Efficient ASP solvers are available (Smodels, DLV, ASSAT) • Useful tools / reasoning engines for domain-specific KR formalisms and problems
Information Agents • Crucial in emerging (global) information systems. • Cooperation within societies of agents • Some kinds of agents: • Facilitators: control sub-agents and coordinate services • Brokers: Match between data sources / services and user requests • Mediators: Exploit meta-knowledge about provider agents to create higher-level services
Information Agents (2) • Further infrastructure: • Yellow pages: info + matchmaking • Blackboards • Further auxiliary agents: • Web-Crawlers • Info-Raiders • ...
Information Agents (3) • Desire: “Intelligent” Agents • Need: RationalCapabilities • inferences (deduction, abduction, …) • plausible conclusions • deal with incomplete / unsure / unreliable information • Exploit nonmonotonic formalisms & logics • Build task-tailored reasoningcomponents
Information Agents (4) Prototypical Architecture:
Information Agents (5) • Problems & Challenges: • decompose query requests • integrate query request & user profile • select information source • create & execute a query plan • compose / merge query answers • data cleaning • data integration: detect / resolve inconsistencies All using • (rich) domain knowledge • meta-knowledge about sources
Query (XML-QL) XML Site1 Query (XML-QL) Information Agent XML Wrapper User Agent Site-Selection Capability Site2 XML Site3 Example Site Selection Task: Given a user query, select most relevant source. • Requires background knowledge (about application domain, information sources), • nonmonotonic reasoning due to incomplete information, • declarative semantics diserable. use ASP [Eiter et al., KR’02].
Example Movie Domain: information sources s1, s2, s3. Which movies are directed by Alfred Hitchcock? FUNCTIONHCMovies($MovieDB:"movie.dtd"){ CONSTRUCT <MovieList> {WHERE <MovieDB><Movie><Title> $t </Title> <Director><Personalia> <FirstName>"Alfred"</FirstName> <LastName>"Hitchcock"</LastName> </Personalia> </Director> </Movie></MovieDB> IN source($MovieDB) CONSTRUCT <Movie> $t </Movie> } </MovieList>} Known: s1 good for directors, s2 for person data, s3 not reliable. Expected: select s1.
General Architecture Selected Site • Query Descriptionqd: Abstract representation of query. • Domain Theorydom: Domain specific background knowledge. • Site Descriptionsd: Information about the sources. • Site-Selection Programsel: Qualitative and quantitative selection rules and constraints; user preferences. Q, < parsing R(Q) qd dom sd Q sel, <u
Abstract Query Description • Based on a general view of a query consisting of a construct part, a where part, and a source part. • Generated from a set of elementary facts R(Q) by application of program qd. • Relevant items identified with context-reference pairs (C,P), e.g., access(O,C,P,Q). • High-level description predicates: query(Q), access(O,C,P,Q), occurs(O,V), selects(O,C,V), constructs(O,C,P), joins(O1,O2,C).
Example Program A site-selection program sel for the movie domain: • Core rulessel: r1: query_site(s2,Q) default_object(O,”Person”,Q); r2: query_site(s1,Q) selects(O,equal,”Hitchcock”), access(O,”Director”,”Personalia/LastName”,Q); r3: query_site(S,Q) default_path(O,”LastName”,Q), default_object(O,T,Q), accurate(S,T,high); c
Example Program (ctd.) aux • Auxiliary rulessel : r4: high_acc(T,Q) access(O,T,P,Q), accurate(S,T,high); r5: high_cov(T,Q) access(O,T,P,Q), covers(S,T,high); • Optimization rulessel: c1: query_site(S,Q), high_acc(T,Q), not accurate(S,T,high) [10:1]; c2: query_site(S,Q), high_cov(T,Q), not covers(S,T,high) [5:1]; • User preferences <u: nr1(Q,_) <u nr3(Q,_,_,_). o
Application • Implemented on top of dlv [Eiter et al. 1998] and its front end plp [Delgrande, Schaub, Tompits 2001]. • Agentized in IMPACT [Subrahmanian et al. 2000]. • Experimental site selection environment movie domain: • Modeled DTD from a set of relevant movie concepts captured by the Open Directory Project. • Wrapped parts of the Internet Movie Database (IMDb) and the EachMovie Database to XML; created 6 different databases.
Application (ctd.) • Movie databases: • RandomMovies (RM), • RandomPersons (RP), • EachMovie (EM), • Hitchcock (HC), • KellyGrant (KG), • Horror60 (H60). • Site descriptions: contents, quality, cost, reliability,etc. • Domain knowledge: simple ontological knowledge from the DTD + some background knowledge. • Site selection program: (several pages of code).
Experimental Queries Formulated a number of natural user queries, including: • Q1: Which movies were directed by Alfred Hitchcock? • Q2: In which movies directed by Josef von Sternberg acted Marlene Dietrich? • Q3: In which year has the movie “Arsenic and Old Lace” been released? • Q4: In which movies directed by Alfred Hitchcock acted Marlene Dietrich? • Q5: In which film noirs did Marilyn Monroe act? Modified selection base: adding/removing databases and their descriptions.
Results Selection results satisfactory and explainable: • Specific core site selection rules trigger. • Domain knowledge identifies irrelevant or specific sites by • ontological reasoning, reasoning over genre info. etc, • Quantitative selection in case of equally preferred AS.
Conclusion ASP is a new problem solving paradigm • applicable for many problems, • useful and promising for information agents. • IMPACT agents: reasonable status set semantics = answer set semantics. • Problem specific reasoning components on top of ASP, e.g., site selection. • Future work: • Tackle further problems of information agents (or related fields) where ASP approaches are promising. • Coupling of approaches with existing tools, e.g., for learning, planning, ontological reasoning, etc.