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方式来调用,这样就不受语言限制了。接下来还会介绍如何进行图片、视频的识别,敬请期待。