Senior Deep Learning NLP Engineer with twenty plus years of experience as a Senior Software Engineer in the Financial Industry doing work for major Investment Banks. Primarily focused on developing high impact Machine Learning projects that drive business growth. Some of the projects include: Implementing sophisticated Deep Learning NLP models to detect, interpret, and classify high-risk language in legal contracts for different trading products. Designing and implementing high-performance financial trading systems and applications combining solutions of Artificial Intelligence, Deep Learning, and Natural Language Processing (NLP). Have a broad range and extensive experience in the areas of Electronic Trading and Fixed Income. Systems are taken to production in a timely manner. All development follows proper SDLC procedures, and all work put into production environments.
Senior Deep Learning NLP Engineer, Viacom
January 2020 – May 2020
• Developed a sophisticated Deep Learning NLP model that was able to predict the genre of a movie given the subtitles and a brief description of the film or tv episode. The model combined CNNs, LSTMs, and Attention Layers to perform multi-label predictions. The model was developed using Tensorflow 2.1.
• Developed a second version of the genre predictor model using BERT and compared it with the output of the above model. The model had similar performance compared to BERT with different metrics.
• Deployed the Deep Learning NLP BERT Model to production using Amazon AWS Sagemaker.
• Developed a third version the genre predictor using Logistic Regression and a TFIDF vectorizer.
• Wrote various Python scripts to source, extract, clean, and balance subtitle text data.
• Wrote a Python script to perform analysis on the genre distribution for 49000 films.
• Wrote a Python script to balance the dataset in regards to the different genre labels.
• Wrote a Python script to perform stratified sampling for the train/test data set split.
• Wrote a Python model to identify similar film genres based on word embedding vector similarity. The metrics used were cosine similarity and euclidean distance.
Senior Deep Learning NLP Engineer, Morgan Stanley
February 2018 – December 2019
• Developed a sophisticated Deep Learning NLP sequence prediction model to identify specific legal deal contract language regarding the event when the LIBOR index is phased out. The model was implemented as an Encoder-Decoder architecture utilizing multi-layered LSTMs with Attention Mechanism. The output was a sequence of labels that captured the core meaning of the legal text in regard to the LIBOR fallback language. This allowed traders to read the sequence of labels and make trading decisions by identifying trading opportunities or risky trades when the LIBOR index is phased-out. The model was successfully productionized.
• Developed a Deep Learning hybrid multi-layered LSTM model combined with a Convolutional Neural Network - CNN - that was able to detect and classify legal language concerning the event when the LIBOR index is phased out. The Model had a 97% accuracy in detecting the specific LIBOR fallback language.
• Developed a Deep Learning LSTM based AutoEncoder for unsupervised feature extraction that was used in the LIBOR fallback detection model. This allowed the model to generalize better and detect the legal language text more accurately.
• Developed Machine Learning pipelines for model evaluation, data transformation, and model productionization that allowed different models to be plugged in, evaluated, and productionized seamlessly.
• Developed a feed forward deep neural network in Python and Numpy to perform company name matching that allowed the trading application to identify client names from different sources that were written in a bad or unusual format.
• Developed a Python script to detect inconsistent labeled data. Detecting labeled data inconsistencies allowed for an increase in model performance and reduced training times by 50%.
• Developed a Python script to detect problematic model predictions. This script allowed for more efficient error analysis and allowed for the grouping of problematic predictions into distinct groups.