PIBM
PIBM

Reputation: 21

Cognitive Services Translation and Profanity Filtering

Issue Description

I use cognitive services TranslateArray to translate my users comments. One of the advantages of this service is that we can use ProfanityAction to mark every profane words in the destination language. I also make use of the automatic language detection, so that I do not have to identify the content before sending it in.

When I get my translation back for a destination language which match the source language, the profanity is not marked. Is there another endpoint I could/should hit, or a parameter I do not know about, or is there a possible improvement of the service ?

Corresponding Documentation

Follow the cognitive service protocol to hit the TranslateArray endpoint, with an english sentence containing profanities, with the ProfanityAction: Marked behavior: http://docs.microsofttranslator.com/text-translate.html#!/default/post_TranslateArray

Reproduction Steps

Expected Behavior

Profanities should be marked even if no translation occured.

Actual Results

I obtained the unmodified sentence back.

Upvotes: 2

Views: 499

Answers (2)

Chris Wendt
Chris Wendt

Reputation: 571

Your observation that Translator API does nothing if source and target languages are the same, is correct. Not an answer, just clarification.

Upvotes: 0

Maria Ines Parnisari
Maria Ines Parnisari

Reputation: 17496

There is nothing in the documentation that specifies what happens if the source and target language are the same. My guess is that if it sees that they match it will do nothing.

However, there is a specific API that detects profanity for any given language: Content Moderation for Text. The API docs are here.

The Text - Screen function does it all – scans the incoming text (maximum 1024 characters) for profanity, autocorrects text, and extracts Personally Identifiable Information (PII), all while matching against custom lists of terms.

Upvotes: 2

Related Questions