Azure 內容審查器也是一項認知服務。它支持對文本、圖形、視頻進行內容審覈。能夠過濾出某些不健康的內容,關鍵詞。使你的網站內容符合當地的法律法規,提供更好的用戶體驗。json
其中文本內容的審覈應用比較普遍。好比在審覈遊戲中的羣聊內容,過濾掉不健康關鍵詞;在社交媒體發佈的內容過濾關鍵詞等。Azure 內容審查器支持對絕大多數語言的審覈,固然也包括中文。它已經內置了中文經常使用關鍵詞列表,固然也能夠自定義關鍵詞列表。下面讓咱們看看如何api
在portal管理平臺找到內容審查器,點擊「建立」。
區域選擇離你最近的。
訂價層選擇免費F0。app
內容審查器的免費策略爲:5000事務/月,1次/s 。工具
建立完資源後,點擊資源左邊菜單:密碼與終結點。複製好密鑰跟終結點信息後面會用到。網站
使用VS建立一個控制檯項目。咱們來簡單演示下如何使用C#代碼來實現文本審覈。
建立完控制檯項目後,在nuget管理工具裏找到:Microsoft.Azure.CognitiveServices.ContentModerator這個包安裝之。
3d
修改main方法爲如下內容:code
static void Main(string[] args) { Console.WriteLine("Hello World!"); var endpoint = "https://x.cognitiveservices.azure.com/"; var subscriptionkey = "x"; var client = new ContentModeratorClient(new ApiKeyServiceClientCredentials(subscriptionkey)); client.Endpoint = endpoint; var text = @"哈哈,從前有個xx,他喜歡吃山芋。他喜歡罵人xxx的,xxx什麼的。"; Console.WriteLine(text); var screen = client.TextModeration.ScreenText( "text/plain", new MemoryStream(Encoding.UTF8.GetBytes(text)), "zho", true, true, null, true); foreach (var term in screen.Terms) { Console.WriteLine(term.Term); } Console.ReadLine(); }
代碼很簡單。實例化一個ContentModeratorClient以後把罵人的話傳進去調用ScreenText方法就會返回包含的關鍵詞。視頻
注意第三個參數lang要穿 zho ,否則識別不出來。blog
讓咱們看一下識別的結果。能夠看到髒話都給識別出來了,哈哈。
遊戲
Azure已經內置了經常使用的關鍵詞列表。若是想要加入自定義的關鍵詞能夠本身建立關鍵詞列表。在調用ScreenText的時候傳入列表的id就能夠了。
//自定義過濾關鍵詞列表 static string CreateList(ContentModeratorClient client) { Body body = new Body("blacklist", "Term list description"); TermList list = client.ListManagementTermLists.Create("application/json", body); client.ListManagementTerm.AddTerm(list.Id.ToString(), "二愣子", null); return list.Id.ToString(); }
var screen = client.TextModeration.ScreenText( "text/plain", new MemoryStream(Encoding.UTF8.GetBytes(text)), "zho", true, true, listId,//自定義關鍵詞listId true);
Azure 內容審查器是除了文本審覈還包括圖片視頻內容的審覈。本次簡單介紹瞭如何使用.Net平臺來實現文本內容的審覈。因爲Azure已經內置了大量經常使用關鍵詞,也封裝了SDK因此基本上能夠作到開箱即用。固然了它還支持REST API方式來調用,這樣就不受語言限制了。接下來還會介紹如何進行圖片、視頻的識別,敬請期待。