跳到导航

实体检测

本指南介绍如何在语音转文本 API 中使用实体检测。

操作指南 · 假设你已完成语音转文本 快速入门。

概述

实体检测功能可在转录文本中识别特定单词和短语,并提供精确时间戳。这有助于检测信用卡号、姓名、医疗状况或社会保障号码,以便后续进行脱敏处理。

启用后,模型会识别转录文本中的特定实体类型,并提供精确时间戳。

例如,以下音频:

将实体类型指定为 "pii"(个人身份信息)时,会输出以下转录文本:

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

结果会显示在转录文本中检测到的 PII 实体及其精确时间戳。

集成实体检测

通过将 entity_detection 参数传入 convert 方法,即可将实体检测集成到语音转文本 API 中。

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_v3", # 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)

实体类型

支持检测以下实体类型。你可以使用类别关键字 pii、phi、pci、other 或 offensive_language 检测整个类别,也可以通过标签指定单个实体类型。要检测所有实体类型,请使用 all 类别。

标签说明法规合规性
account_number客户账户或会员身份识别号码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
age与个人年龄相关的数字GDPR、HIPAA、Quebec Privacy Act、APPI
bank_account银行账户号码及国际等效号码,如 IBANCPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
cardinal基数形式的数值表达
credit_card信用卡号码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
credit_card_expiration信用卡到期日期CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
cvv3 位或 4 位卡验证码及等效代码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
date特定日历日期,可包含星期几、日期、月份或年份HIPAA、Quebec Privacy Act
date_interval较宽泛的时间段,包括日期范围、月份、季节、年份和年代HIPAA
dob出生日期CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
driver_license驾驶执照号码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
email_address电子邮箱地址CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
event活动或节日名称
filename计算机文件名称,包括扩展名或文件路径
gender表示性别认同的术语,包括俚语CPRA、GDPR、GDPR Sensitive、APPI Sensitive
gender_sexuality同时涵盖 gender 和 sexual_orientation 的旧版别名CPRA、GDPR、GDPR Sensitive、APPI Sensitive
sexual_orientation表示性取向的术语,包括俚语CPRA、GDPR、GDPR Sensitive、APPI Sensitive
healthcare_number医疗保健号码和健康计划受益人号码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
ip_addressInternet IP 地址,包括 IPv4 和 IPv6 格式CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
location所有具名地点引用的元类别GDPR、HIPAA、APPI
location_address完整或部分实体邮寄地址CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
location_city市政区名称,包括村庄、城镇和城市CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
location_coordinate使用纬度、经度和/或海拔坐标表示的地理位置CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
location_country国家名称GDPR、APPI
location_state州、省、领地或都道府县名称GDPR、APPI
location_zipZIP 代码(包括 ZIP+4)、邮政编码或邮编CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
money货币名称和/或金额
name个人姓名,不包括“女士”或“先生”等称谓CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
name_given个人获取的名字,通常在出生时确定;在西方文化中常为名字/中间名CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
name_family表示个人家族或社群的名称;在西方文化中常为姓氏CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
name_medical_professional包含医疗专业人员头衔的姓名,如“医生”CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
numerical_pii不属于其他类别的数值型 PIICPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
occupation职位或职业Quebec Privacy Act、APPI
ordinal序数形式的数值表达
origin表示国籍、族裔或出身的术语CPRA、GDPR、GDPR Sensitive、Quebec Privacy Act、APPI Sensitive
passport_number任何国家签发的护照号码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
password账户密码、PIN、访问密钥或验证答案CPRA、APPI
percent百分比形式的数值表达
phone_number电话或传真号码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
physical_attribute独特身体特征,包括表示种族的术语CPRA、GDPR、GDPR Sensitive、APPI Sensitive
ssn社会保障号码或国际等效政府身份识别号码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
time表示钟表时间的表达
urlInternet 地址CPRA、GDPR、HIPAA、Quebec Privacy Act
username用户名、登录名或账号昵称CPRA、GDPR、APPI
vehicle_id车辆识别号码(VIN)、车辆序列号和车牌号码CPRA、GDPR、HIPAA、APPI
标签说明法规合规性
condition医疗状况、疾病、综合征、缺陷和障碍的名称CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI Sensitive
drug药物、维生素和补充剂CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI Sensitive
injury身体损伤,包括突变、流产和脱臼CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI Sensitive
blood_type血型CPRA、GDPR、HIPAA、Quebec Privacy Act
medical_process医疗过程,包括治疗、程序和检查CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI Sensitive
clinical_measurement临床测量、生命体征和实验室结果CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI Sensitive
statisticsclinical_measurement 的旧版别名HIPAA、Quebec Privacy Act
标签说明法规合规性
credit_card信用卡号码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
credit_card_expiration信用卡到期日期CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
cvv3 位或 4 位卡验证码及等效代码CPRA、GDPR、HIPAA、Quebec Privacy Act、APPI
标签说明法规合规性
language自然语言名称GDPR、GDPR Sensitive、APPI Sensitive
marital_status表示婚姻状况的术语APPI Sensitive
organization组织或组织内部门的名称Quebec Privacy Act、APPI
political_affiliation指代政党、运动或意识形态的术语CPRA、GDPR、GDPR Sensitive、Quebec Privacy Act、APPI Sensitive
religion表示宗教归属的术语CPRA、GDPR、GDPR Sensitive、Quebec Privacy Act、APPI Sensitive
routing_number与银行或金融机构关联的路由号码
zodiac_sign黄道十二宫星座名称
product_or_service商业产品或服务名称
food_or_beverage食物、饮料和菜肴名称
document_reference对文档、案件编号或文件标识符的引用
generic_id不属于其他 ID 类别的通用标识符
measurement带单位的物理测量值和数量
time_duration表示时间长度或跨度的表达
标签说明法规合规性
very_offensive_language强烈冒犯性语言,包括歧视性用语
less_offensive_language轻度冒犯性或不当语言

实体脱敏

除了检测实体外,还可以通过 entity_redaction 参数从转录文本中将其脱敏。它接受与 entity_detection 相同的格式:all、 类别关键字或特定实体类型列表。脱敏类型必须是检测类型的子集。

启用脱敏后,转录文本和词级输出中匹配的实体文本都会替换为标记,响应中不会返回 entities 字段。

transcription = elevenlabs.speech_to_text.convert(
file=audio_file,
model_id="scribe_v3",
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."

entity_redaction_mode 参数用于控制标记格式:

模式标记示例
redacted每个实体均为 {REDACTED}Hi {REDACTED}
entity_type花括号中的实体类型Hi {NAME}
enumerated_entity_type实体类型加出现次数计数器Hi {NAME_0}(默认)

combined 多声道输出样式不支持实体检测和脱敏。

实体脱敏也适用于 Scribe v2 Realtime:以查询参数传入 entity_redaction 和 entity_redaction_mode,格式与上述相同。每条已提交的转录文本后都会跟随一个 redacted_transcript 事件, 其中包含原始 text 和 redacted_text。请参阅实时事件 参考。

后续步骤