I have been interested in quite a few subjects. I have tried to present a brief outline of the work I have done till now. I will be updating this section as and when something new comes up!
Hope its a great read...
Contents
1. Speech Processing
2. Fuzzy Clustering Techniques for Optimum Currency Area Variables
3. Automation Bots
4. Final year B.E. project
In my third year of UnderGrad (Junior Year), I went on to do my course on Intelligent Electronic Instrumentation with Dr. JRP Gupta. Discussions outside the class led me to do a small project with him. This went on to become two research projects with Dr. Smriti Srivastava, Dr. JRP Gupta and Dr. Saurabh Bhardwaj (who was a senior PhD student then). This gave way to two research papers, one of which we got published. This was the research which got me hooked to Psychology as a field. Seeing a machine behave like a human in certain aspects, generated in me a strong desire to learn how the human cognition works.
I am writing below the abridged versions of the research.
We combined the Wavelet Packet Transform (WPT) with Mel frequency Cepstral Coefficients (MFCC) for speech feature vector extraction to create a novel way of feature extraction. The technique overcomes the overcomes the single resolution limitation of MFCC by incorporating the multi resolution analysis offered by WPT. We tested it on VoxForge dataset by using Hidden Markov Model (HMM) and Gaussian Mixture Model (GMM) as classifiers. We got the research published as a Book Chapter in the Springer Series.
Taking the research a bit further, we utilised the developed algorithm in text-independent speaker recognition. We tested it on voxforge speech corpus and CSTR US KED Timit database and got promising results. Though we wrote a paper, we did not get it published.
During my Senior year, I got a chance to work with Dr. Vijyant Agrawal. The global meltdown had just happened and there were talks of EuroZone breakdown. This caught my interest and I decided to do a study on this global happening. This project gave me a new respect for Economics as a field.
We extended the studies of Itir Ozer and Ibrahim Ozkan (2008). Having used the same dataset, we tried to cluster the European Union according the different OCA Variables using three fuzzy clustering techniques (FCM, GK and GG Clustering).
We further analysed by carrying out the Principal Component Analysis (PCA) on the data.
To group the data in a meaningful way, we also carried out the cluster validity. We clustered the data using different values of 'c', that is, the different number of clusters and utilised different validity measures to predict the efficiency of the obtained partition.
Despite being a basic paper, we got it published.
Recently, while working in NextSpace Technologies in India, I had the opportunity to develop automation bots using Python and AppleScript. I utilised WebScraping and Excel Macros (VBA) to try and ease manual, mundane jobs to reduce clients' business operation costs and make life simple for the demography.
Below are some sample bots (not the final ones) that I made for clients and some out of curiosity, simply to get the satisfaction of solving a challenging problem and to see if I could do it.
*DISCLAIMER* - These bots showcased are uploaded only after the due permission of both the Management of NextSpace and the clients and portray only some sample functionality, not the final ones that we built for our clients.
This bot was designed specifically for a Client who was an Indian Chartered Accountants (CA).
Problem Statement :
It is a very common problem for the Indian CAs to manually copy data from the downloaded AS26 PDF File (from the Income Tax website) to Excel Sheets in order to further analyse the tax stats of the client.
This small python bot reads the pdf and the CSV files (which are downloaded from the Govt. Income Tax Website). It then goes on to create a XLS file. And then copies the Form 26AS tax statement to different columns and rows in the XLS File, which can be then further used.
This was a project wherein I got to learn WebScraping (BeautifulSoup and HTML tags) and Selenium Webdrivers. It also taught me how to run the Python script through the press of a UI button. I used Flask for that. Will be learning Django as soon as I get some time!
Excuse me for the hideous UI. I was more focussed on running the Python Script with the Button Click.
The bot reads the flight details from an XLS file., opens up Chrome web browser and opens up Cleartrip.com in it. It then inputs the flight details into the search fields of Cleartrip from the XLS file fed to it and waits until the flight search results show up. Scrapes the search results, makes a separate XLS file with all the flight search results - flights.xls. The XLS file has all the details about each flight - Airways, Departure time, Arrival time, Duration and Price. It then sends the XLS file as a gmail attachment to the client with the dynamically changing Title and Body of the mail, which changes with the search.
This bot was designed for a Client who wanted to run the same Excel macros on many different Excel sheets day in and day out on his macbook air. He wanted some automation in his life!
Double-clicking the bot icon activates the bot.
The bot uses Python and AppleScript to open the Macro file (Macro.xlms) and the XLSX file (on which the macro needs to be run). It then types in the Macro name to search the macro in the Excel file. After searching, clicks on the result to run the macro on the Excel sheet. Clicks on 'Run' and runs the Macro on the Excel sheet with the data.
Now the shortcoming I see is that this works perfectly with a Mac OS, but not with any other OS (well, because I used AppleScript!)
Have to find out a way to make it run on other OS as well. Hopefully will find it soon. Hey! Maybe, shell scripting might work.
This was a project done for a client who wanted to shift his company's data collection technique from hand-written forms that his workers had to fill (and manually copy to XLS format) to Google-forms, which would be filled by the customers themselves and thus saving him a lot of time and man-power.
He wanted some of the previous customer data that he had in XLS format to be copied over to the Google Form that he created, so that he could have all the data in one place.
This sample bot reads the data from an XLS file. Copies the first row from the file to the google form. Clicks the Submit button. Clicks the 'Submit another response' on the next page that pops up. Reads the second row from the XLS file and submits it. The bot goes on till it reaches the end of file and finally stops.
I just love how magical it all looks!
Well, this was a bot I created for myself. I often log out of all my accounts in order to let someone else use my laptop. And it is such a pain to log into every account again, writing all my Usernames and Passwords and hitting those submit keys. *sigh*
I made this bot to do this for me. It logs into all three of my Gmail Accounts, my Facebook and my Yahoo. Yeah sad, I am not a Tweep!
In the video, I show the log in to one of my gmail account only.
Well, the problem I encounter is that I have to run my Python script every time I want the bot to run. Will be learning Docker to avoid that!
I did my Final Year B.E Project under the Head of our Department, Dr. A.P. Mittal. (University of Delhi)
My Final Year Project, though not very innovative, was building a MicroController based Hear Rate Monitor that would be suitable for Indian conditions. We had to make it cost-effective, power-efficient and extremely user friendly, the essentials for India.
It was a project that was an amalgamation of both software and hardware. In the project, we made a Hear rate monitor and connected it to an Android Application, which enhanced the ergonomics of the monitor.
This was the project which made me familiar with Mobile Application development (Android).
We were able to make a working prototype in 1700 INR (26$).