Danbooru

Expanding the "solo" tag into a genderless quantifier

Posted under General

Current Situation

I want images that have one AND ONLY ONE person in it. What do I do?

  • Simple. Just search with solo. Job done.

I want images that have two AND ONLY TWO persons in it. What do I do?

I want images that have three AND ONLY THREE persons in it. What do I do?

  • ... orz

There are ways around this with using character tags and the amount of character tags (chartags:2) but there have been a lot of additions in the last years like costumes and alternate forms (ninomae_ina'nis_(5th_costume) / astolfo_(memories_at_trifas)_(fate) / toki_(bunny)_(blue_archive)) that has made this a lot harder. Then there are pictures with depictions of characters that do not qualify as people (painting / character_doll) and the elephant in the room are original images that don't have any character tags to begin with.

Using the gendered counting tags is also not ideal when it involves characters with changing genders, genders that are up to the interpretation of the artist, characters that are often genderswapped (astolfo_(fate) / bridget_(guilty_gear) / rimuru_tempest) and again original characters. There is also the ongoing debate of how some characters should be gendered. I don't want to open that can of worms here, but I think that having an alternate system to search for people would make changes to the gender system easier in the future.

In short, the current situation is not ideal and could be improved. IMHO atleast.

Proposal

There is already a perfect system in place that we currently use; the solo tag. And my idea would be to scale this up into several tags:

duo for two people. Fun fact: This one actually exists but is deprecated atm
trio for three people.
quartet for four people.
quintet for five people.
The names of these tags are open for discussion

We can't go further than 5 because character counts on Danbooru are abstracted after 5 (6+girls) so this would be pointless.
These tags would follow the same rules as solo, more information down below.

Possible implementation

Because there are almost 6 million active posts at this time on Danbooru and only 95k of these are tagged with no_humans which means that this will affect up to 98% of all posts. Executing this is a massive undertaking, so I want to automate as much as possible. First of all we need some data. Because I was bored, I made this table of all Girl/Boy/Other permutations:

Oversized Table, don't open on mobile
0G1G2G3G4G5G0B1B2B3B4B5B0O1O2O3O4O5O#Query Equivalent
0-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
1-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other
2-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others
3-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others
4-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 4others
5-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 5others
1-1girl -2girls -3girls -4girls -5girls -6+girls 1boy -1other -2others -3others -4others -5others -6+others
2-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 1other
3-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 2others
4-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 3others
5-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 4others
6-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 5others
2-1girl -2girls -3girls -4girls -5girls -6+girls 2boys -1other -2others -3others -4others -5others -6+others
3-1girl -2girls -3girls -4girls -5girls -6+girls 2boys 1other
4-1girl -2girls -3girls -4girls -5girls -6+girls 2boys 2others
5-1girl -2girls -3girls -4girls -5girls -6+girls 2boys 3others
6-1girl -2girls -3girls -4girls -5girls -6+girls 2boys 4others
7-1girl -2girls -3girls -4girls -5girls -6+girls 2boys 5others
3-1girl -2girls -3girls -4girls -5girls -6+girls 3boys -1other -2others -3others -4others -5others -6+others
4-1girl -2girls -3girls -4girls -5girls -6+girls 3boys 1other
5-1girl -2girls -3girls -4girls -5girls -6+girls 3boys 2others
6-1girl -2girls -3girls -4girls -5girls -6+girls 3boys 3others
7-1girl -2girls -3girls -4girls -5girls -6+girls 3boys 4others
8-1girl -2girls -3girls -4girls -5girls -6+girls 3boys 5others
4-1girl -2girls -3girls -4girls -5girls -6+girls 4boys -1other -2others -3others -4others -5others -6+others
5-1girl -2girls -3girls -4girls -5girls -6+girls 4boys 1other
6-1girl -2girls -3girls -4girls -5girls -6+girls 4boys 2others
7-1girl -2girls -3girls -4girls -5girls -6+girls 4boys 3others
8-1girl -2girls -3girls -4girls -5girls -6+girls 4boys 4others
9-1girl -2girls -3girls -4girls -5girls -6+girls 4boys 5others
5-1girl -2girls -3girls -4girls -5girls -6+girls 5boys -1other -2others -3others -4others -5others -6+others
6-1girl -2girls -3girls -4girls -5girls -6+girls 5boys 1other
7-1girl -2girls -3girls -4girls -5girls -6+girls 5boys 2others
8-1girl -2girls -3girls -4girls -5girls -6+girls 5boys 3others
9-1girl -2girls -3girls -4girls -5girls -6+girls 5boys 4others
10-1girl -2girls -3girls -4girls -5girls -6+girls 5boys 5others
11girl -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
21girl -1boy -2boys -3boys -4boys -5boys -6+boys 1other
31girl -1boy -2boys -3boys -4boys -5boys -6+boys 2others
41girl -1boy -2boys -3boys -4boys -5boys -6+boys 3others
51girl -1boy -2boys -3boys -4boys -5boys -6+boys 4others
61girl -1boy -2boys -3boys -4boys -5boys -6+boys 5others
21girl 1boy -1other -2others -3others -4others -5others -6+others
31girl 1boy 1other
41girl 1boy 2others
51girl 1boy 3others
61girl 1boy 4others
71girl 1boy 5others
31girl 2boys -1other -2others -3others -4others -5others -6+others
41girl 2boys 1other
51girl 2boys 2others
61girl 2boys 3others
71girl 2boys 4others
81girl 2boys 5others
41girl 3boys -1other -2others -3others -4others -5others -6+others
51girl 3boys 1other
61girl 3boys 2others
71girl 3boys 3others
81girl 3boys 4others
91girl 3boys 5others
51girl 4boys -1other -2others -3others -4others -5others -6+others
61girl 4boys 1other
71girl 4boys 2others
81girl 4boys 3others
91girl 4boys 4others
101girl 4boys 5others
61girl 5boys -1other -2others -3others -4others -5others -6+others
71girl 5boys 1other
81girl 5boys 2others
91girl 5boys 3others
101girl 5boys 4others
111girl 5boys 5others
22girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
32girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other
42girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others
52girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others
62girls -1boy -2boys -3boys -4boys -5boys -6+boys 4others
72girls -1boy -2boys -3boys -4boys -5boys -6+boys 5others
32girls 1boy -1other -2others -3others -4others -5others -6+others
42girls 1boy 1other
52girls 1boy 2others
62girls 1boy 3others
72girls 1boy 4others
82girls 1boy 5others
42girls 2boys -1other -2others -3others -4others -5others -6+others
52girls 2boys 1other
62girls 2boys 2others
72girls 2boys 3others
82girls 2boys 4others
92girls 2boys 5others
52girls 3boys -1other -2others -3others -4others -5others -6+others
62girls 3boys 1other
72girls 3boys 2others
82girls 3boys 3others
92girls 3boys 4others
102girls 3boys 5others
62girls 4boys -1other -2others -3others -4others -5others -6+others
72girls 4boys 1other
82girls 4boys 2others
92girls 4boys 3others
102girls 4boys 4others
112girls 4boys 5others
72girls 5boys -1other -2others -3others -4others -5others -6+others
82girls 5boys 1other
92girls 5boys 2others
102girls 5boys 3others
112girls 5boys 4others
122girls 5boys 5others
33girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
43girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other
53girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others
63girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others
73girls -1boy -2boys -3boys -4boys -5boys -6+boys 4others
83girls -1boy -2boys -3boys -4boys -5boys -6+boys 5others
43girls 1boy -1other -2others -3others -4others -5others -6+others
53girls 1boy 1other
63girls 1boy 2others
73girls 1boy 3others
83girls 1boy 4others
93girls 1boy 5others
53girls 2boys -1other -2others -3others -4others -5others -6+others
63girls 2boys 1other
73girls 2boys 2others
83girls 2boys 3others
93girls 2boys 4others
103girls 2boys 5others
63girls 3boys -1other -2others -3others -4others -5others -6+others
73girls 3boys 1other
83girls 3boys 2others
93girls 3boys 3others
103girls 3boys 4others
113girls 3boys 5others
73girls 4boys -1other -2others -3others -4others -5others -6+others
83girls 4boys 1other
93girls 4boys 2others
103girls 4boys 3others
113girls 4boys 4others
123girls 4boys 5others
83girls 5boys -1other -2others -3others -4others -5others -6+others
93girls 5boys 1other
103girls 5boys 2others
113girls 5boys 3others
123girls 5boys 4others
133girls 5boys 5others
44girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
54girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other
64girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others
74girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others
84girls -1boy -2boys -3boys -4boys -5boys -6+boys 4others
94girls -1boy -2boys -3boys -4boys -5boys -6+boys 5others
54girls 1boy -1other -2others -3others -4others -5others -6+others
64girls 1boy 1other
74girls 1boy 2others
84girls 1boy 3others
94girls 1boy 4others
104girls 1boy 5others
64girls 2boys -1other -2others -3others -4others -5others -6+others
74girls 2boys 1other
84girls 2boys 2others
94girls 2boys 3others
104girls 2boys 4others
114girls 2boys 5others
74girls 3boys -1other -2others -3others -4others -5others -6+others
84girls 3boys 1other
94girls 3boys 2others
104girls 3boys 3others
114girls 3boys 4others
124girls 3boys 5others
84girls 4boys -1other -2others -3others -4others -5others -6+others
94girls 4boys 1other
104girls 4boys 2others
114girls 4boys 3others
124girls 4boys 4others
134girls 4boys 5others
94girls 5boys -1other -2others -3others -4others -5others -6+others
104girls 5boys 1other
114girls 5boys 2others
124girls 5boys 3others
134girls 5boys 4others
144girls 5boys 5others
55girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
65girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other
75girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others
85girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others
95girls -1boy -2boys -3boys -4boys -5boys -6+boys 4others
105girls -1boy -2boys -3boys -4boys -5boys -6+boys 5others
65girls 1boy -1other -2others -3others -4others -5others -6+others
75girls 1boy 1other
85girls 1boy 2others
95girls 1boy 3others
105girls 1boy 4others
115girls 1boy 5others
75girls 2boys -1other -2others -3others -4others -5others -6+others
85girls 2boys 1other
95girls 2boys 2others
105girls 2boys 3others
115girls 2boys 4others
125girls 2boys 5others
85girls 3boys -1other -2others -3others -4others -5others -6+others
95girls 3boys 1other
105girls 3boys 2others
115girls 3boys 3others
125girls 3boys 4others
135girls 3boys 5others
95girls 4boys -1other -2others -3others -4others -5others -6+others
105girls 4boys 1other
115girls 4boys 2others
125girls 4boys 3others
135girls 4boys 4others
145girls 4boys 5others
105girls 5boys -1other -2others -3others -4others -5others -6+others
115girls 5boys 1other
125girls 5boys 2others
135girls 5boys 3others
145girls 5boys 4others
155girls 5boys 5others

Notes:

  • 1G to 5G are just abbreviations of 1girl to 5girls to keep the table somewhat compact. Same goes for 1B (boy) and 1O (other)
  • 0G / 0B / 0O are not tags, they just mean the absence of any tags of their respective groups. So 0B is equivalent to -1boy -2boys -3boys -4boys -5boys -6+boys

Luckily we don't need everything. As mentioned before, Danbooru only quantifies up to 5, so everything in the # column that is 6 or higher can be ignored. If we filter this down we get:

Filtered table
CaseCountQuery Equivalent
0girls|0boy|2others2-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others
0girls|0boy|3others3-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others
0girls|0boy|4others4-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 4others
0girls|0boy|5others5-1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 5others
0girls|1boy|1other2-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 1other
0girls|1boy|2others3-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 2others
0girls|1boy|3others4-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 3others
0girls|1boy|4others5-1girl -2girls -3girls -4girls -5girls -6+girls 1boy 4others
0girls|2boy|0other2-1girl -2girls -3girls -4girls -5girls -6+girls 2boys -1other -2others -3others -4others -5others -6+others
0girls|2boy|1other3-1girl -2girls -3girls -4girls -5girls -6+girls 2boys 1other
0girls|2boy|2others4-1girl -2girls -3girls -4girls -5girls -6+girls 2boys 2others
0girls|2boy|3others5-1girl -2girls -3girls -4girls -5girls -6+girls 2boys 3others
0girls|3boy|0other3-1girl -2girls -3girls -4girls -5girls -6+girls 3boys -1other -2others -3others -4others -5others -6+others
0girls|3boy|1other4-1girl -2girls -3girls -4girls -5girls -6+girls 3boys 1other
0girls|3boy|2others5-1girl -2girls -3girls -4girls -5girls -6+girls 3boys 2others
0girls|4boys|0other4-1girl -2girls -3girls -4girls -5girls -6+girls 4boys -1other -2others -3others -4others -5others -6+others
0girls|4boys|1other5-1girl -2girls -3girls -4girls -5girls -6+girls 4boys 1other
0girls|5boys|0other5-1girl -2girls -3girls -4girls -5girls -6+girls 5boys -1other -2others -3others -4others -5others -6+others
1girl|0boy|1other21girl -1boy -2boys -3boys -4boys -5boys -6+boys 1other
1girl|0boy|2others31girl -1boy -2boys -3boys -4boys -5boys -6+boys 2others
1girl|0boy|3others41girl -1boy -2boys -3boys -4boys -5boys -6+boys 3others
1girl|0boy|4others51girl -1boy -2boys -3boys -4boys -5boys -6+boys 4others
1girl|1boy|0other21girl 1boy -1other -2others -3others -4others -5others -6+others
1girl|1boy|1other31girl 1boy 1other
1girl|1boy|2others41girl 1boy 2others
1girl|1boy|3others51girl 1boy 3others
1girl|2boy|0other31girl 2boys -1other -2others -3others -4others -5others -6+others
1girl|2boy|1other41girl 2boys 1other
1girl|2boy|2others51girl 2boys 2others
1girl|3boy|0other41girl 3boys -1other -2others -3others -4others -5others -6+others
1girl|3boy|1other51girl 3boys 1other
1girl|4boys|0other51girl 4boys -1other -2others -3others -4others -5others -6+others
2girls|0boy|0other22girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
2girls|0boy|1other32girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other
2girls|0boy|2others42girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others
2girls|0boy|3others52girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others
2girls|1boy|0other32girls 1boy -1other -2others -3others -4others -5others -6+others
2girls|1boy|1other42girls 1boy 1other
2girls|1boy|2others52girls 1boy 2others
2girls|2boy|0other42girls 2boys -1other -2others -3others -4others -5others -6+others
2girls|2boy|1other52girls 2boys 1other
2girls|3boy|0other52girls 3boys -1other -2others -3others -4others -5others -6+others
3girls|0boy|0other33girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
3girls|0boy|1other43girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other
3girls|0boy|2others53girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others
3girls|1boy|0other43girls 1boy -1other -2others -3others -4others -5others -6+others
3girls|1boy|1other53girls 1boy 1other
3girls|2boy|0other53girls 2boys -1other -2others -3others -4others -5others -6+others
4girls|0boy|0other44girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others
4girls|0boy|1other54girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other
4girls|1boy|0other54girls 1boy -1other -2others -3others -4others -5others -6+others
5girls|0boy|0other55girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others

Exclusions and pitfalls

This assumes that all current character count tags are valid and don't have multiple of the same group. So a post isn't tagged with 1boy and 2boys at the same time. This needs to be checked before the big implementation.

Solo currently has a couple of rules, most notably that any depictions of a crowd or an audience shouldn't be tagged as solo. It would make sense to extend these rules to the new tags as well. That said, some cleanup would be needed beforehand. And what counts as a crowd/audience?
post #5761418 - faceless human shapes
post #6181170 - silhouettes
post #5212982 - just glowsticks
These are currently all tagged solo at the moment, so the easiest thing to do for now is excluding posts with these tags and then doing some cleanup afterwards. These tags are relatively small, so this can be done manually, but making a clear line on what is and what isn't allowed need to be done.

Depictions that do not count as persons (picture_frame / painting / character_doll) should already be covered by the current usage of the gender tags, but I think that doing a pass afterwards is recommended.

Preliminary Bulk update

Assuming that I've thought of everything (probably not), if I had to write this down into a bulk update request taking into account the aforementioned exclusions, it would be:

BUR
update -1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others -audience -crowd -> duo
update -1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others -audience -crowd -> trio
update -1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 4others -audience -crowd -> quartet
update -1girl -2girls -3girls -4girls -5girls -6+girls -1boy -2boys -3boys -4boys -5boys -6+boys 5others -audience -crowd -> quintet
update -1girl -2girls -3girls -4girls -5girls -6+girls 1boy 1other -audience -crowd -> duo
update -1girl -2girls -3girls -4girls -5girls -6+girls 1boy 2others -audience -crowd -> trio
update -1girl -2girls -3girls -4girls -5girls -6+girls 1boy 3others -audience -crowd -> quartet
update -1girl -2girls -3girls -4girls -5girls -6+girls 1boy 4others -audience -crowd -> quintet
update -1girl -2girls -3girls -4girls -5girls -6+girls 2boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> duo
update -1girl -2girls -3girls -4girls -5girls -6+girls 2boys 1other -audience -crowd -> trio
update -1girl -2girls -3girls -4girls -5girls -6+girls 2boys 2others -audience -crowd -> quartet
update -1girl -2girls -3girls -4girls -5girls -6+girls 2boys 3others -audience -crowd -> quintet
update -1girl -2girls -3girls -4girls -5girls -6+girls 3boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> trio
update -1girl -2girls -3girls -4girls -5girls -6+girls 3boys 1other -audience -crowd -> quartet
update -1girl -2girls -3girls -4girls -5girls -6+girls 3boys 2others -audience -crowd -> quintet
update -1girl -2girls -3girls -4girls -5girls -6+girls 4boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quartet
update -1girl -2girls -3girls -4girls -5girls -6+girls 4boys 1other -audience -crowd -> quintet
update -1girl -2girls -3girls -4girls -5girls -6+girls 5boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quintet
update 1girl -1boy -2boys -3boys -4boys -5boys -6+boys 1other -audience -crowd -> duo
update 1girl -1boy -2boys -3boys -4boys -5boys -6+boys 2others -audience -crowd -> trio
update 1girl -1boy -2boys -3boys -4boys -5boys -6+boys 3others -audience -crowd -> quartet
update 1girl -1boy -2boys -3boys -4boys -5boys -6+boys 4others -audience -crowd -> quintet
update 1girl 1boy -1other -2others -3others -4others -5others -6+others -audience -crowd -> duo
update 1girl 1boy 1other -audience -crowd -> trio
update 1girl 1boy 2others -audience -crowd -> quartet
update 1girl 1boy 3others -audience -crowd -> quintet
update 1girl 2boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> trio
update 1girl 2boys 1other -audience -crowd -> quartet
update 1girl 2boys 2others -audience -crowd -> quintet
update 1girl 3boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quartet
update 1girl 3boys 1other -audience -crowd -> quintet
update 1girl 4boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quintet
update 2girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> duo
update 2girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other -audience -crowd -> trio
update 2girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others -audience -crowd -> quartet
update 2girls -1boy -2boys -3boys -4boys -5boys -6+boys 3others -audience -crowd -> quintet
update 2girls 1boy -1other -2others -3others -4others -5others -6+others -audience -crowd -> trio
update 2girls 1boy 1other -audience -crowd -> quartet
update 2girls 1boy 2others -audience -crowd -> quintet
update 2girls 2boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quartet
update 2girls 2boys 1other -audience -crowd -> quintet
update 2girls 3boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quintet
update 3girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> trio
update 3girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other -audience -crowd -> quartet
update 3girls -1boy -2boys -3boys -4boys -5boys -6+boys 2others -audience -crowd -> quintet
update 3girls 1boy -1other -2others -3others -4others -5others -6+others -audience -crowd -> quartet
update 3girls 1boy 1other -audience -crowd -> quintet
update 3girls 2boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quintet
update 4girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quartet
update 4girls -1boy -2boys -3boys -4boys -5boys -6+boys 1other -audience -crowd -> quintet
update 4girls 1boy -1other -2others -3others -4others -5others -6+others -audience -crowd -> quintet
update 5girls -1boy -2boys -3boys -4boys -5boys -6+boys -1other -2others -3others -4others -5others -6+others -audience -crowd -> quintet

Future expansion

I'm getting really ahead of myself here, but if this was implemented it would open the door for possible duo_focus, trio_focus, quartet_focus, quintet_focus tags that can be used to search for images where a X number of people is the focus of the image, regardless of what is happening in the background. post #3887386 would be a prime example for duo_focus

TL;DR

Adding duo, trio, quartet, quintet tags to work alongside the solo tag to easier search for a specific number of characters, regardless of gender, copyright, characters, and outfits/skins/alternate forms.
Because of the enormous scope of this I'm probably overlooking or forgetting some things here so feedback is very much appreciated. Especially regarding exclusions of tags that need to be done manually.

I'm actually pro-duo (unsure about trio, quartet, quintet, sextet, septet, octet, nonet), especially given that this search:

~(2girls -multiple_boys -multiple_others -1boy -multiple_boys) ~(2boys -multiple_girls -multiple_others -1girl -1other) ~(2others -multiple_girls -multiple_boys -1girl -1boy) ~(1girl 1boy -1other -multiple_others) ~(1girl 1other -1boy -multiple_boys) ~(1boy 1other -1girl -multiple_girls)

Times out hard. Additionally it would still suffer from multiple views and comics, so we cannot even use it as a mass update.

(It is also currently suggested in topic #23782 to expand the current 6+ system into a 10+ system.)

I don't see anything wrong with implementing a tag like duo (and so on) since it helps fill that currently-basically-unsearchable niche. Gacha/costume tags have especially made a chartags:x search basically useless for anything pertaining to video games with costumes (and even worse now with vtuber costume tags), because a chartags:2 search for example would be insanely polluted by results that are actually just a solo character in a costume. Also originals with no chartags would be skipped too, as was said.

Though, such an implementation would also run into and continue to perpetuate the same issues that solo has by being mutually exclusive with multiple views, which is that you can't currently search for "all art of exclusively a single character" with solo? (see topic #21174)
I reckon you'd have the same problem here, which is that you wouldn't be able to search for "all art of exclusively these two characters" by using duo.

First of all, I don't know if this is technically possible.

Rather than creating a new tag like trio or quartet something, I'd like to add a Concept of Weight(hidden attributes) to the existing 1girl/boy/other to 5girls/boys/others tags, summing them into an integer value called headcount, which can then be searched in the cheatsheet as headcount:{number}. That way, headcount can be used to search for a total of 0-15 people separately.
For 6+girls/boys/others, I'd like to add an attribute called overfive, which is a boolean value, to add or exclude results for 6 or more people of the same sex. If any of those three tags are present, overfive would be set to true. I'd also like to see a default value false, since I'm sure we'll use false that a lot in practice rather than true.
These values are set when a new post is uploaded. For existing posts, well, there's got to be a way.

So if We wanted to search for posts with 9 people, We could type headcount:9 overfive:false into the search bar.

Additionally, We can use the headcount value to automatically add tags like solo or no_humans. However, we need to discuss tags like dual_persona or multiple_persona beforehand.

Hmm... which is the harder task?
Cheer up, engineers.

ion288 said:

Would such a system break down on misstagged posts like 1girl 2girls?

It could work around it by having it alert us if the value of weight_girls changes to something other than zero more than twice during the aggregation of weight for girls (weight_girls + weight_boys + weight_others -> headcount), but honestly, that's a bit too clunky.

So here's a more general approach - again, a feature suggestion.
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 example of adding.

create exclusive [1girl 2girls ... 6+girls]

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.

Updated

Yeah, and I do not think that throwing posts like post #6287341 into solo is a good idea. Each instance of the character is doing her own thing, and is in a completely different outfit. I wouldn't mind a separate tag for "a single character, but not necessarily a single instance of them", but mudding solo like that is not the way to go.

KagayakuShiningGate said:

Yeah, and I do not think that throwing posts like post #6287341 into solo is a good idea. Each instance of the character is doing her own thing, and is in a completely different outfit. I wouldn't mind a separate tag for "a single character, but not necessarily a single instance of them", but mudding solo like that is not the way to go.

The thing is, tag you're proposing would have a 98% overlap with solo, another nearly 4M posts tag that has to be tagged manually, solely for the purpose of not "muddying" 3.7M search results with 93k multiple_views posts. That's barely 2.5% "dilution" if multiple_views were added to solo, and a simple -multiple_views to the search would solve the issue if you absolutely wanted exclusively single instance of single character. A new tag isn't really a great solution.

KagayakuShiningGate said:

Yeah, and I do not think that throwing posts like post #6287341 into solo is a good idea. Each instance of the character is doing her own thing, and is in a completely different outfit. I wouldn't mind a separate tag for "a single character, but not necessarily a single instance of them", but mudding solo like that is not the way to go.

Posts like that should be tagged multiple_persona rather than 1girl to begin with.

magcolo said:

So you’re suggesting all multiple views, variations, lineup etc. of a single character should be tagged multiple girls and not 1girl? Then how do we keep track of multiple views of two actual characters?

Obviously not, that pic in particular shows the Kroniis interacting with each other, that's why it should be multiple_persona. Posts like post #6290758 or post #6288115 would keep being tagged as 1girl. And posts with separate characters could be found by simply excluding multiple_persona.

pronebone said:

I'd prefer to have the "WordNet style"

AkaringoP said:

I'd like to add a Concept of Weight(hidden attributes) to the existing 1girl/boy/other to 5girls/boys/others tags, summing them into an integer value called headcount, which can then be searched in the cheatsheet as headcount:{number}. That way, headcount can be used to search for a total of 0-15 people separately.

My concept would be ideal if we had to stay within the boundaries of the current system, but if we are able to implement something new, then I'm all for it.
It sounds like a great idea that would add a lot of possibilities and flexibility for the future.

Just getting a bit ahead here (again); Besides the points mentioned before by others, faceless generic background people are obviously not counted at the moment and probably won't be in the future. But how would we count people that are background characters but still recognizable.

post #5125398 for example where the main focus lies on Paimon, Lumine, and Aether. But there are well over a dozen characters in this image.
Would something like solo_focus but for multiple people also be possible in the new system?

Updated

GabrielWB said:

Just getting a bit ahead here (again); Besides the points mentioned before by others, faceless generic background people are obviously not counted at the moment and probably won't be in the future. But how would we count people that are background characters but still recognizable.

post #5125398 for example where the main focus lies on Paimon, Lumine, and Aether. But there are well over a dozen characters in this image.
Would something like solo_focus but for multiple people also be possible in the new system?

In my case, I tend to count characters if I can identify exactly who they are.
I also count extra, even faceless, characters if I can determine that they are interacting with the main person in the image, or have room to do so.

An example of the former would be post #5906901, and the latter would be post #5773005.

I would prefer a metatag-like solution to adding another set of tags like duo/quartet/etc... Something like what AkaringoP said, but not quite. Replace the girl/boy/other tags with counts that are stored for each post (6+girls becoming 6, etc...). Search for and modify those counts via metatags of those names. Add a metatag ("headcount", "chars", or whatever) that searches on the sum of those counts. Display those counts specially in the post tag list.

So "girls:3", "boys:<4", "chars:2", etc...

As for the mess of multiple views and whatnot... dunno.

1 2