Natural Language Processing

Pick the nearest stored prototype

BOTIE

Find the nearest codebook row, then reconstruct the vector by looking that row up. Return the reconstructed vector rather than the original one.
Ready to test
0 passed · 0 failed · 1 not run

An empty floor. Start with the information your machine needs.

Received result

Your answer will arrive here.

Examples, experiments and workspace controls
Live values

Connect a tool's inputs to see what it produces. You can try a branch before connecting it to Result.

Try your own inputs

Use a copy of the example to try your own data. Keep the problem's assumptions in mind, and predict the effect of a change before checking the output. You can also add another branch to compare two ways of doing the calculation.

Start at an output arrow, then click or drag to an input. Drag empty space to pan. Delete removes a selection. Ctrl/Cmd+Z undoes a change.
Context for this challenge

Find the nearest codebook row, then reconstruct the vector by looking that row up. Return the reconstructed vector rather than the original one.

Botie needs a compact representation of an incoming vector. A codebook can store a prototype's address, but decoding returns that prototype instead of the exact original coordinates.

Measure distances to codebook rows, select the nearest row index, then retrieve that row as the reconstruction.

Examples and results
Incoming vector
  1. 00.9
  2. 11.1
Codebook rows
00
11
20
Required result
  1. 01
  2. 11
Try a fresh construction

This clears this draft, including its undo history. Earlier successful attempts stay recorded. Build again without opening hints to record an independent attempt.

Stuck? Inspect a worked construction

The tools below form one possible solution. You can assemble it, follow its signals, and undo that change to return to your own construction.

Assumptions and test precision

This is a small construction problem. The lesson explains the assumptions and the parts of the full method that this example leaves out. Numerical tests allow a difference of 0.001. Lists and structures must also have the right shape.

A three-coordinate input chooses one complete prototype

This check uses the pieces from “Choose a prototype and reconstruct from its row”.

BOTIE

Find the nearest codebook row by squared Euclidean distance and return that complete row as the reconstruction. Do not round the input coordinates independently.
Incoming vector
  1. 00.1
  2. 10.2
  3. 21.8
Codebook rows
000
002
111

Use a number, text, or an array matching the requested result. For a matrix, put each row in brackets. Saving your prediction runs your current construction on these inputs and checks the earlier examples too.

Build a construction in the workspace above first. This case will test those pieces.

Which difference between input and output would you measure to assess this quantiser?

An encoded address and a decoded reconstruction are different outputs, and reconstruction error measures the lost detail.

This is a small construction problem. The lesson explains the assumptions and the parts of the full method that this example leaves out.

Work through the Python challenges →
Continue the courseFinite Scalar Quantisation →
← Patching Without a Vocabulary