Wskaźniki do oceny moderacji treści w Amazon Rekognition i innych usługach moderowania treści PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wskaźniki oceny moderacji treści w Amazon Rekognition i innych usługach moderowania treści

Moderacja treści to proces sprawdzania i monitorowania treści generowanych przez użytkowników online. Aby zapewnić bezpieczne środowisko zarówno użytkownikom, jak i markom, platformy muszą moderować treści, aby upewnić się, że są zgodne z wcześniej ustalonymi wytycznymi dotyczącymi akceptowalnego zachowania, które są specyficzne dla platformy i jej odbiorców.

Gdy platforma moderuje treści, można tworzyć i udostępniać innym użytkownikom akceptowalną treść generowaną przez użytkowników (UGC). Nieodpowiednim, toksycznym lub zabronionym zachowaniom można zapobiegać, blokować je w czasie rzeczywistym lub usuwać po fakcie, w zależności od narzędzi do moderowania treści i procedur stosowanych przez platformę.

Możesz użyć Moderacja treści Amazon Rekognition w celu wykrywania treści, które są nieodpowiednie, niechciane lub obraźliwe, w celu zapewnienia bezpieczniejszego doświadczenia użytkownika, zapewnienia reklamodawcom gwarancji bezpieczeństwa marki oraz przestrzegania lokalnych i globalnych przepisów.

W tym poście omawiamy kluczowe elementy potrzebne do oceny aspektu wydajności usługi moderacji treści pod kątem różnych wskaźników dokładności oraz przedstawiamy przykład wykorzystania Amazon Rekognition Interfejsy API do moderacji treści.

Co oceniać

Oceniając usługę moderowania treści, zalecamy wykonanie następujących kroków.

Zanim będziesz mógł ocenić wydajność interfejsu API w swoich przypadkach użycia, musisz przygotować reprezentatywny testowy zestaw danych. Oto kilka ogólnych wskazówek:

  • Collection – Weź wystarczająco dużą losową próbkę (zdjęcia lub filmy) danych, które ostatecznie chcesz przepuścić przez Amazon Rekognition. Na przykład, jeśli planujesz moderować obrazy przesłane przez użytkowników, możesz wziąć do testu obrazy użytkowników z tygodnia. Zalecamy wybór zestawu, który zawiera wystarczającą ilość obrazów bez zbytniego przetwarzania (np. 1,000–10,000 XNUMX obrazów), chociaż większe zestawy są lepsze.
  • Definicja – Skorzystaj z wytycznych dotyczących zawartości aplikacji, aby zdecydować, jakie rodzaje niebezpiecznej zawartości chcesz wykrywać za pomocą usługi Amazon Rekognition taksonomia pojęć moderacyjnych. Na przykład możesz być zainteresowany wykrywaniem wszystkich rodzajów wyraźnej nagości i przemocy lub brutalności.
  • Adnotacja – Teraz potrzebujesz wygenerowanej przez człowieka prawdy podstawowej dla swojego zestawu testowego przy użyciu wybranych etykiet, aby móc porównać z nimi przewidywania maszynowe. Oznacza to, że każdy obraz jest opatrzony adnotacjami o obecności lub braku wybranych koncepcji. Aby dodać adnotacje do danych obrazu, możesz użyć Amazon SageMaker Ground Prawda (GT), aby zarządzać adnotacjami do obrazu. Możesz odnieść się do GT do etykietowania obrazów, konsolidowanie adnotacji i przetwarzanie danych wyjściowych adnotacji.

Uzyskaj prognozy dotyczące zestawu danych testowych dzięki Amazon Rekognition

Następnie chcesz uzyskać prognozy dotyczące zestawu danych testowych.

Pierwszym krokiem jest określenie minimalnego wyniku ufności (wartość progowa, np. 50%), przy którym chcesz mierzyć wyniki. Nasz domyślny próg jest ustawiony na 50, co zapewnia dobrą równowagę między pobieraniem dużych ilości niebezpiecznej zawartości bez ponoszenia zbyt wielu fałszywych prognoz dotyczących bezpiecznej zawartości. Jednak Twoja platforma może mieć inne potrzeby biznesowe, dlatego należy dostosować ten próg zaufania w razie potrzeby. Możesz użyć MinConfidence w żądaniach API, aby zrównoważyć wykrywanie treści (odwołanie) z dokładnością wykrywania (precyzja). Jeśli zmniejszysz MinConfidence, prawdopodobnie wykryjesz większość nieodpowiednich treści, ale prawdopodobnie wybierzesz również treści, które w rzeczywistości nie są nieodpowiednie. Jeśli zwiększysz MinConfidence prawdopodobnie upewnisz się, że wszystkie wykryte treści są naprawdę nieodpowiednie, ale niektóre treści mogą nie być oznaczone. Proponujemy poeksperymentować z kilkoma MinConfidence wartości w Twoim zbiorze danych i ilościowo wybierz najlepszą wartość dla Twojej domeny danych.

Następnie uruchom każdą próbkę (zdjęcie lub wideo) zestawu testowego za pomocą interfejsu API moderacji Amazon Rekognition (Wykryj etykiety moderacji).

Zmierz dokładność modelu na obrazach

Dokładność modelu można ocenić, porównując wygenerowane przez człowieka adnotacje prawdy podstawowej z przewidywaniami modelu. Powtarzasz to porównanie dla każdego obrazu niezależnie, a następnie agregujesz w całym zestawie testowym:

  • Wyniki dla obrazu – Predykcja modelu jest definiowana jako para {label_name, confidence_score} (gdzie wynik ufności >= próg wybrany wcześniej). Dla każdego obrazu prognoza jest uważana za poprawną, gdy jest zgodna z podstawową prawdą (GT). Przewidywanie to jedna z następujących opcji:
    • Prawdziwie pozytywne (TP): zarówno przewidywanie, jak i GT są „niebezpieczne”
    • Prawdziwie negatywna (TN): zarówno przewidywanie, jak i GT są „bezpieczne”
    • fałszywie dodatnich (FP): prognoza mówi „niebezpieczna”, ale GT jest „bezpieczna”
    • Fałszywy negatywny (FN): przewidywanie jest „bezpieczne”, ale GT jest „niebezpieczne”
  • Zagregowane wyniki dla wszystkich obrazów – Następnie możesz zagregować te przewidywania w wyniki na poziomie zestawu danych:
    • Wskaźnik wyników fałszywie dodatnich (FPR) – Jest to procent obrazów w zestawie testowym, które zostały błędnie oznaczone przez model jako zawierające niebezpieczną zawartość: (FP): FP / (TN+FP).
    • Współczynnik fałszywie ujemnych (FNR) – Jest to procent niebezpiecznych obrazów w zestawie testowym, które zostały pominięte przez model: (FN): FN / (FN+TP).
    • Prawdziwie dodatnia stopa (TPR) – Nazywane również przywoływaniem, oblicza procent niebezpiecznej treści (podstawowej prawdy), która jest prawidłowo wykryta lub przewidziana przez model: TP / (TP + FN) = 1 – FNR.
    • Detaliczność – Oblicza odsetek poprawnych prognoz (niebezpieczna treść) w odniesieniu do całkowitej liczby dokonanych prognoz: TP / (TP+FP).

Zbadajmy przykład. Załóżmy, że Twój zestaw testowy zawiera 10,000 9,950 obrazów: 50 bezpiecznych i 9,800 niebezpiecznych. Model poprawnie przewiduje, że 9,950 z 45 obrazów jest bezpiecznych, a 50 z XNUMX jako niebezpieczne:

  • TP = 45
  • TN = 9800
  • FP = 9950 - 9800 = 150
  • FN = 50 - 45 = 5
  • RPF = 150 / (9950 + 150) = 0.015 = 1.5%
  • FNR = 5 / (5 + 45) = 0.1 = 10%
  • TPR/wycofanie = 45 / (45 + 5) = 0.9 = 90%
  • Detaliczność = 45 / (45 + 150) = 0.23 = 23%

Zmierz dokładność modelu na filmach

Jeśli chcesz ocenić skuteczność filmów, konieczne jest wykonanie kilku dodatkowych kroków:

  1. Wypróbuj podzbiór klatek z każdego filmu. Sugerujemy próbkowanie równomiernie z szybkością 0.3–1 klatek na sekundę (fps). Na przykład, jeśli wideo jest kodowane z szybkością 24 fps i chcesz próbkować jedną klatkę co 3 sekundy (0.3 fps), musisz wybrać jedną co 72 klatki.
  2. Uruchom te próbkowane ramki w ramach moderacji treści Amazon Rekognition. Możesz użyć naszego interfejsu API wideo, który już sampluje dla Ciebie klatki (z szybkością 3 klatek na sekundę) lub użyć interfejsu API obrazu, w którym to przypadku chcesz próbkować oszczędniej. Polecamy tę drugą opcję, biorąc pod uwagę nadmiarowość informacji w filmach (kolejne klatki są bardzo podobne).
  3. Oblicz wyniki na klatkę, jak wyjaśniono w poprzedniej sekcji (wyniki na obraz).
  4. Agreguj wyniki z całego zestawu testowego. Tutaj masz dwie opcje, w zależności od rodzaju wyniku, który ma znaczenie dla Twojej firmy:
    1. Wyniki na poziomie klatki – Powoduje to traktowanie wszystkich próbkowanych klatek jako niezależnych obrazów i agregowanie wyników dokładnie tak, jak wyjaśniono wcześniej dla obrazów (FPR, FNR, przywołanie, precyzja). Jeśli niektóre filmy są znacznie dłuższe niż inne, dodadzą więcej klatek do całkowitej liczby, przez co porównanie będzie niezrównoważone. W takim przypadku sugerujemy zmianę początkowej strategii próbkowania na stałą liczbę klatek na wideo. Na przykład możesz jednolicie próbkować 50–100 klatek na film (zakładając, że filmy mają co najmniej 2–3 minuty).
    2. Wyniki na poziomie wideo – W niektórych przypadkach nie ma znaczenia, czy model jest w stanie poprawnie przewidzieć 50% czy 99% klatek w filmie. Nawet jedna błędna niebezpieczna prognoza w pojedynczej klatce może wywołać dalszą ocenę przez człowieka, a tylko filmy z 100% poprawnymi prognozami są naprawdę uważane za prawidłowe. W takim przypadku zalecamy obliczenie FPR/FNR/TPR na klatkach każdego filmu i rozważenie filmu w następujący sposób:
Identyfikator wideo Dokładność Kategoryzacja według filmu
Wyniki zagregowane ze wszystkich klatek identyfikatora wideo

Całkowity PR = 0

Całkowity FN = 0

Perfekcyjne przewidywania
. Całkowity PR > 0 Fałszywy wynik pozytywny (FP)
. Całkowity FN > 0 Fałszywy negatywny (FN)

Po obliczeniu tych danych dla każdego filmu niezależnie, możesz obliczyć wszystkie dane, które wprowadziliśmy wcześniej:

  • Odsetek filmów błędnie oznaczonych (FP) lub pominiętych (FN)
  • Precyzja i przypomnienie

Mierz wydajność w stosunku do celów

Na koniec musisz zinterpretować te wyniki w kontekście swoich celów i możliwości.

Najpierw rozważ swoje potrzeby biznesowe w odniesieniu do następujących kwestii:

  • Dane – Dowiedz się więcej o swoich danych (dzienna ilość, typ danych itd.) oraz o dystrybucji niebezpiecznych i bezpiecznych treści. Na przykład, czy jest zrównoważony (50/50), przekrzywiony (10/90) czy bardzo przekrzywiony (1/99, co oznacza, że ​​tylko 1% jest niebezpieczny)? Zrozumienie takiego rozkładu może pomóc w zdefiniowaniu rzeczywistych celów metrykalnych. Na przykład liczba bezpiecznej zawartości jest często o rząd wielkości większa niż zawartość niebezpieczna (bardzo przekrzywiona), co sprawia, że ​​jest to prawie problem z wykrywaniem anomalii. W tym scenariuszu liczba fałszywych alarmów może przewyższyć liczbę prawdziwych alarmów, a informacje o danych (skośność rozkładu, ilość danych itd.) można wykorzystać do określenia FPR, z którym można pracować.
  • Cele metryczne – Jakie są najbardziej krytyczne aspekty Twojej firmy? Obniżenie FPR często wiąże się z wyższym FNR (i vice versa) i ważne jest, aby znaleźć odpowiednią równowagę, która będzie dla Ciebie odpowiednia. Jeśli nie możesz przegapić żadnej niebezpiecznej treści, prawdopodobnie chcesz mieć blisko 0% FNR (100% przypomnienia). Spowoduje to jednak największą liczbę fałszywych alarmów i musisz określić docelowy (maksymalny) FPR, z którym możesz pracować, na podstawie potoku post-predykcji. Możesz zezwolić na pewien poziom wyników fałszywie negatywnych, aby móc znaleźć lepszą równowagę i obniżyć FPR: na przykład zaakceptowanie 5% FNR zamiast 0% może zmniejszyć FPR z 2% do 0.5%, znacznie zmniejszając liczbę oflagowanych treści.

Następnie zadaj sobie pytanie, jakich mechanizmów użyjesz do analizy oznaczonych obrazów. Mimo że interfejsy API mogą nie zapewniać 0% FPR i FNR, nadal mogą przynieść ogromne oszczędności i skalę (na przykład, zaznaczając tylko 3% swoich obrazów, odfiltrowałeś już 97% treści). Po sparowaniu interfejsu API z niektórymi mechanizmami niższego szczebla, takimi jak personel ludzki, który przegląda oflagowaną zawartość, możesz łatwo osiągnąć swoje cele (na przykład 0.5% oflagowanej zawartości). Zwróć uwagę, że to łączenie w pary jest znacznie tańsze niż konieczność samodzielnego sprawdzania 100% treści.

Po podjęciu decyzji o mechanizmach dalszego przetwarzania sugerujemy ocenę przepustowości, którą możesz obsługiwać. Na przykład, jeśli masz pracowników, którzy mogą weryfikować tylko 2% Twoich codziennych treści, docelowym celem naszego interfejsu API do moderacji treści jest wskaźnik flag (FPR+TPR) na poziomie 2%.

Na koniec, jeśli uzyskanie adnotacji opartych na podstawach jest zbyt trudne lub zbyt kosztowne (na przykład ilość danych jest zbyt duża), zalecamy dodanie adnotacji do niewielkiej liczby obrazów oznaczonych przez interfejs API. Chociaż nie pozwala to na ocenę FNR (ponieważ Twoje dane nie zawierają żadnych fałszywych wyników negatywnych), nadal możesz mierzyć TPR i FPR.

W dalszej części przedstawiamy rozwiązanie do oceny moderacji obrazu. Możesz zastosować podobne podejście do oceny moderacji wideo.

Omówienie rozwiązania

Poniższy diagram ilustruje różne usługi AWS, których możesz użyć do oceny wydajności moderowania treści Amazon Rekognition w testowym zestawie danych.

Ocena moderacji treści składa się z następujących kroków:

  1. Prześlij swój zestaw danych oceny do Usługa Amazon Simple Storage (Amazonka S3).
  2. Użyj Ground Truth, aby przypisać etykiety moderacji Ground Truth.
  3. Wygeneruj przewidywane etykiety moderacji za pomocą wstępnie wytrenowanego interfejsu API moderacji Amazon Rekognition przy użyciu kilku wartości progowych. (Na przykład 70%, 75% i 80%).
  4. Oceń wydajność dla każdego progu, obliczając prawdziwie pozytywne, prawdziwie negatywne, fałszywie pozytywne i fałszywie negatywne. Określ optymalną wartość progową dla swojego przypadku użycia.
  5. Opcjonalnie możesz dostosować wielkość siły roboczej na podstawie prawdziwych i fałszywych alarmów i użyć Amazon AI Augmented (Amazon A2I), aby automatycznie wysyłać wszystkie oznaczone treści do wyznaczonego personelu w celu ręcznego sprawdzenia.

Poniższe sekcje zawierają fragmenty kodu dla kroków 1, 2 i 3. Aby uzyskać kompletny kod źródłowy end-to-end, zapoznaj się z dostarczonym Notatnik Jupyter.

Wymagania wstępne

Zanim zaczniesz, wykonaj następujące kroki, aby skonfigurować notatnik Jupyter:

  1. Utwórz instancję notesu in Amazon Sage Maker.
  2. Gdy notatnik jest aktywny, wybierz Otwórz Jupyter.
  3. Na pulpicie nawigacyjnym Jupyter wybierz Nowościi wybierz terminal.
  4. W terminalu wprowadź następujący kod:
    cd SageMaker
    git clone https://github.com/aws-samples/amazon-rekognition-code-samples.git

  5. Otwórz notatnik dla tego posta: content-moderation-evaluation/Evaluating-Amazon-Rekognition-Content-Moderation-Service.ipynb.
  6. Prześlij swój zestaw danych oceny do Usługa Amazon Simple Storage (Amazonka S3).

Przejdziemy teraz przez kroki od 2 do 4 w notatniku Jupyter.

Użyj Ground Truth do przypisania etykiet moderacji

Aby przypisać etykiety w Ground Truth, wykonaj następujące czynności:

  1. Utwórz plik wejściowy manifestu dla swojej pracy Ground Truth i prześlij ją do Amazon S3.
  2. Utwórz konfigurację etykietowania, która zawiera wszystkie etykiety moderacji potrzebne do zadania etykietowania Ground Truth. Aby sprawdzić limit liczby kategorii etykiet, których możesz użyć, zapoznaj się z Limity kategorii etykiet. W poniższym fragmencie kodu używamy pięciu etykiet (patrz taksonomia hierarchiczna stosowana w Amazon Rekognition więcej szczegółów) plus jedna etykieta (Safe_Content), który oznacza treść jako bezpieczną:
    # customize CLASS_LIST to include all labels that can be used to classify sameple data, it's up to 10 labels
    # In order to easily match image label with content moderation service supported taxonomy, 
    
    CLASS_LIST = ["

  3. Utwórz niestandardowy szablon zadania pracownika, aby zapewnić pracownikom Ground Truth instrukcje dotyczące etykietowania i prześlij go do Amazon S3.
    Zadanie etykiet Ground Truth jest zdefiniowane jako zadanie klasyfikacji obrazów (wiele etykiet). Zapoznaj się z kodem źródłowym, aby uzyskać instrukcje dotyczące dostosowywania szablonu instrukcji.
  4. Zdecyduj, której siły roboczej chcesz użyć do wykonania zadania Ground Truth. Masz dwie opcje (szczegóły w kodzie źródłowym):
    1. Użyj prywatna siła robocza we własnej organizacji, aby oznaczyć zbiór danych oceny.
    2. Użyj pracownicy publiczni do oznaczenia zestawu danych oceny.
  5. Utwórz i prześlij zadanie etykietowania Ground Truth. Możesz także dostosować następujący kod, aby skonfigurować etykietowanie parametrów pracy aby spełnić Twoje specyficzne wymagania biznesowe. Zapoznaj się z kodem źródłowym, aby uzyskać pełne instrukcje dotyczące tworzenia i konfigurowania zadania Ground Truth.
    human_task_config = {
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": acs_arn,
        },
        "PreHumanTaskLambdaArn": prehuman_arn,
        "MaxConcurrentTaskCount": 200,  # 200 images will be sent at a time to the workteam.
        "NumberOfHumanWorkersPerDataObject": 3,  # 3 separate workers will be required to label each image.
        "TaskAvailabilityLifetimeInSeconds": 21600,  # Your workteam has 6 hours to complete all pending tasks.
        "TaskDescription": task_description,
        "TaskKeywords": task_keywords,
        "TaskTimeLimitInSeconds": 180,  # Each image must be labeled within 3 minutes.
        "TaskTitle": task_title,
        "UiConfig": {
            "UiTemplateS3Uri": "s3://{}/{}/instructions.template".format(BUCKET, EXP_NAME),
        },
    }

Po przesłaniu zadania powinieneś zobaczyć dane wyjściowe podobne do następujących:

Labeling job name is: ground-truth-cm-1662738403

Poczekaj, aż zadanie etykietowania w zestawie danych oceny zakończy się pomyślnie, a następnie przejdź do następnego kroku.

Użyj interfejsu API moderacji Amazon Rekognition, aby wygenerować przewidywane etykiety moderacji.

Poniższy fragment kodu pokazuje, jak używać Amazon Rekognition moderacja API aby wygenerować etykiety moderacji:

client=boto3.client('rekognition')
def moderate_image(photo, bucket):
    response = client.detect_moderation_labels(Image={'S3Object':{'Bucket':bucket,'Name':photo}})
    return len(response['ModerationLabels'])

Oceń wydajność

Najpierw pobrałeś etykiety moderacji Ground Truth z wyników zadania etykietowania Ground Truth dla zestawu danych oceny, a następnie uruchomiłeś interfejs API moderacji Amazon Rekognition, aby uzyskać przewidywane etykiety moderacji dla tego samego zestawu danych. Ponieważ jest to problem z klasyfikacją binarną (bezpieczna i niebezpieczna zawartość), obliczamy następujące wskaźniki (zakładając, że niebezpieczna zawartość jest dodatnia):

Obliczamy również odpowiednie wskaźniki oceny:

Poniższy fragment kodu pokazuje, jak obliczyć te dane:

FPR = FP / (FP + TN)
FNR = FN / (FN + TP)
Recall = TP / (TP + FN)
Precision = TP / (TP + FP)

Wnioski

W tym poście omówiono kluczowe elementy potrzebne do oceny aspektu wydajności usługi moderowania treści pod kątem różnych metryk dokładności. Jednak dokładność to tylko jeden z wielu wymiarów, które należy ocenić przy wyborze konkretnej usługi moderacji treści. Bardzo ważne jest uwzględnienie innych parametrów, takich jak całkowity zestaw funkcji usługi, łatwość użytkowania, istniejące integracje, prywatność i bezpieczeństwo, opcje dostosowywania, konsekwencje skalowalności, obsługa klienta i ceny. Aby dowiedzieć się więcej o moderacji treści w Amazon Rekognition, odwiedź Moderacja treści Amazon Rekognition.


O autorach

Wskaźniki do oceny moderacji treści w Amazon Rekognition i innych usługach moderowania treści PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Amit Gupta jest starszym architektem rozwiązań usług AI w AWS. Jego pasją jest udostępnianie klientom dobrze zaprojektowanych rozwiązań uczenia maszynowego na dużą skalę.

Wskaźniki do oceny moderacji treści w Amazon Rekognition i innych usługach moderowania treści PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Dawid Modolo jest kierownikiem ds. nauk stosowanych w AWS AI Labs. Posiada tytuł doktora w dziedzinie wizji komputerowej Uniwersytetu w Edynburgu (Wielka Brytania) i pasjonuje się opracowywaniem nowych rozwiązań naukowych dla rzeczywistych problemów klientów. Poza pracą lubi podróżować i uprawiać każdy rodzaj sportu, zwłaszcza piłkę nożną.

Wskaźniki do oceny moderacji treści w Amazon Rekognition i innych usługach moderowania treści PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Jian Wu jest starszym architektem rozwiązań dla przedsiębiorstw w AWS. Z AWS związany od 6 lat, pracując z klientami każdej wielkości. Jego pasją jest pomaganie klientom w szybszym wprowadzaniu innowacji poprzez przyjęcie chmury i AI/ML. Przed dołączeniem do AWS Jian spędził ponad 10 lat, koncentrując się na tworzeniu oprogramowania, wdrażaniu systemów i zarządzaniu infrastrukturą. Poza pracą lubi być aktywnym i spędzać czas z rodziną.

Znak czasu:

Więcej z Uczenie maszynowe AWS