Tackling Ambiguity in PBE Rishabh Singh

Slides:



Advertisements
Similar presentations
Synthesizing Number Transformations from Input-Output Examples Rishabh Singh and Sumit Gulwani.
Advertisements

Learning Semantic String Transformations from Examples Rishabh Singh and Sumit Gulwani.
Data Manipulation using Programming by Examples and Natural Language Invited Upenn April 2015 Sumit Gulwani.
Example applications : Find rogue zones: thermal zones which are constantly heating / cooling. Requires: Finding temp sensors and temp setpoints which.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
On Burstiness-Aware Search for Document Sequences Theodoros Lappas Benjamin Arai Manolis Platakis Dimitrios Kotsakos Dimitrios Gunopulos SIGKDD 2009.
Review Rong Jin. Comparison of Different Classification Models  The goal of all classifiers Predicating class label y for an input x Estimate p(y|x)
Programming by Example using Least General Generalizations Mohammad Raza, Sumit Gulwani & Natasa Milic-Frayling Microsoft Research.
Cultivating Research Taste (illustrated via a journey in Program Synthesis research) Programming Languages Mentoring Workshop 2015 Sumit Gulwani Microsoft.
Ontology Alignment/Matching Prafulla Palwe. Agenda ► Introduction  Being serious about the semantic web  Living with heterogeneity  Heterogeneity problem.
Programming by Examples Marktoberdorf Lectures August 2015 Sumit Gulwani.
Automatically Synthesizing SQL Queries from Input-Output Examples Sai Zhang University of Washington Joint work with: Yuyin Sun.
End-User Programming (using Examples & Natural Language) Sumit Gulwani Microsoft Research, Redmond August 2013 Marktoberdorf Summer.
Dimensions in Synthesis Part 3: Ambiguity (Synthesis from Examples & Keywords) Sumit Gulwani Microsoft Research, Redmond May 2012.
Analysis of Algorithms CSCI Previous Evaluations of Programs Correctness – does the algorithm do what it is supposed to do? Generality – does it.
Mining Topic-Specific Concepts and Definitions on the Web Bing Liu, etc KDD03 CS591CXZ CS591CXZ Web mining: Lexical relationship mining.
Recognition II Ali Farhadi. We have talked about Nearest Neighbor Naïve Bayes Logistic Regression Boosting.
Decision Trees. What is a decision tree? Input = assignment of values for given attributes –Discrete (often Boolean) or continuous Output = predicated.
1 Universidad de Buenos Aires Maestría en Data Mining y Knowledge Discovery Aprendizaje Automático 5-Inducción de árboles de decisión (2/2) Eduardo Poggi.
FlashNormalize: Programming by Examples for Text Normalization International Joint Conference on Artificial Intelligence, Buenos Aires 7/29/2015FlashNormalize1.
Predicting a Correct Program in PBE Rishabh Singh, Microsoft Research Sumit Gulwani, Microsoft Research.
Automating String Processing in Spreadsheets using Input-Output Examples Sumit Gulwani Microsoft Research, Redmond.
Compositional Program Synthesis from Natural Language and Examples Mohammad Raza, Sumit Gulwani & Natasa Milic-Frayling Microsoft.
A Short and Simple Introduction to Linear Discriminants (with almost no math) Jennifer Listgarten, November 2002.
Programming by Examples Marktoberdorf Lectures August 2015 Sumit Gulwani.
Dagstuhl Seminar Oct 2015 Sumit Gulwani Applications of Inductive Programming in Data Wrangling.
Programming by Examples applied to Data Wrangling Invited SYNT July 2015 Sumit Gulwani.
Deductive Techniques for synthesis from Inductive Specifications Dagstuhl Seminar Oct 2015 Sumit Gulwani.
Data Mining: Concepts and Techniques1 Prediction Prediction vs. classification Classification predicts categorical class label Prediction predicts continuous-valued.
Sumit Gulwani Spreadsheet Programming using Examples Keynote at SEMS July 2016.
Sumit Gulwani Programming by Examples Applications, Algorithms & Ambiguity Resolution Keynote at IJCAR June 2016.
1 CS 391L: Machine Learning: Computational Learning Theory Raymond J. Mooney University of Texas at Austin.
Outline Core Synthesis Architecture [1 hour by Sumit]
Data Transformation: Normalization
Jan 2016 Solar Lunar Data.
Chapter 7. Classification and Prediction
POLYGRAPH: Automatically Generating Signatures for Polymorphic Worms
MIRA, SVM, k-NN Lirong Xia. MIRA, SVM, k-NN Lirong Xia.
Synthesis from scenarios and requirements
Revision Lecture
Harry Xu University of California, Irvine & Microsoft Research
RE-Tree: An Efficient Index Structure for Regular Expressions
Supervised Learning Seminar Social Media Mining University UC3M
A way to detect a collision…
Issues in Decision-Tree Learning Avoiding overfitting through pruning
Compiler Construction
Margin-based Decomposed Amortized Inference
بسم الله الرحمن الرحيم.
Course supervisor: Lubna Siddiqui
Programming by Examples
Lecture 6 Inductive Synthesis
Autonomous Cyber-Physical Systems: Dynamical Systems
Programming by Examples
Objective of This Course
Design of Hierarchical Classifiers for Efficient and Accurate Pattern Classification M N S S K Pavan Kumar Advisor : Dr. C. V. Jawahar.
Machine Learning: Lecture 3

DATA MINING LECTURE 10 Classification k-nearest neighbor classifier
Classification and Prediction
languages & relations regular expressions finite-state networks
MONTH CYCLE BEGINS CYCLE ENDS DUE TO FINANCE JUL /2/2015
Family History Technology Workshop
Deep Learning for Non-Linear Control
Feature space tansformation methods
Linear Programming Introduction.
Optimization 薛智文 (textbook ch# 9) 薛智文 96 Spring.
Linear Programming Introduction.
MIRA, SVM, k-NN Lirong Xia. MIRA, SVM, k-NN Lirong Xia.
Bug Localization with Combination of Deep Learning and Information Retrieval A. N. Lam et al. International Conference on Program Comprehension 2017.
CS249: Neural Language Model
Presentation transcript:

Tackling Ambiguity in PBE Rishabh Singh

Programming ByExamples Intuitive Natural Accessible Ambiguity

Art $75 M Ambiguous!  Modern Art

Programming Ambiguous!

Adding Mr. to Last Name InputOutput Rajeev AlurMr. Alur Satya Nadella Harry Shum Jeanette Wing Eric Horvitz

Ambiguity InputOutput Rajeev AlurMr. Alur Satya Nadella

Prefer non-constants? InputOutput Rajeev AlurMr. Alur Satya Nadella

Prefer non-constants? InputOutput Rajeev AlurMr. Alur Satya NadellaMs. Nadella Prefer smaller substrings as constants?

Prefer smaller constants? InputOutput Satya NadellaS. Nadella Harry Shum 2 nd word, last word, 2 nd capital followed by 2 nd lowercase string….

Machine Learning for Ranking Probabilistic Semantic Transformations Techniques 2 [ Singh, Gulwani CAV 2015 ] [ Singh, Gulwani POPL 2016 ]

Machine Learning for Ranking [CAV 2015] “With great power comes great responsibility.”

FlashFill DSL VSA Program Heuristics Benchmarks

DSL VSA Program Ranking Benchmarks FlashFill

Labelled Training Data Machine Learning Algorithm Efficient Ranking Algorithm Challenges 3

Training Data Generation InputOutput Rajeev AlurMr. Alur Satya NadellaMr. Satya Harry ShumMr. Harry

Learn DAGs Rajeev Alur  Mr. Alur Satya Nadella  Mr. Satya

Intersect DAGs Rajeev Alur  Mr. Alur Satya Nadella  Mr. Satya

Assign Positive Labels Rajeev Alur  Mr. Alur Satya Nadella  Mr. Satya

Assign Negative Labels Rajeev Alur  Mr. Alur Satya Nadella  Mr. Satya

Rajeev Alur  Mr. Alur Satya Nadella  Mr. Satya Learn ranking function f(p) that ranks programs higher than programs.

Ranking Function f(p) Assume Linear Function f(p) = w 1 * f 1 + w 2 *f 2 + … + w k *f k

Learning To Rank Logistic Regression Listwise Approach Didn’t work well  Too strong a constraint All relevant pages over irrelevant

A New Loss Function Positive ProgramsNegative Programs Rank any positive program over all negative programs

Hierarchical Ranking Atomic Expression Substring Expression Concat Expression Frequency of tokens, context, neighborhood,… Length of substring, input, output, constant,… Number of Arguments, sum, max, min, prod

Evaluation 175 benchmarks train-test partition Baseline (Occam’s razor): Smallest & Simplest programs

LearnRank needs 1.48 examples vs 4.17

LearnRank needs 1 example for 79% benchmarks

LearnRank has overhead of only 25% (8ms)

Semantic Data Type Transformations [POPL 2016]

Semantic Transformations Transformations over strings that have some interpretation (e.g. Dates, Names, Phone Numbers, Addresses, Currency, Units)

Learning Robust Transformations Non-uniform Data Ambiguous Data Noisy and Missing Data 5/10/2015, /10/2015, July 2014, Feburary /21/2014, 6.21

Semantic Transformations InputOutput 08/21/2015{date: 21 st Aug}

InputOutput 08/21/2015{date: 21 st Aug} Semantic Transformations

InputOutput 08/21/2015{date: 21 st Aug} Semantic Transformations

InputOutput 08/21/2015{date: 21 st Aug}

Semantic Transformations InputOutput 08/21/2015{date: 21 st Aug}

Semantic Transformations InputOutput 08/21/2015{date: 21 st Aug} {date: 24 th Aug} {date: 5 th Jun} {date: 11 th Dec} {date: 6 th Jul}

08/21/2015  {date: 21 st Aug} (m 2 /d 1 /y 2 )  (“{date: ” d 3 “ ” m 4 “}”) Simple Rule Language

08/21/2015  {date: 21 st Aug} Probabilistic Semantics (m 2 /d 1 /y 2 )  (“{date: ” d 3 “ ” m 4 “}”) w3w3 w1w1 w2w2

Semantic Constraints InputOutput 08/21/2015{date: 21 st Aug} {date: 20 th Sep}

Approximate Matching InputOutput 08/21/2015{date: 21 st Aug} {date: 20 th Sep} {date: 6 th May} m 2 /d 1 /y 2

Joint Input Learning InputOutput 08/21/2015{date: 21 st Aug} {date: 11 th Dec} {date: 20 th Sep} {date: 6 th May} y 2 –d 1 –m 2 {date: 6 th Jul}

Probabilistic Semantics solves more benchmarks (40 vs 26) with fewer examples (1.5 vs 2.3 )

Ambiguity in PBE Machine Learning + Synthesis Probabilistic Semantic Transformations Approximate Matching & Joint Learning General Loss Function for PBE Thanks!