AI-modellen en platforms

Wat is NLP (Natural Language Processing)?

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

Natural Language Processing (NLP) is de studie en toepassing van technieken en tools die computers in staat stellen om menselijke taal te verwerken, te analyseren, te interpreteren en erover te redeneren. NLP is een interdisciplinair veld en combineert technieken die zijn vastgesteld in vakgebieden zoals taalkunde en informatica. Deze technieken worden gebruikt in combinatie met AI om chatbots en digitale assistenten zoals Google Assistant en Amazon’s Alexa te creëren.

Laten we wat tijd nemen om de rationale achter Natural Language Processing, enkele van de technieken die in NLP worden gebruikt en enkele veelvoorkomende use cases voor NLP te onderzoeken.

Waarom Natural Language Processing (NLP) ertoe doet

Om computers in staat te stellen menselijke taal te interpreteren, moeten ze worden omgezet in een vorm die een computer kan manipuleren. Dit is echter niet zo eenvoudig als het omzetten van tekstgegevens in nummers. Om betekenis te kunnen afleiden uit menselijke taal, moeten patronen worden geëxtraheerd uit de honderden of duizenden woorden die een tekstdocument vormen. Dit is geen eenvoudige taak. Er zijn weinig harde en snelle regels die kunnen worden toegepast op de interpretatie van menselijke taal. Bijvoorbeeld kan dezelfde set woorden verschillende dingen betekenen, afhankelijk van de context. Menselijke taal is een complexe en vaak dubbelzinnige zaak, en een verklaring kan worden geuit met oprechtheid of sarcasme.

Ondanks dit zijn er enkele algemene richtlijnen die kunnen worden gebruikt bij het interpreteren van woorden en tekens, zoals het karakter “s” dat wordt gebruikt om aan te geven dat een item meervoudig is. Deze algemene richtlijnen moeten worden gebruikt in combinatie met elkaar om betekenis te kunnen afleiden uit de tekst, om kenmerken te creëren die een machine learning-algoritme kan interpreteren.

Natural Language Processing omvat de toepassing van verschillende algoritmen die in staat zijn om ongestructureerde gegevens om te zetten in gestructureerde gegevens. Als deze algoritmen op de verkeerde manier worden toegepast, zal de computer vaak niet in staat zijn om de juiste betekenis af te leiden uit de tekst. Dit kan vaak worden gezien in de vertaling van tekst tussen talen, waarbij de precieze betekenis van de zin vaak verloren gaat. Terwijl machinevertaling de afgelopen jaren aanzienlijk is verbeterd, komen machinevertalingfouten nog steeds vaak voor.

Natural Language Processing (NLP) Technieken

Photo: Tamur via WikiMedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:ParseTree.svg)

Veel van de technieken die in natuurlijke taalverwerking worden gebruikt, kunnen in een van twee categorieën worden ondergebracht: syntaxis of semantiek. Syntaxis-technieken zijn die welke te maken hebben met de volgorde van woorden, terwijl semantische technieken de technieken zijn die te maken hebben met de betekenis van woorden.

Syntaxis NLP Technieken

Voorbeelden van syntaxis zijn:

  • Lemmatization
  • Morfologische segmentatie
  • Part-of-Speech Tagging
  • Parsing
  • Zinbreuk
  • Stemming
  • Woordscheiding

Lemmatization houdt in dat de verschillende vormen van een woord worden teruggebracht tot één vorm. Lemmatization neemt dingen zoals tijden en meervouden en vereenvoudigt ze, bijvoorbeeld, “voeten” wordt “voet” en “strepen” wordt “streep”. Deze vereenvoudigde woordvorm maakt het gemakkelijker voor een algoritme om de woorden in een document te interpreteren.

Morfologische segmentatie is het proces van het verdelen van woorden in morfemen of de basisunits van een woord. Deze units zijn dingen zoals vrije morfemen (die zelfstandig als woorden kunnen staan) en voorvoegsels of achtervoegsels.

Part-of-speech tagging is simpelweg het proces van het identificeren van welk deel van de spraak elk woord in een invoerdocument is.

Parsing verwijst naar het analyseren van alle woorden in een zin en het correleren van deze woorden met hun formele grammaticale labels of het doen van grammaticale analyse voor alle woorden.

Zinbreuk, of zinbegrenzing, verwijst naar het bepalen waar een zin begint en eindigt.

Stemming is het proces van het terugbrengen van woorden tot de basisvorm van het woord. Bijvoorbeeld, “verbonden”, “verbinding” en “verbindingen” zouden allemaal worden gestemd tot “verbinden”.

Woordscheiding is het proces van het verdelen van grote stukken tekst in kleine eenheden, die woorden of gestemde/lemmatized units kunnen zijn.

Semantische NLP Technieken

Semantische NLP-technieken omvatten technieken zoals:

  • Named Entity Recognition
  • Natuurlijke taalgeneratie
  • Woordzin ondubbelzinnigheid

Named entity recognition houdt in het labelen van bepaalde tekstgedeelten die in een van een aantal vooraf gedefinieerde groepen kunnen worden geplaatst. Vooraf gedefinieerde categorieën omvatten dingen zoals datums, steden, plaatsen, bedrijven en individuen.

Natuurlijke taalgeneratie is het proces van het gebruiken van databases om gestructureerde gegevens om te zetten in natuurlijke taal. Bijvoorbeeld, statistieken over het weer, zoals temperatuur en windsnelheid, kunnen worden samengevat met natuurlijke taal.

Woordzin ondubbelzinnigheid is het proces van het toewijzen van betekenis aan woorden binnen een tekst op basis van de context waarin de woorden voorkomen.

Diepe leermodellen voor NLP

Reguliere multilayer perceptrons zijn niet in staat om de interpretatie van sequentiële gegevens te verwerken, waarbij de volgorde van de informatie belangrijk is. Om met de belangrijkheid van de volgorde in sequentiële gegevens om te gaan, wordt een type neurale netwerk gebruikt dat informatie uit voorgaande tijdstappen in de training bewaart.

Neurale netwerken met terugkoppeling zijn typen neurale netwerken die gegevens van voorgaande tijdstappen doorlopen, deze meenemen in de berekening van de gewichten van de huidige tijdstap. In wezen hebben RNN’s drie parameters die tijdens de voorwaartse trainingspassage worden gebruikt: een matrix op basis van de vorige verborgen toestand, een matrix op basis van de huidige invoer en een matrix tussen de verborgen toestand en de uitvoer. Omdat RNN’s informatie uit voorgaande tijdstappen kunnen meenemen, kunnen ze relevante patronen uit tekstgegevens extraheren door eerder in de zin voorkomende woorden mee te nemen bij het interpreteren van de betekenis van een woord.

Een ander type diep leerarchitectuur dat wordt gebruikt om tekstgegevens te verwerken, is een Long Short-Term Memory (LSTM)-netwerk. LSTM-netwerken zijn qua structuur vergelijkbaar met RNN’s, maar vanwege enkele verschillen in hun architectuur presteren ze over het algemeen beter dan RNN’s. Ze vermijden een specifiek probleem dat vaak optreedt bij het gebruik van RNN’s, het exploderende gradiëntprobleem.

Deze diepe neurale netwerken kunnen zowel unidirectioneel als bidirectioneel zijn. Bidirectionele netwerken zijn in staat om niet alleen de woorden die voorafgaan aan het huidige woord mee te nemen, maar ook de woorden die erna komen. Hoewel dit leidt tot een hogere nauwkeurigheid, is het meer computationeel duur.

Use Cases voor Natural Language Processing (NLP)

Photo: mohammed_hassan via Pixabay, Pixabay License (https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)

Omdat Natural Language Processing de analyse en manipulatie van menselijke talen omvat, heeft het een enorm breed scala aan toepassingen. Mogelijke toepassingen voor NLP omvatten chatbots, digitale assistenten, sentimentanalyse, documentorganisatie, talentwerving en gezondheidszorg.

Chatbots en digitale assistenten zoals Amazon’s Alexa en Google Assistant zijn voorbeelden van spraakherkenning- en syntheseplatforms die NLP gebruiken om vocale opdrachten te interpreteren en te reageren. Deze digitale assistenten helpen mensen met een breed scala aan taken, waardoor ze enkele van hun cognitieve taken kunnen uitbesteden aan een ander apparaat en wat van hun hersencapaciteit vrijmaken voor andere, belangrijkere dingen. In plaats van ‘s ochtends op een drukke ochtend de beste route naar de bank op te zoeken, kunnen we onze digitale assistent het laten doen.

Sentimentanalyse is het gebruik van NLP-technieken om mensen’s reacties en gevoelens op een fenomeen te bestuderen, zoals gecommuniceerd door hun gebruik van taal. Het vastleggen van de sentiment van een verklaring, zoals het interpreteren of een productbeoordeling goed of slecht is, kan bedrijven voorzien van aanzienlijke informatie over hoe hun product wordt ontvangen.

Het automatisch organiseren van tekstdocumenten is een andere toepassing van NLP. Bedrijven zoals Google en Yahoo gebruiken NLP-algoritmen om e-maildocumenten te classificeren, deze in de juiste bins te plaatsen, zoals “sociaal” of “promoties”. Ze gebruiken ook deze technieken om spam te identificeren en te voorkomen dat deze uw inbox bereikt.

Groepen hebben ook NLP-technieken ontwikkeld om potentieel aan te nemen medewerkers te identificeren, deze te vinden op basis van relevante vaardigheden. Hiring managers gebruiken ook NLP-technieken om hen te helpen door lijsten met sollicitanten te sorteren.

NLP-technieken worden ook gebruikt om de gezondheidszorg te verbeteren. NLP kan worden gebruikt om de detectie van ziekten te verbeteren. Gezondheidsrecords kunnen worden geanalyseerd en symptomen kunnen worden geëxtraheerd door NLP-algoritmen, die vervolgens kunnen worden gebruikt om mogelijke diagnoses voor te stellen. Een voorbeeld hiervan is Amazon’s Comprehend Medical-platform, dat gezondheidsrecords analyseert en ziekten en behandelingen extraheert. Toepassingen van NLP in de gezondheidszorg strekken zich ook uit tot geestelijke gezondheid. Er zijn apps zoals WoeBot, die gebruikers door een reeks van angstbeheerstechnieken heen loodst op basis van cognitieve gedragstherapie.

Blogger en programmeur met specialisaties in Machine Learning en Deep Learning onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor het sociale goede.