id photo

Laurie Lugrin

R&D engineer with an interest in Machine Learning.

laurie.lugrin@gmail.com
London, UK

cv (pdf)

Skills and interests

Machine Learning

Stats, times series, supervised and unsupervised learning, Bayesian programming, neural networks, convex optimisation
Python: NumPy, pandas, sklearn, pyMC3, TensorFlow

Natural Language Processing (NLP)

Named entity recognition, entity linking, word embeddings, ontologies, user modelling, information retrieval
Python: nltk, gensim, textblob

Data visualisation

Python: matplotlib, seaborn, bokeh for interactive visualisation

Data engineering

Databases: mySQL, neo4j graph database and Cypher query language, mongoDB, Clickhouse
Automation: Luigi for automating data pipelines
Cloud platform: AWS (EC2, s3, SNS, SES)

Programming and Computer Science

Algorithms and data structures
Formal verification
Python, jupyter notebooks, conda, pipenv
C++ (STL, boost, gtests), Scala (Spark), Octave/Matlab
Bash, jq, ack-grep
Markdown, LaTeX
IntelliJ, Eclipse, Sublime Text 3
Linux, git, github

Languages

Professional experience

Senior ML Software Engineer at SenseOn, London, UK Jan 2022 - Aug 2023 (1 year, 8 months)

SenseOn is a cyber-threat detection platform. As part of the ML team, I worked with security analysts to build several detectors of suspicious activity.

Code obfuscation

Detecting obfuscated Powershell scripts. I combined a regex approach to cover simple obfuscations, and trained an LSTM on a publicly-available labelled dataset to cover more advanced obfuscation techniques, resulting in an F2-score of 87%.

Unexpected activity

Detecting logons at unusual times. I built a classifier to identify interactive programs, then found the most likely work pattern using convolutions.

Malware beaconing

I implemented a tool to detect suspicious programs that attempt network connections at semi-regular intervals.

Engineering

Improvements to the backend, CI/CD and ways of working.

Senior Data Scientist at The Very Group, London, UK Nov 2017 - Oct 2021 (4 years)

The Very Group is the second largest online retailer in the UK. I led many projects, from discovery to productionisation.

Type-ahead search

Search auto-complete suggestions based on frequent searches, using equivalence classes to remove pluralisation and word-split duplicates, ensuring that we show relevant and diverse suggestions to the customer. Words that do not appear in any product description were flagged as potentially inappropriate and eliminated.

Customer feedback analysis

Customer feedback analysis using topic modelling and phrase modelling. The results were made of time series, word clouds and representative customer comments. This tool provided insight quickly on all 8 kinds of customer surveys so that we can take actions before the text classification is trained and deployed.

Search-term classification

Search-term classifier using an LSTM neural network with word embeddings. The output provided insight on the customer demand to the trading team.

Carrier optimisation

Delivery cost model that includes the risk of loss/damage and customer dissatisfaction so that we can choose the most cost-effective carrier service for each delivery.

Stock management

Real-time anomaly detection system in demand time-series so that we can order more stock sooner.

Misc

Advisory role in various NLP projects, including the chatbot evaluation, text classification and sentiment analysis of customer surveys.

Advocated for the creation of a data science environment for development and productionisation. Helped with the requirements, decisions, and adoption.

Organising and speaking at internal knowledge-share sessions.

Mentoring junior data scientists.

R&D NLP engineer at idio, London, UK Jan 2015 - Oct 2017 (3 years)

idio helps brands have a marketing strategy driven by data. We analyse online content and customer journeys through the website to serve relevant content that will maximise engagement and conversion. As part of the research team, I worked on the core semantic text analysis.

NERD engine

Ontology

Pipeline automation

Risk software engineer at RenaissanceRe, Dublin, Ireland Jan 2012 - Dec 2013 (2 years)

RenaissanceRe is a re-insurance company with a large volume of contracts signed daily. As part of the backend team, I made sure the analysts had the best tools to understand and quote their deals.

Rewrote the insurance risk-estimation software

This software uses Monte-Carlo methods to determine the amount of money the client is entitled to claim, given the damage sustained and the contract terms.

Built a human-error simulation software

This software predicts the damage that clients would undergo in different scenarios, such as natural catastrophes or human errors.

C++, Python (NumPy), Eclipse, PyCharm, Mercurial

Software engineer at Moody's analytics, Montbonnot, France June - August 2011

Developed a rule-based system that determines the safety-net threshold for bank loans according to regulations.

C++, PL/SQL, Visual studio, Perforce, Agile development (SCRUM)

Research assistant and part-time teacher
at Verimag Lab and Joseph Fourier University, Grenoble, France Oct 2009 - Dec 2010 (1 year)

Designed a method for comparing energy consumption models of wireless sensor networks. Performed a case-study using the data sheet of the embedded radio device CC1100 to confirm the performance and capabilities of my implementation. Gave many presentations of my work in English as well as in French.

Python, C, Unix shell, Latex, Emacs, Git

Taught 90 hours of tutorials and practical labs: C programming, algorithms, formal languages, automata theory.

Computer Science tutor at Joseph Fourier University, Grenoble, France 2008 - 2009 (~60h)

Taught 1st and 2nd-year university students in groups and individually, alongside my studies.

Research intern at the University of Toronto, Canada May - Sept 2008

Studied temporal logics and model-checking theory prior to the internship.

Contributed to a software model-checker that builds a simplified symbolic model of the software and proves properties expressed in mu-calculus.

My team proposed an alternative semantics for mu-calculus, which is more precise than the standard semantics, i.e. it can prove properties true or false in more cases; and it allows symbolic models to be smaller.
I implemented the new semantics in the model-checker and conducted experiments to assess the benefits.

Java, Python, Emacs, SVN

Intern at Grenoble Informatics Laboratory, Grenoble, France Summer 2006

Contributed to an intelligent tutoring system for medical surgeons. Modelled in UML. Implemented a database. Designed a website.

SQL, UML, XHTML, CSS2

Projects

Aug 2013

Took part in a contest organised by brilliant.org where participants had to write bots that fight and/or cooperate to survive in a game theory setting, similar to an iterated prisoner's dilemma. My bot was one of the 45 survivors amongst the 440 participants.

Python, Pycharm, Git

Oct 2010 - Feb 2011

Designed a hardware-based frogger game. Conducted a requirement analysis, wrote a prototype, implemented on FPGA.

C, SDL graphics/sound, VHDL, Git

Late 2008

Developed an IRC bot which makes rhymes and funny remarks interacting with the discussion. It was occasionally mistaken for a human.

Python, Bazaar, IRC protocol

Feb 2008

Designed and implemented a compiler for a functional language with process parallelism.

Java, C

May - June 2007

Designed and implemented the puzzle game Blokus, including an AI with configurable strengths.

Summer 2007

Developed a multi-player snake game.

Python, Pygame, Emacs, Bazaar

2006

Wrote a tool that parses lyrics with chord annotations and suggests ways to transpose the song, making it easier to play with a guitar.

C, Emacs

Education

2014

Data Analysis and Statistical Inference, Duke University
on coursera (certificate)

Machine Learning, Stanford University
on coursera (certificate)

R programming, Johns Hopkins University
on coursera (certificate)

Game Theory, Stanford University and The University of British Columbia
on coursera (certificate)
Zero-sum games, prisoners dilemma, repeated games, Bayesian games, coalitional games.

2009

M.Sc. on Computer Science, minor on Artificial Intelligence and Web, with high honours
Joseph Fourier University, Grenoble, France.
Coursework included Machine Learning, Information Retrieval, Knowledge Representation and Inference, Semantic Web, Operations Research.

Magistère on Computer Science, with high honours
Magistère is an excellence course offered to the top 10% students. It includes extra classes and a research internship.
Joseph Fourier University, Grenoble, France.

2007

B.Sc. on Computer Science, with high honours
Joseph Fourier University, Grenoble, France.

Hobbies