Danbooru

Feature request: Mutually Exclusive Tags

Posted under Bugs & Features

When tagging, sometimes we add tags that shouldn't be there together.
For example, tags for number of people(1~6+/girls~others) together, or solo and solo_focus together.

So let's make it possible to set multiple tags to be mutually exclusive. This is done using the attribute of Tags and The New Arrays of Arrays.

An array called exclusive_tags would look like this

[['solo','solo_focus'], ['1girl','2girls',...,'6+girls'], ...]
  • exclusive_tags: [['solo','solo_focus'],['1girl','2girls',...,'6+girls'], ...] All of exclusive_tags
  • exclusive_tags[0]: ['solo','solo_focus'] Each BUR of exclusive_tags
  • exclusive_tags[0][0]: 'solo' Each tags

In the tags, the attribute called exclusive will set the id value of exclusive_tags. We can use this id value to check if there are other mutually exclusive tags when uploading or editing a post, and if so, it would be perfect to stop the upload and highlight those tags in red.

via BUR, You should add or delete inner array or add, remove, or modify elements in the array.
Here's an examples.

create exclusive list [solo solo_focus]    # Let's call the ID of this array 123. exclusive_tags[123]: ['solo','solo_focus']
update exclusive list [solo solo_focus multiple_view] where 123
delete exclusive element solo where 123
insert exclusive element solo into 123
delete exclusive list 123    

I'm not an expert on SQL or BUR, so please be flexible and let me know if you have a better syntax.
It would be nice to be able to see the exclusive_tags for any one tag on a page like [Tags] - [Exclusives] afterwards.

This would prevent mistagging like 1girl 2girls, etc.

Discussed previously in topic #9108.

Also, I don't think there's enough of an application for this, meaning it wouldn't get much use at all. The counter tags are one of the few examples which are absolutely logically exclusive. Some users threw out some excusive tag combinations in topic #14603, but none of the ones pointed out are really exclusive at all. For example, blindfold or closed eyes and any of the looking tags such as looking at viewer are only exclusive if there is only a single character in the image.

Having said that, since the sets of truly exclusive tags seem to be minimal and unchanging, it'd probably easier just to hardcode that stuff in.

Additionally, I think it could potentially lead to even worse tagging.
For instance, let's imagine someone tagged both 4girls and 5girls on one picture, on upload. With that change, wouldn't just no tags get added? Since it can't tell which one is "more" correct.
Or, if someone was browsing the /posts page, without viewing any specific post. But somehow, they noticed that a post was mistagged, and they try to add 1boy to correct it through tag-scripting. If it already has a male counter, well, they won't see any error - trying to add a deprecated tag through tag scripting doesn't tell you the tag is already gone, it just tells you "Post updated". I think similar would likely happen here.

You can start with making a list of exclusive tags. I'm doubtful there are enough to be worth making a whole system for this. I don't want to make a system for this then find out the only exclusive tags are a handful of things like the Ngirls tags, and that errors like 1girl multiple_girls are rare.

The only truly exclusive tags are tags that apply to the post as a whole. You can always have a post with multiple views, or a comic or video with multiple unrelated scenes in one post. Because of this I think there are very few tags that can never be used together.

Some tags look exclusive at first glance, but aren't on deeper inspection. Like indoors and outdoors sound like they should be exclusive, but then you check indoors outdoors and see 1.3k posts and it's not clear what to do with them all. There are many tags like this.

The real problem is with mutually-exclusive tags that apply to a single character. Like you shouldn't normally tag long hair and short hair on the same character. But that is only true on solo posts. And even then there are bizarre exceptions like post #6306355. For basically anything to do with hair length, hair color, breast size, clothing color, etc, you're guaranteed to find tons of cases where people accidentally used multiple conflicting tags on the same character. This is the bigger problem that needs to be fixed, and the only way to do it is with manual tag gardening.

evazion said:

You can start with making a list of exclusive tags. I'm doubtful there are enough to be worth making a whole system for this. I don't want to make a system for this then find out the only exclusive tags are a handful of things like the Ngirls tags, […]

I keep an eye on multiple exclusive tag combinations, so from my experience I can say that few of those are truly exclusive. Pretty much every combination has some exceptions. For example, looking at viewer and facing viewer should not be used for the same character, so looking_at_viewer facing_viewer solo should be forbidden, right? No, because you have to exclude animal, animated, character_doll, pokemon_(creature), third_eye and are still left with a few stragglers.

The only truly exclusive tag combinations I have encountered so far are the boy/girl/other counters, any of those with a count >1 + solo, and solo + solo_focus. Everything else has exceptions.

[…] and that errors like 1girl multiple_girls are rare.

Haha, no.

Mistakes with the boy/girl/other tags are quite common. I just clean them out every day and I know a few other builders are also look out for those mistakes. The most commonly misused “exclusive” tag has to be solo, though. I maybe a dozens of incorrectly used solo tags every day, be it on posts that clearly have multiple characters or in combination with solo_focus.

Jerrpanese said:

The list of commonly misused tags has a list of tags that are mutually exclusive to each other, though I don't think there are many users who would go out of their way to read up on which tags shouldn't go together.

They're tags that cannot be used to describe the same object though.

The only one on the list that are mutually exclusive is the already mentioned solo ones. I suppose you could add a few more to that like the costume switch with solo. edit: although even that if the costume switched characters are in a picture within the image rather than actual characters in the image then it wouldn't interfere with solo so that's a no go too.

Greyscale/grey theme comes close but is still possible as a combination in animated stuff.

Updated

kittey said:

The only truly exclusive tag combinations I have encountered so far are the boy/girl/other counters, any of those with a count >1 + solo, and solo + solo_focus. Everything else has exceptions.

The only other tags I can think of that generate true exceptions are text-only page and blank page. These are mutually exclusive with a huge number of tags but generally don't get used with them, and when it does happen it's extremely easy to spot and fix.

Plus various meta tags as well - like lowres highres is obviously an invalid combination, as is third-party_source second-party_source (which has 7 posts in it for some reason).

Updated

1