Our client

Extracting information from customer requests

Given a free form vet appointment reason we extract symptoms, diseases and requested services.

Input:A short text giving the appointment reason
Output:    Any symptoms, diseases or required vet services that can be inferred from the text
Goal:Extract structured data from appointment reasons

Starting Point

Our client, felmo, offers vet appointments at home for cats and dogs across Germany. In order to book an appointment  online, customers can input a short text as an appointment reason. 

The goal of the project was to extract all symptoms, diseases and requested services from the appointment reasons.

To help train our model, felmo provided us with a dataset of thousands of appointments and their appointment reasons, each labeled with up to 10 symptoms, diseases or services which veterinarians had inferred from the text beforehand.

Challenges

One of the most challenging aspects was that there were more than 500 symptoms, diseases and services to be distinguished and many symptoms had only subtle differences.

Another challenging aspect was the variation in style of writing. Most users gave a list of symptoms they observed. Some also provided speculations on what might be the underlying cause or also listed which symptoms of which they were certain their pet doesn’t have. Others wrote whole sentences describing their pets behavior over the last couple of days.

Solution

As a first step we wrote a simple algorithm which was able to find exact or almost exact (to account for typos) matches of the symptoms, services and diseases. This already worked pretty well when users provided a list of single words or short expressions.

To be able to handle speculations, negations and more descriptive sentences we used a pre-trained language model (a model trained on a large publicly available dataset to get some general language understanding), which we then fine-tuned on felmo’s data. We also worked together with felmo to improve the dataset, which ultimately led to an improvement in the models predictions.

This new model had as good accuracy on the list-like user inputs as our initial algorithm, but was now also able to recognize negations or infer symptoms from longer descriptions.

In the month-long proof of concept project we were able to:

  • show that a deep neural network could outperform algorithms using regular expressions on this task

  • already present a model which was delivering production-ready results

Now being able to extract the essential information from the appointment reasons, felmo can combine this with their experience and expertise to improve their processes saving their vets precious time!

Wolf Winkler

Principal Consultant - AI, Automation and Digital Innovation

wolf.winkler@dida.do

Get quarterly AI news

Receive news about Machine Learning and news around dida.

Successfully signed up.

Valid email address required.

Email already signed up.

Something went wrong. Please try again.

By clicking "Sign up" you agree to our privacy policy.

dida Logo