Marc Von Wyl, Developer in Dijon, France
Marc is available for hire
Hire Marc

Marc Von Wyl

Verified Expert  in Engineering

Machine Learning Engineer and Developer

Dijon, France
Toptal Member Since
May 16, 2022

Marc is a data scientist specializing in natural language processing, with experience in academia and industry, from applied research to productionization and monitoring ML models. He worked on various problems, including extracting insight from large quantities of data, language-specific problematics, and using customers' implicit feedback to train ML models. Marc also teaches introduction to natural language processing as a master-level course at EPITA, an engineering school in Paris, France.


GPT, Natural Language Processing (NLP)...
C++, Python 3, Google Cloud, Linux, Ubuntu, Pandas, NumPy, Scikit-learn...
Python 3, Scikit-learn, PyTorch, Machine Learning, GPT...




Preferred Environment

Linux, Ubuntu, Google Cloud, Python 3, PyTorch, Scikit-learn, SpaCy, Jupyter, Hugging Face Transformers

The most amazing...

...project I've helped develop is a narrative monitoring system capable of summarizing online content and detecting sentiments towards a given topic.

Work Experience

External Teacher

2021 - PRESENT
  • Taught Introduction to Natural Language Processing 1 and 2, two modules of 14 hours each.
  • Covered an introduction to linguistics, traditional computational linguistics methods, modern machine learning, and deep learning methods.
  • Evaluated students through projects covering coding skills, data analysis, results analysis, and theoretical understanding.
Technologies: Natural Language Processing (NLP), Generative Pre-trained Transformers (GPT), GPT, Artificial Intelligence (AI), Computational Linguistics, Linguistics, Python 3, Python, BERT, Transformers, Hugging Face Transformers, Natural Language Toolkit (NLTK), Scikit-learn, NumPy, Pandas, University Teaching, Search, Sentiment Analysis, fastText, Recurrent Neural Networks (RNNs), Neural Networks, Deep Learning, Languages, Language Models

Senior Machine Learning Engineer

2020 - PRESENT
  • Improved our decompounding system significantly by implementing a weekly supervised lexicon generator. Wrote a blog post on the topic that can be read at
  • Enhanced the AI synonyms suggestion system using deep learning technologies.
  • Increased the reach of our dynamic re-ranking product by propagating user signals across similar queries.
  • Added support for several writing systems, mainly alphasyllabaries, and helped on language-specific issues across several of Algolia's features.
  • Took over and improved Algolia's query categorization of the AI feature currently in beta.
  • Organized a natural language processing reading group for junior colleagues and an AI guild for ML and NLP practitioners within the company.
Technologies: C++, Python 3, Google Cloud, Linux, Ubuntu, Pandas, NumPy, Scikit-learn, PyTorch, Computational Linguistics, GPT, Natural Language Processing (NLP), Generative Pre-trained Transformers (GPT), Languages, Linguistics, Software Engineering, Cloud Infrastructure, Machine Learning, Deep Learning, Information Retrieval, Search, fastText, Transformers, Go, Data Mining, Data Science, Python, Continuous Integration (CI), Continuous Delivery (CD)

NLP Engineer | Lead NLP Engineer

2019 - 2019
  • Started as an NLP engineer and was promoted to the lead NLP engineer, managing a team of five data scientists and supervising internships and a master thesis.
  • Contributed to the first version of our narrative monitoring system.
  • Redesigned our narrative building system by evaluating and comparing clustering algorithms combined with state-of-the-art sentence embeddings.
  • Used text summarization and keyphrase extraction to extract key topics within given narratives.
  • Developed and iterated on several versions of our stance detection model, which could tell what the sentiment of a given piece of text or narrative on a given topic was.
Technologies: Python 3, Scikit-learn, PyTorch, Machine Learning, GPT, Natural Language Processing (NLP), Generative Pre-trained Transformers (GPT), Artificial Intelligence (AI), Computational Linguistics, Text Processing, NumPy, Pandas, TensorFlow, Deep Learning, Sentiment Analysis, Clustering, Natural Language Toolkit (NLTK), Data Mining, Hugging Face Transformers, Data Science, Python

Speech Research Engineer

2012 - 2016
Autonomy HPE
  • Took over the language modeling part of our speech-to-text system.
  • Maintained and automatized the language modeling training pipeline, which covered up to 50 languages.
  • Started updating our n-grams language models to RNNs.
Technologies: C++, Computational Linguistics, Linux, Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP), GPT, Speech to Text, Machine Learning, Language Models

Research and Teaching Assistant

2009 - 2012
University of Geneva
  • Developed a multimodal search engine using text and image-based features. The features' weights would iteratively change, responding to users' feedback as they wander inside a collection.
  • Wrote and published a research article, "A Parallel Cross-Modal Search Engine over Large-Scale Multimedia Collections with Interactive Relevance Feedback." in ICMR (ACM) in April 2011 with Hisham Mohamed, Eric Bruno, and Stephane Marchand-Maillet.
  • Taught classes about introduction to data structures, data analysis, pattern recognition, and applied cybernetics.
Technologies: C++, MATLAB, Image Processing, Text Processing, Information Retrieval, Machine Learning, GPT, Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP)

Multilingual Search: Decompounding with Language-specific Lexicons
Decompounding is the act of cutting a compound word into its meaningful parts. In many languages, compounding is used profusely to generate new words. A German user looking for a "Hundehütte" (dog house) would like to get the same results as if they had entered "Hütte für meine Hund" (house for my dog). Most eCommerce search is keyword-based; once we remove the stop words für (for) and meine (my), breaking the compound Hundehütte into Hunde + hütte should provide similar results as querying Hütte für Hund.

In search, time is critical. We can't use complex machine learning-based methods at query time. I investigated the problem and discovered that simply using the longest match decompounding with a lexicon can give tremendous results, as long as the lexicon is of quality.

To build language-specific lexicons, I used a mix of machine learning, part-of-speech tagging, word probabilities, and linguistics knowledge. The result is a system that can create these lexicons with little supervision, using
• a part-of-speech tagger in the given language (several libraries cover up to a hundred languages),
• a large quantity of unlabelled data, and
• knowledge of the linking morphemes used in the given language, usually a small number.

Narrative Monitoring

I was one of the main contributors to a narrative monitoring system. What we call narratives here are sub-stories around a given topic. Our system goes through a large quantity of text coming from different media, such as news, blogs, or Twitter, around a given topic. It then extracts the interesting bits, clusters them into narratives, and analyses and monitors the public's sentiment towards our topic within these narratives (stance detection). This system could monitor a given brand, product, or news, revealing the emerging narratives and public opinion.

I worked first on the cluster summarization part, finding key phrases to summarize our clusters. I also improved the clustering by using the latest research in sentence embeddings and comparing several clustering algorithms. Finally, I worked extensively on our stance detection model, which went through several iterations, starting with a pure linguistics approach before using the latest deep learning models.


Natural Language Processing (NLP), Machine Learning, Computational Linguistics, Text Processing, Data Mining, BERT, GPT, Generative Pre-trained Transformers (GPT), Linguistics, Software Engineering, IT Project Management, Artificial Intelligence (AI), Pattern Recognition, Information Retrieval, Deep Learning, Languages, Search, Language Models, Neural Networks, Sentiment Analysis, Transformers, fastText, Image Processing, Multimedia Processing, Probability Theory, Calculus, Linear Algebra, Robotics, Speech to Text, Cloud Infrastructure, Computer Vision, Sequence Models, Recurrent Neural Networks (RNNs), Clustering, Hugging Face Transformers, University Teaching


Python 3, Python, C++, R, C++17, Go


Scikit-learn, NumPy, Pandas, Natural Language Toolkit (NLTK), PyTorch, TensorFlow, SpaCy


Jupyter, PyCharm, MATLAB


Data Science, Continuous Integration (CI), Continuous Delivery (CD)


Linux, Ubuntu, Visual Studio Code (VS Code)


Google Cloud

2007 - 2009

Master's Degree in Computer Science

University of Geneva - Geneva, Switzerland

2004 - 2007

Bachelor's Degree in Computer Science

University of Geneva - Geneva, Switzerland

2000 - 2003

Bachelor's Degree in Computer Science

University of Applied Sciences and Arts of Western Switzerland - Geneva, Switzerland


Natural Language Processing



Deep Learning Specialization


Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.


Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring