Transcript Slide 1
Active Active, a platform for building intelligent software Dr. Charles Baur (EPFL) Adam Cheyer (SRI International) Didier Guzzoni (EPFL) Active Presentation Plan • Introduction – Problem space – Active proposition • Active Framework – Active Ontologies – Implementation – Methodologies • Applications • Conclusion Introduction Active Motivation • Our information environment is rich and complex – Ubiquitous access to a wealth of data and services – Software and hardware industry constant innovations – UIs have not changed: Simple click-and-do approach not enough • Need for computer assistants – Interact naturally with humans – Can be delegated complex tasks – Observe, understand, anticipate and act Introduction Active Intelligent Systems Resolve Interpret Understand Anticipate Plan action Observe Listen Vision Sense Act Effectuate Communicate Intelligent Systems : Naturally collaborates with human users to deliver services and contents through adaptable, efficient, multimodal user interfaces. Introduction Active Difficult Task • Requires numerous AI techniques – Language processing – Plan execution – Dynamic service brokering (MAS) • Implementation is difficult – – – – – HCI components (speech recognition, vision, robotics) Large teams of specialists Different programming languages and platforms Testing, debugging and maintenance is difficult Performance is likely to be affected Lack of an integrated tool and methodology to easily and effectively build intelligent systems Introduction Active Goal of Active • Provide programmers with an integrated framework and a methodology to build complex AI-based systems • Capable of encapsulating AI techniques – Language processing, plan execution and agent type techniques • Programmer friendly – Small teams – Based on popular programming languages (Java/Javascript) – Offers an IDE (code, test, debug and deploy) • Open and standard compliant – SOA-based (SOAP, REST, RMI) – Deployment (Java, J2EE) Active Framework Active Basic Concept : Active Ontologies • Ontology : A data structure – Formal representation for domain knowledge – Classes, attributes, relations P movie P genre P actor P rating • Active Ontology : A processing environment – Processing elements arranged according to ontology notions – Communication channels Active Framework Active Active Ontology : Processing • Production Rule System – Rules Sets • Rules (Conditions, actions) P movie – Data store (facts) • Current state of the system – Evaluation Engine • Evaluation passes • Active Innovations rule set rule rule rule condition – Organizing rules around Ontologies helps design and debug – Developer friendly rule language. Enhanced Java/Javascript with unification Active Framework condition condition action action action Active Active Application Design • One or more Active Ontologies – Hosted on Active runtime – Typically : Active runtime • Language processing • Plan execution • Dynamic service brokering • Service oriented (SOA) – Loosely coupled – Sensors (user interfaces, speech recognition, vision) – Actuators (robots, user interfaces) – Reusable – Dynamically swapped Active Framework services Active Implementation • Active Server – – – – Hosts Active Ontologies Maintains a fact store Runs evaluation engine Extensions Active Editor Active Ontology Active Server Facts store Evaluation Engine • Active Editor – IDE – Code, deploy, test – Pluggins Active Ontology Active Console Active Ontology Active Ontology • Active Console – Manages Active Server Implementation Active Active Server • Runs and hosts Active Ontologies – Evaluation Engine – Fact Store • Implementation – Java application/J2EE webapp – SOAP / RMI interface – Rule language is Java/JavaScript enhanced by unification • Extensions – Encapsulate pre-compiled complex operations Active Server Evaluation Engine Active Ontologies Fact store Extensions SOAP/RMI interface services Implementation Active Active Editor • IDE – Graphical editing of ontologies – Specialized concept and rule editors – Active ontology definition files saved locally (XML) • Active Server Connection – Deploy/undeploy edited ontologies – Integrated test/debug • Plugins – Automatically creates concepts and rules based on interactive wizards Implementation Active Active Console • Management tool – Monitor and configure deployed Active Ontologies – SOAP/RMI interface • Query (read) panel – Construct complex queries to Active Server – Tabular result sets • Store (write) panel – Stimulates Active Ontologies by sending events to the server Implementation Active Active Methodologies • Language Processing – Chart Parsing – Event based • Agent techniques – Delegated computing – Dynamic service selection • Plan execution – Process Execution Engine – Reactive Planning Methodologies Active Language Processing : Grammar-Based • Grammar-based – Grammar based – Chart parsing • Advantages – Formal parsing (Mathematical expressions) – Deterministic • Disadvantages – Not flexible – Not robust to missing words – Not well suited for nonreliable input modalities (Speech recognition) Methodologies Active Language Processing : Domain-Based • Implementation – Bottom Up – Leaves : Word set, regex – Nodes : Gather, Select “find action movies in San Francisco” “nearby Chinese restaurants” • Context – Kept among utterances – Errors, Suggestions • Advantages – Robust to syntax – Ports well to different languages • Wizards – Easy modifications Methodologies Active Activity/Dialog Modeling • Modeling – Dialogs, Activities, Behaviors • Full-featured workflow management – State / Transitions – Flow instances, Instance space • Basic flow constructs – Start, End – Wait, Switch (branching) – Parallel, sequences • Active Implementation – Set of plugins (Editor Wizards) – Extension (Java/JavaScript) to access flow variables Methodologies Active Dynamic Service Brokering • Delegated Computing – What instead of how or who • Service Registry – Service categories cross-ontology references – Service instances (providers) • Broker – Parallel, Sequential, Broadcast – Third-party meta-agents • Active Implementation – Specialized Active Ontology – Server Extension, IDE Wizards Methodologies Active Prototypes / Demonstration • Information Retrieval Assistant • Meeting Organizer Assistant • Operating Room Assistant Prototypes Active Information Retrieval Assistant Active Server Language Processing Plan Execution Delegation Extensions SOAP Email gmail SMTP/POP server Google Movies Opentable Prototypes Yahoo! Local City Information Active Meeting Organizer Assistant Active Server Language Processing Plan Execution Delegation Extensions IM gmail calendar Prototypes SOAP Email gmail SMTP/POP server Active Operating Room Assistant Speech Recognizer Patient vital signs probes Context History Hand/Head Mouse 3D Powered Endoscope Language Processing Plan Execution Tracker Actions through Delegation User Interface Gesture Recognizer Prototypes Text to Speech Active Active Advantages • One platform to learn for programmers – Can build all three tiers of applications in Active – One language and tool to learn – Easier to debug, test and deploy • AI Encapsulation-Lowering the bar – Methodologies encapsulated as Active Wizards and Extensions • NLP, process execution, service brokering – Componentized reusable sensors and actuators • TTS, Speech, Gesture recognizers, vision systems • Open and Standard-based – SOA design – Ease of integration through SOAP and REST – Reuse of existing components in multiple applications Conclusion Active Ongoing Work • Research Topics – Combine activity recognition with process execution – Implement and evaluate BDI-like behaviors with Active (goal and intention stack) • Active implementation and features – Scalability – Performance optimizations – Lightweight embedded Active Server • User Evaluations – Put some of our systems on-line – Measure feedback from surgeons (Intelligent Operating Room) Conclusion Active Thank You ! • Questions ? • Suggestions ? • Remarks ? Conclusion Active