Presented by

  • Tishampati Dhar

    Tishampati Dhar
    @whatnick
    https://whatnicklife.blogspot.com/

    Tish is an expert at building software for large-scale data processing particularly satellite and airborne sensor data. He has been awarded innovation and commercialization award for building high resolution 3D city capture product ( which will become relevant in the future of self-driving) and has worked for various space agencies including NASA, scientific research organizations and in commercial research. Tisham was born in India, grew up in Kenya and went to University ( for too long) in Australia. Recently he has been travelling around helping start-ups where ever he can. Tish is a regular speaker at open-source technology conferences addressing the intersection of software design and hardware design.

Abstract

This talk describes the WhatsApp chat protocol and various endpoints where data can be unlocked from this classically end-to-end encrypted channel. Unlocking and automating the WhatsApp channel is a pre-requisite for scaling businesses in the 3rd world where this is a dominant communication medium. In the third-world and from my personal experience in Kenya a lot of businesses run on the command-line, the command-line being the WhatsApp message text entry box. This talk describes means of putting shell processor behind that command line to parse natural language, emoji and semi-structured data to capture issues from the field (stderr), information from the field (stdout) and to forward parsed data to order management, tickets and other systems (pipe,redirect). We will cover initial unofficial attempts including: - Direct HTTP protocol unlocking - Using Headless browsers such as PhantomJS/Puppeteer with WhatsApp for Web - Using Android Notifications API to forward messages to another app - Using rooted Android phones to uncrack the encrypted db and forward content - You can't stop the screenshot Recently there are more official channels for general purpose automation and CRM / Support Chat integrations via - Twilio - FreshChat - Zendesk - Others as WhatsApp graciously grants access We have firsthand experience with the Twilio Whatsapp API / Python SDK which should be familiar to anyone having using Twilio API before. This is layered with text comprehension advances from modern Neural Network based approaches to create effective automated customer service , order creation and field data capture solutions. A lot of Python web development has focused on building API's ( stateless), User-interfaces targeting the browser etc. however Chat as UI requires a stateful backend which has memory and uses context effectively to craft responses. These bots are often domain specific and little attempt is made to be Turing-passing as opposed to being functional with semi-structured input. Semi-structured input can be flexibly parsed using mostly rule based NLP, deep learning based NLP is the flavour of the day and only becomes necessary for processing client input (from users outside the organization who cannot be effectively change managed). Tools in the classic python NLTK library for processing WhatsApp data include: - Stemmers - Tokenizers - Fuzzy Matchers - Regular expressions ( for deterministically named entities such as truck registration, containers numbers, vessel names etc.) When push comes to shove, the data can be piped via one of the cloud NLP platforms as well. Overall the humans in the WhatsApp treadmill can be assisted by machines to systematize the flood of words.