Sometimes people will tag things with a singular version a word, like "dog", but sometimes other people will tag things with a plural version of a word, like "dogs", and while a user might search for one or the other I think it's a safe assumption that the user would want both "dog" and "dogs" tags to appear.
While an actual "merge" of tags and automatic retagging would probably be a bit much to bother with, I think changing the search to simply match the first part of a tag without an S at the end would work well enough? So that "dog" or "dogs" both become "dog" when entering the search, and "dog" is compared to tags that are either "dog" or "dog"+"s" or anything that just starts with "dog" and optionally ends with "s", depending on how a regex would be formed I suppose. Maybe throw out this entire idea and add an option to just search matching parts of tags, or just the start of the tags so you get "dog" "dogs" "dog photo" "dogs species" or whatever.
It's a strange thing, the singular + plural variants of words for tags. I recall reading that people will look for plural versions of a word if they're less certain about what they want, and will look for a singular version of a word if they're very certain about what they want, but that's not very important for this. It's just some neat trivia half-remembered from years ago.