1 / 20

AI in End-User Software Engineering

AI in End-User Software Engineering. Henry Lieberman, MIT (presenting) Raphael Hoffmann, Michael Toomim, U. Washington, Seattle. Roles for AI in End-User SoftEng. Supply knowledge end-user doesn't have Recognize user intent Plan generation and plan recognition

sachi
Télécharger la présentation

AI in End-User Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AI in End-User Software Engineering • Henry Lieberman, MIT (presenting) • Raphael Hoffmann, Michael Toomim, U. Washington, Seattle

  2. Roles for AI in End-User SoftEng • Supply knowledge end-user doesn't have • Recognize user intent • Plan generation and plan recognition • Automate common patterns of use • Generalize & Specialize • Manage multiple representations • Error checking and sanity checking

  3. U. Washington SoftBots & more • Planning-based software agents • Version-space Programming by Demonstration • Sequence prediction via Logic & Probability • Recommendation from software libraries

  4. SmartEdit - Lau

  5. Version Spaces

  6. Linked Editing • Alternative to content abstraction facilities • Powerpoint Master Slides • Style Sheets • "Symbols" vs. instances in Flash • Web templates, components • User stays within WYSIWYG paradigm

  7. Linked Editing • End-users "underuse" abstractions • Linked Editing • User edits concrete example • Generalizing over content rather than actions • Finds other instances of description • Performs "analogous" edits • Program code, Web pages, Vector graphics, Sheets

  8. Linked Editing

  9. Linked Editing

  10. Assieme - Customization Recommendation • Goal: Recommending scripts for application extensions: Emacs, Firefox • Collect keystrokes, file names, commands • Provide Web service for recommendation • Collab filtering, learning classifier

  11. Assieme - Customization Recommendation

  12. The crazy dream: Programming in English • Programming languages are too difficult for human beings • People can express procedures in English (or other natural language) • Why not program in natural language? • That was the original idea behind Cobol • (whereas Fortran tried to make programming like math)

  13. Childrens’ description of Pac-Man

  14. But what can you do if you can only partially understand English? • Need to make the interaction fail-soft • Rely on dialogue to resolve ambiguities and errors • Maybe don’t eliminate code entirely • Emphasize correspondence between language and code • An "outliner" for code • Application: Programming MOOs

  15. New resources for Common Sense Reasoning • Open Mind Common Sense knowledge base • ConceptNet Semantic Net • MontyLingua/LangUtils

  16. Metafor Interface

  17. Programmatic Semantics • English to “scaffolding” code • Roughly, • Turns nouns into classes and/or instances; • Verbs into functions • Adjectives into instance variables • Resolves anaphora • Untangles conditional and loops • Propagates context

  18. Narrative stances • I want to make a bar with a customer. (1st person programmer) • There is a customer in the bar. (3rd person objective) • I am a customer sitting on a stool. (1st person program) • The bartender said, “Here is a customer” (3rd person subjective)

  19. Refactoring • There is a bar. (atom)The bar contains two customers. (unimorphic list)It also contains a waiter. (unimorphic wrt. persons)It also contains some stools. (polymorphic list)The bar opens and closes. (class / agent)The bar is a kind of store. (inheritance class)Some bars close at 6pm. (subclass or instantiatable)

  20. Shameless Plug

More Related