I noticed a trend in a couple recent questions.
- Identifying plagiarized jokes? [closed] (Two jokes with different proper nouns or slightly different word order may actually be the same joke.)
- How to calculate/determine similarity between two English Sentences? [on hold] (Determine common meaning between two sentences.)
Both questions were closed as "too broad". I imagine this is because they touch on a big subject: Natural Language Processing. The thing is, they're not asking for a full explanation of NLP. Both questions describe a fairly discrete scenario (especially joke plagiarism). So why "too broad"?
My hunch is that at first glance it seems impossible to write a rich answer in the space SO provides. After all, it would require the equivalent of several academic papers. But is that true? When we think about expertise, it's easy to forget about the layers and layers of abstraction. Experts don't talk to each other in gory detail. They communicate using convenient abstractions. When I provide an answer about straight-up programming, I leave out many, many details. My answer uses abstract concepts that I assume you know or will look up in your own time. For example, I don't describe Dependency Injection from first principles, when I say "functional programming" I assume there's a shared history between us, I casually mention a Facade without explaining exactly what I mean, etc.
I imagine that NLP (and many other specialties) have their own abstractions. I can't say for sure, but I imagine an expert might be able to competently answer the questions above in a few paragraphs. The answer wouldn't be step-by-step instructions from first principles; it would be a bunch of abstraction that I don't (initially) understand. If I'm right, then we're losing interesting questions because reviewers are uncomfortable with topics in which they lack expertise. Is this something we can improve?
Hopefully, it's not too obnoxious to anticipate questions/concerns:
- The OP isn't going to understand the answer anyway. -- That may be true initially, but remember back to your huge leaps in knowledge. They always start with confusion and misunderstanding. Selfishly, I'd love to learn something new regardless of what happens to the OP. Others may enjoy these answers as well.
- Specialties don't belong on Programmers. -- I agree that we don't want to become a Q&A for academic papers. Still, it seems there are opportunities to explore interesting algorithms and practices. I may not be able to answer the specialty questions, but exposure to the topic makes me a better developer. If a specialty is big enough, maybe it will break off to its own site and we can direct people there. Until then, let's tackle the on-topic questions here.
No one is going to answer these questions. -- This one is tricky. As of today, it seems that the majority of up-voted answers come from a small handful of users. These users may not be equipped to answer specialty questions. On the other hand, if we exclude specialty questions we're not likely to attract new and interesting contributors. It's a chicken and egg problem.
The trend has been growing restrictions on the types of questions that can be asked. This is good for keeping out the riff-raff. But there's also a cost. As the pool of questions shrink, there are fewer opportunities to attract participants. Seems there could be a win-win compromise. Toss the homework questions because they don't add lasting value for anyone involved, but open up some of the specialty questions in an attempt to lure a few fascinating experts with fascinating answers.
- We'll receive too many answers from unqualified respondents. -- Sure. That's always the case. Too often, we kill off whole categories of questions because they attract bad answers, even if there's a possibility for an excellent one. I prefer an approach that allows for greatness while acknowledging you may have to sift through some garbage versus an approach that prevents all garbage and greatness as collateral damage.