4 ms·
> Essentially, when dealing with natural languages hacking a solution is the suggested way of doing things, since nobody can figure out how to do it properly.
by bhaak 9y ago
> Essentially, when dealing with natural languages hacking a solution is the suggested way of doing things, since nobody can figure out how to do it properly.
That's really the TL;DR I also got from the computational linguistic courses I attended.
There's probably the Pareto principle at works. Having no solution is worse than having an 80% solution that works well enough when the 100% solution is much harder to achieve (and some of the problems not even humans would be able to solve properly).
- nlperguiy 9y agoYeah, when you look at some of the SemEval contest winners or top 3, many use fairly simple methods combined into a powerful solution (except when LSTM with attention grabs the throne).
- deleted 9y ago[deleted]
- cvs268 9y agoCouldn't agree more! Recently I wrote a web-extension for Firefox that displays funny "Deep thought" quotes. I wanted to analyse the quote text and fetch relevant images to animate in the background of the quote text. After reading several NLP tutorials, guess what I did as a first PoC - Pick the 3 longest words in a quote text and run an image search with those 3 words. 6 lines of plain javascript code that can be run anywhere almost instantly https://github.com/TheCodeArtist/deep-thought-tabs/blob/master/addon-src/deepThoughts.js#L87 https://github.com/TheCodeArtist/deep-thought-tabs/blob/mast... I get relevant images in the search results 99/100 times. The quirks of searching often result in the image adding to the funny-ness of the "Deep Thought" on display. Its so effective that i ended up publishing the "Deep Thought Tabs" web-extension with this approach itself: https://addons.mozilla.org/en-US/android/addon/deep-thought-tabs/ https://addons.mozilla.org/en-US/android/addon/deep-thought-... Later I tried using the nlp-compromise js library to identify "topics" of interest within a quote text - typically nouns, verbs, and adjectives. Comparing the results with my "3-longest-words" approach, I found that the longest words were anyways almost always the "topic" words that NLP identified for any given quote text.
- boxy310 9y agoNeat observation. The "3-longest-words" approach probably works well because grammatical words tend to be elided down to as short of an implementation as possible, while longer words tend to be more demonstrative of the actual topic at hand, rather than grammatical structure.
- vvanders 9y agoThat's pretty awesome. Back in games we'd do all sorts of tricks in networking to make it look like things were happening(sound effects, decals, etc) in response to local events until we could have the server provide the definitive call on some game state. Most players thought we had a much higher fidelity sim then we actually did. It's a pretty common technique across a lot of games. You can get away with quite a bit by being smart about what you "fake" and what you actually make work end-to-end.
- kleiba 9y agoYou could use the same argument against pretty much any discipline that's undergoing active research. Of course no-one knows (yet) how to do it properly or else there would be no research going on. Image understanding, robotics, even non-computational disciplines such as medicine... Staying with the latter, take HIV for example: no-one knows how to heal it but I'm sure a lot of people are very grateful for the 80% solutions that prolong lives today. So, in summary, you point is not wrong. But it's no reason for bashing computational linguistics. It is common across many disciplines to use not-yet-perfect solutions as long as you don't know how to do better. That said, I don't fully agree with the notion that "hacking a solution" is the suggested way of doing things. Computational linguistics is a pretty wild field with a lot of sub-disciplines. In a lot of those, the state of the art consists of quite sophisticated approaches that are the result of years of research. Take speech recognition, for instance. Currently, deep learning approaches take the cake, but there is also a plethora of insights that have been gained from improving the traditional methods over decades. I think, a more nuanced point of view is called for here.
- boxy310 9y agoEh, that really comes down to applied theory vs. pure theory. There's no one Grand Unifying Theory of Natural Language Processing, and not likely to be a strong candidate for a while yet. Until then, there can still be a lot of good problem-solving that can be used with either traditional NLP or with neural networks, or even a hacked-together hybrid approach, and both application and research will feed into each other to refine the processes.
- bhaak 9y agoI didn't intend to bash computational linguistics. Those were some of my favorite course I wouldn't have attended more than I needed if I didn't like the topic and gotten something out of it. It's surprising how often you can get very far with imperfect solutions. ELIZA is the classic example. A simple program with very little code could convince people that they were talking to another human or at least machine with an understanding of their feelings. ELIZA was coded completely by humans. Of course, nowadays we have more sophisticated ways of doing that. We can throw a few topic tagged example sentences with connected replies at a computer and it will mostly reply with the right answers to similar sentences. This is only possible because computational linguistics provided the foundation for that. Still many solution are hacky to this day but that is because computational linguistics is more concerned about interaction with imperfect humans than most of the other disciplines in computer science.