Wat is NLP in Python?

Kunstmatige intelligentie is het afgelopen decennium enorm geëvolueerd, en dat geldt ook voor een van de subvelden: natuurlijke taalverwerking. De vooruitgang in AI is een gevolg van de enorme rekencapaciteit van de moderne systemen en de grote hoeveelheden ongestructureerde gegevens die worden gegenereerd uit een overvloed aan bronnen. Natural Language Processing of NLP is de studie van AI waarmee computers onbewerkte ongestructureerde tekstuele gegevens kunnen verwerken en er verborgen inzichten uit kunnen halen.

Definitie

In tegenstelling tot mensen zijn computers niet slim genoeg om ongestructureerde gegevens te verwerken. Menselijke wezens kunnen betekenis aan dergelijke gegevens ontlenen, terwijl computers dit alleen kunnen doen met de gestructureerde gegevens die zijn opgeslagen in de databases. Om patronen te vinden en betekenis te ontlenen aan natuurlijke gegevens, gebruiken computers de tools en technieken van NLP om dergelijke gegevens te verwerken.

Hoe werkt NLP in Python?

Het is erg complex om Engels te lezen en te begrijpen. De onderstaande zin is zo'n voorbeeld waarbij het voor de computer erg moeilijk is om de feitelijke gedachte achter de zin te begrijpen.

In Machine Learning wordt een pijplijn gebouwd voor elk probleem waarbij elk probleem afzonderlijk wordt opgelost met behulp van ML. Het eindresultaat zou de combinatie zijn van verschillende aan elkaar gekoppelde modellen voor machine learning. Natural Language Processing werkt op dezelfde manier als de Engelse zin is verdeeld in brokken.

Er zijn verschillende feiten in deze paragraaf. Het zou gemakkelijk zijn geweest als computers zelf konden begrijpen wat Londen is, maar daarvoor moeten de computers worden getraind met basisconcepten in geschreven taal.

1. Zinsegmentatie - Het corpus is onderverdeeld in verschillende zinnen zoals hieronder.

Dit zou ons leven gemakkelijker maken omdat het beter is om een ​​enkele zin te verwerken dan een alinea als geheel. Het splitsen kan worden gedaan op basis van leestekens, of verschillende andere gecompliceerde technieken die ook werken op niet-opgeruimde gegevens.

2. Woordtokenisatie - Een zin kan verder worden opgesplitst in het token van woorden, zoals hieronder wordt getoond.

Na tokenisatie wordt de bovenstaande zin opgesplitst in -

3. Delen van spraakvoorspelling - Dit proces gaat over het genereren van de delen van spraak voor elk token. Dit zou ons in staat stellen de betekenis van de zin en het onderwerp waarover in de zin wordt gesproken te begrijpen.

4. Lemmatisatie - Een woord in een zin kan in verschillende vormen voorkomen. Lemmatisatie volgt een woord terug naar zijn oorsprong, het lemma van elk woord.

5. Stop woorden identificatie - Er zijn veel opvulwoorden zoals 'de', 'een' in een zin. Deze woorden werken als ruis in een tekst waarvan we de betekenis proberen te achterhalen. Het is dus noodzakelijk om die stopwoorden uit te filteren om een ​​beter model te bouwen.

Op basis van de toepassing kunnen de stopwoorden variëren. Er is echter een vooraf gedefinieerde lijst met stopwerken waarnaar je zou kunnen verwijzen.

6. Benoemde entiteitherkenning - NER is het proces van het vinden van entiteiten zoals naam, plaats, persoon, organisatie, enz., Uit een zin.

De context van het verschijnen van een woord in een zin wordt hier gebruikt. Om gestructureerde gegevens uit een tekst te halen, hebben NER-systemen veel toepassingen.

Voorbeeld van NLP in Python

De meeste bedrijven zijn nu bereid om ongestructureerde gegevens te verwerken voor de groei van hun bedrijf. NLP heeft een breed scala aan toepassingen en van de meest voorkomende toepassingen is tekstclassificatie.

De classificatie van tekst in verschillende categorieën wordt automatisch tekstclassificatie genoemd. Het detecteren van spam of ham in een e-mail, het categoriseren van nieuwsartikelen, zijn enkele veelvoorkomende voorbeelden van tekstclassificatie. De gegevens die voor dit doel worden gebruikt, moeten worden geëtiketteerd.

De enkele stappen in een pijplijn voor tekstclassificatie die moeten worden gevolgd, zijn -

  • Het laden en de voorbewerking van de gegevens is de eerste stap, waarna deze wordt opgesplitst in trein en validatieset.
  • De stap Feature Engineering omvat het extraheren van de nuttige functies of het creëren van extra betekenisvolle functies die kunnen helpen bij het ontwikkelen van een beter voorspellend model.
  • Om het model te bouwen, wordt de gelabelde dataset gebruikt om het model te trainen.

Panda's, Scikit-learn, XGBoost, TextBlog en Keras zijn enkele van de noodzakelijke bibliotheken die we moeten installeren. Dan zouden we de bibliotheken importeren voor de voorbereiding van de dataset, engineering van functies, enz.

De gegevens zijn enorm, met bijna 3, 6 miljoen beoordelingen die hier kunnen worden gedownload. Een fractie van de gegevens wordt gebruikt. Het wordt gedownload en ingelezen in een Pandas-dataframe.

De doelvariabele is gecodeerd en de gegevens worden opgesplitst in trein en testsets.

Feature engineering wordt uitgevoerd met behulp van de onderstaande verschillende methoden.

1. Telvectoren - De weergave van een document, een term en de frequentie van een corpus wordt bereikt door de telvectoren.

2. TF-IDF-vectoren - In een document wordt het relatieve belang van een term weergegeven door de Term Frequency (TF) en de Inverse Document Frequency (IDF) -score. De TF-IDF kan worden berekend door -

De TF-IDF-vectoren kunnen worden gegenereerd door Word-niveau dat de score van elke term weergeeft, en het N-gramniveau dat de combinatie van n-termen is.

3. Woord insluiten - De weergave van documenten en woorden in de vorm van een dichte vector staat bekend als woord insluiten. Er zijn vooraf opgeleide inbeddingen zoals Glove, Word2Vec die kunnen worden gebruikt of ook kunnen worden getraind.

4. Onderwerpmodellen - Het is de groep woorden uit een document die de meeste informatie bevat. De Latent Dirichlet-toewijzing wordt hier gebruikt voor het modelleren van onderwerpen.

De modus wordt gebouwd nadat de functie-engineering is voltooid en de relevante functies zijn geëxtraheerd.

5. Naïeve Bayes - Het is gebaseerd op de stelling van Bayes en het algoritme gelooft dat er geen verband bestaat tussen de functies in een gegevensset.


6. Logistische regressie - Het meet de lineaire relatie tussen de kenmerken, en de doelvariabele wordt gemeten op basis van een sigmoïde functie die de waarschijnlijkheden schat.


7. Ondersteuning Vector Machine - Een hyperplane scheidt twee klassen in een SVM.


8. Random Forest-model - een ensemble-model waarbij de variantie wordt verminderd en meerdere beslissingsbomen samen worden verzameld.


9. XG Boost - Bias wordt verminderd en zwakke leerlingen worden omgezet in sterke.

Hoe NLP u zou helpen in uw carrière?

Natuurlijke taalverwerking is een snelgroeiend veld in de markt en bijna elke organisatie heeft een NLP-ingenieur nodig om de onbewerkte gegevens te verwerken. Het is dus noodzakelijk om de vereiste vaardigheden onder de knie te krijgen, omdat er geen tekort aan banen op de markt is.

Conclusie: NLP in Python

In dit artikel zijn we begonnen met een inleiding tot NLP in Python en vervolgens een use case geïmplementeerd in Python om te laten zien hoe te werken met NLP in Python.

Aanbevolen artikelen

Dit is een gids voor de NLP in Python geweest. Hier hebben we het voorbeeld, use cases en hoe met NLP in Python te werken besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Gebruik van Python
  2. Wat is WBS?
  3. Python tegen Scala
  4. Wat is Tableau?

Categorie: