tag:blogger.com,1999:blog-7972214731683804743.post7254459232446934239..comments2023-06-03T07:10:23.335-04:00Comments on - Developers Anonymous -: Wolfram And Natural Language ProgrammingOleksi Derkatchhttp://www.blogger.com/profile/00304588000327101991noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-7972214731683804743.post-41571070370699506982010-11-18T14:55:17.524-05:002010-11-18T14:55:17.524-05:00"We cannot "hardcode" every ambigui..."We cannot "hardcode" every ambiguity in a language."<br /><br />We would have a hard time just putting the entire English dictionary into a computer in any meaningful way. I'd like to say learning algorithms (how do we know Keyar is a candivore?) but I'm aware it sounds like a cop-out in the sense of "we'll just synthesize adamantium out of mithril!" kind of way; but I don't think anyone has an easy solution to this one.<br /><br />"The problem is getting a computer to make the sensible choice without cultural context."<br /><br />I don't think a computer needs to always make the sensible choice. If the time it takes for the operator to recognize the mistake, correct for it and then for the computer to perform the calculations is still shorter than performing the task otherwise, I would consider that Mission Accomplished.Pwuhttps://www.blogger.com/profile/01638294078504125748noreply@blogger.comtag:blogger.com,1999:blog-7972214731683804743.post-91193465913556432742010-11-18T13:21:11.815-05:002010-11-18T13:21:11.815-05:00"Do we eat kids? Not usually."
How woul..."Do we eat kids? Not usually."<br /><br />How would a computer know this? This is a cultural thing. It is certainly conceivable for some cultures to consider this normal. Again, this is just one specific case. We cannot "hardcode" every ambiguity in a language. <br /><br />A lot of times, we don't even recognize ambiguity. That is, most people would not even consider the case of someone eating children. The problem is getting a computer to make the sensible choice without cultural context. This is where I claim the difficulty lives. <br /><br />There are probably nice solutions to this problem, but for now, it is definitely a difficult problem to overcome.Oleksi Derkatchhttps://www.blogger.com/profile/00304588000327101991noreply@blogger.comtag:blogger.com,1999:blog-7972214731683804743.post-84373289389800468882010-11-18T12:21:41.187-05:002010-11-18T12:21:41.187-05:00I still think that example is still fundamentally ...I still think that example is still fundamentally an issue of overloading. Like, take a look here:<br /><br />http://dictionary.reference.com/browse/with?r=75<br /><br />Whether you're trying to call method 1 or method 4 is dependent on whether you're passing in a person or something from the food library.<br /><br />Of course there is the possibility that Keyar is a cannibal and is in fact making a meal _with_ kids and then you got quite a duck typing clusterfuck, but it might be easier to correct these edge cases as they come up rather than trying to foolproof the system.<br /><br />I mean, if you mean the latter when you're talking to a _person_ it will cause some degree of confusion, so it's not altogether unintuitive for a person to say, "oops, that's not right" and specify which With method they mean to use manually.<br /><br />I mean, maybe there is going to be an issue with puns, but let's assume our aforementioned NATO General is not using his HAL 9000 to Screw Around.<br /><br />And not to make the task sound trivial, because I know it isn't, but the sentence is not as context dependent as you make it seem. I.e.:<br /><br />"Where's Keyar?"<br />"Keyar is making a meal with kids"<br /><br />How many people would misinterpret that statement? You see, because natural language recursion gives us all the information we need;<br /><br />What is Keyar? Keyar is a person.<br />What is Keyar doing? Keyar is making a meal.<br />What is a meal? Something to eat.<br /><br />Then when we tape "with kids" onto our independent clause:<br /><br />Do we eat kids? Not usually.<br /><br />So we can deduce that he is merely playing with children.<br /><br />"Michael Jackson is playing with children"<br /><br />Oh shi-<br /><br />Addendum: I will retract everything I said about how easy it is to solve English if it turns out that I've misunderstood and Keyar is in fact eating a bowl of children right now.Pwuhttps://www.blogger.com/profile/01638294078504125748noreply@blogger.comtag:blogger.com,1999:blog-7972214731683804743.post-37869188416812791292010-11-17T19:22:46.600-05:002010-11-17T19:22:46.600-05:00The problem a lot more complex than simple overloa...The problem a lot more complex than simple overloading issues. Overloading in programming languages only applies to types. It is context-sensitive, but at a shallow level. All you need to know is the type to determine what something should do.<br /><br />English certainly has to deal with same context sensitive issues, but it has a lot more problems too. For instance, English is also ambiguous. E.g. "Keyar is making a meal with kids" has two very different meanings. A computer needs to know a lot of context to determine the correct interpretation of this sentence. We have to ensure that the computer is creating solutions to the right problem.<br /><br />I agree this is definitely worth pursuing, and judgement on how effective it would be might need to wait until they have a lot more figured out.Oleksi Derkatchhttps://www.blogger.com/profile/00304588000327101991noreply@blogger.comtag:blogger.com,1999:blog-7972214731683804743.post-70228712293078916322010-11-17T18:54:14.496-05:002010-11-17T18:54:14.496-05:00I don't entirely disagree with you, but I'...I don't entirely disagree with you, but I'm also calling you out on your particular argument being stupid.<br /><br />"Banana" + "Ball"<br />#=> BananaBall<br />1 + 1<br />#=> 2<br /><br />What?! It doesn't return 11?! What a load of bollocks!<br /><br />Okay, so that seems like a trivial problem, but the cases quickly become non-trivial when you get into dynamic typing. So this isn't some sort of problem unique to English. It just so happens that English is hella more overloaded than C#.<br /><br />"In any case, the progress in free-form linguistic parsing is really interesting, but we will probably see it applied to other fields effectively before we see it as a substitute for traditional programming languages."<br /><br />Obviously, that's the entire point. It's Not For You. The impreciseness of English actually gives you flexibility in stating complex problems concisely.<br /><br />E.g. "How do I defend Poland from the Russians?"<br /><br />Maybe that's too vague, so what? Let your HAL 9000 muse about it overnight, and then you can start qualifying things it does wrong in the battle plans:<br /><br />"Actually, we'd like to avoid global thermonuclear holocaust if possible"<br /><br />"I guess it's alright to let them take the countryside if we can save Warsaw"<br /><br />"You know what, aviation fuel is kind of expensive, we'd like to do this with just 3 tanks and a gumball machine"<br /><br />Is it difficult? Sure. Is it worth pursuing? Absolutely!Pwuhttps://www.blogger.com/profile/01638294078504125748noreply@blogger.com