VocaDB / vocadb

VocaDB is a Vocaloid Database with translated artists, albums, music videos and more.
https://vocadb.net
Other
333 stars 40 forks source link

Distinguish tags that have been automatically added from NND #834

Open Shiroizu opened 3 years ago

Shiroizu commented 3 years ago

Currently there is no way to tell if a tag was added by an user or automatically mapped from NND.

(Seems that these also count to user tag votes)

https://vocadb.net/Song/ManageTagUsages/{song id}

ycanardeau commented 3 years ago

mentioned

ycanardeau commented 3 years ago

@Shiroizu Why do you want to distinguish between the two? Do you have any ideas on how to achieve that? We could add an enum or bool to the tag usages table? And how should the user interface look like?

andreoda commented 3 years ago

Can't the source be read? If it notices that the tag comes from NND (address/link), it can be shown in brackets that it comes from NND and was added automatically by the system. That way mistakes can be easier noticed/avoided.

ycanardeau commented 3 years ago

I mean, how to store information about whether or not a tag is added from NND.

Shiroizu commented 3 years ago

Why do you want to distinguish between the two?

Tags are user provided information, and it can be valuable to know where the information came from. For example, if a song has an incorrect genre tag on niconico, then VocaDB would show that too, if it the tag was mapped.

If the tag would later be removed from the niconico video, a moderator would not be able to know why the tag was originally added (user mistake or a mistake on niconico?). Having this source information somewhere would indicate to the moderator that the user was not responsible for the wrong tag.

Another possible gain for the separation would be that it could be used to "fix" user tag votes that show up in user profiles. I think it would make sense that the tag vote count would not include automatic tags.

Do you have any ideas on how to achieve that? We could add an enum or bool to the tag usages table? And how should the user interface look like?

Assuming the changes would show up here: https://vocadb.net/Song/ManageTagUsages/{id}

Current structure: Tag | Count | Votes | Date rock | 2 | user 1, user 2 | 2021/06/19 ballad | 1 | user 1 | 2021/06/10

Option 1) A new column (boolean) for "automatic" tag (true if automatically mapped) Option 2) The Votes-column would include "automatic" instead of the user who created the entry. Currently the column lists the user profiles, so this might be more complicated to implement.

For non-moderator users, it would also indicate that the information did not "originate" from VocaDB. It's actually a separate question whether this information should/could be visible on the song page https://vocadb.net/S/{id}.

riipah commented 3 years ago

We could add an enum or bool to the tag usages table?

The boolean was my initial thought. It shouldn't be too hard. Even better would be to create the tag usage for some special system user, or leave the user reference completely empty. This would also solve separating automatically applied tags from user's tags, but this might require changes somewhere else.

There was another issue for listing mapped tags on song submit page, but I can't find it now. I'm thinking even that might at least partially solve this issue. If the user can see the suggested tags on song submit page, then we can assume that they agree with the tags?

ycanardeau commented 3 years ago

Option 1) A new column (boolean) for "automatic" tag (true if automatically mapped)

Is there no need to know where a tag came from (e.g. NND or YouTube)? What happens after implementing VocaDB/vocadb#1334 (#452)?

Even better would be to create the tag usage for some special system user, or leave the user reference completely empty.

Do you mean something like @ghost on GitHub?

riipah commented 3 years ago

Do you mean something like @ghost on GitHub?

Yeah like that, except called "AutoMapper" or something. Or maybe just "VocaDB".

Shiroizu commented 3 years ago

Is there no need to know where a tag came from (e.g. NND or YouTube)? What happens after implementing VocaDB/vocadb#1334 (#452)?

Not sure if it would be important. If it were, maybe a "service" column could be used instead of "boolean": https://github.com/VocaDB/vocadb/blob/585136f696bdff161acbd3c6e6599860a66d8386/VocaDbModel/Domain/PVs/PVService.cs