Kognitiv skicklighet för identifiering av personligt identifierbar information (PII)

PII-identifieringsfärdigheten extraherar personlig information från en indatatext och ger dig möjlighet att maskera den. Den här färdigheten använder de identifieringsmodeller som tillhandahålls i Azure AI Language.

Kommentar

Den här kompetensen är bunden till Azure AI-tjänster och kräver en fakturerbar resurs för transaktioner som överstiger 20 dokument per indexerare och dag. Körning av inbyggda kunskaper debiteras enligt det befintliga priset för Betala per användning för Azure AI-tjänster.

@odata.type

Microsoft.Skills.Text.PIIDetectionSkill

Databegränsningar

Den maximala storleken på en post ska vara 50 000 tecken mätt med String.Length. Du kan använda kunskaper om textdelning för datasegmentering. Ange sidlängden till 5 000 för bästa resultat.

Kompetensparametrar

Parametrar är skiftlägeskänsliga och alla är valfria.

Parameternamn beskrivning
defaultLanguageCode (Valfritt) Språkkoden som ska tillämpas på dokument som inte uttryckligen anger språk. Om standardspråkkoden inte har angetts är engelska (en) standardspråkkoden.
Se den fullständiga listan med språk som stöds.
minimumPrecision Ett värde mellan 0,0 och 1,0. Om konfidenspoängen piiEntities (i utdata) är lägre än det angivna minimumPrecision värdet returneras eller maskeras inte entiteten. Standardvärdet är 0.0.
maskingMode En parameter som ger olika sätt att maskera den personliga information som identifieras i indatatexten. Följande alternativ stöds:
  • "none" (standard): Ingen maskering sker och maskedText utdata returneras inte.
  • "replace": Ersätter de identifierade entiteterna med det tecken som anges i parametern maskingCharacter . Tecknet upprepas till längden på den identifierade entiteten så att förskjutningarna korrekt motsvarar både indatatexten och utdata maskedText.
maskingCharacter Tecknet som används för att maskera texten om parametern maskingMode är inställd på replace. Följande alternativ stöds: * (standard). Den här parametern kan bara vara null om maskingMode den inte är inställd på replace.
domain (Valfritt) Ett strängvärde, om det anges, anger domänen till en delmängd av entitetskategorierna. Möjliga värden är: "phi" (identifiera endast konfidentiell hälsoinformation), "none".
piiCategories (Valfritt) Om du vill ange vilka entiteter som identifieras och returneras använder du den här valfria parametern (definierad som en lista med strängar) med lämpliga entitetskategorier. Med den här parametern kan du också identifiera entiteter som inte är aktiverade som standard för ditt dokumentspråk. Se Entitetskategorier för personligt identifierbar information som stöds för den fullständiga listan.
modelVersion (Valfritt) Anger vilken version av modellen som ska användas när du anropar identifiering av personligt identifierbar information. Den är som standard den senaste versionen när den inte har angetts. Vi rekommenderar att du inte anger det här värdet om det inte är nödvändigt.

Kunskapsindata

Indatanamn beskrivning
languageCode En sträng som anger posternas språk. Om den här parametern inte anges används standardspråkkoden för att analysera posterna.
Se den fullständiga listan med språk som stöds.
text Texten som ska analyseras.

Kunskapsutdata

Utdatanamn beskrivning
piiEntities En matris med komplexa typer som innehåller följande fält:
  • "text" (Den faktiska personligt identifierbara informationen som extraherats)
  • "type"
  • "subType"
  • "score" (Högre värde innebär att det är mer sannolikt att det är en verklig entitet)
  • "offset" (i indatatexten)
  • "length"

Se Entitetskategorier för personligt identifierbar information som stöds för den fullständiga listan.
maskedText Dessa utdata varierar beroende maskingModepå . Om maskingMode är replaceär utdata strängresultatet av maskeringen som utförs över indatatexten, enligt beskrivningen i maskingMode. Om maskingMode är nonefinns det inga utdata.

Exempeldefinition

  {
    "@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"
      }
    ]
  }

Exempelindata

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

Exempelutdata

{
  "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."
      }
    }
  ]
}

De förskjutningar som returneras för entiteter i utdata från den här färdigheten returneras direkt från Api:erna för Language Service, vilket innebär att om du använder dem för att indexera i den ursprungliga strängen bör du använda klassen StringInfo i .NET för att extrahera rätt innehåll. Mer information finns i Stöd för flerspråkiga och emojis i Språktjänstfunktioner.

Fel och varningar

Om språkkoden för dokumentet inte stöds returneras en varning och inga entiteter extraheras. Om texten är tom returneras en varning. Om texten är större än 50 000 tecken analyseras endast de första 50 000 tecknen och en varning utfärdas.

Om färdigheten returnerar en varning kan utdata maskedText vara tomma, vilket kan påverka eventuella underordnade kunskaper som förväntar sig utdata. Därför bör du undersöka alla varningar som rör saknade utdata när du skriver definitionen för din kompetensuppsättning.

Se även