I have this client who wants to build a YouTube demonetization platform for subscribers on his website help to filter out their videos and audio for potential demonetizable content that could violate Youtube’s monetization policies, returning timestamped segments containing category labels of the potentially demonetizable content (00:00 to 00:30 - harassment, violence, profanity, etc).
My first approach was to use OpenAI’s free moderation API to do so, and while it filtered out the offending content well, other types of content were incorrectly flagged as threatening, harassment, etc.
One such case was fighting words and bravado from famous boxers (Connor McGregor, etc.) who were taunting their opponents. The Moderation API would incorrectly flag the content despite the context being present despite youtube’s algorithm clearing the video. There’s tons of examples of this online.
So plan B is to use a small ChatGPT model that is cheap and understands the context well enough to correctly label the content. The problem with this approach is that I’m worried that despite proper prompting, the API could incorrectly flag my prompt and disable API access.
How can I ensure this doesn’t happen when I’m sending multiple transcripts to the ChatGPT model?
I fear that cheaper models will make poor classifiers in something that requires as much contexual awareness as this. Instead, if you have data on what has gotten videos demonetized, you can use this to create a fine-tuned model that may perform accurately to how YouTube would behave. Be warned that fine-tuning is advanced and involves a bit of a learning curve, even on OpenAI’s point-and-click platform.
Never deposit too much money into your account, and don’t do the ID verification. Build in support for another provider so you can switch over quickly if anything happens.
I found out that apparently instructing an openAI LLM as a classifier is an allowed way to circumvent the filter. So long as your instructing it to provide labels, it won’t flag anything. I’ve been sending it videos all day since yesterday and haven’t gotten a single flag.
As for the accuracy, I’m working on it, but introducing the previous text as context seems to help out a lot, but I’m still going to use it in conjunction with the moderation API for greater control over certain category labels since the API returns a probability for each label and can aid in precision, while the LLM would be used for certain contextual nuances. Its already improving accuracy but I’ve got a ways to go.
2 Likes