Designing Machine Learning Pipelines for Mining Transactional SMS Messages
Much of data science involves using data for some practical, business purpose. The data usually needs to be cleaned and processed and that might take a while, but it is generally close to where it needs to be. It can be incredibly exciting and engaging to work at one level back, where data is far from where it needs to be. At this level real work has to be done to transform data into a form ready to be turned into value. In this talk I will walk through this process with the example of turning raw transactional SMS text into structured personal finance features.
The work involves several steps of interest that I will present in the talk. It begins with creatively reducing and representing financial life (or any domain) with concise and clearly defined features. This is a step often overlooked in the rush to fit models and if not done well is most likely to ensure the work fails. Next is taking a difficult composite problem and breaking it into pieces. As Max Tegmark put it: “If you have a tough question that you can’t answer, first tackle a simpler question that you can’t answer.” I’ll show how machine-learning models can be combined in sequence to progressively build up structure and refine raw text into meaningful pieces of information.
While illustrating each step in the work with concrete examples (with code usually written in Python), I will focus on the generalizable process of designing and building machine learning pipelines and transforming raw data into features (using programming language/framework of choice).
Background on problem and data:
The government of India has a regulatory requirement of two-factor authentication for digital financial transactions. To remain compliant with this requirement, companies and organizations usually require a user’s mobile phone number. And as a result it is common for people to receive SMS notifications for their banking and digital service transactions.
These SMS messages are semi-structured short text which can be conceptually broken into two pieces: 1) a template structure and 2) variables within that template. Each SMS-sending organization (including hundreds of individual banks across the country) has its own message templates and usually multiple different templates for any given message type (e.g. notification of a debit transaction).
1) Introduction to data science problems where transforming raw data into features itelf requires statistical modeling and the example case of transactional SMS messages.
2) The creative process of representing a complex domain of the world (like personal finance) with concepts and features that can be mapped to data.
3) Building machine learning models to solve the problems defined in step 2 and designing an architecture to run the models in extensible and auditable pipelines.
*/ Each part of the talk will include detailed examples and technical content */
Paul Meinshausen is a globally experienced data scientist. He is a Co-Founder of PaySense, a mobile fintech startup based in Mumbai, and was Chief Data Officer at the company until February 2017. Before co-founding PaySense, Paul was Vice President of Data Science at Housing.com, where he led the Data Science Lab and the Product Analytics and Business Intelligence teams. Earlier he was Principal Data Scientist at Teradata, where he worked on machine learning projects in the Banking, Telecom, Automotive, and E-Commerce industries across the South Asia and APAC regions. Paul was a Data Science for Social Good Fellow at the Computation Institute at the University of Chicago in 2013. Between 2009 and 2011 he served as an analyst for the U.S. Department of the Army and deployed to Kabul, Afghanistan to the headquarters of the International Security Assistance Force in Afghanistan. Paul has an academic research background in behavioral science and was a researcher in the Department of Psychology at Harvard University and a Fulbright Scholar in Turkey at the Middle East Technical University.