You might have an application with a huge amount of user-generated content coming daily and need to moderate content automatically. It’s a pain to moderate content manually because it takes lots of man-hours. How about using artificial intelligence with IDEソフトウェア から人工知能を使用することが考えられます。不適切なコンテンツを即座に検出し、フォームが公開されるのを防ぎます。
目次
DeepAIによるコンテンツモデレーションAPIとは
DeepAIは、人工知能コンテンツを求める人々の間で非常に人気のある情報源です。人工知能の研究、ガイド、ニュース、APIを提供します。アカウントを作成してすべての人工知能APIにアクセスすることで、APIキーを簡単に取得できます。このリンクにアクセスし、アカウントを作成してからダッシュボードに移動すると、APIキーが取得されます。
Deep.aiの自動コンテンツモデレーションを無料で使用する
登録すると、10,000リクエストに相当する$5USDの無料クレジットが付与されます。登録にクレジットカードは必要ありません。登録後、1000リクエストごとに$0.50 USDを支払うだけで済みます。そうでない場合は、エンタープライズパッケージについて話し合うことができます。
Delphiアプリケーションで使用できるDeep.ai人工知能API
それらは多数のAPIを提供します。このリストからAPIを確認できます。それらのほとんどは、製品ページにもライブデモがあります。
彼らの強力なAPIの1つは、「コンテンツモデレーションAPI」です。このAPIは、コンテンツをモデレートするためのすべての詳細を提供します。 APIに提供して画像を提供すると、「仕事に安全ではない」スコア、不適切なコンテンツに関する説明、不適切なコンテンツの長方形の領域、および100%の信頼度の場合の信頼度スコアが提供されます。このAPIは、アダルトコンテンツ、憎悪のシンボル、銃、不快な言葉を検出できます。
コンテンツモデレーションAPIを使用するには
このコンテンツモデレーションAPIを含むRESTクライアントを使用して、すべてのDeepAIAPIにアクセスできます。このAPIの単純なcurlリクエストは次のようになります。
1 2 3 4 5 |
curl \ --データ 'image=YOUR_IMAGE_URL' \ -H 'api-key:API_KEY' \ https://api.deepai.org/api/content-moderation |
それは自明であり、画像のURLまたはローカル画像ファイルを「画像」として提供し、APIキーをヘッダー値として提供しています。リクエストを送信すると、サーバーはJSONレスポンスを送信し、それを解析して画像に関するすべてのモデレート情報を取得できます。サンプルのモデレートは次のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
{ "id": "UNIQUE_ID", "output": { "detections": [{ "confidence": "0.83", "bounding_box": [ 118, 89, 21, 29 ], "name": "Female Breast - Exposed" }, { "confidence": "0.92", "bounding_box": [ 142, 92, 27, 27 ], "name": "Female Breast - Exposed" }, { "confidence": "0.54", "bounding_box": [ 168, 153, 19, 30 ], "name": "Male Genitalia - Exposed" } ], "nsfw_score": 0.9997197985649109 } } |
結果を取得するには、JSON内のJSON配列を解析する必要があります。
DelphiからDeep.aiコンテンツモデレーションAPIにアクセスするには
RESTクライアントコンポーネントを使用してこのAPIにアクセスし、デモアプリケーションを簡単に構築できます。制限されたコンテンツの1つが見つかった場合に長方形を描画するデモアプリケーションを作成しましょう。まず、TRESTClient、TRESTRequest、およびTRESTResponseコンポーネントをフォームに追加します。クライアントのベースURLを次のように設定します。
1 |
https://api.deepai.org/api/content-moderation |
データを安全に投稿するため、RESTRequestのメソッドをrmPOSTに設定します。次に、コーディング時間です。画像、APIキーを設定し、応答を取得して、コードでJSON解析を行う必要があります。この例では、ローカルファイルを参照してリクエストを送信します。応答を解析したら、TImageのキャンバスに長方形を描画します。
RESTAPIでDeep.aiを使用するためのDelphiコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
procedure TfrmMain.btnModerateClick(Sender: TObject); var lparam : Trestrequestparameter; jsonObj: TJSONObject; JSonValue : TJSonValue; JSONArray, JSONArrayBound: TJSONArray; strJson: string; canv: TCanvas; 私, posTop, posLeft, posWidth, posHeight: Integer; begin lblWait.Visible := true; Application.ProcessMessages; RESTRequest.Params.晴れ; RESTResponse.RootElement := ''; lparam := RESTRequest.Params.AddItem; lparam.name := 'api-key'; lparam.Value := edtAPIKey.Text; lparam.ContentType := ctNone; lparam.Kind := pkHTTPHEADER; lparam.Options := [poDoNotEncode]; lparam := RESTRequest.Params.AddItem; lparam.name := 'image'; lparam.Value := strImgPath; lparam.ContentType := ctNone; lparam.Kind := pkFile; lparam.Options := [poDoNotEncode]; RESTRequest.Execute; if ない RESTResponse.Status.Success then showmessage(RESTResponse.StatusText + ' ' + inttostr(RESTResponse.StatusCode)) else begin canv := imgModerated.Canvas; canv.Pen.Color := clRed; canv.Pen.Width := 5; jsonObj := RESTResponse.JSONValue as TJSONObject; JSonValue := jsonObj.Get('output').JsonValue; JSONArray := JSonValue.GetValue<TJSONArray>('detections'); for I := 0 to JSONArray.Count -1 do begin JSONArrayBound := JSONArray.Items[I].GetValue<TJSONArray>('bounding_box'); posTop := strtoint(JSONArrayBound.Items[1].Value); posLeft := strtoint(JSONArrayBound.Items[0].Value); posWidth := strtoint(JSONArrayBound.Items[3].Value); posHeight := strtoint(JSONArrayBound.Items[2].Value); canv.MoveTo(posLeft,posTop); canv.LineTo(posLeft + posWidth, posTop); canv.MoveTo(posLeft + posWidth, posTop); canv.LineTo(posLeft + posWidth, posTop + posHeight); canv.MoveTo(posLeft + posWidth, posTop + posHeight); canv.LineTo(posLeft, posTop + posHeight); canv.MoveTo(posLeft, posTop + posHeight); canv.LineTo(posLeft,posTop); canv.TextOut(posLeft,posTop, JSONArray.Items[I].GetValue<string>('name')); end; end; lblWait.Visible := false; end; |
Deep.aiからのJSON結果の解析
このコードでは、「api-key」と「image」の2つのパラメーターを追加してリクエストを実行し、成功した場合はJSON値を解析します。次に、不適切なコンテンツが見つかった場合、TImageのキャンバスに赤い長方形が描画されます。最終結果は次のようになります。
このリンクからデモアプリケーションをダウンロードして、APIキーで使用することもできます。