Het scannen en analyseren van duizenden menukaarten in een gegeven geografisch gebied is een enorm vervelende taak. Je rijdt naar een concurrerend restaurant, legt de menukaart op de gevoelige plaat, rijdt terug, voert handmatig alle gegevens op de menukaart in een spreadsheet en structureert deze, bouwt een database, en dan eindelijk kan je de gegevens volledig benutten. Dit doe je vervolgens honderden of duizenden keren en dan pas heb je data die daadwerkelijk nuttig is. De kostbare uren die je in dit proces moet steken voordat je bruikbare data hebt zijn niet efficiënt en al helemaal niet goedkoop.
Dit vraagt om een andere aanpak. Gezien we in technologisch verheven tijden leven, zou er toch een manier moeten zijn om dit werk door een computer te laten doen, toch? Klopt! In dit blog, zullen we uitleggen hoe je het scannen en verwerken van menukaarten kunt automatiseren met gebruik van Optical Character Recognition (OCR) en Machine Learning (ML).
Hoe werd het voorheen gedaan?
Om een helder en scherp beeld te krijgen van wat de concurrentie in jouw marktsegment doen, zul je op consistente basis moeten analyseren welke prijzen zij hanteren, welke nieuwe gerechten ze bieden of andere informatie die jouw kansen vergroot. Het verzamelen van data over je concurrenten en andere restaurants in je buurt zou de volgende stappen behelzen:
- Je neemt een foto van een menukaart. Deze foto is vaak haastig of in te weinig omgevingslicht genomen.
- De data op de foto typ je handmatig over in een spreadsheet, inclusief eigenschappen als de naam en het adres van het restaurant.
- De spreadsheet wordt vervolgens wederom handmatig in een database met meerdere restaurants verwerkt.
- In deze database vergelijk je tot slot data waarmee je conclusies over je eigen concept kunt trekken.
Als je de concurrentie altijd een stapje voor wil zijn, zul je deze stappen op regelmatige basis moeten uitvoeren. Dit vermoeiende process begint iedere maand, of soms zelfs iedere week, opnieuw. Dat maakt het zo’n prijzige en tijdrovende onderneming. Door het hoge volume en de strenge regelmaat zul je een behoorlijk team medewerkers nodig hebben, welke je mogelijk verleiden tot backoffice outsourcing naar lagelonenlanden. Dat zou begrijpelijk zijn, al is er een andere oplossing.
Hoe zou het gedaan moeten worden?
De beste manier om het proces te vereenvoudigen is om het te automatiseren. Je zult nog steeds zelf een foto of andere vorm van beeld van de menukaart moeten nemen, maar daar houd je eigen inspanning in principe op. Een AI neemt het proces van daar over. Jij brengt de input, de AI verzorgt de output. De volgende stappen worden daarvoor genomen:
- Je upload een foto of PDF van een menukaart.
- De foto wordt automatisch verhelderd en gecorrigeerd.
- Het beeld wordt vervolgens met behulp van OCR gelezen in omgezet in raw text.
- Deze text wordt omgezet in een format die gecontextualiseerd en gecategoriseerd wordt door machine learning-algoritmes.
- Je ontvangt de output, welke je in data management software kan gebruiken of automatisch in onderzoeksplannen worden gebruikt.
Dit proces is volautomatisch, accuraat, snel en vooral modern. De API wordt ondersteund door een AI die getraind is met praktische testvoorbeelden en die over tijd blijft bijleren. Hierdoor houdt je alles in eigen hand, zonder afhankelijk te zijn van foutgevoelige handmatige verwerkingsprocessen.
Wat is OCR op menukaarten?
OCR voor menukaarten gaat helemaal over het automatisch scannen van eindeloos veel menukaarten door foto’s of scans te uploaden naar een API en deze menu’s uiteindelijk gedigitaliseerd en verwerkt te hebben naar bruikbare data. We hebben nu gezien hoe het gedaan werd en hoe het gedaan zou moeten worden. Laten we nu eens kijken wat de stappen met een OCR API zijn:
- Je upload een foto van een menukaart naar de API.
- De API scant de foto en verheldert de inhoud ervan met blur and glare detection en corrigeert deze.
- Het beeld wordt vervolgens gelezen met behulp van OCR and verwerkt in een raw TXT-bestand.
- Dit TXT-bestand wordt geconverteerd naar een JSON output, waarin de data gecontextualiseerd en gecategoriseerd kan worden.
- Je ontvangt het JSON bestand. Deze kun je automatisch toepassen in DMS software en kan eenvoudig naar onderzoeksplannen worden overgezet.
De JSON output is automatisch gestructureerd in vooraf ingestelde data presets, waardoor alle data op de menukaart naar hartelief georganiseerd kan worden. Dat betekent dat je niet ieder items in een aparte cel op een spreadsheet hoeft te slepen.
Waarvoor kun je OCR op menukaarten gebruiken?
De data die je uit het OCR-proces haalt kun je voor je eigen specifieke doeleinden gebruiken. Het is uitstekend bruikbaar voor het volgende:
Marktonderzoek
Je kunt snel contextualiseren wat restaurants en bars binnen een specifieke doelgroep bieden voor een bepaalde prijs en hoe dat zou kunnen veranderen over tijd. Het kan voor verkennende, beschrijvende of andere simpele bedoeling gedaan worden, en het doel kan zijn om een business strategie, concurrentie of simpelweg onderzoek zijn.
Concurrentieanalyse
Het vormen van een accuraat en volledig beeld van menu items, pricing of veranderingen en aanbiedingen van directe concurrenten is van belang wanneer je altijd een stapje voor de concurrent wil blijven.
Geografische prijsanalyse
Door een gebied of regio te specificeren kun je de dataset gebruiken om een gemiddelde pricing in de buurt te bepalen zodat je daar altijd onder, of misschien wel boven kunt zitten. Zo ben je altijd on par met de prijzen in de buurt.
Op grote schaal digitaliseren van menukaarten
Afgezien van onderzoek, kun je ook de OCR API gebruiken om fysieke menukaarten massaal te digitaliseren voor online gebruik. Het automatisch parsen en structureren van de menukaarten kan vooral het onboarding-proces van restaurants vereenvoudigen wanneer je dit wil doen voor een maaltijdbezorgingsplatform.
Wat is de technologie achter OCR op menukaarten?
In het proces omtrent OCR op menukaarten wordt er met elke genomen stap een stukje technologie in beweging gezet. Het is deze samenwerking tussen verschillende types software die het proces automatiseren en het ook zo effectief maakt. Hier volgt een overzicht van deze verschillende stukjes software en de stappen die genomen worden:
- Een eenvoudig te gebruiken GUI (Graphical User Interface) geeft je toegang tot de camera in de app, die je in staat stelt een genomen foto onmiddellijk te uploaden of te converteren naar PDF. Waar nodig wordt het beeld automatisch gecorrigeerd op perspectief en wordt blur- and glare detection toegepast.
- De API (Application Programming Interface) neemt het vanaf hier over. Dit is het stukje software die schakelt tussen de backend, waar al het werk gedaan wordt, en de frontend, welke wordt gepresenteerd in de GUI. De API koppelt de upload naar het getrainde neural network die vaststelt welke characters en data op het beeld staan.
- Optical Character Recognition (OCR) wordt gebruikt om vast te stellen welke pixels op een foto daadwerkelijk leesbare tekst representeren. Elke vorm van tekst die leesbaar is op een foto wordt geëxtraheerd naar een simpel, digitaal TXT-format. De foto is nu omgezet naar digitale data.
- De brains achter dit process is een neuraal netwerk in de vorm van een AI (artificiële intelligentie), die niet alleen getraind is op het identificeren van tekst op beeld, maar ook op het maken van een redelijke inschatting van de context van tekst. Als een menukaart een specifieke layout met meerdere subsecties heeft, dan kan de AI automatisch vaststellen welk item bij welke subsectie hoort en welke prijs eraan gekoppeld is. Deze vorm van deep learning maakt OCR voor menukaarten veel meer dan alleen beeld in tekst veranderen.
- De ‘contextualiserende’ kwaliteiten van het neurale netwerk worden toegepast om een JSON-data format te vormen. JSON is een erg bruikbaar format voor data contextualisatie en kan automatisch datapunten groeperen en koppelen. Dit kan zowel met data-invoer uit een bestaande database als simpelweg met losse data. Dit maakt JSON ideaal voor alle soorten onderzoeksdoeleinden.
Hoewel dit proces misschien vrij ingewikkeld en moeizaam klinkt, is het binnen enkele seconden gepiept. Het enige dat de gebruiker ziet is de GUI, waarin een foto geupload wordt en binnen een momentje de JSON-output verschijnt. Dit proces kan dan ook massaal herhaald worden om je onderzoekscapaciteit stevig te vergroten dan een handmatige aanpak zou kunnen.
Use case voor OCR op menukaarten
Voor wie is OCR op menukaarten precies gericht? Wie heeft er maximaal voordeel aan? Je zult merken dat de mogelijkheden van de resulterende data nagenoeg eindeloos zijn. Hierbij geven we alvast drie use cases die je kunnen helpen bepalen of het ook voor jou geschikt is:
Restaurants
Het is voor grote ketenrestaurants belangrijk om de lokale concurrentie in de smiezen te houden. Dit is vooral het geval wanneer je een format hanteert dat in de kern competitief is en daardoor veel concurrentie in de buurt heeft. Of je nu markt aanvliegt op basis van pricing, originaliteit, variëteit, of ieder ander competitief doeleinde dat een kennis van de menukaart vereist, een continu inzicht in wat de concurrentie doet is van uiterste noodzaak. Het zal je net dat beetje extra geven over je concurrent.
De beste manier is om maandelijks een foto van een nabije, concurrerende menukaart te nemen. Als je de foto meteen via de app maakt, wordt de afbeelding direct geupload en verwerkt. Je zou bijvoorbeeld maandelijks duizend menukaarten in een groot stedelijk gebied moeten verwerken en de data daarvan snel beschikbaar en up to date moeten hebben. Elke keer als een medewerker een foto uploadt wordt het binnen enkele seconden naar JSON data geconverteerd. Je database kan zo op ieder gewenst moment geüpdatet worden. Hierdoor kun je altijd zorgen dat je bijvoorbeeld de voordeligste bent in de buurt of in het land, want je weet dat het klopt.
Marktonderzoeksbureau
Als je de restaurantindustrie wil dienen met accurate data, heb je een effectieve manier van dataverzamelen nodig. Of het nu om een simpele SWOT-analyse gaat of menu-optimalisatie voor een restaurant, je moet je klanten accuraat en snel advies kunnen geven die gebaseerd is op gedegen onderzoek. Uiteraard heb je dan werknemers die handmatig alle data kunnen verzamelen, of heb je besloten dit backoffice werk aan een lagelonenland uit te besteden. Maar ja, data verzamelen is toch eigenlijk meer de taak van een computer, niet waar?
Met een API die dit werk overneemt heb je een meer kosteneffectieve aanpak, ben je ten volste accuraat en gaat het proces veel sneller. Het transformeren van een menukaart naar een bruikbare, gesegmenteerde dataset met behulp van OCR op menukaarten neemt slechts enkele seconden in beslag. Een werknemer doet daar per definitie vele malen langer over om deze data handmatig in gesegmenteerde spreadsheets in te voeren.
Bezorgplatforms
Vooral in de tijden van COVID-19 is de dominantie van bezorgplatforms sterk gegroeid. Als je wil concurreren in deze veelal verzadigde markt, dan heb je duidelijk een eenvoudige manier van onboarding nodig. Het is echter net zo belangrijk om je platform up to date te houden. Om hierin gedegen concurrentie te bieden, zul je de bezorging van honderden of duizenden restaurants en bars moeten aanbieden, wiens menukaarten met behoorlijke regelmaat verandert. Je moet dus snel veel menukaarten kunnen verwerken zodat je geen achterhaalde informatie op je platform presenteert.
Een snelle en eenvoudige oplossing is om deelnemende restaurants direct foto’s van nieuwe menukaarten te laten nemen en deze automatisch te laten uploaden naar onze API. Met OCR op menukaarten wordt elke menukaart gescand en gelezen, en wordt alle relevante data naar een JSON-format geëxtraheerd. Dit format zorgt ervoor dat je snel en automatisch een aangeboden menu op je platform kunt updaten. Het is een uitstekende manier om alle deelnemende restaurants, en natuurlijk je klanten, blij te houden.
Veelgestelde vragen (FAQ)
Werkt het op alle menukaarten?
Aangezien nagenoeg alle menukaarten een vergelijkbaar format hanteren, kan onze OCR API alle informatie op een menukaart vaststellen en deze naar een JSON-format transfereren. Hierbij kun je denken aan een verdeling naar bijvoorbeeld aperitief, hoofdgerecht, dessert, enzovoort; dit kan ook voor vegetarische of veganistische verdelingen of prijscategorieen. Het is allemaal mogelijk.
Werkt het ook met foto’s van lage kwaliteit?
Vooral wanneer je in alle haast snel een foto neemt van een menukaart als je toch voorbij het concurrerende restaurant komt, zal je aan kwaliteit van de foto inboeten. Daar kom je dan ook vaak achteraf pas achter. Gelukkig bevat onze API voorbewerkingsmogelijkheden die foto’s van lage kwaliteit kan verbeteren en roteren zodat het beeld alsnog goed verwerkt kan worden.
Daarnaast biedt Klippa een scannende SDK aan die kan worden geïmplementeerd in mobiele apps. Deze SDK biedt beeldbewerkingsmogelijkheden als perspectiefcorrectie en wazigheids- en schitteringsdetectie zodat de inhoud van foto’s verduidelijkt kan worden. Op deze manier zul je alleen foto’s ontvangen die bruikbare informatie bevatten.
Met welke talen werkt het?
De API van Klippa werkt het beste met alle westerse talen, dus veelgebruikte talen zijn Engels, Nederlands, Duits, Frans, Spaans, Portugees, Zweeds, Noors, Deens, Fins en Italiaans. Iedere andere taal kan op verzoek hieraan worden toegevoegd.
Plan een meeting met Klippa
Zou je onze API graag in actie zien of zou je eerst wat meer technische informatie willen hebben? Onze experts helpen je door al onze oplossingen heen in een 30 minuten durende demonstratie. Je kunt hieronder een tijdstip inplannen voor zo’n demo. We passen onze producten graag aan, dus ook al heb je een erg specifiek verzoek, wees vooral vrij om contact met ons op te nemen.