{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T07:32:08Z","timestamp":1740123128227,"version":"3.37.3"},"reference-count":25,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2021,4,1]],"date-time":"2021-04-01T00:00:00Z","timestamp":1617235200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2021,4,13]],"date-time":"2021-04-13T00:00:00Z","timestamp":1618272000000},"content-version":"vor","delay-in-days":12,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100003176","name":"Ministerio de Educaci\u00f3n, Cultura y Deporte","doi-asserted-by":"publisher","award":["FPU15\/03219"],"award-info":[{"award-number":["FPU15\/03219"]}],"id":[{"id":"10.13039\/501100003176","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Ministerio de Asuntos Econ\u00f3micos y Transformaci\u00f3n Digital","award":["RTI2018-094403-B-C32"],"award-info":[{"award-number":["RTI2018-094403-B-C32"]}]},{"DOI":"10.13039\/501100003359","name":"Generalitat Valenciana","doi-asserted-by":"publisher","award":["PROMETEO\/2019\/098"],"award-info":[{"award-number":["PROMETEO\/2019\/098"]}],"id":[{"id":"10.13039\/501100003359","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100017561","name":"Future of Life Institute","doi-asserted-by":"crossref","award":["RFP2-152"],"award-info":[{"award-number":["RFP2-152"]}],"id":[{"id":"10.13039\/100017561","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Mach Learn"],"published-print":{"date-parts":[[2021,4]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Matrices are a very common way of representing and working with data in data science and artificial intelligence. Writing a small snippet of code to make a simple matrix transformation is frequently frustrating, especially for those people without an extensive programming expertise. We present AUTOMATIX, a system that is able to induce R program snippets from a single (and possibly partial) matrix transformation example provided by the user. Our learning algorithm is able to induce the correct matrix pipeline snippet by composing primitives from a library. Because of the intractable search space\u2014exponential on the size of the library and the number of primitives to be combined in the snippet, we speed up the process with (1) a typed system that excludes all combinations of primitives with inconsistent mapping between input and output matrix dimensions, and (2) a probabilistic model to estimate the probability of each sequence of primitives from their frequency of use and a text hint provided by the user. We validate AUTOMATIX with a set of real programming queries involving matrices from Stack Overflow, showing that we can learn the transformations efficiently, from just one partial example.<\/jats:p>","DOI":"10.1007\/s10994-021-05950-7","type":"journal-article","created":{"date-parts":[[2021,4,13]],"date-time":"2021-04-13T19:08:51Z","timestamp":1618340931000},"page":"779-799","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["AUTOMAT[R]IX: learning simple matrix pipelines"],"prefix":"10.1007","volume":"110","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8213-1765","authenticated-orcid":false,"given":"Lidia","family":"Contreras-Ochando","sequence":"first","affiliation":[]},{"given":"C\u00e8sar","family":"Ferri","sequence":"additional","affiliation":[]},{"given":"Jos\u00e9","family":"Hern\u00e1ndez-Orallo","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,4,13]]},"reference":[{"key":"5950_CR1","doi-asserted-by":"crossref","unstructured":"Contreras-Ochando, L., Ferri, C., & Hern\u00e1ndez-Orallo, J. (2020a). Automating common data science matrix transformations. In Machine learning and knowledge discovery in databases (ECMLPKDD workshop on automating data science) (pp. 17\u201327). Springer, ECML-PKDD \u201919.","DOI":"10.1007\/978-3-030-43823-4_2"},{"key":"5950_CR2","unstructured":"Contreras-Ochando, L., Ferri, C., Hern\u00e1ndez-Orallo, J., Mart\u00ednez-Plumed, F., Ram\u00edrez-Quintana, M. J., & Katayama, S. (2020b). Automated data transformation with inductive programming and dynamic background knowledge. In Machine learning and knowledge discovery in databases (pp. 735\u2013751). Springer, ECML-PKDD \u201919."},{"key":"5950_CR3","unstructured":"Contreras-Ochando, L., Ferri, C., Hern\u00e1ndez-Orallo, J., Mart\u00ednez-Plumed, F., Ram\u00edrez-Quintana, M. J., & Katayama, S. (2020c). BK-ADAPT: Dynamic background knowledge for automating data transformation. In Machine learning and knowledge discovery in databases (ECMLPKDD demo track) (pp. 755\u2013759). Springer, ECML-PKDD \u201919."},{"key":"5950_CR4","doi-asserted-by":"crossref","unstructured":"Cropper, A., Tamaddoni, A., & Muggleton, S. H. (2015). Meta-interpretive learning of data transformation programs. In Inductive logic programming (pp. 46\u201359).","DOI":"10.1007\/978-3-319-40566-7_4"},{"key":"5950_CR5","doi-asserted-by":"crossref","unstructured":"Ferri-Ram\u00edrez, C., Hern\u00e1ndez-Orallo, J., & Ram\u00edrez-Quintana, M. J. (2001). Incremental learning of functional logic programs. In FLOPS (pp. 233\u2013247). Springer.","DOI":"10.1007\/3-540-44716-4_15"},{"key":"5950_CR6","doi-asserted-by":"crossref","unstructured":"Gulwani, S. (2011). Automating string processing in spreadsheets using input-output examples. In Proceedings 38th principles of programming languages (pp. 317\u2013330).","DOI":"10.1145\/1925844.1926423"},{"issue":"11","key":"5950_CR7","doi-asserted-by":"publisher","first-page":"90","DOI":"10.1145\/2736282","volume":"58","author":"S Gulwani","year":"2015","unstructured":"Gulwani, S., Hern\u00e1ndez-Orallo, J., Kitzelmann, E., Muggleton, S., Schmid, U., & Zorn, B. (2015). Inductive programming meets the real world. Communications of the ACM, 58(11), 90\u201399.","journal-title":"Communications of the ACM"},{"issue":"10","key":"5950_CR8","doi-asserted-by":"publisher","first-page":"1165","DOI":"10.14778\/3231751.3231766","volume":"11","author":"Y He","year":"2018","unstructured":"He, Y., Chu, X., Ganjam, K., Zheng, Y., Narasayya, V., & Chaudhuri, S. (2018). Transform-data-by-example (TDE): An extensible search engine for data transformations. Proceedings of the VLDB Endowment, 11(10), 1165\u20131177.","journal-title":"Proceedings of the VLDB Endowment"},{"key":"5950_CR9","unstructured":"Jenkins, T. (2002). On the difficulty of learning to program. In Proceedings of the 3rd annual conference of the LTSN Centre for information and computer sciences, Citeseer (Vol. 4, pp. 53\u201358)."},{"key":"5950_CR10","doi-asserted-by":"crossref","unstructured":"Kandel, S., Paepcke, A., Hellerstein, J., & Heer, J. (2011). Wrangler: Interactive visual specification of data transformation scripts. In Proceedings of the SIGCHI conference on human factors in computing systems (pp. 3363\u20133372). ACM.","DOI":"10.1145\/1978942.1979444"},{"key":"5950_CR11","first-page":"111","volume":"6","author":"S Katayama","year":"2005","unstructured":"Katayama, S. (2005). Systematic search for lambda expressions. Trends in Functional Programming, 6, 111\u2013126.","journal-title":"Trends in Functional Programming"},{"issue":"9\u201310","key":"5950_CR12","doi-asserted-by":"publisher","first-page":"1441","DOI":"10.1007\/s10994-017-5640-x","volume":"106","author":"S Kolb","year":"2017","unstructured":"Kolb, S., Paramonov, S., Guns, T., & De Raedt, L. (2017). Learning constraints in spreadsheets and tabular data. Machine Learning, 106(9\u201310), 1441\u20131468.","journal-title":"Machine Learning"},{"key":"5950_CR13","volume-title":"Your wish is my command: Programming by example","author":"H Lieberman","year":"2001","unstructured":"Lieberman, H. (2001). Your wish is my command: Programming by example. Burlington: Morgan Kaufmann."},{"key":"5950_CR14","unstructured":"Menon, A., Tamuz, O., Gulwani, S., Lampson, B., & Kalai, A. (2013). A machine learning framework for programming by example. In ICML (pp. 187\u2013195)."},{"key":"5950_CR15","unstructured":"Mitchell, T., Allen, J., Chalasani, P., Cheng, J., Etzioni, O., Ringuette, M., & Schlimmer, J. (1991). Theo: A framework for self-improving systems. In Architectures for intelligence (pp. 323\u2013355)."},{"issue":"5","key":"5950_CR16","doi-asserted-by":"publisher","first-page":"103","DOI":"10.1145\/3191513","volume":"61","author":"T Mitchell","year":"2018","unstructured":"Mitchell, T., Cohen, W., Hruschka, E., Talukdar, P., Yang, B., Betteridge, J., et al. (2018). Never-ending learning. Communications of the ACM, 61(5), 103\u2013115.","journal-title":"Communications of the ACM"},{"key":"5950_CR17","doi-asserted-by":"crossref","unstructured":"Paramonov, S., Kolb, S., Guns, T., & De Raedt, L. (2017). Tacle: Learning constraints in tabular data. In Proceedings of the 2017 ACM on conference on information and knowledge management, ACM, New York, NY, USA, CIKM \u201917 (pp. 2511\u20132514).","DOI":"10.1145\/3132847.3133193"},{"key":"5950_CR18","unstructured":"Parisotto, E., Mohamed, Ar., Singh, R., Li, L., Zhou, D., & Kohli, P. (2016). Neuro-symbolic program synthesis. arXiv preprint arXiv:161101855"},{"key":"5950_CR19","doi-asserted-by":"crossref","unstructured":"Raza, M., Gulwani, S., & Milic-Frayling, N. (2014). Programming by example using least general generalizations. In Twenty-eighth AAAI conference on artificial intelligence.","DOI":"10.1609\/aaai.v28i1.8744"},{"key":"5950_CR20","doi-asserted-by":"crossref","unstructured":"Reynolds, A., & Tinelli, C. (2017). Sygus techniques in the core of an SMT solver. arXiv preprint arXiv:171110641","DOI":"10.4204\/EPTCS.260.8"},{"issue":"5","key":"5950_CR21","doi-asserted-by":"publisher","first-page":"513","DOI":"10.1016\/0306-4573(88)90021-0","volume":"24","author":"G Salton","year":"1988","unstructured":"Salton, G., & Buckley, C. (1988). Term-weighting approaches in automatic text retrieval. Inf Process Manag, 24(5), 513\u2013523.","journal-title":"Inf Process Manag"},{"key":"5950_CR22","doi-asserted-by":"crossref","unstructured":"Santolucito, M., Hallahan, W. T., & Piskac, R. (2019). Live programming by example. In Extended abstracts of the 2019 CHI conference on human factors in computing systems (p. INT020). ACM.","DOI":"10.1145\/3290607.3313266"},{"key":"5950_CR23","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1016\/j.artint.2018.10.006","volume":"272","author":"J Segovia-Aguas","year":"2019","unstructured":"Segovia-Aguas, J., Jim\u00e9nez, S., & Jonsson, A. (2019). Computing programs for generalized planning using a classical planner. Artificial Intelligence, 272, 52\u201385.","journal-title":"Artificial Intelligence"},{"key":"5950_CR24","doi-asserted-by":"crossref","unstructured":"Wang, X., Dillig, I., & Singh, R. (2017). Program synthesis using abstraction refinement. In Proceedings of the ACM on programming languages 2(POPL):63.","DOI":"10.1145\/3158151"},{"key":"5950_CR25","doi-asserted-by":"crossref","unstructured":"Wu, B., Szekely, P., & Knoblock, C. A. (2012). Learning data transformation rules through examples: Preliminary results. In Information integration on the web (p. 8).","DOI":"10.1145\/2331801.2331809"}],"container-title":["Machine Learning"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10994-021-05950-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10994-021-05950-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10994-021-05950-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,24]],"date-time":"2022-12-24T06:06:38Z","timestamp":1671861998000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10994-021-05950-7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,4]]},"references-count":25,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2021,4]]}},"alternative-id":["5950"],"URL":"https:\/\/doi.org\/10.1007\/s10994-021-05950-7","relation":{},"ISSN":["0885-6125","1573-0565"],"issn-type":[{"type":"print","value":"0885-6125"},{"type":"electronic","value":"1573-0565"}],"subject":[],"published":{"date-parts":[[2021,4]]},"assertion":[{"value":"15 May 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"3 November 2020","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"23 January 2021","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"13 April 2021","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}