Entitätserkennung

Diese Anleitung zeigt Ihnen, wie Sie die Entitätserkennung mit der Speech to Text API nutzen.

Anleitung · Setzt voraus, dass Sie den Speech to Text Schnellstart abgeschlossen haben.

Überblick

Die Entitätserkennung ermöglicht es Ihnen, bestimmte Wörter und Phrasen im Transkript zu erkennen und ihre exakten Zeitstempel bereitzustellen. Das ist nützlich, um Kreditkartennummern, Namen, medizinische Diagnosen oder Sozialversicherungsnummern zu erkennen, die anschließend geschwärzt werden können.

Wenn sie aktiviert ist, erkennt das Modell bestimmte Entitätstypen im Transkript und liefert ihre exakten Zeitstempel.

Zum Beispiel erzeugt das folgende Audio:

Folgendes Transkript, wenn wir "pii" (personenbezogene Daten) als Entitätstyp angeben:

{
"language_code": "eng",
"language_probability": 0.9869821071624756,
"text": "My name is Jill. My date of birth is the 12th of July 1987, and my credit card number is 4242-4242-4242-4242.",
"words": [
{ "text": "My", "start": 0.099, "end": 0.259, "type": "word", "logprob": 0.0 },
{ "text": " ", "start": 0.259, "end": 0.299, "type": "spacing", "logprob": 0.0 },
{ "text": "name", "start": 0.299, "end": 0.42, "type": "word", "logprob": 0.0 },
...
],
"transcription_id": "Y2ZX8AxHUzTPCIualYiE",
"entities": [
{
"text": "Jill",
"entity_type": "name",
"start_char": 11,
"end_char": 15
},
{
"text": "12th of July 1987",
"entity_type": "dob",
"start_char": 41,
"end_char": 58
},
{
"text": "4242-4242-4242-4242",
"entity_type": "credit_card",
"start_char": 89,
"end_char": 108
}
]
}

Das Ergebnis zeigt die im Transkript erkannten PII-Entitäten mit ihren exakten Zeitstempeln.

Entitätserkennung integrieren

Die Entitätserkennung wird in die Speech to Text API integriert, indem Sie den Parameter entity_detection an die Methode convert übergeben.

import os
from dotenv import load_dotenv
from io import BytesIO
import requests
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
audio_url = (
"https://storage.googleapis.com/eleven-public-cdn/documentation_assets/audio/stt-entity-detection-pii.mp3"
)
response = requests.get(audio_url)
audio_data = BytesIO(response.content)
transcription = elevenlabs.speech_to_text.convert(
file=audio_data,
model_id="scribe_v2", # Model to use
# Entity types to detect, accepts a list of specific entity types or categories.
# To detect all entity types, use the "all" category.
entity_detection=["pii"],
)
print("Entities detected:", transcription.entities)

Entitätstypen

Die folgenden Entitätstypen werden für die Erkennung unterstützt. Sie können ganze Gruppen mit den Kategorie-Schlüsselwörtern pii, phi, pci, other oder offensive_language erkennen oder einzelne Entitätstypen über ihr Label angeben. Um alle Entitätstypen zu erkennen, verwenden Sie die Kategorie all.

LabelBeschreibungEinhaltung gesetzlicher Vorschriften
account_numberKundenkonto- oder MitgliedsidentifikationsnummerCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
ageZahlen, die mit dem Alter einer Person verbunden sindGDPR, HIPAA, Quebec Privacy Act, APPI
bank_accountBankkontonummern und internationale Entsprechungen wie IBANCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
cardinalNumerische Ausdrücke in Kardinalform
credit_cardKreditkartennummernCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
credit_card_expirationAblaufdatum einer KreditkarteCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
cvvDrei- oder vierstellige Kartenprüfcodes und EntsprechungenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
dateBestimmte Kalenderdaten, einschließlich Wochentagen, Daten, Monaten oder JahrenHIPAA, Quebec Privacy Act
date_intervalGrößere Zeiträume, einschließlich Datumsbereichen, Monaten, Jahreszeiten, Jahren und JahrzehntenHIPAA
dobGeburtsdatenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
driver_licenseFührerscheinnummernCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
email_addressE-Mail-AdressenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
eventNamen von Veranstaltungen oder Feiertagen
filenameNamen von Computerdateien, einschließlich Erweiterung oder Dateipfad
genderBegriffe zur Geschlechtsidentität, einschließlich UmgangsspracheCPRA, GDPR, GDPR Sensitive, APPI Sensitive
gender_sexualityVeralteter Alias, der sowohl gender als auch sexual_orientation abdecktCPRA, GDPR, GDPR Sensitive, APPI Sensitive
sexual_orientationBegriffe zur sexuellen Orientierung, einschließlich UmgangsspracheCPRA, GDPR, GDPR Sensitive, APPI Sensitive
healthcare_numberKrankenversicherungsnummern und Nummern von Leistungsempfängern eines GesundheitsplansCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
ip_addressInternet-IP-Adresse, einschließlich IPv4- und IPv6-FormatenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
locationMetaklasse für jeden Verweis auf einen benannten OrtGDPR, HIPAA, APPI
location_addressVollständige oder teilweise physische PostadressenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
location_cityNamen von Gemeinden, einschließlich Dörfern, Kleinstädten und StädtenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
location_coordinateGeografische Positionen, angegeben über Breiten-, Längen- und/oder HöhenkoordinatenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
location_countryLändernamenGDPR, APPI
location_stateNamen von Bundesstaaten, Provinzen, Territorien oder PräfekturenGDPR, APPI
location_zipZIP-Codes (einschließlich ZIP+4), Postleitzahlen oder postalische CodesCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
moneyNamen und/oder Beträge von Währungen
nameNamen von Personen, ohne persönliche Anreden wie „Frau“ oder „Herr“CPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
name_givenEiner Person, meist bei der Geburt, gegebene Namen; in westlichen Kulturen oft Vor- oder ZweitnamenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
name_familyNamen, die die Familie oder Gemeinschaft einer Person angeben; in westlichen Kulturen oft NachnamenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
name_medical_professionalNamen einschließlich der Berufsbezeichnung einer medizinischen Fachkraft wie „Doktor“CPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
numerical_piiNumerische PII, die nicht unter andere Kategorien fälltCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
occupationBerufsbezeichnungen oder BerufeQuebec Privacy Act, APPI
ordinalNumerische Ausdrücke in Ordinalform
originBegriffe für Nationalität, ethnische Zugehörigkeit oder HerkunftCPRA, GDPR, GDPR Sensitive, Quebec Privacy Act, APPI Sensitive
passport_numberVon einem beliebigen Land ausgestellte ReisepassnummernCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
passwordKontopasswörter, PINs, Zugangsschlüssel oder VerifizierungsantwortenCPRA, APPI
percentNumerische Ausdrücke als Prozentsätze
phone_numberTelefon- oder FaxnummernCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
physical_attributeAuffällige körperliche Merkmale, einschließlich Begriffen zur ethnischen ZugehörigkeitCPRA, GDPR, GDPR Sensitive, APPI Sensitive
ssnSozialversicherungsnummern oder entsprechende staatliche Identifikationsnummern im AuslandCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
timeAusdrücke für Uhrzeiten
urlInternetadressenCPRA, GDPR, HIPAA, Quebec Privacy Act
usernameBenutzernamen, Anmeldenamen oder HandlesCPRA, GDPR, APPI
vehicle_idFahrzeugidentifikationsnummern (VINs), Fahrzeugseriennummern und KennzeichennummernCPRA, GDPR, HIPAA, APPI
LabelBeschreibungEinhaltung gesetzlicher Vorschriften
conditionNamen medizinischer Zustände, Krankheiten, Syndrome, Defizite und StörungenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI Sensitive
drugMedikamente, Vitamine und NahrungsergänzungsmittelCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI Sensitive
injuryKörperverletzungen, einschließlich Mutationen, Fehlgeburten und VerrenkungenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI Sensitive
blood_typeBlutgruppenCPRA, GDPR, HIPAA, Quebec Privacy Act
medical_processMedizinische Prozesse, einschließlich Behandlungen, Verfahren und TestsCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI Sensitive
clinical_measurementKlinische Messwerte, Vitalwerte und LaborergebnisseCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI Sensitive
statisticsVeralteter Alias für clinical_measurementHIPAA, Quebec Privacy Act
LabelBeschreibungEinhaltung gesetzlicher Vorschriften
credit_cardKreditkartennummernCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
credit_card_expirationAblaufdatum einer KreditkarteCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
cvvDrei- oder vierstellige Kartenprüfcodes und EntsprechungenCPRA, GDPR, HIPAA, Quebec Privacy Act, APPI
LabelBeschreibungEinhaltung gesetzlicher Vorschriften
languageNamen natürlicher SprachenGDPR, GDPR Sensitive, APPI Sensitive
marital_statusBegriffe für den FamilienstandAPPI Sensitive
organizationNamen von Organisationen oder Abteilungen innerhalb einer OrganisationQuebec Privacy Act, APPI
political_affiliationBegriffe für eine politische Partei, Bewegung oder IdeologieCPRA, GDPR, GDPR Sensitive, Quebec Privacy Act, APPI Sensitive
religionBegriffe für die ReligionszugehörigkeitCPRA, GDPR, GDPR Sensitive, Quebec Privacy Act, APPI Sensitive
routing_numberBankleitzahl einer Bank oder eines Finanzinstituts
zodiac_signNamen von Sternzeichen
product_or_serviceNamen kommerzieller Produkte oder Dienstleistungen
food_or_beverageNamen von Lebensmitteln, Getränken und Gerichten
document_referenceVerweise auf Dokumente, Fallnummern oder Dateikennungen
generic_idAllgemeine Kennungen, die nicht unter andere ID-Kategorien fallen
measurementPhysische Messwerte und Mengen mit Einheiten
time_durationAusdrücke für eine Dauer oder Zeitspanne
LabelBeschreibungEinhaltung gesetzlicher Vorschriften
very_offensive_languageStark anstößige Sprache, einschließlich Schimpfwörtern
less_offensive_languageLeicht anstößige oder unangemessene Sprache

Entitäten schwärzen

Neben der Erkennung von Entitäten können Sie diese mit dem Parameter entity_redaction aus dem Transkripttext schwärzen. Er akzeptiert dasselbe Format wie entity_detection: all, ein Kategorie-Schlüsselwort oder eine Liste spezifischer Entitätstypen. Die geschwärzten Typen müssen eine Teilmenge der erkannten Typen sein.

Wenn die Schwärzung aktiviert ist, wird übereinstimmender Entitätstext sowohl im Transkripttext als auch in der Ausgabe auf Wortebene durch eine Markierung ersetzt. Das Feld entities wird nicht in der Antwort zurückgegeben.

transcription = elevenlabs.speech_to_text.convert(
file=audio_file,
model_id="scribe_v2",
entity_detection=["pii"],
entity_redaction=["pii"],
entity_redaction_mode="enumerated_entity_type",
)
print(transcription.text)
# "Hi {NAME_0}, your card ending in {CREDIT_CARD_0} was declined."

Der Parameter entity_redaction_mode steuert das Markierungsformat:

ModusMarkierungBeispiel
redacted{REDACTED} für jede EntitätHi {REDACTED}
entity_typeDer Entitätstyp in geschweiften KlammernHi {NAME}
enumerated_entity_typeDer Entitätstyp plus VorkommenszählerHi {NAME_0} (Standard)

Entitätserkennung und -schwärzung werden mit dem mehrkanaligen Ausgabestil combined nicht unterstützt.

Nächste Schritte