User:Francis Tyers/Perceptron

From Apertium
Jump to navigation Jump to search

A perceptron is a classifier that

The classifier consists of:

  • An input vector,
  • A weight vector,
  • Threshold,

The input vector is made up of binary features, such as:

Training algorithm

The objective of the training algorithm is to find the most adequate set of weights, and a threshold .


# Initialise weights and threshold.
weights = [0.0, 0.0];
threshold = 0.0;

Example

Here is a worked example of a perceptron applied to the task of lexical selection. Lexical selection is the task of choosing a target translation for a given source word in a context out of a set of possible translations . A perceptron makes a classification decision for a single class, so we need to train a separate perceptron for each possible target word selection.

In the example,

  • = estació
  • = {season, station}
  • = season

Features

The features we will be working with are ngram contexts around the "problem word". These can be extracted from the word alignments calculated from a parallel corpus.

Catalan English
Durant l' estació seca les pluges són escasses. During the dry season it rains infrequently.
L' estiu és una estació de l' any. Summer of one of the seasons of the year.
Barcelona-Sants és una estació de tren a Barcelona. Barcelona-Sants is a train station in Barcelona.
...

Training data

s = estació, t* = season
_ sec 1
_ de el any 1
_ de tren 0
_ de el línia 0
_ humit 1
_ plujós 1
un _ a 0

Feature vector

This is the above training data expressed as an input vector to the perceptron.

_ sec _ de el any _ de tren _ de la línia _ humit _ plujós un _ a
1 0 0 0 0 0 0 1
0 1 0 0 0 0 0 1
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 1
0 0 0 0 0 1 0 1
0 0 0 0 0 0 1 0

Weight vector

_ sec _ de el any _ de tren _ de la línia _ humit _ plujós un _ a
0.0 0.0 0.0 0.0 0.0 0.0 0.0

Trace