Topic: Can You Specify Species/Gender Combinations Using Tags?

Posted under Tag/Wiki Projects and Questions

I’ve always found it weird that there doesn’t seem to be a way to search for a subject that is a specific species and gender. Specifically, when looking for results in which they’re paired with another subject.

For example; to find images of mares (female horses), the closest I can get is something like: female horse. Of course, using mare just gets corrected to horse, therefore losing the gender I’d specified in the process and showing any gender subject as long as it’s a horse.

In this case, if the results can be explicit, you can use something like equine_vulva to imply there should be a subject that is a female and a horse, but it falsely excludes many similarly valid posts that lack the tag.

Alternatively, something like: female horse -equine_penis could accomplish a similar objective, but ends up excluding most posts that include a male horse and female horse.

Am I crazy, or is this actually impossible??!!

Donovan DMC

Former Staff

It is not possible, searching for this would require more in depth tagging which would be impossible to actually implement due to the size of the site and the lack of care the average uploader has

swinburne said:
I’ve always found it weird that there doesn’t seem to be a way to search for a subject that is a specific species and gender. Specifically, when looking for results in which they’re paired with another subject.

For example; to find images of mares (female horses), the closest I can get is something like: female horse. Of course, using mare just gets corrected to horse, therefore losing the gender I’d specified in the process and showing any gender subject as long as it’s a horse.

In this case, if the results can be explicit, you can use something like equine_vulva to imply there should be a subject that is a female and a horse, but it falsely excludes many similarly valid posts that lack the tag.

Alternatively, something like: female horse -equine_penis could accomplish a similar objective, but ends up excluding most posts that include a male horse and female horse.

Am I crazy, or is this actually impossible??!!

It is impossible because combination tags like that are not allowed. Though I think they should be.

Donovan DMC

Former Staff

kyiiel said:
It is impossible because combination tags like that are not allowed. Though I think they should be.

This is how we end up with more tags than posts

According to Tags, there are approximately 28k species tags. There's at least 10 gender tags, plus over twice as many lore gender tags, let's call that 25. If you were to multiply them together, that would create 700k more tags. I could easily see people also wanting to add in form in, so that they can select specific anthro/feral/taur/etc characters, and that becomes millions of new tags. This would drastically increase the hardware requirements for the searching database that E6 uses, in addition to the increased tagging load that Donovan mentioned. Not really feasible at this time for the site.

Now, you could argue that the site doesn't have to use a one-dimensional tag list, but to switch away from that would require a complete change in the technologies used to store and search posts, effectively a rewrite of large swathes of the site, not to mention the subsequent retagging effort. Given the site is vastly developed and moderated by volunteers, such an effort would be infeasible to execute upon.

Aacafah

Moderator

To add on to the point about tag explosion, users would also only end up tagging the combined tag & not the individual forms. This would either result in less posts having the proper separated tags or an arms race of attempting to create the implications for the 2 (or more) sub-tags on each combined tag, which is both infeasible & overburdens the implication system. As kyureki said, to keep this scalable, we'd have to redesign everything about how we handle tagging on a systemic level. What you're really asking is for e6 to add/switch to character-based tagging (where you apply tags per character), whereas e6 (& every similar site I know of) currently uses image-based tagging (where you apply tags per image/post). This has been discussed before:

aacafah said:
In short, it is possible, but will likely never happen due to potentially contentious UX changes, performance considerations, excessive development time, & lack of confidence that the value derived is worth the cost to add.

kyiiel said:
It is impossible because combination tags like that are not allowed.

I think that the site allows some combination tags involving gender. Tags like female_anthro and andromorph_taur are active, and I would describe those as combination tags.

But those are combination tags of gender+form; it's combination tags of gender+species that are not allowed.

I do agree with continuing to prohibit gender+species tags, because adding them would be impractical. If we allowed female_horse, we'd also have to decide whether to also allow female_equine, female_equid, and female_mammal. Then if those were allowed, BURs for all the implication chains would have to be created, for every combination of gender (female, male, gynomorph, andromorph, ambiguous, etc...) and species (countless!).

aacafah said:
To add on to the point about tag explosion, users would also only end up tagging the combined tag & not the individual forms. This would either result in less posts having the proper separated tags or an arms race of attempting to create the implications for the 2 (or more) sub-tags on each combined tag, which is both infeasible & overburdens the implication system. As kyureki said, to keep this scalable, we'd have to redesign everything about how we handle tagging on a systemic level. What you're really asking is for e6 to add/switch to character-based tagging (where you apply tags per character), whereas e6 (& every similar site I know of) currently uses image-based tagging (where you apply tags per image/post). This has been discussed before:

This is an excellent answer. I’d love to develop something external that can apply an advanced search feature using the site’s api but I’m actually studying comp sci rn and I’m way out from being able to do something like that! Seems to me the tag system is a compromise between being as specific as possible & as reliable to use and possible. I for one think it’s done a pretty good job :)

swinburne said:
This is an excellent answer. I’d love to develop something external that can apply an advanced search feature using the site’s api but I’m actually studying comp sci rn and I’m way out from being able to do something like that! Seems to me the tag system is a compromise between being as specific as possible & as reliable to use and possible. I for one think it’s done a pretty good job :)

If you ever do want to delve into this sort of thing, I'd encourage you to learn about Semantic Web technologies, more specifically things like the Resource Description Framework (RDF), along with graph databases. In order to properly model any systems like this, you'd need to model it as a data graph since you're trying to represent different pieces that make up a whole image. Wikidata already does this for some of the images on Wikipedia, if you want to explore a real world use case.

Technically, you can already "tag" an image with specific, searchable tag combos by adding a note to a section of an image, then filling the note with every tag that applies to that section. As an example, this top-rated image post #2742198 could have a note on the left character with the tags "red_panda male embarrassed" and one on the right character that says "goat male clothed", and then you could search for it using "note: 'red_panda male'"

In practice, this would be wildly inefficient to search through, and tagging an image this way would be extremely distracting and make it hard to include translation notes.
If a separate (and by default, hidden) "Tag notes" function were to be implemented with some minor changes (such as automatically adding the resulting tags to the main tag list, a new function to search for tag notes, and each note being searchable separately and regardless of the order the tags were entered), then a system that allows you to search for tag combos like gender+species through notes would be feasible without having to overhaul the regular tag system or create hundreds of new tags. No idea what kind of technical challenges would be involved in making something like that, though.

sanestvaporeonfan said:
[...]
If a separate (and by default, hidden) "Tag notes" function were to be implemented with some minor changes (such as automatically adding the resulting tags to the main tag list, a new function to search for tag notes, and each note being searchable separately and regardless of the order the tags were entered), then a system that allows you to search for tag combos like gender+species through notes would be feasible without having to overhaul the regular tag system or create hundreds of new tags. No idea what kind of technical challenges would be involved in making something like that, though.

So essentially, you'd have the set of tags for the entire image, plus smaller sets of tags that the users populate per-character?
How would you correlate those buckets to each character so that people don't mix them up when adding tags? Do you need to restrict which tags can be put in, and how would people decide which ones? It's a clever way of doing it, but seems like there's a lot that can get tangled up.

Aacafah

Moderator

sanestvaporeonfan said:
If a separate (and by default, hidden) "Tag notes" function were to be implemented with some minor changes (such as automatically adding the resulting tags to the main tag list, a new function to search for tag notes, and each note being searchable separately and regardless of the order the tags were entered), then a system that allows you to search for tag combos like gender+species through notes would be feasible without having to overhaul the regular tag system or create hundreds of new tags. No idea what kind of technical challenges would be involved in making something like that, though.

Short answer is this doesn't actually solve the main problems I outlined in this post.

Longer answer is...

The main problems I foresee aren't in how we store tags per character, it's in

  • Getting people to use it
  • Updating the ~5 million preexisting posts
  • Misc. Unforeseen Challenges & Accumulated Minor Road Bumps
  • Finding the time to do this

Additionally, storing this info in a separate field & backfilling the relevant tags to the main tag_string field, while the kind of creative problem solving us developers need to use (& something I love to see), has multiple problems that make it at best on par with the solution I proposed prior:

  • Needlessly stores duplicate data
  • Necessitates extra processing (& possibly a whole new system) to facilitate
  • I believe the current implementation of note searching may carry a greater performance impact than searching the tag string (as it needs to query a different record instead of the already loaded post record, although this may be faster in the cases where there are no notes at all); this would both:
    • Degrade the user experience
    • Increase load on the server

There may be some benefits to this approach I'm not considering, but it comes with some major concessions & still doesn't solve the biggest problems this feature would create.

Longest answer would be adding the longer answer to the end of my exploratory post.

Tl;Dr: That's some very good creative problem solving, but that solution likely isn't scalable & still isn't the hard part of this change.

Original page: https://e621.net/forum_topics/59383?page=1