{"type":"ScholarlyArticle","title":"Pyconstruct: Constraint Programming Meets Structured Prediction","authors":[{"name":"Paolo Dragone","slug":"paolo-dragone","given":"Paolo","family":"Dragone","affiliation":"University of Trento; TIM-SKIL , Trento , Italy"},{"name":"Stefano Teso","slug":"stefano-teso","given":"Stefano","family":"Teso","affiliation":"KU Leuven , Leuven , Belgium"},{"name":"Andrea Passerini","slug":"andrea-passerini","given":"Andrea","family":"Passerini","affiliation":"University of Trento"}],"abstract":"Constructive learning is the task of learning to synthesize structured objects from data. Examples range from classical sequence labeling to layout synthesis and drug design. Learning in these scenarios involves repeatedly synthesizing candidates subject to feasibility constraints and adapting the model based on the observed loss. Many synthesis problems of interest are non-standard: they involve discrete and continuous variables as well as arbitrary constraints among them. In these cases, widespread formalisms (like linear programming) can not be applied, and the developer is left with writing her own ad-hoc solver. This can be very time consuming and error prone. We introduce Pyconstruct, a Python library tailored for solving real-world constructive problems with minimal effort. The library leverages max-margin approaches to decouple learning from synthesis and constraint programming as a generic framework for synthesis. Pyconstruct enables easy prototyping of working solutions, allowing developers to write complex synthesis problems in a declarative fashion in few lines of code. The library is available at: http://bit.ly/2st8nt3","doi":"10.24963/ijcai.2018/850","url":"https://ijcai.org/proceedings/2018/850","pdf":"https://ijcai.org/proceedings/2018/0850.pdf","markdown":"https://ijcai.org/proceedings/2018/850.md","bibtex":"https://ijcai.org/proceedings/2018/bibtex/850","volume":{"slug":"2018","title":"Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2018","url":"https://ijcai.org/proceedings/2018/","year":2018,"location":"Stockholm","dates":"13-19 July 2018","editors":"Jérôme Lang","isbn":"978-0-9992411-2-7","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2018"},"section":"Demos","track":"Demos","number":850,"pages":{"first":5823,"last":5825},"keywords":["Machine Learning: Structured Learning","Machine Learning: Machine Learning","Constraints and Satisfiability: Solvers and Tools"],"videos":[],"references":[{"position":1,"raw":"[Bakir et al., 2007] Gükhan H. Bakir, Thomas Hofmann, Bernhard Schölkopf, Alexander J. Smola, Ben Taskar, and S. V. N. Vishwanathan. Predicting Structured Data. MIT Press, 2007.","title":"Predicting Structured Data","authors":"H Gükhan, Thomas Bakir, Bernhard Hofmann, Alexander J Schölkopf, Ben Smola, S V N Taskar, Vishwanathan","year":"2007","venue":null,"doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[Dragone et al., 2016] Paolo Dragone, Luca Erculiani, Maria Teresa Chietera, Stefano Teso, and Andrea Passerini. Constructive layout synthesis via coactive learning. In Constructive Machine Learning workshop, NIPS, 2016.","title":"Constructive layout synthesis via coactive learning","authors":"Paolo Dragone, Luca Erculiani, Maria Teresa Chietera, Stefano Teso, Andrea Passerini","year":"2016","venue":"Constructive Machine Learning workshop","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[Dragone et al., 2017] Paolo Dragone, Stefano Teso, and Andrea Passerini. Constructive preference elicitation. Frontiers in Robotics and AI, 4:71, 2017.","title":"Constructive preference elicitation","authors":"Paolo Dragone, Stefano Teso, Andrea Passerini","year":"2017","venue":"Frontiers in Robotics and AI","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[Dragone et al., 2018a] Paolo Dragone, Stefano Teso, Mohit Kumar, and Andrea Passerini. Decomposition strategies for constructive preference elicitation. In AAAI, 2018.","title":"Decomposition strategies for constructive preference elicitation","authors":"Dragone","year":"2018","venue":"AAAI","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[Dragone et al., 2018b] Paolo Dragone, Stefano Teso, and Andrea Passerini. Constructive preference elicitation over hybrid combinatorial spaces. In AAAI, 2018.","title":"Constructive preference elicitation over hybrid combinatorial spaces","authors":"Dragone","year":"2018","venue":"AAAI","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[Gajos and Weld, 2005] Krzysztof Gajos and Daniel S Weld. Preference elicitation for interface optimization. In Pro- ceedings of the 18th annual ACM symposium on User in- terface software and technology, pages 173-182. ACM, 2005.","title":"Preference elicitation for interface optimization","authors":"Krzysztof Gajos, Daniel S Weld","year":"2005","venue":"Proceedings of the 18th annual ACM symposium on User interface software and technology","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[Gurobi Optimization, 2016] Inc. Gurobi Optimization. Gurobi optimizer reference manual, 2016.","title":"Gurobi optimizer reference manual","authors":null,"year":"2016","venue":null,"doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[Joachims et al., 2009] Thorsten Joachims, Thomas Finley, and Chun-Nam John Yu. Cutting-plane training of struc- tural svms. Machine Learning, 77(1):27-59, 2009.","title":"Cutting-plane training of structural svms","authors":"Thorsten Joachims, Thomas Finley, Chun-Nam John Yu","year":"2009","venue":"Machine Learning","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[Lacoste-Julien et al., 2013] Simon Lacoste-Julien, Martin Jaggi, Mark Schmidt, and Patrick Pletscher. Block- coordinate frank-wolfe optimization for structural svms. In ICML 2013 International Conference on Machine Learning, pages 53-61, 2013.","title":"Blockcoordinate frank-wolfe optimization for structural svms","authors":"Simon Lacoste-Julien, Martin Jaggi, Mark Schmidt, Patrick Pletscher","year":"2013","venue":"ICML 2013 International Conference on Machine Learning","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[Lavecchia, 2015] Antonio Lavecchia. Machine-learning ap- proaches in drug discovery: methods and applications. Drug discovery today, 20(3):318-331, 2015.","title":"Antonio Lavecchia. Machine-learning approaches in drug discovery: methods and applications","authors":"Lavecchia","year":"2015","venue":"Drug discovery today","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Nethercote et al., 2007] Nicholas Nethercote, Peter J Stuckey, Ralph Becket, Sebastian Brand, Gregory J Duck, and Guido Tack. Minizinc: Towards a standard cp modelling language. In International Conference on Principles and Practice of Constraint Programming, pages 529-543. Springer, 2007.","title":"Minizinc: Towards a standard cp modelling language","authors":"Nicholas Nethercote, J Peter, Ralph Stuckey, Sebastian Becket, Gregory J Brand, Guido Duck, Tack","year":"2007","venue":"International Conference on Principles and Practice of Constraint Programming","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[Pedregosa et al., 2011] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blon- del, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12:2825-2830, 2011.","title":"Scikit-learn: Machine learning in Python","authors":"F Pedregosa, G Varoquaux, A Gramfort, V Michel, B Thirion, O Grisel, M Blondel, P Prettenhofer, R Weiss, V Dubourg, J Vanderplas, A Passos, D Cournapeau, M Brucher, M Perrot, E Duchesnay","year":"2011","venue":"Journal of Machine Learning Research","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[Schulte et al., 2010] Christian Schulte, Guido Tack, and Mikael Z Lagerkvist. Modeling and programming with gecode. Schulte, Christian and Tack, Guido and Lagerkvist, Mikael, (2015), 2010.","title":"Modeling and programming with gecode","authors":"Schulte","year":"2010","venue":null,"doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[Sebastiani and Trentin, 2015] Roberto Sebastiani and Patrick Trentin. Optimathsat: a tool for optimization mod- ulo theories. In International Conference on Computer Aided Verification, pages 447-454. Springer, 2015.","title":"Optimathsat: a tool for optimization modulo theories","authors":"Trentin Sebastiani, Roberto Sebastiani, Patrick Trentin","year":"2015","venue":"International Conference on Computer Aided Verification","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[Shalev-Shwartz et al., 2011] Shai Shalev-Shwartz, Yoram Singer, Nathan Srebro, and Andrew Cotter. Pegasos: Pri- mal estimated sub-gradient solver for svm. Mathematical programming, 127(1):3-30, 2011.","title":"Pegasos: Primal estimated sub-gradient solver for svm","authors":"Shai Shalev-Shwartz, Yoram Singer, Nathan Srebro, Andrew Cotter","year":"2011","venue":"Mathematical programming","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[Sutton and McCallum, 2012] Charles Sutton and Andrew McCallum. An introduction to conditional random fields. Found. Trends Mach. Learn., 4(4):267-373, April 2012.","title":"An introduction to conditional random fields","authors":"Sutton, Mccallum, Charles Sutton, Andrew Mccallum","year":"2012","venue":"Found. Trends Mach. Learn","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[Taskar et al., 2004] Ben Taskar, Carlos Guestrin, and Daphne Koller. Max-margin markov networks. In Ad- vances in neural information processing systems, pages 25-32, 2004.","title":"Max-margin markov networks","authors":"Ben Taskar, Carlos Guestrin, Daphne Koller","year":"2004","venue":"Advances in neural information processing systems","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[Teso et al., 2016] Stefano Teso, Paolo Dragone, and Andrea Passerini. Structured feedback for preference elicitation in complex domains. In BeyondLabeler Workshop at IJCAI 2016, 2016.","title":"Structured feedback for preference elicitation in complex domains","authors":"Stefano Teso, Paolo Dragone, Andrea Passerini","year":"2016","venue":"BeyondLabeler Workshop at IJCAI 2016","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[Teso et al., 2017a] Stefano Teso, Paolo Dragone, and An- drea Passerini. Coactive critiquing: Elicitation of prefer- ences and features. In AAAI, 2017.","title":"Coactive critiquing: Elicitation of preferences and features","authors":"Teso","year":"2017","venue":"AAAI","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[Teso et al., 2017b] Stefano Teso, Roberto Sebastiani, and Andrea Passerini. Structured learning modulo theories. Artificial Intelligence, 244:166-187, 2017.","title":"Structured learning modulo theories","authors":"Teso","year":"2017","venue":"Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Tsochantaridis et al., 2004] Ioannis Tsochantaridis, Thomas Hofmann, Thorsten Joachims, and Yasemin Altun. Support vector machine learning for interdepen- dent and structured output spaces. In ICML, page 104. ACM, 2004.","title":"Support vector machine learning for interdependent and structured output spaces","authors":"Ioannis Tsochantaridis, Thomas Hofmann, Thorsten Joachims, Yasemin Altun","year":"2004","venue":"ICML","doi":null,"url":null,"internal_url":null},{"position":22,"raw":"[Tsochantaridis et al., 2005] Ioannis Tsochantaridis, Thorsten Joachims, Thomas Hofmann, and Yasemin Altun. Large margin methods for structured and in- terdependent output variables. JMLR, 6:1453-1484, 2005.","title":"Large margin methods for structured and interdependent output variables","authors":"Ioannis Tsochantaridis, Thorsten Joachims, Thomas Hofmann, Yasemin Altun","year":"2005","venue":"JMLR","doi":null,"url":null,"internal_url":null},{"position":23,"raw":"[Yu et al., 2011] Lap Fai Yu, Sai Kit Yeung, Chi Keung Tang, Demetri Terzopoulos, Tony F Chan, and Stanley J Osher. Make it home: automatic optimization of furni- ture arrangement. ACM Transactions on Graphics (TOG)- Proceedings of ACM SIGGRAPH 2011, v. 30, no. 4, July 2011, article no. 86, 2011.","title":"Make it home: automatic optimization of furniture arrangement","authors":"Yu","year":"2011","venue":"ACM Transactions on Graphics (TOG)-Proceedings of ACM SIGGRAPH","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}