Understand Word Embedding in Natural Language Processing using Blocked-based Programming

Submission Information


As an effective and fundamental technique commonly used in natural language processing (NLP), word embedding encodes the meaning of individual words in the form of a real-valued vector. A number of related tools have been developed, typically including word2vec and BERT. Word embedding significantly prompts the advancement of artificial intelligence, especially for human language understanding and analysis. However, it is relatively hard for learners with limited NLP knowledge and lack of text-based programming skill to understand how it works. By leveraging on a block-based programming environment, we design this assignment to facilitate learning the basic concepts and key ideas of word embedding for the novice NLP learners.

Topics Word Embedding, Natural Language Processing, Block-based Programming
Audience Learners with limited NLP knowledge and lack of text-based programming skill

The assignment requires learners be familiar with the block-based programming environment and the NLP related blocks.


1. The key functional blocks and the programming environment have been set up in advance, and the novice learners could accomplish the tasks by simply drag and drop without additional efforts on programming.

2. Each task is carefully designed to facilitate learning the key idea of word embedding, where the former one inspires the next one and the difficulty is increasing.

3. The help information and the exemplary code are provided before each task in the programming environment.


It takes some time (normally less than 1 minute) to load the external library when the learner runs the code at the first time.


Following the simple configuring steps, learners could accomplish all the tasks in the browser without any dependencies. Internet access is required.


The assignment can be used as the illustrative demo in NLP class or tutorial. The teachers can also develop new tasks and assignment by simply modifying the parameters inside the given blocks.

Assignments Details

Click the link for the assignment details: nlpassign.html.