In this post, the author builds a multi-label model that is capable of detecting different types of toxic comments like severe toxic, threats, obscenity, insults, and so on, by using OneVsRest multi-label strategy apllied to a Kaggle challenge dataset: Toxic Comment Classification Challenge.
yes you can use a bag of word model (SVM, Gradient Boosting, Nearest Neighbor, Naive Bayes) or if you want to take word order into account, a string or tree kernel (latter usually based on Dependency Trees). For multi label categorization with SVM you usually use the methods "1 against all" or "all against all".
Two well-known papers for this task are: http://nmis.isti.cnr.it/sebastiani/Publications/ACMCS02.pdf and http://www.jmlr.org/papers/volume2/lodhi02a/lodhi02a.pdf