RSS

Tag Archives: machine translation

Machine “Translation” and What Words Mean in Context

One of the biggest commonly known flaws of mahcine translation is a computer’s inability to understand differing meaning in context.  After all, a machine doesn’t know what a “horse” is.  It knows that “caballo” has (roughly) the same meaning in Spanish as “horse” does in English.  But it doesn’t know what that meaning is.

And it certainly doesn’t know what it means when we say that someone has a “horse-face”(/”face like a horse”).

 

But humans can misunderstand meaning in context, too.  For example, if you don’t know how “machine translation” works, you’d think that machines could actually translate or produce translations.  You would be wrong.  What a human does to produce a translation is not the same as what a machine does to produce a “translation”.  That’s why machine and human translators make different mistakes when trying to render the original meaning in the new language.

 

A human brain converts words from the source language into meaning and the meaning back into words in the target language.  A computer converts words from the source language directly to words in the target language, creating a so-called “literal” translation.  A computer would suck at translating a novel, because the figures of speech that make prose (or poetry) what they are are incomprehensible to a machine.  Machine translation programs lack the deeply associated(inter-connected) knowledge base that humans use when producing and interpreting language.

 

A more realistic machine translation(MT) program would require an information web with connections between concepts, rather than words, such that the concept of horse would be related to the concepts of leg, mane, tail, rider, etc, without any intervening linguistic connection.

Imagine a net of concepts represented as data objects.  These are connected to each other in an enormously complex web.  Then, separately, you have a net of linguistic objects, such as words and grammatical patterns, which are overlaid on the concept net, and interconnected.  The objects representing the words for “horse” and “mane” would not have a connection, but the objects representing the concept of meaning underlying these words would have, perhaps, a “has-a” connection, also represented by a connection or “association” object.

In order to translate between languages like a human would, you need your program to have an approximation of human understanding.  A famous study suggested that in the brain of a human who knows about Lindsay Lohan, there’s an actual “Lindsay” neuron, which lights up whenever you think about Lindsay Lohan.  It’s probably lighting up right now as you read this post.  Similarly, in our theoretical machine translation program information “database”, you have a “horse” “neuron” represented by our concept object concept that I described above.  It’s separate from our linguistic object neuron which contains the idea of the word group “Lindsay Lohan”, though probably connected.

Whenever you dig the concept of horse or Lindsay Lohan from your long-term memory, your brain sort of primes the concept by loading it and related concepts into short-term memory, so your “rehab” neuron probably fires pretty soon after your Lindsay neuron.  Similarly, our translation program doesn’t keep it’s whole data-set in RAM constatnly, but loads it from whatever our storage medium is, based on what’s connected to our currently loaded portion of the web.

Current MT programs don’t translate like humans do.  No matter what tricks or algorithms they use, it’s all based on manipulating sequences of letters and basically doing math based on a set of equivalences such as “caballo” = “horse”.  Whether they do statistical analysis on corpuses of previously-translated phrases and sentences like Google Translate to find the most likely translation, or a straight0forward dictionary look-up one word at a time, they don’t understand what the text they are matching means in either language, and that’s why current approaches will never be able to compare to a reasonably competent human translator.

It’s also why current “artificial intelligence” programs will never achieve true human-like general intelligence.  So, even your best current chatbot has to use tricks like pretending to be a Ukranian teenager with bad English skills on AIM to pass the so-called Turing test.  A side-walk artist might draw a picture perfect crevasse that seems to plunge deep into the Earth below your feet.  But no matter how real it looks, your elevation isn’t going to change.  A bird can;t nest in a picture of tree, no matter how realistically depicted.

Calling what Google Translate does, or any machine “translation” program does translation has to be viewed in context, or else it’s quite misleading.  Language functions properly only in the proper context, and that’s something statistical approaches to machine translation will never be able to imitate, no matter how many billions of they spend on hardware or algorithm development.  Could you eventually get them to where they can probably usually mostly communicate the gist of a short newspaper article?  Sure.  Will you be able to engage live in witty reparte with your mutually-language exclusive acquaintance over Skype?  Probably not.  Not with the kind of system we have now.

Those crude, our theoretical program with knowledge web described above might take us a step closer, but even if we could perfect and polish it, we’re still a long way from truly useful translation or AI software.  After all, we don;t even understand how we do these things ourselves.  How could we create an artificial version when the natural one still eludes our grasp?

Advertisements
 

Tags: , , , , , , ,

The Translation Problem: People vs. Computers

In my last post, I introduced the topic of natural language processing and discussed the issue of how the context of a piece of language has an enormous impact on its translation into another language.  In this post, I want to address issue with translation.  Specifically, I want to talk how language is really an integrated function of the way the human brain models the world, and why this might make it difficult to create a machine translator isolated from the rest of an artificial intelligence.

When a human uses language they are expressing things that are based upon an integrated model of the universe in which they live.  There is a linguistic model in their brain that divides up their concept of the world into ideas representable by words.  For example, let’s look at the word “pit bull”.  (It’s written with two words, but as a compound word, it functions as a single noun.)  Pit bull is a generic term for a group of terrier dog breeds.  Terriers are dogs.  Dogs are mammals.  Mammals are animals.  This relationship is called a hypernym/hyponym relationship.  All content words(nouns/verbs/adjectives) are part of a hierarchical tree of hypo-/hyper-nym relationships.

So when you talk about a pit bull, you’re invoking the tree to which it belongs, and anything you say about a pit bull will trigger the conversational participants’ knowledge and feelings about not only pit bulls, but all the other members of the tree to which it belongs.  It would be fairly trivial programming-wise, although possibly quite tedious data-entry-wise to create a hypo-/hyper-nym tree for the couple-hundred-thousand or so words that make up the core vocabulary of English.  But to codify the various associations to all those words would be a lot more difficult.  Such a tree would be a step towards creating both a world-model and knowledge-base, aspects of artificial intelligence not explicitly related to the problem of machine translation.  That’s because humans use their whole brain when they use language, and so by default, they use more than just a bare set of grammar rules when parsing language and translating between one language and another.

One use of such a tree and its associations would be to distinguish between homographs or homonyms.  For example, if the computer sees a word it knows is associated with animals, it could work through the hypernym tree to see if “animal” is a hypernym or association with say, the word horse.  Or, if it sees the word “grain”, it could run through the trees of other words to see if they are farming/crop related or wood-related.  Or, perhaps, crossing language boundaries, if a language has one word that covers all senses of “ride”, and the other language distinguishes between riding in a car, or riding a horse, the program could use the trees to search for horse- or car-related words that might let it make a best guess one which verb is appropriate in a given context.

The long and short of the case I intend to make is that a true and accurate translation program cannot be written without taking enormous steps down the path of artificial intelligence.  A purely rule-based system, no matter how many epicycles are added to it, cannot be entirely accurate, because even a human being with native fluency in both languages and extensive knowledge and experience of translating cannot be entirely accurate.  Language is too malleable and allows too many equivalent forms to always allow for a single definitive translation of anything reasonably complex, and this is why it is necessary to make value judgements based on extra-linguistic data, which can only be comprehensively modeled by using techniques beyond pure grammatical rules.

 

In the next post, I’ll talk about statistical methods of machine translation, and hopefully I’ll be following that up with a critique and analysis of the spec fic concept of a universal translator.

 
 

Tags: , , , , , ,

The Translation Problem

One of the biggest problems in the field of artificial intelligence as it is popularly conceived is that of natural language processing and machine translation.  Natural language processing is the processing of human languages, generally in the form of text, but also as audio, by computers and software.  Machine translation is a form of natural language processing having to do with the translation of a text from one language into another by a computer.  Enormous strides have been made in natural language processing over the last two decades.  Text-to-speech, represented often by those annoying robotic phone calls, and speech-to-text such as dictation software, have both improved markedly.

But the big fish of natural language processing is still the universal translator, able to translate between any two given languages with high accuracy, perhaps even perfectly.  Which is, currently impossible, despite what people might tell you.  For example, Skype Translator looks great in the recent demo, but it’s doubtful it performs quite so well in the field.

There are actually several major issues that machine translation, and translation in general, have to tackle to achieve a high degree of accuracy.  Over the next few posts, I’m going to discuss what some of them are, why they are so difficult to solve, and possible ways they might be overcome.

To start with, there’s a very simple problem with most translation:  language has meaning on its own, but for human communication purposes, you have to know the context of the words you are trying to translate.  Most communication is not factual transmission of information.  Even in formal written prose, there are heaps of subtle ambiguities, and most humans can’t always pick up on every one, much less a poor dumb computer.  This is a problem not only when a word is used that has two different sense, such as a technical and a general sense.  Different languages divide up their semantic space differently, and a word that is a correct translation on paper may fail miserably in the real world.

To give an example, Japanese has pronouns just like English.  However, it does not have an exactly equivalent set.  The word for “her” in Japanese is “kanojo”.  But that word is rarely used, as most Japanese uses a name and an honorific instead.  Further complicating the situation, the word “kanojo” is also idiomatic for “girlfriend”.  The same goes for “kareshi” which is often translated as “he” on paper.   And then we have the various Japanese pronouns technically meaning “you”, or at least referring to the second person singular.  The main one given in teaching Japanese is “anata”.  However, much like “kanojo” or “kareshi” there is a sense of intimacy not immediately apparent in the use of this word.  It is often used between older married couples to mean something like “dear”, and is rarely if ever used as a bare second person, singular pronoun.  Rather, again, the person’s name and an honorific are used.  However, a great deal would have to be hard-coded into a piece of translation software to cover all of this, and that’s assuming there’s even enough context to make a decision at all.  Further, going into Japanese from English, would require the addition of formality information that a computer or even a human couldn’t always be sure of.

It’s often possible to translate conversation/survival language with bare, literal translations, because the basic sense is all that matters.  But more formal registers, or translation of a fixed text, would likely prove impossible for today’s machine translators and most humans, because there’s no way to convey all the necessary context that would provide information that in one language would not be included lexically or grammatically, but it all but necessary for appropriate communication in the other.

 

In the next post, I’ll be looking more at the ways language divide up their semantic space, and how that hinders accurate translation.

 
1 Comment

Posted by on June 9, 2014 in Uncategorized

 

Tags: , , , , ,