百度機(jī)器審核 Quick Start Python

作為公司內(nèi)容安全負(fù)責(zé)人的小宋管理著近200人的人工審核團(tuán)隊(duì)寇荧,這給小宋帶來了較大的壓力:壓力一方面來自審核人員流動大敞贡、培訓(xùn)成本高,并且公司每年為這200人的團(tuán)隊(duì)薪酬投入近3000萬;一方面來自于審核人員水平參差不齊原探,不是每個(gè)人都能按照審核標(biāo)準(zhǔn)嚴(yán)格執(zhí)行。 小宋認(rèn)為只有通過機(jī)器+人工的審核方式才能提高人員效率,提升審核質(zhì)量咽弦,同時(shí)可以把一部分審核人員轉(zhuǎn)去做其他更有價(jià)值的工作徒蟆,通過將市面上多家廠商的能力互相比較,小宋選擇了百度的內(nèi)容審核服務(wù)型型,切實(shí)提升了審核質(zhì)量和效率段审,降低了公司的運(yùn)營成本,下面讓我們一起來和小宋看一下如何接入百度內(nèi)容審核服務(wù)吧闹蒜。 下面看看如何基于百度AI開發(fā)平臺的內(nèi)容審核平臺實(shí)現(xiàn)對圖片和文本內(nèi)容審核

實(shí)現(xiàn)步驟

只需三步寺枉,1小時(shí)內(nèi)即可完成內(nèi)容審核接口的調(diào)用。

Step1:成為百度AI開放平臺的開發(fā)者

要調(diào)用百度AI開放平臺的內(nèi)容審核能力先要成為百度AI開放平臺的開發(fā)者绷落,首先讓我們花5分鐘來注冊百度AI開放平臺的開發(fā)者姥闪,并新建一個(gè)內(nèi)容審核應(yīng)用。

先點(diǎn)擊此處注冊百度賬戶進(jìn)入 如下圖 的頁面快速的建立一個(gè)百度賬號吧嘱函。

image

我們有賬號之后登錄甘畅,并且點(diǎn)擊此處創(chuàng)建一個(gè)應(yīng)用如下圖

image

然后就能看到創(chuàng)建完的應(yīng)用和 API KEY 以及 Secret KEY

image

有定制審核需求的話往弓,可以進(jìn)入內(nèi)容審核平臺創(chuàng)建自定義策略

image

Step2:準(zhǔn)備數(shù)據(jù)

內(nèi)容審核主要針對的是用戶的圖片以及文本進(jìn)行審核疏唾,讓我們準(zhǔn)備幾張圖片以及一些文本,看看通過內(nèi)容審核平臺是否能夠代替人工做圖片和文本的審核:

合規(guī)圖片:

image

不合規(guī)圖片(包含廣告):

image

合規(guī)文本:

我們要熱愛祖國熱愛黨

不合規(guī)文本(低俗):

我要爆粗口啦函似,百度AI真他媽好用

Step3: 編寫一個(gè)示例程序

第一步API KEY 以及 Secret KEY槐脏,以及第二步的數(shù)據(jù),我們就可以寫一個(gè)示例代碼調(diào)用百度AI開放平臺的內(nèi)容審核能力

準(zhǔn)備開發(fā)環(huán)境

我們選擇用python來快速搭建一個(gè)原型撇寞,關(guān)于如何安裝python顿天。可以參考下表列出的不同操作系統(tǒng)的安裝方法進(jìn)行安裝蔑担。

Python的官方下載地址:下載python

image

Windows 快速測試包

windows平臺的用戶如果對上述的python安裝感到困難牌废,可以下載我們的一鍵測試包,下載地址:windows測試包啤握。

解壓zip文件后鸟缕,雙擊run.bat即可測試。

編寫代碼

新建一個(gè) main.py

粘貼以下內(nèi)容排抬,不要忘記替換你的 API_KEY 以及 SECRET_KEY

# coding=utf-8

import sys
import json
import base64

# 保證兼容python2以及python3
IS_PY3 = sys.version_info.major == 3
if IS_PY3:
    from urllib.request import urlopen
    from urllib.request import Request
    from urllib.error import URLError
    from urllib.parse import urlencode
    from urllib.parse import quote_plus
else:
    import urllib2
    from urllib import quote_plus
    from urllib2 import urlopen
    from urllib2 import Request
    from urllib2 import URLError
    from urllib import urlencode

# 防止https證書校驗(yàn)不正確
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

API_KEY = 'eQnGqPdFTTctqkjHvdUEzmrC'

SECRET_KEY = 'HDBuwWT4pfSBGyLkTEAYhwoQkoDGrWU2'

IMAGE_CENSOR = "https://aip.baidubce.com/rest/2.0/solution/v1/img_censor/v2/user_defined"

TEXT_CENSOR = "https://aip.baidubce.com/rest/2.0/solution/v1/text_censor/v2/user_defined";

"""  TOKEN start """
TOKEN_URL = 'https://aip.baidubce.com/oauth/2.0/token'

"""
    獲取token
"""
def fetch_token():
    params = {'grant_type': 'client_credentials',
              'client_id': API_KEY,
              'client_secret': SECRET_KEY}
    post_data = urlencode(params)
    if (IS_PY3):
        post_data = post_data.encode('utf-8')
    req = Request(TOKEN_URL, post_data)
    try:
        f = urlopen(req, timeout=5)
        result_str = f.read()
    except URLError as err:
        print(err)
    if (IS_PY3):
        result_str = result_str.decode()

    result = json.loads(result_str)

    if ('access_token' in result.keys() and 'scope' in result.keys()):
        if not 'brain_all_scope' in result['scope'].split(' '):
            print ('please ensure has check the  ability')
            exit()
        return result['access_token']
    else:
        print ('please overwrite the correct API_KEY and SECRET_KEY')
        exit()

"""
    讀取文件
"""
def read_file(image_path):
    f = None
    try:
        f = open(image_path, 'rb')
        return f.read()
    except:
        print('read image file fail')
        return None
    finally:
        if f:
            f.close()

"""
    調(diào)用遠(yuǎn)程服務(wù)
"""
def request(url, data):
    req = Request(url, data.encode('utf-8'))
    has_error = False
    try:
        f = urlopen(req)
        result_str = f.read()
        if (IS_PY3):
            result_str = result_str.decode()
        return result_str
    except  URLError as err:
        print(err)

if __name__ == '__main__':

    # 獲取access token
    token = fetch_token()

    # 拼接圖像審核url
    image_url = IMAGE_CENSOR + "?access_token=" + token

    # 拼接文本審核url
    text_url = TEXT_CENSOR + "?access_token=" + token

    file_content = read_file('./image_normal.jpg')
    result = request(image_url, urlencode({'image': base64.b64encode(file_content)}))
    print("----- 正常圖調(diào)用結(jié)果 -----")
    print(result)

    file_content = read_file('./image_advertise.jpeg')
    result = request(image_url, urlencode({'image': base64.b64encode(file_content)}))
    print("----- 廣告圖調(diào)用結(jié)果 -----")
    print(result)

    text = "我們要熱愛祖國熱愛黨"
    result = request(text_url, urlencode({'text': text}))
    print("----- 正常文本調(diào)用結(jié)果 -----")
    print(result)

    text = "我要爆粗口啦:百度AI真他媽好用"
    result = request(text_url, urlencode({'text': text}))
    print("----- 粗俗文本調(diào)用結(jié)果 -----")
    print(result)

運(yùn)行代碼

在命令行中運(yùn)行python main.py

結(jié)果

若代碼正確運(yùn)行懂从,命令行界面上會顯示出運(yùn)行結(jié)果:

----- 正常圖調(diào)用結(jié)果 -----
{"conclusion":"合規(guī)","log_id":15589290206915234,"conclusionType":1}
----- 廣告圖調(diào)用結(jié)果 -----
{"conclusion":"不合規(guī)","log_id":15589290221307686,"data":[{"msg":"存在水印碼內(nèi)容","probability":0.86516607,"type":5}],"conclusionType":2}
----- 正常文本調(diào)用結(jié)果 -----
{"conclusion":"合規(guī)","log_id":15589290234750607,"conclusionType":1}
----- 粗俗文本調(diào)用結(jié)果 -----
{"conclusion":"疑似","log_id":15589290237990632,"data":[{"msg":"疑似存在文本色情不合規(guī)","conclusion":"疑似","hits":[{"probability":0.802,"datasetName":"百度默認(rèn)文本反作弊庫","words":[]}],"subType":2,"conclusionType":3,"type":12}],"conclusionType":3}

可以看到結(jié)果中返回了內(nèi)容審核服務(wù)對于圖片以及文本的審核結(jié)果,包括了概率以及不合規(guī)的類型蹲蒲,具體字段的含義都在內(nèi)容審核REST API文檔 中有這詳細(xì)的釋義番甩。

總結(jié)

小宋帶領(lǐng)團(tuán)隊(duì)使用了百度內(nèi)容審核平臺實(shí)現(xiàn)對所有圖片的全量初步審核,配合人工復(fù)審對疑似圖片和違規(guī)圖片進(jìn)行二次確認(rèn)届搁,又高效又準(zhǔn)確缘薛,降低了平臺違規(guī)的風(fēng)險(xiǎn)

了解更多

示例源代碼

您可以在我們的官方github上下載示例源碼

https://github.com/Baidu-AIP/QuickStart/tree/master/CONTENT_CENSOR

產(chǎn)品特色

● 天級別更新監(jiān)管要求

基于百度海量違規(guī)樣本庫窍育、政策法規(guī)和監(jiān)管單位的審核要求,經(jīng)由風(fēng)控專家解讀后實(shí)時(shí)更新審核策略掩宜,讓審核能力與時(shí)俱進(jìn)蔫骂。

● 百萬量級公眾人物庫

依托于百度百科海量優(yōu)質(zhì)數(shù)據(jù),公眾人物庫升級至百萬量級牺汤,支持國內(nèi)外各種歌星辽旋、影星、體育明星檐迟、政要等补胚,全方位提升審核效率,規(guī)避業(yè)務(wù)風(fēng)險(xiǎn)追迟。

● 更全面精細(xì)的審核能力

提供色情溶其、暴恐、政治敏感敦间、廣告瓶逃、惡心、圖文審核等多個(gè)維度的審核能力廓块,各審核維度下標(biāo)簽豐富厢绝,色情識別包含16類細(xì)分標(biāo)簽,包括一般色情带猴、卡通色情昔汉、SM、親密行為拴清、卡通正常靶病、兒童裸露、自然男性裸露口予、藝術(shù)品色情等娄周;暴恐識別包含暴恐人物、暴恐旗幟沪停、警察部隊(duì)等12類細(xì)分標(biāo)簽昆咽;廣告支持水印、二維碼牙甫、條形碼識別;圖文審核支持6類文本違禁類型调违。一站式滿足用戶所有審核需求窟哺。

● 更靈活自由的審核配置

審核平臺支持用戶上傳自定義圖片、文本黑白庫技肩,敏感人臉自助入庫等功能且轨;同時(shí)用戶可以自由選擇審核維度和審核細(xì)粒度標(biāo)簽浮声,并可以自行調(diào)整審核模型的松緊度,實(shí)現(xiàn)貼合業(yè)務(wù)需求的審核能力旋奢。

更多參考

參見內(nèi)容審核REST API文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泳挥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子至朗,更是在濱河造成了極大的恐慌屉符,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锹引,死亡現(xiàn)場離奇詭異矗钟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)嫌变,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門吨艇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腾啥,你說我怎么就攤上這事东涡。” “怎么了倘待?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵疮跑,是天一觀的道長。 經(jīng)常有香客問我延柠,道長祸挪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任贞间,我火速辦了婚禮贿条,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘增热。我一直安慰自己整以,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布峻仇。 她就那樣靜靜地躺著公黑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摄咆。 梳的紋絲不亂的頭發(fā)上凡蚜,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機(jī)與錄音吭从,去河邊找鬼朝蜘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛涩金,可吹牛的內(nèi)容都是我干的谱醇。 我是一名探鬼主播暇仲,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼副渴!你這毒婦竟也來了奈附?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤煮剧,失蹤者是張志新(化名)和其女友劉穎斥滤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轿秧,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡中跌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了菇篡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漩符。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖驱还,靈堂內(nèi)的尸體忽然破棺而出嗜暴,到底是詐尸還是另有隱情,我是刑警寧澤议蟆,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布闷沥,位于F島的核電站,受9級特大地震影響咐容,放射性物質(zhì)發(fā)生泄漏舆逃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一戳粒、第九天 我趴在偏房一處隱蔽的房頂上張望路狮。 院中可真熱鬧,春花似錦蔚约、人聲如沸奄妨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砸抛。三九已至,卻和暖如春树枫,著一層夾襖步出監(jiān)牢的瞬間直焙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工砂轻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留箕般,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓舔清,卻偏偏與公主長得像丝里,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子体谒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 健身房APP結(jié)合菜品識別開發(fā)案例 連鎖健身品牌技術(shù)部門負(fù)責(zé)人馬主管杯聚,負(fù)責(zé)開發(fā)健身房的APP。由于健身和減脂塑形講究...
    7086cmd閱讀 1,162評論 0 1
  • “黎子沐,把作業(yè)收好送到我辦公室故响】悖”英語老師再叫她。 “好彩届∥北”黎子沐立即放下手中的筆,走到講臺樟蠕,發(fā)號施令贮聂,“大家快...
    兮兮亞閱讀 555評論 0 0
  • 今天有位簡友指點(diǎn)說,畫素描不能只畫表面寨辩,這樣太平乏吓懈,太簡單∶夷看不到的地方耻警,也要畫出來。 有點(diǎn)兒懵了甸怕,有些不理解甘穿。 ...
    楚天月色閱讀 365評論 4 9