---
title: AI-gebaseerde databasebeeldclassificatie met Altova MapForce
date: 2023-07-31
categories:
  - data-integration
  - database-mapping
  - tools
tags:
  - ai
  - artificial-intelligence
  - data-mapping
  - database-mapping
  - mapforce
description: Data-integratie op basis van kunstmatige intelligentie (AI) met MapForce kan de generatie en het invoegen van AI-gegenereerde tags in een database volledig automatiseren en op een schaalbare manier uitvoeren.
---
Status: #blog

Tags:  #ai #artificial-intelligence #data-mapping #database-mapping #mapforce

Categories: [data-integration](/blog/nl/category/data-integration.md) | [data-integration](/blog/nl/category/data-integration.md) 
# AI-gebaseerde databasebeeldclassificatie met Altova MapForce

Een van de meest voorkomende voorbeelden van kunstmatige intelligentie in ons dagelijks leven is gezichtsherkenning. Gezichtsherkenning is het proces waarbij een persoon wordt geïdentificeerd of geverifieerd op basis van zijn of haar gezicht. Gezichtsherkenning wordt gebruikt in veel toepassingen, zoals het ontgrendelen van onze telefoons met FaceID, het taggen van onze vrienden op sociale mediaplatforms zoals Facebook, en het inchecken op luchthavens of hotels met biometrische scanners. Gezichtsherkenning kan ons leven gemakkelijker en veiliger maken, maar het kan ook vragen oproepen met betrekking tot privacy en ethiek. Bijvoorbeeld, hoe kunnen we ervoor zorgen dat onze gezichtsgegevens niet worden misbruikt of gestolen door hackers of kwaadwillende partijen? Hoe kunnen we voorkomen dat gezichtsherkenning wordt gebruikt voor surveillance of discriminatie? Hoe kunnen we garanderen dat gezichtsherkenning nauwkeurig en eerlijk is, en geen vooroordelen of fouten bevat?

De bovenstaande alinea is gegenereerd door [ChatGPT](https://www.bing.com/ck/a?!&&p=0ed506ef90d7a915JmltdHM9MTY4NzgyNDAwMCZpZ3VpZD0wNGJiZTc1My05OWRhLTY2YzAtMDRjNi1mNjAzOThiZDY3MTkmaW5zaWQ9NTI0Mg&ptn=3&hsh=3&fclid=04bbe753-99da-66c0-04c6-f60398bd6719&psq=chatgpt&u=a1aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2hhdEdQVA&ntb=1) als reactie op mijn verzoek om de voordelen en risico's van kunstmatige intelligentie te beschrijven, en daarbij een concreet voorbeeld te geven. Het is interessant dat ChatGPT voor FaceID heeft gekozen als voorbeeld, aangezien FaceID slechts één variant is van beeldanalyse, en AI-gestuurde beeldclassificatie het potentieel heeft om veel praktische taken te automatiseren.

Een veelvoorkomend gebruiksscenario is een productcatalogus, waarin een bedrijf productinformatie beheert die afkomstig is van verschillende fabrikanten. Een product dat in die database wordt opgeslagen, kan een naam hebben die niet noodzakelijkerwijs een precieze beschrijving van het artikel bevat. Zo is "wellington" een laars, "fedora" een hoed, een "monyke" is een fiets, en een "gele watermeloen-glansnaaldvis" is een kunstaas. We kunnen gebruikmaken van AI-gestuurde beeldclassificatie met behulp van de [Microsoft Azure Cognitive Services Computer Vision API](https://learn.microsoft.com/en-us/azure/cognitive-services/computer-vision/quickstarts-sdk/image-analysis-client-library?tabs=windows%2Cvisual-studio&pivots=programming-language-rest-api) om dit probleem aan te pakken. De Computer Vision Service neemt de beeldgegevens of een URL als input en retourneert informatie over de inhoud. Een van de services genereert beeldclassificatietags op basis van een trainingsset van herkenbare objecten, levende wezens, landschappen en acties waarop het Azure AI-systeem is getraind. Deze tags stellen ons in staat om de producten in de database dienovereenkomstig te categoriseren en kunnen zelfs overeenkomen met zoektermen die een gebruiker zou kunnen invoeren om producten in de catalogus te vinden.

![Een decoratieve afbeelding die een "hersenen" van een kunstmatige intelligentie voorstelt ](/blog/images/blog_MF_AI.jpg)

<!--more-->

We kunnen een AI-gebaseerde datamapping creëren met behulp van [Altova MapForce](https://www.altova.com/nl/mapforce) om productafbeeldingen naar de Computer Vision AI te sturen via de web service API. Altova MapForce is een bekroonde, grafische tool voor datamapping, geschikt voor elke vorm van dataomzetting en -integratie. De Computer Vision API gebruikt kunstmatige intelligentie om elke afbeelding te analyseren en een lijst met tags te retourneren. MapForce ondersteunt web services direct binnen de mapping, en de tags kunnen vervolgens worden ingevoegd in een specifiek veld in de database voor elk product, eventueel na tussenliggende verwerking of via een gekoppelde datamappingfunctie.

Deze AI-gebaseerde datamapping kan de generatie en toevoeging van door AI gegenereerde tags voor productcatalogi volledig automatiseren en schaalbaar maken. De door de AI gegenereerde tags worden geleverd met een betrouwbaarheidsscore, waardoor het eenvoudig is om een drempelwaarde in de mapping in te stellen, zodat alleen tags met een voldoende hoge betrouwbaarheid worden gebruikt.

We zijn begonnen met een kleine voorbeelddatabase van veelgebruikte producten voor recreatie in de open lucht en hebben [Altova DatabaseSpy](https://www.altova.com/nl/databasespy) gebruikt om een veld toe te voegen aan de tabel met producten voor AI-tags. DatabaseSpy maakt verbinding met alle belangrijke databases en vereenvoudigt het bewerken van SQL, het ontwerpen van de database structuur, het bewerken van de inhoud en het converteren van databases, en dat voor een fractie van de kosten van oplossingen die zich richten op slechts één database. Hieronder een voorbeeld van een DatabaseSpy-queryresultaatvenster, dat de database-inhoud en het nieuwe, lege veld weergeeft.

[![Voorbeelddatabase voor een productcatalogus](/blog/images/sample-database.png)](sample-database.png)

Hieronder, in willekeurige volgorde, ziet u kleine voorbeelden van de productafbeeldingen:

[![Afbeeldingen voor de productcatalogus, opgeslagen los van de database.](/blog/images/products.png)](products.png)

We hebben ook DatabaseSpy gebruikt om een eenvoudige SQL-query te valideren, waarmee we alleen de ID (die de primaire sleutel van de tabel is) en de bijbehorende bestandsnaam van de afbeelding konden ophalen.

[![Resultaat van de SQL-query voor de datamapping van de AI-gebaseerde database voor het classificeren van afbeeldingen](/blog/images/mapping-query-result.png)](mapping-query-result.png)

De SQL-query is de eerste invoer voor de AI-gebaseerde datamapping van MapForce, en bestaat uit drie hoofdcomponenten: het resultaat van de query, een verzoek aan de Azure Image Analysis API, en een SQL-script om de antwoorden van de API terug in de database op te slaan.

[![Overzicht van de volledige datamapping voor het classificeren van afbeeldingen met behulp van kunstmatige intelligentie](/blog/images/mapping1-1030x317.png)](mapping1.png)

Laten we de aanvraag die we naar de API van de kunstmatige intelligentie sturen, eens nader bekijken:

### Het resultaat van een SQL-query als invoerbron voor data-mapping

[![Invoergedeelte van de datamapping voor de AI-gebaseerde classificatie van databaseafbeeldingen](/blog/images/mapping-left-side-1.png)](mapping-left-side-1.png)

De "Select"-query genereert een tabel met gegevens, in feite een lijst van sleutelnummers en de bijbehorende bestandsnamen van afbeeldingen. De API accepteert echter alleen verzoeken voor één afbeelding tegelijk. Door het ID uit de query te koppelen aan het invoerveld bovenaan de API-component, genereren we een nieuw API-verzoek voor elk ID dat wordt geretourneerd, waarbij we door elke afbeelding in de lijst lopen. De andere verbindingslijn die vanaf het ID vertrekt en zich bevindt rechtsboven, zal later worden gebruikt om een SQL-update script te maken.

De ontwerper van de database-tabel heeft ervoor gekozen om naar de productafbeeldingen te verwijzen via bestandsnamen, in plaats van de binaire afbeeldingen als BLOB-objecten in de database op te slaan. De API voor kunstmatige intelligentie voor beeldanalyse kan ofwel ruwe beeldgegevens accepteren, of een URL naar een publiekelijk toegankelijke afbeelding. Daarom kunnen we eenvoudig de URL van de afbeelding aan de API doorgeven in ons verzoek. De functie "concat" die hierboven in het midden staat, voegt het pad toe om elke complete URL te construeren.

**Het uitvoeren van het verzoek aan de AI-webdienst**

Het centrale deel van de datamapping, gebaseerd op kunstmatige intelligentie, toont de web service functie die de API voor beeldanalyse met kunstmatige intelligentie aanroept, en de verdere verwerking van de resultaten die worden teruggegeven:

[![Webservicefunctionaliteit en nabewerking voor het data-mappingproces van de AI-gebaseerde databasebeeldclassificatie](/blog/images/mapping-center.png)](mapping-center.png)

Let op het envelop-icoon met de tekst "Body" aan zowel de "Verzoek"- als de "Antwoord"-kant van de web service functie. De API vereist een JSON-object als het "Body"-gedeelte van het verzoek en specificeert dat het antwoord een JSON-document zal zijn. De blauwe en rode knoppen naast de "Body"-icoontjes openen een dialoogvenster waarmee u de structuurdefinities voor het verzoek en het antwoord kunt invoeren.

[![Het definiëren van de structuur van de webdienst voor databasebeeldclassificatie die gebruik maakt van kunstmatige intelligentie](/blog/images/request-structure-dialog.png)](request-structure-dialog.png)

De reactie van de API voor kunstmatige intelligentie moet verder worden verwerkt. De tags worden geretourneerd als lijsten van JSON-objecten, en elke tag wordt vergezeld door een getal dat de nauwkeurigheid weergeeft als een percentage. Hieronder is een voorbeeld te zien. Dit is de reactie van de AI in het originele JSON-formaat voor de afbeelding van de paraplu:

[![Voorbeeld van een ongefilterde reactie van de webdienst voor databasebeeldclassificatie, die gebruik maakt van kunstmatige intelligentie](/blog/images/response-1.png)](response-1.png)

De hoofdfilter selecteert de antwoorden en accepteert alleen tags met een betrouwbaarheidsniveau van 88 procent of hoger. Vervolgens combineert de functie voor het samenvoegen van strings de tags tot een string met komma's ertussen. Let op: de tag "regen" toont hierboven een betrouwbaarheidsniveau van 42%.

En hier is de tekst die we willen toepassen op het hoofdproduct in de database, nadat we alleen de gewenste tags hebben geselecteerd:

[![Een reeks tags voor de database-update wordt verwerkt op basis van de bovenstaande reactie](/blog/images/response-2.png)](response-2.png)

### Het genereren van een SQL-update op basis van de antwoorden van de AI

Het rechterdeel van de AI-gebaseerde datamapping ontvangt elk verwerkt resultaat, correleert dit resultaat met de juiste database-ID en koppelt de reeks tags aan het veld "ai-tags" in de tabel "cat-products" van de database.

[![Het maken van een SQL-update statement om de datamapping voor de AI-gebaseerde database-imageclassificatie te voltooien](/blog/images/mapping-right-side.png)](mapping-right-side.png)

### Analyse van de resultaten van de data-mapping op basis van kunstmatige intelligentie

De knop "Voorbeeldresultaat" onder het hoofdvenster van MapForce stelt ons in staat om een voorbeeldresultaat te bekijken: deze voert de volledige datatransformatie uit, beginnend met de oorspronkelijke selectievraag, voert de API-aanvragen uit, verwerkt de resultaten van de kunstmatige intelligentie en genereert vervolgens SQL-update statements, waardoor een compleet SQL-updatescript wordt gegenereerd

[![Script voor het bijwerken van de database, gegenereerd door de AI-gebaseerde datamapping voor het classificeren van database-afbeeldingen](/blog/images/update-script.png)](update-script.png)

We kunnen de optie "SQL-script uitvoeren" in het hoofdmenu van MapForce gebruiken om het script uit te voeren en de database-updates interactief toe te passen. Of, we kunnen deze mapping nu implementeren op een [MapForce Server](https://www.altova.com/nl/mapforce-server)-instantie in ons netwerk, waar het op een geautomatiseerde manier kan worden uitgevoerd als onderdeel van een workflow voor het importeren van nieuwe producten in de catalogus. Met [FlowForce Server](https://www.altova.com/nl/flowforceserver) kunnen we triggers definiëren die automatisch de binnenkomende data verwerken, deze valideren, vervolgens de AI-gebaseerde beeldtagging uitvoeren en uiteindelijk de data in de productiedatabase plaatsen.

Voor dit voorbeeld hebben we bij het gebruik van de Microsoft Azure Cognitive Services Computer Vision API gebruik gemaakt van het standaard, vooraf getrainde visiemodel van Microsoft. Een aangepast visiemodel zou de resultaten van de tag-herkenning kunnen verfijnen voor specifieke toepassingen, maar dat valt buiten de scope van dit blogartikel.

[Klik hier voor meer informatie](https://www.altova.com/nl/mapforce) over de mogelijkheden voor data-mapping en -conversie tussen verschillende formaten die beschikbaar zijn in MapForce, of [klik hier om te downloaden](https://www.altova.com/nl/download-trial.html) een gratis, volledig functionele proefversie van 30 dagen, inclusief helpbestanden, tutorials en veel voorbeelden van data-mapping.

* * *
