Премахване на лична информация (PII) от текста на транскрипцията

В предишната си статия разгледах „Как да транскрибирам аудио файлове в текст“. В този урок нека разгледаме малко по-подробно как да премахнете лична идентификационна информация (PII) от транскрипцията. Въз основа на Службата за поверителност и отворено управление на САЩ, „PII“ се отнася за

… информация, която може да се използва за разграничаване или проследяване на самоличността на дадено лице, като неговото име, номер на социална осигуровка, биометрични записи и т.н. самостоятелно или в комбинация с друга лична или идентифицираща информация, която е свързана или може да се свърже с конкретно лице, като като дата и място на раждане, предбрачното име на майката и др.“

След приемането на Общия регламент за защита на данните (GDPR) в Европейския съюз (ЕС) и Европейското икономическо пространство (ЕИП), много държави приемат подобен модел за регулиране на трансфера на лични данни, които могат да бъдат проследени до конкретно лице .

В резултат на това е необходимо да премахнете този вид лични данни от текста на транскрипцията, ако възнамерявате да ги съхранявате или прехвърляте във вашето приложение. Например, като се има предвид следният текст на транскрипция:

John Doe is a well-known singer.

Редактирането на PII обикновено се извършва чрез замяна на John Doe със символи/хешове

#### ### is a well-known singer.

или с някаква форма на низове, които представляват съответното име на обект:

[PERSON_NAME] is a well-known singer.

Обикновено редактирането на PII се извършва по следния начин:

  • разпознаване на реч, за да получите транскрипцията
  • обработка на естествения език на текста на транскрипцията за идентифициране на свързаната единица. Това обикновено се прави чрез разпознаване на именуван обект
  • последваща обработка за замяна на разпознатия обект с хеш/име на обект

Нека проучим как можете да го направите чрез външен API Speech-to-Text API, предоставен от AssemblyAI.

Настройвам

Този урок използва Python като език за програмиране. Въпреки това, не се колебайте да го промените въз основа на вашите нужди, тъй като основната реализация се основава на извиквания на API. Освен това входът и върнатият изход са базирани на JSON.

Силно се препоръчва да създадете нова виртуална среда, преди да продължите с инсталацията.

Заявки

Пакетът requests е лесна за употреба HTTP библиотека за езика за програмиране Python. Можете да го инсталирате по следния начин:

pip install requests

API ключ

След това преминете към Страницата за регистрация на AssemblyAI и регистрирайте нов пробен акаунт. За новосъздадения акаунт, той идва с 3 часа транскрипция на месец. Трябва да имате следния потребителски интерфейс, когато влизате в началната страница:

Запишете си API ключа, тъй като ще го използвате по-късно, когато извиквате API за транскрипция.

Внедряване

Целият процес на транскрипция е както следва:

  • Задайте audio_url, който съдържа достъпен URL за видео или аудио файл и направете POST извикване към API за транскрипция. Освен това трябва да зададете redact_pii параметър на true. Той ще върне идентификатора на транскрипция чрез JSON.
  • След това направете второ API извикване към същия API за транскрипция, но вместо това чрез GET. Трябва да получите JSON изход, показващ състоянието на напредъка на транскрипцията. След като бъде направено, ще видите изхода за транскрипция с текста, който се заменя с хеш, ако в него има някаква PII.

Направете POST повикване към препис API

Ние ще направим едно POST извикване към AssemblyAI’s transcript API за всеки аудио файл, който имате. Уверете се, че вашият аудио файл е достъпен чрез URL. Създайте нов файл на Python, наречен transcribe.py. във вашата работна директория със следния код:

Просто заменете променливите api_key и audio_url въз основа на това, което имате. След това изпълнете следната команда, за да започнете транскрипцията:

python transcribe.py

Той ще върне JSON-форматиран изход със следните елементи:

{ "id": "xxxxxx"
  "language_model": "assemblyai_default",
  "acoustic_model": "assemblyai_default",
  "language_code": "en_us",
  "status": "queued",
  "audio_url": "https://cdn.assemblyai.com/upload/d04b8505-3cf2-422a-a6e9-b9c6af7c8c6c",
  "filter_profanity": true, ...
}

Най-важните двойки ключ-стойност са както следва:

  • id — уникалният идентификатор за вашия процес. Това е необходимо за извикване на GET API по-късно.
  • status — показва напредъка на вашата транскрипция

Ако сте получили error като статус. Това означава, че транскрипцията не е успешна. Може да се дължи на една от следните причини:

  • Неподдържан формат на аудио файл
  • Аудио файлът не съдържа аудио данни
  • Аудио файлът беше твърде кратък (‹200 милисекунди)
  • URL адресът на аудио файла е недостъпен
  • Грешка от страна на API

Можете предварително да дефинирате желаните от вас правила за редактиране, като ги зададете чрез redact_pii_policies параметър, както следва:

data = {
  "audio_url": "https://cdn.assemblyai.com/upload/d04b8505-3cf2-422a-a6e9-b9c6af7c8c6c",
  "redact_pii": True,
  "redact_pii_policies": ["drug", "injury", "person_name"]
}

В момента API за транскрипция поддържа следните лични данни:

  • medical_process
  • medical_condition
  • blood_type
  • drug
  • injury
  • number_sequence
  • email_address
  • date_of_birth
  • phone_number
  • us_social_security_number
  • credit_card_number
  • credit_card_expiration
  • credit_card_cvv
  • date
  • nationality
  • event
  • language
  • location
  • money_amount
  • person_name
  • person_age
  • organization
  • political_affiliation
  • occupation
  • religion

За повече информация относно това, моля, проверете „официалната документация“.

Персонализиране на редактирането на PII

Освен това можете да персонализирате и контролирате как PII трябва да бъде заменен. Всичко, което трябва да направите, е да включите параметъра redact_pii_sub във вашия data речник, преди да извикате API.

data = {
  "audio_url": "https://cdn.assemblyai.com/upload/d04b8505-3cf2-422a-a6e9-b9c6af7c8c6c",
  "redact_pii": True,
  "redact_pii_sub": "entity_name"
}

Две са две налични опции за redact_pii_sub:

  • hash — заменете PII с хеш (напр. 1111–2222–3333–4444 ще бъде заменено с ####-####-####-####). Това е стойността по подразбиране.
  • entity_name — заменете PII със свързано име на обект (напр. 1111–2222–3333–4444 ще бъде заменено с credit_card_number)

Направете GET Call to Transcript API

Процесът на транскрипция може да отнеме до 10 минути в зависимост от дължината на вашия аудио файл. За да получите текста на транскрипцията, трябва да направите второ извикване към същия API за препис, но вместо това с GET HTTP.

Създайте нов файл с име transcribe_file.py и го попълнете със следния кодов фрагмент:

Не забравяйте да замените съответно параметрите id и api_key. След като приключите с това, изпълнете следната команда, за да проверите резултата от транскрипцията:

python transcribe_file.py

Трябва да видите различни ключове status в зависимост от процеса на транскрипция. След като приключи, трябва да получите текста на транскрипцията с PII, който се редактира с хеш/име на обект.

Вземете редактиран аудио файл с PII

Освен това AssemblyAI предоставя допълнителен API, който ви позволява да получите версия на вашия оригинален аудио файл, като PII се филтрира със звук beep.

Трябва да включите параметър redact_pii_audio във вашия data речник и да го зададете на true:

data = {
  "audio_url": "https://cdn.assemblyai.com/upload/d04b8505-3cf2-422a-a6e9-b9c6af7c8c6c",
  "redact_pii": True,
  "redact_pii_audio": True
}

След това направете GET HTTP извикване към следния URL адрес:

https://api.assemblyai.com/v2/transcript/<id>/redacted-audio

Заменете id с идентификатора на транскрипцията, който имате. Той ще върне следния изход, указващ редактирания аудио URL адрес и текущия напредък:

{
  "redacted_audio_url": "https://link-to-redacted-audio",
  "status": "redacted_audio_ready"
}

Моля, имайте предвид, че аудиовръзката е достъпна само до 30 минути. След това той ще бъде премахнат от сървъра и вместо това ще получите код за отговор 400.

Заключение

Нека обобщим какво научихте днес.

Във въведението този урок предостави кратка информация относно информацията, позволяваща идентифициране на самоличността (PII) и Общия регламент за защита на данните (GDPR). Той също така демонстрира пример за това как редактирането на PII влияе върху окончателния текст на транскрипцията.

След това се премина към инсталиране на пакета заявки и регистрация на пробна сметка в платформата AssemblyAI.

В раздела за внедряване той подчертава работния процес за транскрибиране на аудио файлове с редактиране на PII. Това включва някаква форма на персонализиране, при която можете да изберете да замените текст, свързан с PII, с хеш или име на обект.

Освен това, той също така обяснява как да получите PII редактиран аудио файл, който филтрира PII в аудио файла с beep звук вместо това.

Благодаря, че прочетохте това парче. Желая ви страхотен ден!

Препратки

  1. AssemblyAI — Документация (Редакция на PII)