CodeDelphiPython GUIRAD Studio

Quickly Build Natural Language Processing Capable GUI Apps With Delphi And Python NLTK

Want to perform Natural language processing tasks like predicting text, Handwriting Recognition, Text analysis to detect sentiments(Tweets and Blogs) in your GUI app? This post will get to understand how to use NLTK Python Library using Python4Delphi in the Delphi/C++ Builder application and perfom some basic NLP tasks. NLTK is a leading platform for building Python programs to work with human language data. NLP for short — in a wide sense to cover any kind of computer manipulation of natural language.

Python for Delphi (P4D) is a set of free components that wrap up the Python DLL into Delphi and Lazarus (FPC). They let you easily execute Python scripts, create new Python modules and new Python types. You can use Python4Delphi a number of different ways such as:

  • Create a Windows GUI around your existing Python app.
  • Add Python scripting to your Delphi Windows apps.
  • Add parallel processing to your Python apps through Delphi threads.
  • Enhance your speed-sensitive Python apps with functions from Delphi for more speed.


  • First, run the Demo1 project for executing Python script in Python for Delphi. Then load the NLTK sample script in the Memo1 field and press the Execute Script button to see the result. On Clicking Execute Button the script strings are executed using the below code. Go to GitHub to download the Demo1 source.

Key NLP terminologies.

Token: Each linguistic units such as words, punctuation, numbers, or alphanumerics in an Input text are known as tokens.
Sentence: An ordered sequence of tokens.
Tokenization: The process of splitting a sentence into its constituent tokens.
Corpus: A body of text, usually containing a large number of sentences.
Part-of-speech (POS) Tag: A word can be classified into one or more of a set of lexical or part-of-speech categories such as Nouns, Verbs,
Adjectives and Articles, to name a few. A POS tag is a symbol representing such a lexical category – NN(Noun), VB(Verb), JJ(Adjective),
Parse Tree: A tree defined over a given sentence that represents the syntactic structure of the sentence as defined by a formal grammar.

NLTK Python Library sample script details:

  • How to tokenize the input text and get the parts of speech tags for the tokens, represent the tagged token.
  • Extracting information from text like Identify named entities from the tagged tokens by a technique called Chunking(which segments and labels multi-token sequences)
  • Tagged words from brown nltk corpus.
  • A simple classification task(the task of choosing the correct class label for a given input e.g, Deciding whether the gender is male or female). During training, a feature extractor is used to convert each input value to a feature set. These feature sets, which capture the basic information about each input that should be used to classify it, are discussed in the next section. Pairs of feature sets and labels are fed into the machine learning algorithm to generate a model. During prediction, the same feature extractor is used to convert unseen inputs to feature sets. These feature sets are then fed into the model, which generates predicted labels. For more details check here.
  • Display a parse tree from corpus treebank,
nltk 2719369
<strong>NLTK Demo<strong>

Note: Samples used for demonstration were picked from here with only the difference of printing the outputs. You can check the APIs and some more samples from the same place.

You have read the quick overview of the NLTK library, download this library from here and perform various tasks such as Access Text Corpora and Lexical Resources, Process Raw Text, categorizing, learn to classify text, extract information from the text, etc in your applications. Check out Python4Delphi and easily build Python GUIs for Windows using Delphi.

Related posts
CodeIDELearn PythonPythonPython GUITkinter

How To Make More Than 20 ChatGPT Prompts Work With Python GUI Builders And NumPy Library?


Unlock the Power of Python for Deep Learning with Generative Adversarial Networks (GANs) - The Engine behind DALL-E

CodeIDELearn PythonPythonPython GUITkinter

How To Make More Than 20 ChatGPT Prompts Work With Python GUI Builders And Matplotlib Library?

CodeIDELearn PythonPythonPython GUITkinter

How To Make More Than 20 ChatGPT Prompts Work With Python GUI Builders And Pillow Library?

Leave a Reply

Your email address will not be published. Required fields are marked *