Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2

In Часть 1 В этой серии мы обсудили интеллектуальную обработку документов (IDP) и то, как IDP может ускорить варианты использования обработки претензий в страховой отрасли. Мы обсудили, как мы можем использовать сервисы AWS AI для точной классификации документов претензий и подтверждающих документов. Мы также обсудили, как извлекать различные типы документов из пакета страховых претензий, такие как формы, таблицы или специальные документы, такие как счета-фактуры, квитанции или документы, удостоверяющие личность. Мы рассмотрели проблемы, связанные с устаревшими процессами обработки документов, которые отнимают много времени, подвержены ошибкам, дороги и сложны для масштабной обработки, а также то, как вы можете использовать сервисы AWS AI для реализации конвейера IDP.

В этом посте мы познакомим вас с расширенными функциями IDP для извлечения, запроса и обогащения документов. Мы также изучаем, как в дальнейшем использовать структурированную информацию, извлеченную из данных претензий, для получения ценной информации с помощью AWS Analytics и сервисов визуализации. Мы подчеркиваем, как извлеченные из IDP структурированные данные могут помочь в борьбе с мошенническими исками с использованием сервисов AWS Analytics.

Обзор решения

На следующей диаграмме показаны этапы использования IDP сервисов AWS AI. В первой части мы обсудили первые три этапа рабочего процесса IDP. В этой статье мы подробно остановимся на этапе извлечения и остальных этапах, включая интеграцию IDP с сервисами AWS Analytics.

Мы используем эти аналитические службы для получения дополнительной информации и визуализации, а также для обнаружения мошеннических претензий с использованием структурированных нормализованных данных от IDP. На следующей диаграмме показана архитектура решения.

Схема архитектуры IDP

Фазы, которые мы обсуждаем в этом посте, используют следующие ключевые сервисы:

  • Amazon Comprehend Medical — это служба обработки естественного языка (NLP), отвечающая требованиям HIPAA, которая использует модели машинного обучения (ML), предварительно обученные для понимания и извлечения данных о здоровье из медицинского текста, таких как рецепты, процедуры или диагнозы.
  • Клей AWS является частью стека сервисов AWS Analytics и представляет собой бессерверную службу интеграции данных, которая упрощает обнаружение, подготовку и объединение данных для аналитики, машинного обучения и разработки приложений.
  • Амазонка Redshift — это еще один сервис в стеке Analytics. Amazon Redshift — это полностью управляемое облачное хранилище данных объемом в петабайты.

Предпосылки

Прежде чем приступить к работе, см. Часть 1 для общего обзора варианта использования страхования с IDP и подробной информацией об этапах сбора и классификации данных.

Для получения дополнительной информации о примерах кода обратитесь к нашему GitHub репо.

Фаза экстракции

В первой части мы увидели, как использовать API-интерфейсы Amazon Textract для извлечения такой информации, как формы и таблицы, из документов, а также как анализировать счета-фактуры и документы, удостоверяющие личность. В этой статье мы расширяем этап извлечения с помощью Amazon Comprehend, чтобы извлекать сущности по умолчанию и пользовательские объекты, специфичные для пользовательских сценариев использования.

Страховые компании часто сталкиваются с плотным текстом в заявлениях на получение страховых выплат, например, в резюме выписки пациента (см. следующий пример изображения). Автоматическое извлечение информации из таких типов документов, где нет определенной структуры, может оказаться затруднительным. Чтобы решить эту проблему, мы можем использовать следующие методы для извлечения ключевой бизнес-информации из документа:

Образец сводки выписки

Извлекайте объекты по умолчанию с помощью API Amazon Comprehend DetectEntities.

Мы запускаем следующий код в образце документа медицинской транскрипции:

comprehend = boto3.client('comprehend') 

response = comprehend.detect_entities( Text=text, LanguageCode='en')

#print enitities from the response JSON

for entity in response['Entities']:
    print(f'{entity["Type"]} : {entity["Text"]}')

На следующем снимке экрана показана коллекция сущностей, указанных во входном тексте. Вывод был сокращен для целей этого поста. Обратитесь к Репо GitHub для получения подробного списка объектов.

Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Извлечение пользовательских объектов с помощью функции распознавания пользовательских объектов Amazon Comprehend

Ответ от DetectEntities API включает объекты по умолчанию. Однако мы заинтересованы в знании конкретных значений сущности, таких как имя пациента (обозначаемое сущностью по умолчанию). PERSON) или идентификатор пациента (обозначается сущностью по умолчанию OTHER). Чтобы распознавать эти пользовательские объекты, мы обучаем модель распознавания пользовательских объектов Amazon Comprehend. Мы рекомендуем выполнить подробные инструкции по обучению и развертыванию пользовательской модели распознавания объектов в GitHub репо.

После развертывания пользовательской модели мы можем использовать вспомогательную функцию. get_entities() для получения пользовательских объектов, таких как PATIENT_NAME и PATIENT_D из ответа API:

def get_entities(text):
try:
    #detect entities
    entities_custom = comprehend.detect_entities(LanguageCode="en",
                      Text=text, EndpointArn=ER_ENDPOINT_ARN) 
    df_custom = pd.DataFrame(entities_custom["Entities"], columns = ['Text',  
                'Type', 'Score'])
    df_custom = df_custom.drop_duplicates(subset=['Text']).reset_index()
    return df_custom
except Exception as e:
    print(e)

# call the get_entities() function 
response = get_entities(text) 
#print the response from the get_entities() function
print(response)

На следующем снимке экрана показаны наши результаты.

Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Фаза обогащения

На этапе обогащения документов мы выполняем функции по дополнению документов, связанных со здравоохранением, чтобы получить ценную информацию. Мы рассматриваем следующие виды обогащения:

  • Извлечь язык, специфичный для предметной области – Мы используем Amazon Comprehend Medical для извлечения медицинских онтологий, таких как ICD-10-CM, RxNorm и SNOMED CT.
  • Редактировать конфиденциальную информацию – Мы используем Amazon Comprehend для редактирования личной информации (PII) и Amazon Comprehend Medical для редактирования защищенной медицинской информации (PHI).

Извлечение медицинской информации из неструктурированного медицинского текста

Такие документы, как записи медицинских работников и отчеты о клинических испытаниях, содержат плотный медицинский текст. Операторам страховых претензий необходимо определить связи между извлеченной медицинской информацией из этого плотного текста и связать ее с медицинскими онтологиями, такими как коды ICD-10-CM, RxNorm и SNOMED CT. Это очень ценно для автоматизации рабочих процессов сбора, проверки и утверждения претензий для страховых компаний, что позволяет ускорить и упростить обработку претензий. Давайте посмотрим, как мы можем использовать Amazon Comprehend Medical. InferICD10CM API для обнаружения возможных заболеваний как объектов и связывания их с их кодами:

cm_json_data = comprehend_med.infer_icd10_cm(Text=text)

print("nMedical codingn========")

for entity in cm_json_data["Entities"]:
      for icd in entity["ICD10CMConcepts"]:
           description = icd['Description']
           code = icd["Code"]
           print(f'{description}: {code}')

Для входного текста, который мы можем передать из Amazon Textract DetectDocumentText API, InferICD10CM API возвращает следующий вывод (вывод сокращен для краткости).

Извлечение медицинской информации из неструктурированного медицинского текста

Аналогичным образом мы можем использовать Amazon Comprehend Medical. InferRxNorm API для идентификации лекарств и InferSNOMEDCT API для обнаружения медицинских лиц в страховых документах, связанных со здравоохранением.

Выполнить редактирование PII и PHI

Пакеты страховых претензий требуют соблюдения строгих требований и правил конфиденциальности, поскольку они содержат как данные PII, так и PHI. Страховые компании могут снизить риск несоблюдения требований, редактируя такую ​​информацию, как номера полисов или имя пациента.

Рассмотрим пример выписки пациента. Мы используем Amazon Comprehend DetectPiiEntities API для обнаружения объектов PII в документе и защиты конфиденциальности пациента путем редактирования этих объектов:

resp = call_textract(input_document = f's3://{data_bucket}/idp/textract/dr-note-sample.png')
text = get_string(textract_json=resp, output_type=[Textract_Pretty_Print.LINES])

# call Amazon Comprehend Detect PII Entities API
entity_resp = comprehend.detect_pii_entities(Text=text, LanguageCode="en") 

pii = []
for entity in entity_resp['Entities']:
      pii_entity={}
      pii_entity['Type'] = entity['Type']
      pii_entity['Text'] = text[entity['BeginOffset']:entity['EndOffset']]
      pii.append(pii_entity)
print(pii)

Мы получаем следующие объекты PII в ответе от detect_pii_entities() API:

ответ от API обнаружения_pii_entities()

Затем мы можем отредактировать объекты PII, обнаруженные в документах, используя геометрию ограничивающего прямоугольника объектов из документа. Для этого мы используем вспомогательный инструмент под названием amazon-textract-overlayer. Для получения дополнительной информации см. Textract-Overlayer. На следующих снимках экрана сравнивается документ до и после редактирования.

Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Похоже на Amazon Comprehend DetectPiiEntities API, мы также можем использовать DetectPHI API для обнаружения данных PHI в исследуемом клиническом тексте. Для получения дополнительной информации см. Обнаружение PHI.

Этап проверки и проверки

На этапе проверки и проверки документов мы теперь можем проверить, соответствует ли пакет претензий требованиям бизнеса, поскольку у нас есть вся информация, собранная из документов в пакете с более ранних этапов. Мы можем сделать это, внедрив в цикл человека, который сможет просматривать и проверять все поля, или просто задействовать процесс автоматического одобрения заявок с небольшими затратами перед отправкой пакета последующим приложениям. Мы можем использовать Amazon увеличил AI (Amazon A2I) для автоматизации процесса проверки человеком страховых претензий.

Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Теперь, когда у нас есть все необходимые данные, извлеченные и нормализованные в результате обработки претензий с помощью сервисов искусственного интеллекта для IDP, мы можем расширить решение для интеграции с сервисами AWS Analytics, такими как AWS Glue и Amazon Redshift, для решения дополнительных вариантов использования и предоставления дополнительной аналитики и визуализации.

Обнаружение мошеннических страховых претензий

В этом посте мы реализуем бессерверную архитектуру, в которой извлеченные и обработанные данные хранятся в озере данных и используются для обнаружения мошеннических страховых претензий с использованием машинного обучения. Мы используем Простой сервис хранения Amazon (Amazon S3) для хранения обработанных данных. Затем мы можем использовать Клей AWS or Амазонка ЭМИ очистить данные и добавить дополнительные поля, чтобы сделать их пригодными для отчетов и машинного обучения. После этого мы используем Amazon Redshift ML построить модель ML для обнаружения мошенничества. Наконец, мы строим отчеты, используя Amazon QuickSight чтобы получить представление о данных.

Настройка внешней схемы Amazon Redshift

Для этого примера мы создали образец набора данных эмулирует выходные данные процесса ETL (извлечение, преобразование и загрузка) и использует каталог данных AWS Glue в качестве каталога метаданных. Сначала мы создаем базу данных с именем idp_demo в каталоге данных и внешнюю схему в Amazon Redshift под названием idp_insurance_demo (см. следующий код). Мы используем Управление идентификацией и доступом AWS (IAM) для предоставления разрешений кластеру Amazon Redshift на доступ к Amazon S3 и Создатель мудреца Амазонки. Дополнительные сведения о настройке этой роли IAM с наименьшими привилегиями см. Кластеризация и настройка для администрирования Amazon Redshift ML.

CREATE EXTERNAL SCHEMA idp_insurance_demo
FROM DATA CATALOG
DATABASE 'idp_demo' 
IAM_ROLE '<<>>'
CREATE EXTERNAL DATABASE IF NOT EXISTS;

Создайте внешнюю таблицу Amazon Redshift.

Следующим шагом будет создание внешней таблицы в Amazon Redshift со ссылкой на местоположение S3, где находится файл. В данном случае наш файл представляет собой текстовый файл, разделенный запятыми. Мы также хотим пропустить строку заголовка из файла, что можно настроить в разделе свойств таблицы. См. следующий код:

create external table idp_insurance_demo.claims(id INTEGER,
date_of_service date,
patients_address_city VARCHAR,
patients_address_state VARCHAR,
patients_address_zip VARCHAR,
patient_status VARCHAR,
insured_address_state VARCHAR,
insured_address_zip VARCHAR,
insured_date_of_birth date,
insurance_plan_name VARCHAR,
total_charges DECIMAL(14,4),
fraud VARCHAR,
duplicate varchar,
invalid_claim VARCHAR
)
row format delimited
fields terminated by ','
stored as textfile
location '<<>>'
table properties ( 'skip.header.line.count'='1');

Создавайте обучающие и тестовые наборы данных

После создания внешней таблицы мы подготавливаем наш набор данных для машинного обучения, разделяя его на обучающий набор и тестовый набор. Мы создаем новую внешнюю таблицу под названием claim_train, который состоит из всех записей с идентификатором <= 85000 из таблицы утверждений. Это обучающий набор, на котором мы тренируем нашу модель ML.

CREATE EXTERNAL TABLE
idp_insurance_demo.claims_train
row format delimited
fields terminated by ','
stored as textfile
location '<<>>/train'
table properties ( 'skip.header.line.count'='1')
AS select * from idp_insurance_demo.claims where id <= 850000

Мы создаем еще одну внешнюю таблицу с именем claim_test который состоит из всех записей с идентификатором > 85000 и является тестовым набором, на котором мы тестируем модель ML:

CREATE EXTERNAL TABLE
idp_insurance_demo.claims_test
row format delimited
fields terminated by ','
stored as textfile
location '<<>>/test'
table properties ( 'skip.header.line.count'='1')
AS select * from idp_insurance_demo.claims where id > 850000

Создайте модель машинного обучения с помощью Amazon Redshift ML.

Теперь мы создаем модель, используя СОЗДАТЬ МОДЕЛЬ команда (см. следующий код). Мы выбираем соответствующие столбцы из claims_train таблица, которая может определить мошенническую транзакцию. Целью этой модели является прогнозирование стоимости fraud столбец; поэтому, fraud добавляется в качестве цели прогнозирования. После обучения модели она создает функцию с именем insurance_fraud_model. Эта функция используется для вывода при выполнении операторов SQL для прогнозирования значения fraud столбец для новых записей.

CREATE MODEL idp_insurance_demo.insurance_fraud_model
FROM (SELECT 
total_charges ,
fraud ,
duplicate,
invalid_claim
FROM idp_insurance_demo.claims_train
)
TARGET fraud
FUNCTION insurance_fraud_model
IAM_ROLE '<<>>'
SETTINGS (
S3_BUCKET '<<>>'
);

Оценка показателей модели машинного обучения

После создания модели мы можем выполнить запросы, чтобы проверить точность модели. Мы используем insurance_fraud_model функция прогнозирования стоимости fraud столбец для новых записей. Запустите следующий запрос на claims_test таблица для создания матрицы путаницы:

SELECT 
fraud,
idp_insurance_demo.insurance_fraud_model (total_charges ,duplicate,invalid_claim ) as fraud_calculcated,
count(1)
FROM idp_insurance_demo.claims_test
GROUP BY fraud , fraud_calculcated;

Обнаружение мошенничества с помощью модели ML

После создания новой модели, когда новые данные претензий вставляются в хранилище данных или озеро данных, мы можем использовать метод insurance_fraud_model функция для расчета мошеннических транзакций. Мы делаем это, сначала загружая новые данные во временную таблицу. Затем мы используем insurance_fraud_model функция для расчета fraud для каждой новой транзакции и вставляйте данные вместе с флагом в итоговую таблицу, которая в данном случае является claims таблице.

Визуализация данных претензий

Когда данные доступны в Amazon Redshift, мы можем создавать визуализации с помощью QuickSight. Затем мы можем предоставить доступ к информационным панелям QuickSight бизнес-пользователям и аналитикам. Чтобы создать панель мониторинга QuickSight, сначала необходимо создать набор данных Amazon Redshift в QuickSight. Инструкции см. Создание набора данных из базы данных.

После создания набора данных вы можете создать новый анализ в QuickSight, используя этот набор данных. Ниже приведены примеры отчетов, которые мы создали:

  • Общее количество претензий по штатам, сгруппированных по fraud поле – Этот график показывает нам долю мошеннических транзакций по сравнению с общим количеством транзакций в конкретном штате.
  • Сумма общей долларовой стоимости претензий, сгруппированных по fraud поле – Эта диаграмма показывает нам долю мошеннических транзакций в долларах по сравнению с общей суммой транзакций в конкретном штате.
  • Общее количество транзакций на страховую компанию, сгруппированное по fraud поле – На этой диаграмме показано, сколько претензий было подано каждой страховой компанией и сколько из них являются мошенническими.

• Общее количество транзакций на одну страховую компанию, сгруппированное по полю мошенничества.

  • Общая сумма мошеннических транзакций по штатам, отображенная на карте США – На этой диаграмме показаны только мошеннические транзакции и общая сумма комиссий за эти транзакции по штатам на карте. Более темный оттенок синего указывает на более высокие общие расходы. Мы можем дополнительно проанализировать это по городам в этом штате и почтовым индексам города, чтобы лучше понять тенденции.

Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Убирать

Чтобы предотвратить будущие расходы на вашу учетную запись AWS, удалите ресурсы, которые вы предоставили при настройке, следуя инструкциям в Раздел очистки в нашем репозитории.

Заключение

В этой серии из двух частей мы увидели, как построить сквозной конвейер IDP, практически не имея опыта ML. Мы изучили вариант использования обработки претензий в страховой отрасли и то, как IDP может помочь автоматизировать этот вариант использования с помощью таких сервисов, как Amazon Textract, Amazon Comprehend, Amazon Comprehend Medical и Amazon A2I. В части 1 мы продемонстрировали, как использовать сервисы AWS AI для извлечения документов. Во второй части мы расширили этап извлечения и выполнили обогащение данных. Наконец, мы расширили структурированные данные, полученные из IDP, для дальнейшего анализа и создали визуализации для обнаружения мошеннических претензий с помощью сервисов AWS Analytics.

Мы рекомендуем ознакомиться с разделами безопасности Амазонка Текст, Amazon Comprehendи Амазон А2И документацию и следуя инструкциям. Чтобы узнать больше о ценах на решение, ознакомьтесь с информацией о ценах на Амазонка Текст, Amazon Comprehendи Амазон А2И.


Об авторах

авторЧинмайи Ране является специалистом по архитектуре решений AI/ML в Amazon Web Services. Увлекается прикладной математикой и машинным обучением. Она занимается разработкой интеллектуальных решений для обработки документов для клиентов AWS. Вне работы она любит танцевать сальсу и бачату.


Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
Удай Нараянан
— специалист по архитектуре аналитических решений в AWS. Ему нравится помогать клиентам находить инновационные решения сложных бизнес-задач. Его основными областями деятельности являются анализ данных, системы больших данных и машинное обучение. В свободное время он любит заниматься спортом, смотреть телепередачи и путешествовать.


Интеллектуальная обработка документов с помощью сервисов AWS AI и Analytics в страховой отрасли: часть 2. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
Сонали Саху
возглавляет группу архитекторов решений AI/ML для интеллектуальной обработки документов в Amazon Web Services. Она страстный технофил и любит работать с клиентами для решения сложных проблем с использованием инноваций. Ее основная сфера деятельности — искусственный интеллект и машинное обучение для интеллектуальной обработки документов.

Отметка времени:

Больше от Машинное обучение AWS

Используйте машинное обучение без программирования, чтобы получать ценную информацию из обзоров продуктов с помощью моделей анализа настроений Amazon SageMaker Canvas и анализа текста | Веб-сервисы Amazon

Исходный узел: 1899999
Отметка времени: 9 октября, 2023