內容審查器
Azure 內容審查器也是一項認知服務,它支持對文本、圖形、視頻進行內容審核,可以過濾出某些不健康的內容,關鍵詞,使你的網站內容符合當地的法律法規,提供更好的用戶體驗,
文本內容審核
其中文本內容的審核應用比較廣泛,比如在審核游戲中的群聊內容,過濾掉不健康關鍵詞;在社交媒體發布的內容過濾關鍵詞等,Azure 內容審查器支持對絕大多數語言的審核,當然也包括中文,它已經內置了中文常用關鍵詞串列,當然也可以自定義關鍵詞串列,下面讓我們看看如何
創建內容審查器
在portal管理平臺找到內容審查器,點擊“創建”,

區域選擇離你最近的,
定價層選擇免費F0,
內容審查器的免費策略為:5000事務/月,1次/s ,

創建完資源后,點擊資源左邊選單:密碼與終結點,復制好密鑰跟終結點資訊后面會用到,
使用.NET呼叫文本審核API
創建控制臺專案
使用VS創建一個控制臺專案,我們來簡單演示下如何使用C#代碼來實作文本審核,
創建完控制臺專案后,在nuget管理工具里找到:Microsoft.Azure.CognitiveServices.ContentModerator這個包安裝之,

撰寫代碼進行審核
修改main方法為以下內容:
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 ,不然識別不出來,
讓我們看一下識別的結果,可以看到臟話都給識別出來了,哈哈,

自定義關鍵詞串列
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方式來呼叫,這樣就不受語言限制了,接下來還會介紹如何進行圖片、視頻的識別,敬請期待,
關注我的公眾號一起玩轉技術

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/142047.html
標籤:其他
