Umiejętność poznawcza wykrywania danych osobowych

Umiejętność wykrywania danych osobowych wyodrębnia dane osobowe z tekstu wejściowego i umożliwia ich maskowanie. Ta umiejętność korzysta z modeli wykrywania dostępnych w języku sztucznej inteligencji platformy Azure.

Uwaga

Ta umiejętność jest powiązana z usługami azure AI i wymaga rozliczanego zasobu dla transakcji, które przekraczają 20 dokumentów na indeksator dziennie. Wykonanie wbudowanych umiejętności jest naliczane za istniejące usługi Azure AI z płatnością zgodnie z rzeczywistym użyciem.

@odata.type

Microsoft.Skills.Text.PIIDetectionSkill

Limity danych

Maksymalny rozmiar rekordu powinien wynosić 50 000 znaków mierzonych przez String.Lengthwartość . Możesz użyć umiejętności Dzielenie tekstu na potrzeby fragmentowania danych. Ustaw długość strony na 5000, aby uzyskać najlepsze wyniki.

Parametry umiejętności

Parametry są uwzględniane w wielkości liter, a wszystkie są opcjonalne.

Nazwa parametru opis
defaultLanguageCode (Opcjonalnie) Kod języka, który ma być stosowany do dokumentów, które nie określają jawnie języka. Jeśli nie określono domyślnego kodu języka, angielski (en) jest domyślnym kodem języka.
Zobacz pełną listę obsługiwanych języków.
minimumPrecision Wartość z zakresu od 0,0 do 1,0. Jeśli współczynnik ufności (w danych wyjściowych piiEntities ) jest niższy niż ustawiona minimumPrecision wartość, jednostka nie jest zwracana ani maskowana. Wartość domyślna to 0.0.
maskingMode Parametr, który udostępnia różne sposoby maskowania danych osobowych wykrytych w tekście wejściowym. Obsługiwane są następujące opcje:
  • "none" (ustawienie domyślne): nie ma miejsca maskowania, a maskedText dane wyjściowe nie są zwracane.
  • "replace": zastępuje wykryte jednostki znakiem podanym w parametrze maskingCharacter . Znak jest powtarzany do długości wykrytej jednostki, dzięki czemu przesunięcia będą prawidłowo odpowiadać zarówno tekstowi wejściowemu, jak i wyjściowemu maskedText.
maskingCharacter Znak używany do maskowania tekstu, jeśli maskingMode parametr jest ustawiony na replace. Obsługiwana jest następująca opcja: * (wartość domyślna). Ten parametr może być null tylko wtedy, gdy maskingMode nie jest ustawiony na replacewartość .
domain (Opcjonalnie) Wartość ciągu, jeśli zostanie określona, ustawia domenę na podzestaw kategorii jednostek. Możliwe wartości to: "phi" (wykrywaj tylko poufne informacje o kondycji), "none".
piiCategories (Opcjonalnie) Jeśli chcesz określić, które jednostki są wykrywane i zwracane, użyj tego opcjonalnego parametru (zdefiniowanego jako lista ciągów) z odpowiednimi kategoriami jednostek. Ten parametr umożliwia również wykrywanie jednostek, które nie są domyślnie włączone dla języka dokumentów. Aby uzyskać pełną listę, zobacz Obsługiwane kategorie jednostek informacji osobowych.
modelVersion (Opcjonalnie) Określa wersję modelu do użycia podczas wywoływania wykrywania informacji umożliwiających identyfikację użytkownika. Domyślnie jest to najnowsza wersja, jeśli nie zostanie określona. Zalecamy, aby nie określać tej wartości, chyba że jest to konieczne.

Dane wejściowe umiejętności

Nazwa danych wejściowych opis
languageCode Ciąg wskazujący język rekordów. Jeśli ten parametr nie zostanie określony, domyślny kod języka jest używany do analizowania rekordów.
Zobacz pełną listę obsługiwanych języków.
text Tekst do przeanalizowania.

Dane wyjściowe umiejętności

Nazwa danych wyjściowych opis
piiEntities Tablica typów złożonych, które zawierają następujące pola:
  • "text" (Rzeczywiste dane osobowe w postaci wyodrębnionej)
  • "type"
  • "subType"
  • "score" (Wyższa wartość oznacza, że jest bardziej prawdopodobne, aby być prawdziwą jednostką)
  • "offset" (do tekstu wejściowego)
  • "length"

Aby uzyskać pełną listę, zobacz Obsługiwane kategorie jednostek informacji osobowych.
maskedText Te dane wyjściowe różnią się w zależności od maskingMode. Jeśli maskingMode parametr to replace, dane wyjściowe są wynikiem maskowania wykonywanego przez tekst wejściowy zgodnie z opisem w pliku maskingMode. Jeśli maskingMode parametr ma nonewartość , nie ma żadnych danych wyjściowych.

Przykładowa definicja

  {
    "@odata.type": "#Microsoft.Skills.Text.PIIDetectionSkill",
    "defaultLanguageCode": "en",
    "minimumPrecision": 0.5,
    "maskingMode": "replace",
    "maskingCharacter": "*",
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "piiEntities"
      },
      {
        "name": "maskedText"
      }
    ]
  }

Przykładowe dane wejściowe

{
    "values": [
      {
        "recordId": "1",
        "data":
           {
             "text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's."
           }
      }
    ]
}

Przykładowe dane wyjściowe

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "piiEntities":[ 
           { 
              "text":"859-98-0987",
              "type":"U.S. Social Security Number (SSN)",
              "subtype":"",
              "offset":28,
              "length":11,
              "score":0.65
           }
        ],
        "maskedText": "Microsoft employee with ssn *********** is using our awesome API's."
      }
    }
  ]
}

Przesunięcia zwracane dla jednostek w danych wyjściowych tej umiejętności są zwracane bezpośrednio z interfejsów API usługi językowej, co oznacza, że jeśli używasz ich do indeksowania do oryginalnego ciągu, należy użyć klasy StringInfo na platformie .NET, aby wyodrębnić poprawną zawartość. Aby uzyskać więcej informacji, zobacz Obsługa wielojęzycznych i emoji w temacie Funkcje usługi językowej.

Błędy i ostrzeżenia

Jeśli kod języka dokumentu nie jest obsługiwany, zwracane jest ostrzeżenie i nie są wyodrębniane żadne jednostki. Jeśli tekst jest pusty, zostanie zwrócone ostrzeżenie. Jeśli tekst jest większy niż 50 000 znaków, zostanie przeanalizowanych tylko pierwszych 50 000 znaków i zostanie wyświetlone ostrzeżenie.

Jeśli umiejętność zwróci ostrzeżenie, dane wyjściowe maskedText mogą być puste, co może mieć wpływ na wszelkie umiejętności podrzędne, które oczekują danych wyjściowych. Z tego powodu należy zbadać wszystkie ostrzeżenia związane z brakującymi danymi wyjściowymi podczas pisania definicji zestawu umiejętności.

Zobacz też