I define Smart Collections to deal with situations like this. For your specific example, you need just two rules:
Keywords > Contains Words > bird
Keywords > Contains Words > !chaffinch !kiwi !robin
Just list as many "leaf" keywords as you have.
If you're wondering why I've used !
to negate the keywords instead of Lightroom's less cryptic match negation options, there are a couple of reasons, each based on the problems with the alternatives:
You can Alt/Option click the + in the Smart Collection dialog to create a rule group, then set it to "None", then add a single "Keywords > Contains Words" rule for each species. This works no better than the above method, and takes a lot more work.
You can instead replace the second rule above with a "Keywords > Doesn't Contain" rule, but notice that there is no "Doesn't Contain Words". This can be a problem with shorter keyword names in a big hierarchy, since you can end up matching incorrect partial keywords: wren
also matches wrench
and Lawrence
.
If the collection initially contains more photos than you want to deal with, put a time limit on it:
Edit Time > Is In the Last > 1 week
Adjust the limit to taste.
You might also restrict it to top-rated photos at first, then gradually relax the rating rule to bring more and more photos under control.
Once you have several of these Smart Collections, you will notice Lightroom start to bog down. The solution is to put these collections into a Collection Set and keep it folded up. Lightroom only recomputes Smart Collection contents while the collection is visible. After a long session of tagging things, I quit Lightroom, re-open it, and open up my Collection Sets one by one, then deal with any photos that fall into these QA collections, indicating some problem with the keywording.
Another useful tool here is John Ellis' Any Filter. One of its many search features lets you find photos with an exact keyword, not counting those merely inherited from a parent higher up the hierarchy. It's useful, but imperfect:
The biggest problem with Any Filter is that, unlike Smart Collections, it has to be run on demand due to a limitation in the Lightroom SDK. Its results don't update dynamically as you apply, remove, and change keywords.
Another annoyance is that each individual photo can only have one Any Filter flag on it at a time, so if a given photo matches multiple passes of Any Filter, the second pass will overwrite the flag marking it as part of the first group. Thus, you want to use this plugin only to select some photos, then immediately do something with them. If you can't do that, you will at least have to stash them in a "dumb" collection for later processing.