前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Azure 内容审查器之文本审查

Azure 内容审查器之文本审查

作者头像
MJ.Zhou
发布2020-10-10 15:45:18
9410
发布2020-10-10 15:45:18
举报
文章被收录于专栏:.NET开发那点事

内容审查器

Azure 内容审查器也是一项认知服务。它支持对文本、图形、视频进行内容审核。可以过滤出某些不健康的内容,关键词。使你的网站内容符合当地的法律法规,提供更好的用户体验。

文本内容审核

其中文本内容的审核应用比较广泛。比如在审核游戏中的群聊内容,过滤掉不健康关键词;在社交媒体发布的内容过滤关键词等。Azure 内容审查器支持对绝大多数语言的审核,当然也包括中文。它已经内置了中文常用关键词列表,当然也可以自定义关键词列表。下面让我们看看如何

创建内容审查器

在portal管理平台找到内容审查器,点击“创建”。

区域选择离你最近的。 定价层选择免费F0。

内容审查器的免费策略为:5000事务/月,1次/s 。

创建完资源后,点击资源左边菜单:密码与终结点。复制好密钥跟终结点信息后面会用到。

使用.NET调用文本审核API

创建控制台项目

使用VS创建一个控制台项目。我们来简单演示下如何使用C#代码来实现文本审核。 创建完控制台项目后,在nuget管理工具里找到:Microsoft.Azure.CognitiveServices.ContentModerator这个包安装之。

编写代码进行审核

修改main方法为以下内容:

代码语言:javascript
复制
    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就可以了。

代码语言:javascript
复制
//自定义过滤关键词列表
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();
        }
代码语言:javascript
复制
 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方式来调用,这样就不受语言限制了。接下来还会介绍如何进行图片、视频的识别,敬请期待。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内容审查器
  • 文本内容审核
  • 创建内容审查器
  • 使用.NET调用文本审核API
    • 创建控制台项目
      • 编写代码进行审核
        • 自定义关键词列表
        • 总结
        相关产品与服务
        文本审核
        文本审核(Text Auditing Service,TAS)是数据万象产品下的子服务,能够对包含对象存储文本文件在内的文本数据,识别其中出现的可能令人反感、不安全或不适宜内容,协助用户建设绿色健康的社交网络环境。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档