Explaining word meanings from machine translation

Artificial intelligence such as machine learning is often effective at making decisions, but unable to justify the decisions it makes. As machine learning is becoming more influential in society, there is an increased demand for “explainable AI”.

For example, the state of the art in machine translation uses deep learning neural networks. Although these provide accurate translations, they give little insight into why a particular translation was produced. This project will develop a system which illustrate which parts of the output text depend on each word of the input text.

Machine translation starts by representing each word of the input text as a vector. The sequence of vectors is fed into a black box (the neural network), which produces sequence of vectors which are quantized to the output words. This project will determine the sensitivity of the output vectors to small perturbations in the input vectors. For example, in the translation of “A cat ate” into the French “Un chat mangé”, we would expect changes to the vector for “cat” to have the biggest effect on the vector quantized to “chat”. However, it may also affect the vector for “Un” (a, masculine), which may turn into “Une” (a, feminine). This project would then produce a list of weights saying that “Un” is, say, 50% dependent on “cat”, and “chat” is 100% dependent on it.

This contains many challenges. For example, changing one word in the input language may change the number of words in the output language, or may cause a reordering of words. This will require an algorithm to match words in the translations of the modified input to words in the original input.

Expected background: Artificial intelligence, algorithms and data structures.

Preferred background: As above.

Supervisors Lachlan Andrew and Jey Han Lau