Azure 内容审查器之文本审查
內(nèi)容審查器
Azure 內(nèi)容審查器也是一項(xiàng)認(rèn)知服務(wù)。它支持對(duì)文本、圖形、視頻進(jìn)行內(nèi)容審核。可以過(guò)濾出某些不健康的內(nèi)容,關(guān)鍵詞。使你的網(wǎng)站內(nèi)容符合當(dāng)?shù)氐姆煞ㄒ?guī),提供更好的用戶體驗(yàn)。
文本內(nèi)容審核
其中文本內(nèi)容的審核應(yīng)用比較廣泛。比如在審核游戲中的群聊內(nèi)容,過(guò)濾掉不健康關(guān)鍵詞;在社交媒體發(fā)布的內(nèi)容過(guò)濾關(guān)鍵詞等。Azure 內(nèi)容審查器支持對(duì)絕大多數(shù)語(yǔ)言的審核,當(dāng)然也包括中文。它已經(jīng)內(nèi)置了中文常用關(guān)鍵詞列表,當(dāng)然也可以自定義關(guān)鍵詞列表。下面讓我們看看如何
創(chuàng)建內(nèi)容審查器
在portal管理平臺(tái)找到內(nèi)容審查器,點(diǎn)擊“創(chuàng)建”。
區(qū)域選擇離你最近的。
定價(jià)層選擇免費(fèi)F0。
內(nèi)容審查器的免費(fèi)策略為:5000事務(wù)/月,1次/s 。
創(chuàng)建完資源后,點(diǎn)擊資源左邊菜單:密碼與終結(jié)點(diǎn)。復(fù)制好密鑰跟終結(jié)點(diǎn)信息后面會(huì)用到。
使用.NET調(diào)用文本審核API
創(chuàng)建控制臺(tái)項(xiàng)目
使用VS創(chuàng)建一個(gè)控制臺(tái)項(xiàng)目。我們來(lái)簡(jiǎn)單演示下如何使用C#代碼來(lái)實(shí)現(xiàn)文本審核。
創(chuàng)建完控制臺(tái)項(xiàng)目后,在nuget管理工具里找到:Microsoft.Azure.CognitiveServices.ContentModerator這個(gè)包安裝之。
編寫(xiě)代碼進(jìn)行審核
修改main方法為以下內(nèi)容:
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 = @"哈哈,從前有個(gè)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();}代碼很簡(jiǎn)單。實(shí)例化一個(gè)ContentModeratorClient之后把罵人的話傳進(jìn)去調(diào)用ScreenText方法就會(huì)返回包含的關(guān)鍵詞。
注意第三個(gè)參數(shù)lang要穿 zho ,不然識(shí)別不出來(lái)。
讓我們看一下識(shí)別的結(jié)果。可以看到臟話都給識(shí)別出來(lái)了,哈哈。
自定義關(guān)鍵詞列表
Azure已經(jīng)內(nèi)置了常用的關(guān)鍵詞列表。如果想要加入自定義的關(guān)鍵詞可以自己創(chuàng)建關(guān)鍵詞列表。在調(diào)用ScreenText的時(shí)候傳入列表的id就可以了。
//自定義過(guò)濾關(guān)鍵詞列表 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,//自定義關(guān)鍵詞listIdtrue);總結(jié)
Azure 內(nèi)容審查器是除了文本審核還包括圖片視頻內(nèi)容的審核。本次簡(jiǎn)單介紹了如何使用.Net平臺(tái)來(lái)實(shí)現(xiàn)文本內(nèi)容的審核。由于Azure已經(jīng)內(nèi)置了大量常用關(guān)鍵詞,也封裝了SDK所以基本上可以做到開(kāi)箱即用。當(dāng)然了它還支持REST API方式來(lái)調(diào)用,這樣就不受語(yǔ)言限制了。接下來(lái)還會(huì)介紹如何進(jìn)行圖片、視頻的識(shí)別,敬請(qǐng)期待。
關(guān)注我的公眾號(hào)一起玩轉(zhuǎn)技術(shù)
總結(jié)
以上是生活随笔為你收集整理的Azure 内容审查器之文本审查的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 拥抱.NET 5,从自研微服务框架开始
- 下一篇: 为什么这么忙,还依然做不好事情?