There has been a trend for quite some time now toward developing algorithms and techniques to be applicable to a wide range of languages. Examples include parsing (witness the recent CoNLL challenge), machine translation, named entity recognition, etc. I know that in at least one or two of my own papers, I have claimed (without any experimental substantiation, of course :P) that there is no reason why the exact same system could not be run on languages other than English, provided a sufficient amount of labeled training data (and a native speaker who can deal with the annoying tokenization/normalization issues in the non-English language).
I get the feeling that a large part of the surge is blowback against older NLP systems, for which hundreds of/or thousands of human hours were put into writing language-specific grammars and rules and lexicons. The replacement idea is to spend thouse hundreds of/or thousands of hours annotating data, and then repeatedly reusing this data to solve different problems (or to try to come up with better solutions to an existing problem, despite the associated fears in doing so).
I think that, overall, this is a good trend. The problem that I see is that it is potentially limiting. In order to develop a system that could plausibly be applied to (nearly) any language, one has to resort to features that are universal across all languages. This is fine, but for the most part the only universal features we know of that are reasonably computable are things like "language is made up of words and words are sort of semanticy units on their own" (of course, this misses a lot of compounds in German and is hard to do in Chinese without spaces) and "words sometimes have prefixes and suffixes and these are syntactically useful" (oops, Arabic has infixes) and "capitalization is often a good indicator of something proper-noun-like" (except for German where many common nouns are capitalized or Japanese where there isn't case marking). These are sometimes compounded "adjacent words carry semantic meaning." But all in all, these features are relatively weak from the perspective of "language understanding."
This distinction seems analogous to the "domain independent" versus "domain specific" one that we've also seen. If you are willing to limit yourself to a specific domain (eg., counter-terrorism), you can probably do a pretty good job doing reasonably deep understanding. On the other hand, if you want to work at the other end---applicable across all domains---there's little you can do because you're better off going for shallow with complete coverage rather than deep but sparse. Where I think that the domain specific people have it right is that they actually do take advantage of being in a specific domain. I know that when I work on a problem that's language specific (eg., summarization or coreference), I've only seldom taken advantage of the fact that the language is English. Sure, for summarization I've occasionally made use of an English parser and for coreference I've made use of mined data that's specific to English, but overall, I treat it as pretty much "any old language." This would probably be fine if I then ran my system on Arabic and Chinese and Portuguese and showed that it worked. But I don't. This seems to tell me that I'm missing something: that I have not been clear about my goal. Maybe I should take a hint from the domain specific people and decide which side of the language independent camp I want to be on.
(The one counterargument that I will use to save face is that applying to other languages is often a lot of relatively needless work...you often have a pretty good idea of what's going to happen and I'd be surprised if people have strongly believed they've built something that's reasonably language independent and it turns out not to be.)
“Why do medical tests always have error rates?”
8 hours ago
5 comments:
and some also said,
statistical natural language processing is not language processing at all, only statistics :P
What Hal is calling "multilingual" I would call "portable". And there's not just language portability but topic (e.g. genomics vs. sports) and genre (e.g. newswire vs. e-mail) portability.
A truly multilingual app should be like a multilingual person -- able to handle multiple languages in one instance. We built a bilingual entity extractor as part of one of the TIDES surprise language evaluations that could detect entities in English, Hindi, or documents that contained a mixture of both. It didn't do language ID or segmentation, but rather just built one big model. The features tend to be local and estimated conditionally, so it barely hurt performance at all. Hindi and English were easy in some sense because the character sets differ but it's easy to do a consistent tokenization.
Interesting...do Hindi characters and English characters occupy a completely different section of Unicode? Would the same work for, eg., German and English? Or Modern Standard Arabic and Iraqi?
Indeed, I think the portability issue is an important one. But I think there's a lot more consistency within a single language than between languages. Building models to exploit this should be vastly easier (in the sense that one can exploit more linguistically relevant features) than moving across languages.
Devanagari characters don't overlap with ASCII in Unicode. They are a mess in and of themselves.
For dealing with something like German and English, it depends on the task. Obviously Google handles this blend for tasks like spell checking. Search also doesn't seem to present much of a problem. For entity detection or part-of-speech tagging or phrase chunking, if you lean heavily on capitalization features, you'll definitely smear the probabilities out.
A generic solution is to build a mixture model. For instance, that's how most speech recognizers deal with variant pronunciations -- each triphone is a mixture of Gaussians over the feature space (usually intensity at quantized frequency intervals and their first and second derivatives to handle pitch movement). Normal mixture models ar e the typical example of the application of EM. Or in a supervised setting, you might know the mixture source (e.g. this article is sports news in English, this one's German business).
The main problem with such models is that they're surprised every 1/100th of a second that the person's still speaking with a Texas accent. In statistical terms, they're seriously underestimating dependencies. Much like a naive Bayes classifier, local language model or local featured tagger/chunker. That, in turn, makes posterior conditional probabilities (i.e. confidence) very difficult to estimate; just working through the math leads to estimates that are far too attenuated.
酒店經紀PRETTY GIRL 台北酒店經紀人 ,禮服店 酒店兼差PRETTY GIRL酒店公關 酒店小姐 彩色爆米花酒店兼職,酒店工作 彩色爆米花酒店經紀, 酒店上班,酒店工作 PRETTY GIRL酒店喝酒酒店上班 彩色爆米花台北酒店酒店小姐 PRETTY GIRL酒店上班酒店打工PRETTY GIRL酒店打工酒店經紀 彩色爆米花
Post a Comment