who am i

(Page last updated: May '18)

Gangeshwar Krishnamurthy

Research Engineer | Institute of High Performance Computing

Google Scholar | Curriculum Vitae | Github

News
  • {NEW} May 2018: PC Member - IEEE CIACSA 2018.
  • {NEW} April 2018: PC Member - MML Workshop at ACL 2018.
  • {NEW} April 2018: Reviewer - ISWC 2018.
  • {NEW} Feb 2018: Our work on Aspect-Based Sentiment Analysis accepted at NAACL-HLT 2018 (New Orleans, Louisiana)
  • Feb 2018: Our work on Deception Detection accepted at CICLing 2018 (Hanoi, Vietnam)
  • Jan 2018: Reviewer - CICLing 2018.
  • Sept 2017: I will be joining the Human-Centric AI Initiative at A*STAR, Singapore in October 2017.

I am a Research Engineer at Institute of High Performance Computing, Singapore under A*STAR. I am part of a new initiative that focuses on Human-Centric Artificial Intelligence where I am advised by Dr. Kenneth Kwok and Dr. Ho Seng Beng. I closely work with Dr. Soujanya Poria on multimodal sentiment and emotion recognition. I am also a member of the SenticNet team at NTU, Singapore lead by Prof. Erik Cambria. I have varied research interests leading to the quest of solving intelligence from applied machine learning to AI reasoning. Specifically, I find working on imparting human capabilities of understanding language to machines interesting. Hence have been involved in many research projects at the nexus of Machine Learning and Natural Language Processing, which are taking its shape in my labs (read laptops).


I received my B.Eng in Computer Science & Engineering from Bangalore Institute of Technology, India. I have been fortunate enough to work with Prof. Chng Eng Siong at Nanyang Technological University, Singapore. He Leads the Speech and Language Technologies Group @ Emerging Research Laboratories.


During Summer 2016, I was at Microsoft with the Universal Store Team (Bing Ads) on their advertising platform as Data Science, Intern.


In my spare time, I explore the uncharted territories related to Computer Science, more specifically Natural Language Processing.


Apart from these, I am a Pianist and former classical singer.


Ping me if you want to talk about Programming, Research, Music or anything under the roof.
Twitter: @gangeshwark


What I know

Programming Languages: Python, Java, C/C++ (Prior Exp);
Packages: TensorFlow, Keras, Numpy, Scikit-learn, NLTK, OpenCV
Databases: MySQL, SQLite, MongoDB, Neo4J Graph DB;
Web Technologies: HTML, JavaScript, CSS, jQuery, Flask, Django
Tools & Platforms: Windows, Linux, Android, Amazon Web Services, Google App Engine

  • Name Gangeshwar Krishnamurthy
  • Location Holland Drive, Singapore

experience

Research Engineer

Institute of High Performance Computing, A*STAR Research Entities (A*AI Initiative - CHEEM)
October 2017 - Present
Singapore

On Causal Learning. (More details will be updated soon)

Research Assistant

Temasek Laboratories @ Nanyang Technological University
January 2017 - April 2017
Singapore

  • Supervisor: Prof. Chng Eng Siong, Lead of Speech and Language Technologies @ Emerging Research Labs, NTU.
  • Built and deployed an end-to-end system to search for an audio in an audio (Query By Example: Spoken Term Detection). Improved the accuracy of the system by 5% by using the SPRING-DTW Algorithm. More details to be added.
  • Investigating the use of Encoder-Decoder(seq2seq) model and potential improvements to fit the problem of sentence boundary detection in unpunctuated text. More details to be added.
  • Certificate

    Data Science, Intern

    Microsoft
    July 2016 - September 2016
    Bangalore, India

  • Worked with the Universal Store Team on the Advertisement platform(BingAds) to increase the ROI of advertisers.
  • Analyzed the effect of classification of Ads related to Games into their categories.
  • Proposed a new approach to serving ads using Bing Search History of the dominant demographic profiles.
  • Certificate

    Full Stack Developer

    Grinions
    January 2016 - March 2016

    Location: Bangalore

  • Designed, developed & deployed alpha and beta version of the group-sourcing platform. It was the core product of the company.
  • Built using Python and deployed on Google App Engine. Implemented RESTful API endpoints for modularity.
  • Led the Engineering team at Grinions. Designed and developed the alpha and beta version of the core product.
  • Full Stack Engineer - Intern

    Solarify
    July 2015 - November 2015

  • Was responsible for designing and developing the architecture of web app of the firm.
  • It calculates the savings of the customers if they used solar energy (for different states in India).
  • Built using Python and deployed on Amazon Web Services.
  • Website: http://www.solarify.in/

    Freelancer

    July 2013 - August 2015

    Location: Bangalore

  • Developed 3 mobile apps and 6 Websites/Web apps – most of which were for start-ups.
  • One of the apps was to help mentally challenged children to perform Yoga with steps and timely updates & reminders.
  • Udacity Code Reviewer

    Udacity
    July 2015 - July 2017

    I am one of the very first Udacity Code Reviewers, where I review student project submissions. For each submission, I do both a thorough code review and project evaluation. I strive to give actionable and helpful feedback to students while also improving my code reviewing skills at the same time.

    Google Android Facilitator - Club Head

    Bangalore Institute of Technology

    February 2015 - July 2017

    Founded Android Club to develop a rich learning ambience at Bangalore Institute of Technology for Android Enthusiasts and Developers under the Mentorship and Sponsorship by Google India.

    Club name: Androzign

    Android Mentor

    Bangalore Institute of Technology

    February 2015 - July 2017

    I mentor knowledge-hungry students in my college who are learning to build Android Apps. I suggest the complete workflow and design-flow of the app that they want to build, right from the backend server to the front-end libraries. I have mentored 10+ teams with their projects.

    education

    Bachelor of Engineering (B.E.) : Bangalore Institute Of Technology

    Computer Science & Engineering
    Aug 2013 - July 2017

    1. President - BIT Google Students' Club.

    2. Founding President - Android Club, to develop a rich learning ambiance at Bangalore Institute of Technology for Android Enthusiasts and Developers. Club name: Androzign.

    3. Conducted zero-budget workshops on Java and Android.

    4. Talk on Artificial Intelligence & Machine Learning

    4 Honour & Awards

    10 Projects (as of now)

    Primary - Senior Secondary Education : Kendriya Vidyalaya, Railway Colony, Bangalore

    2002 - 2013

    1. School Pupil Leader.

    2. Started programming when I was in 7th standard.

    3. Finalist in Student Web Pages Contest by ThinkQuest(Oracle) in the year 2007-08.

    4. Awarded The Winner in Future Space Scientist Program(Initiative Supported by ISRO) by ThinkQuest(Oracle) in the year 2008-09.

    5. Developed An E-Library app for ThinkQuest Application Development competition by Oracle.

    6. Kho-Kho Regional Player and Football Player.

    6 Honours & Awards

    3 Projects

    Professional Service

    Program Committee

    • First Workshop and Grand Challenge on Computational Modeling of Human Multimodal Language at ACL 2018.
    • Special issue of IEEE Computational Intelligence Magazine (CIM) on Computational Intelligence for Affective Computing and Sentiment Analysis 2018 (CIACSA 2018).

    Reviewer

    • 17th International Semantic Web Conference (ISWC), 2018 - Research Track.
    • 19th International Conference on Computational Linguistics and Intelligent Text Processing, 2018 (CICLing 2018).

    Major Projects (Total 10) - TO BE UPDATED

    Query by Example: Spoken Term Detection

    Ongoing

    In this work, we developed an end-to-end system for Spoken Term Detection in Audio. Query by Example is a task of searching for query audio within long corpus audio. The key aspect of QbE-STD is to enable multi-lingual and multi-speaker audio search. Due to variations in speaking rates, a non-linear fluctuation occurs in speech pattern versus time axis. To overcome this challenge we implemented a Dynamic Time Warping based algorithm called SPRING which is suitable to monitor streaming data for patterns. For feature representation, we investigated various features of an audio such as MFCC, Filter Bank, Bottleneck and found that Bottleneck features are stable to variations in the multi-speaker environment. The DTW-SPRING is performed on these features of both the query audio and corpus audio. The distance matrix computed by SPRING shows the occurrences of the query in the corpus. Figure below shows the heatmap plot of the distance matrix calculated by SPRING for a corpus audio with four occurrences of the query audio. After this phase, we built a Web-based GUI for the users to interact with the system. Figure below shows the final product we built along with the User Interface. The user can record or select the query audio from the system and search for its occurrences in the corpus audio. This system can be extended into an audio search engine by indexing multiple corpus files across clusters.

    The source code of QbE system: https://github.com/gangeshwark/QbE_System

    Sentence Boundary Detection

    Ongoing

    In this work, we investigated a method of using Sequence to Sequence learning model to punctuate a sequence of unpunctuated text from Automatic Speech Recognition system. The aim of this work is to preserve the contextual meaning of a sequence of text which might be a spoken paragraph from ASR. This direction of SUD has not yet been explored in the previous works as far as our knowledge is concerned. It can be intuitively understood that the context of the previous sentence can improve the occurrence of the next sentence boundary. Towards this goal, we are currently investigating the use of sequence models, specifically sequence to sequence (Encoder-Decoder based) model. The dataset was prepared from the Wikipedia articles dump. Here, every paragraph is a sample in the dataset and is considered to be a sequence of text to be punctuated. The sequence length of a paragraph varies from 75 to 750. Around 1.3 million paragraphs were prepared and pre-processed for the task. In the first stage of the pre-processing, only text and periods(.) are retained and all other symbols and punctuations are removed. We do not want our model to learn that the presence of capital words are also an indication of the beginning of a sentence, hence all characters are converted into its lower case character.

    The model is two layered on encoder side with bidirectional Long Short-Term Memory (LSTM) cells. And the decoder is two layered with attention mechanism and uses LSTM cells. The attention mechanism used in this experiment was "bahdanau" additive attention as introduced in this ICLR 2015 paper. Alternatively, we will be using the "luong" multiplicative attention for comparison. The vocab size was chosen to be 160k and input size of the model is 75. The word embeddings are used as features with dimension size of 300. Every paragraph is sent as a mini batch of input length 75 with variable batch size (depending on the number of words in that paragraph). We used the concept of Truncated BPTT to help the model in remembering the text seen in the previous batches.

    The model with the above configuration did not perform better than the baseline model. Hyperparameter tuning is required as we observe that the model is overfitting after a certain amount of time. Also, we suspect the issue could be due to the practical nature of LSTM. Hence, we are currently investigating the use of Phased-LSTM which can remember words previously seen up to 1000 timesteps as claimed by the author. Additionally, reducing the input size might also help.

    Recommender System

    Ongoing

    A simple recommender system using the kNN algorithm with cosine similarity to recommend similar entities(Pages, Groups etc.) in Facebook for a particular entity.

    AISense - FinTech Application


    Enhancing the UX by banks
    Using Artificial Intelligent systems to enhance the User Experience(UX) of the CitiBank’s customers
    Retail Banking
    o Customer Care Service Application using Artificial Intelligence and Machine Learning.
    o The AI agent responds to user’s query using natural language processing just like a customer care representative.
    o Goes beyond the conventional method of responding to queries by being more personalized.(By learning user’s banking pattern)
    Investment Banking
    o Help users with decision making in investment.(Hedging)

    This application was submitted to Citi Mobile Global Challenge. Though we couldn't win the challenge, the learning curve was very steep.
    Application Stack: PDF
    UX Mapping: PDF
    App Wireframe: PDF

    YouTube: https://www.youtube.com/watch?v=ZaJFyIoWh3I
    GitHub: https://github.com/aisense/AISense

    Travbro - Web Application

    Completed

    A Social Network for Travellers.
    It combines the power of Social Networking and the Machine Learning algorithms to deliver an elegant experience to the users of this website
    Application Stack:
    o Flask – Python framework
    o Polymer
    o Amazon Web Services
    o Google Cloud Platform
    o MySQL
    o Memcached
    o NGINX
    o HBase
    o RabbitMQ
    The application is in development stage and will be released soon.

    Website Link: http://travbro.com/

    Solarify - Online Solar Installers

    Completed

    An web application developed for a startup "Solarify" to help the users get installers and calculate the expenses and savings by installing solar.

    Project built using Flask(Python Framework) and JavaScript. App runs on Amazon Web Services(AWS).

    Website Link: http://solarify.in/

    ShopBud - Web Application

    Completed

    Redefining the whole shopping experience.
    Virtual shopping experience.
    Localized shopping offers and discounts directly from the shopkeepers.

    Built using:
    o PHP
    o MySQL
    o Amazon Web Services
    o Polymer

    Website Link: http://shopbud.neelkirit.com/

    ListSketcher - Android Application

    Completed

    ListSketcher is an Android App, designed and developed by two young engineering students of 2nd Semester from BIT, Bangalore. I developed the application and my partner took care of marketing the app to the public.
    ListSketcher was developed with the motive of allowing users to share their list easily.

    ListSketcher is an organizer, where in you can create and keep track of your Lists that you create in your day-to-day life. And the unique feature of this app is that it allows you to share your Lists with your friends or colleagues as a whole file. So when the person on the receiving end opens the attachment, it opens in ListSketcher and he/she can save it in their mobile’s database and edit it accordingly. By this way it saves more time and keeps them engaged.

    This app was developed to take part in the Google AdMob Student Challenge 2014.

    Runners

    Play Store: https://play.google.com/store/apps/details?id=com.shwavan.listsketcher
    Github: https://github.com/gangeshwark/listsketcher

    DOS Utility - 12th standard project

    Completed

    Disk Operation System utility provides the maintenance of files and directories. In the directory services the following operations are performed.

    • 1.Directory services
    • 2.File services

    About the project:
    In this project the main menu is divided into two services: first one is the directory services and the second one is the file services. The item from the main menu can be selected by pressing either the enter key or the hotkey which is represented by the bold character.

    This project uses the library dos.h which defines various constants and gives declarations needed for DOS and 8086-specific calls. The union REGS available in the dos.h header file is used to pass information to and from the functions int86() and intdos().

    I built this program single-handedly for my 12th standard CBSE Final Examination Project.
    Honoured as "The Best Student Project" By Kendriya Vidyalaya.

    Mini Projects (Total 4)

    Augtionary - Augmented Dictionary


    Dictionary using Computer Vision.

    1. The User takes a pic from the book using the app.
    2. The app recognizes the words in the pic.
    3. The user is given the option to select the word for which he wants the meaning.
    4. The app makes API calls to the server and gets the meaning of the word.

    ACT TV Android Application

    Completed

    An Android app developed for a Fibrenet Company, ACT TV as a part of their competition(Actapult)
    This app was developed to facilitate online auditing for the Engineers working.

    Winner

    GitHub: https://github.com/gangeshwark/ACTTVActapultApp

    MOOC Catalog

    Completed

    An Android app that fetches Udacity courses data using Udacity APIs and displays the data to the users.
    This project was part of the Online Course "Developing Android Apps" by Udacity.
    The Course was sponsored by Google as a part of Android Student Club Initiative in Jan'15.
    Though I knew Android development before taking this course, it was a good learning experience.

    GitHub: https://github.com/gangeshwark/MOOCCatalog

    VTU Results Parser

    Completed

    Checks results from VTU Results page for announcement of results.
    Developed this because frequently checking results was a tedious process since the servers respond very slow.
    GitHub: https://github.com/gangeshwark/VTUParser

    Publications

    Achievements

    Winners at ACTapult Mobile App Development Challenge


    Honoured as The Best Team at Societe Generale GSC FinTech Hackathon


    Runners at Hackadroid(Google Fit API Hackathon)


    Consolation Prize at Google AdMob Challenge


    Best Student Project


    Best Technology User


    First Prize at ThinkQuest School level competition


    The Winner of Future Space Scientist Program


    Finalist in Student Web Pages Contest by ThinkQuest(Oracle)


    State Champion at Abacus & Brain Gym Competition


    Talks

    Talk on Artificial Intelligence and Machine Learning


    Android Workshop


    Get started with Java


    Events - Organized

    HackBIT - Hackathon


    Getting Started with Android - Workshop


    Getting Started with Java - Workshop


    Google Cloud Platform Seminar - GDG Bangalore