Gelbooru

Notice: We are now selling NEW Gelbooru Merch~! Domestic shipping is free on all orders! Do you have an artist tag on Gelbooru? Let us know so we can properly credit you!

Ticket Information - ID: #766


ID:Category:SeverityReproducibilityDate SubmittedUpdated By:
0000766Feature RequestHighN/A09/15/14 05:20AMsecret64
Reportersecret64
Assigned to:geltas
Resolution:Open
View StatusPublic
Version:
Target Version:N/A
Summary:Tag addition/removal suggestion bot
Description:Users of a certain level or status can use bots to make mass tag edits. This makes for a lot less work than going around posts manually looking for a certain combination of tags and lack thereof as a prerequisite for adding or removing other tags. Although, having a bot do this could create more problems than would be acceptable if not done carefully, even if it fixes a lot of tagging issues.

My proposal is that a bot with this problem or similar problems will be "applied" to the posts anyway. The catch is that the tags that the bot wants to add or remove will not officially affect the tags the post already has. Instead, the changes proposed by the bot will appear as suggestions near the post itself each of which first have to be approved by someone (with an account) currently viewing the post before it will actually be applied. It could be in the form of a button near each post that, when clicked, reveals a stack of potentially applicable tag additions or removals, each with a '+' or '-' next to it. The '+' will approve the tag addition/removal, while the '-' will prevent the tag change from ever being suggested again for that post. (or use checkboxes and two buttons "approve" and "disapprove". Whatever works.)

*Example 1: Search "pussy breasts -nude" and you'll occasionally run into a post that deserved a "nude" tag. A bot will use the logic statement: IF a post contains the tags "pussy" AND "breasts", THEN suggest to add the tag "nude". It will cycle through all posts which have these two tags and add to each of their stacks of suggestions the "nude" tag. Someone willing to clean up the tagging for a few posts will run through the list of suggested tags to see if any of them do or don't apply to a given post.

Example 2: These ones are easy. If a post contains tags that contradict each other, then the removal of both tags or the one tag that seems out of place will be suggested. Use your imagination for actual examples. (I feel like the suggested removal of tags won't be used as often as the addition of tags, but the feature could be included anyway.)

Example 3: It can get more complex. I suggested this particular example in the tagging forum, and it was rightfully declined to be used with a bot. Here's the logic statement:

IF a post doesn't have any of the following tags (1girl AND 2girls AND 3girls AND 4girls AND 5girls AND 6+girls) AND the post does have any of the following tags (1boy OR 2boys OR 3boys OR 4boys OR 5boys OR 6+boys) THEN suggest to add the tag "male".

Another way of putting it: It means if the bot spots any male related tags in a post, then it will suggest the male tag, unless there is also any female related tags in this post. Obvious huge problem if applied to a bot: What if a post that contains females and males doesn't have the appropriate "#(+)girl(s)" tag? Well, it will wrongfully be tagged "male". What if it was just a suggestion? Basically that would allow an otherwise problem inducing tag addition to first be applied to a human filter who knows better. (Bonus feature: Hover over a given suggestion to view the logic statement the suggestion came from. This will draw one's attention to any tags that may be missing which allowed for this false auto-suggestion. e.g. the post is obviously missing the "#(+)girl(s)" tag.)

Example 4: This one is also easy. IF a post contains a tag which does not have a wiki entry, THEN suggest the removal of it. Or, add another condition to the rule. IF a post contains a tag which does not have a wiki entry AND the tag is below a certain threshold of number of posts it is used on, THEN suggest the removal of it.

**details: how will these bot fueled suggestions be made? One idea is that anyone with an account can make one, but each one has to be approved by someone with a rank at least higher than "member". How to prevent trolls from approving or disapproving suggestions thoughtlessly? Their actions regarding this are recorded and, when caught, can be undone if need be ...plus punishment. Don't want to see this feature while surfing posts? Make its visibility a setting in "options". If a post gains a tag, either by suggestion or manually, which renders one of its tag suggestions moot by no longer satisfying the logic statement it used to be suggested in the first place, then the suggestion will disappear. So, yes posts will probably end up with a ridiculous number of tag suggestions, but this will allow them to dissipate as suggestions are approved or tags are simply added or removed. Also, possibly find a way to put the most probable suggestions at the top of the list. e.g. the more posts a given tag has been suggested for, the more towards the bottom of the list it will appear. (I think that works.) Maybe, if a tag was removed from a post manually, then the autosuggestion bot will recognise that, and treat it as a disapproved suggestion.


(Sorry if tl;dr, but I've had this feature request for years, and am just now giving it.)
Additional Info:*I'm sorry if the examples are bad. I know there are better ones where the tag will most likely end up applying to most (or at least a significant number) of the posts it was suggested to. They're really just to trying to help the reader understand my proposal. I think the situation in example 3, among many others, is perfect to use this feature for.

**Don't get too hung up on details as these can be tweaked to create a powerful system that works in the effort of fixing tags.
secret64 replied at 2014-09-15 06:32:55
I found an interesting search query which seems to support this feature. Check out "vaginal -pussy -censored". This returns 36 pages of results, it seems the majority of which should contain at least one of the 2 excluded tags. Neither the wiki for vaginal nor that of any other tag in association with vaginal prohibits the conjunct use of pussy.

IF a post has vaginal AND -censored, THEN should it have pussy? Somewhere around half the time it should, which means it will be very difficult to simply apply a bot to it.

(If it turns out I'm somehow wrong about this, then I know there are many more examples.)

Jerl replied at 2014-09-15 17:24:59
Why does it need to be a bot? This seems like something that could be built more similarly to the alias system. It would be a lot less efficient than just generating a list of suggested tags when the edit button is pressed. And I'm pretty sure a suggested tags feature like I'm referring to is already in the trac somewhere.

There's probably also a better way to handle suggestions for new suggestions. With Danbooru's suggestion system, it appears that they're generated automatically based on how frequently tags appear together and the related tags section in the tag's wiki entry. Something like this would probably be more effective and require less oversight by the moderation team. We really don't need any more queues to keep an eye on...

secret64 replied at 2014-09-15 18:17:33
Ok. Maybe I should clarify a few things. (I'm very happy to discuss this with you, by the way.)

I'm not asking for exactly this specifically to be implemented. ("you" meaning to whom it may concern) If you like this general idea, then make whatever tweaks you need to whether minor or major, and implement it. For example. People don't need to be the ones who generate these logical rules for suggested tags. If you know of an easy way for them to be generated automatically, then do that instead. Another example, the logical rules can take way more than just tags into account.

It doesn't need to be a bot. I'm using terminology that already exists here in an attempt to describe what this is. I chose "bot" because I didn't yet understand their third party nature. Call it whatever you want. It can be integrated into the site itself if that's what's required. In fact, it might need to be as far as my understanding in programming goes. (I actually had the alias system in mind while mentally designing this system.)

I'll see if I can give the essence of what this is in a few sentences, which won't be easy for me. It's a system that takes logical rules based on the existing tags of a given post as input and outputs tag suggestions for such post. All it does is make tagging for the average user a lot easier. They'll have a list of available possible tags each of which they can apply to the post just by simply looking at the tag then looking at the image and seeing if they match.

Is that more clear?

Jerl replied at 2014-09-15 20:01:07
Yes, that's more clear. It's also, as I said, already been requested.

secret64 replied at 2014-09-15 23:44:10
Yeah, I forgot to ask. Will you link me to this other request? I couldn't find another of this particular request before writing this one, hence its existence. I was completely expecting the "It's already been done" response, but hopefully I at least gave some useful ideas. In fact, I could have easily quadrupled the above wall of text with additional ideas and details. Believe it or not, I made an effort to keep it compressed to the size it is now. If there's a particular forum or anything of that nature centered around discussing this kind of feature in which I can contribute my input, then I would be interested.

Jerl replied at 2014-09-16 15:53:47
Here's the most recent:
http://gelbooru.com/index.php?page=tracker&s=view&id=745

The searcher for trac tickets isn't that great, so it might take a few searches before you'll find a given ticket. For example, "suggestion" or "suggested" won't bring you to the ticket I linked at all, but "tag" will.

secret64 replied at 2014-09-16 20:36:09
ok. I guess if I knew that existed, I would have just written a note under it. Well, here's this anyway in all of its detailed concept and vague design.