Answer: B
Option A is incorrect. The Multinomial Naive Bayes algorithm is best suited for document classification tasks where you wish to know the frequency of a given word from your vocabulary in your observed text. You need to know whether a word from your vocabulary appears in the given post text or not.
Option B is correct. The Bernoulli Naive Bayes algorithm is used in document classification tasks where you wish to know whether a word from your vocabulary appears in your observed text or not. This is exactly what you are trying to accomplish. You need to know whether a word from your vocabulary of inappropriate words appears in the given post text or not.
Option C is incorrect. The Gaussian Naive Bayes algorithm works continuous values in your observations, not discrete values. Your classification problem uses discrete data, the occurrence of a word or not.
Option D is incorrect. There is no Polychoric Naive Bayes algorithm.
Reference:
Please see the DatumBox page titled Machine Learning Blog & Software Development News (http://blog.datumbox.com/machine-learning-tutorial-the-naive-bayes-text-classifier/), the SebastianRaschka page titled Naive Bayes and Text Classification – Introduction and Theory (http://sebastianraschka.com/Articles/2014_naive_bayes_1.html#3_3_multivariate), the Medium page titled Naive Bayes Classifier (https://towardsdatascience.com/naive-bayes-classifier-81d512f50a7c), the Packt page titled Machine Learning Algorithms: Implementing Naive Bayes with Spark MLlib (https://hub.packtpub.com/machine-learning-algorithms-naive-bayes-with-spark-mllib/), the Wikipedia article page titled Naive Bayes classifier (https://en.wikipedia.org/wiki/Naive_Bayes_classifier)