Amazon Web Services 한국 블로그

Amazon Comprehend Medical – 대용량 데이터 배치 작업 가능

AWS re:Invent 2018에서 출시Amazon Comprehend Medical은 HIPAA를 지원하는 자연 언어 처리 서비스로서 기계 학습을 사용하여 비정형 텍스트에서 관련 의료 정보를 쉽게 추출하도록 합니다. (참고: Amazon Comprehend Medical 서비스는 아직 영어만 지원하나, 헬스케어 산업에 종사하는 국내 스타트업 및 의료 기관에 유용합니다. )

Roche DiagnosticsFred Hutchinson Cancer Research Center와 같은 AWS 고객은 의사 진료 메모, 임상 시험 보고서 및 환자 건강 기록과 같은 다양한 출처에서 의료 상태, 약물, 복용량, 강도 및 빈도와 같은 정보를 빠르고 정확하게 추출할 수 있습니다. 또한 이 고객들은 데이터 교환 전에 PHI(기밀 건강 정보)를 암호화하기 위해 이러한 문서에 있는 해당 기밀 정보를 식별할 수 있습니다.

이전 블로그 게시물에서는 Amazon Comprehend Medical API를 사용하여 단일 문서에서 엔터티를 추출하고 PHI를 감지하는 방법에 대해 설명했습니다. 오늘 이 API가 이제 Amazon Simple Storage Service(S3) 버킷에 저장된 문서를 일괄 처리할 수 있게 되었습니다.

Comprehend Medical 배치 모드 API 소개

먼저 배치 모드를 테스트하기 위해 일부 데이터를 가져와야 합니다. MT Samples는 자유로운 사용 및 배포가 가능한 익명화된 실제 의료 기록의 방대한 컬렉션입니다. 저는 몇 가지 기록을 선택하여 Amazon Comprehend Medical에 맞는 간단한 JSON 형식으로 변환했습니다. 프로덕션 워크플로에서 문서를 이러한 형식으로 변환하는 작업은 애플리케이션 코드 또는 와 같은 분석 서비스 중 하나를 이용해 쉽게 수행할 수 있습니다.

{"Text": " VITAL SIGNS: The patient was afebrile. He is slightly tachycardic, 105,
but stable blood pressure and respiratory rate.GENERAL: The patient is in no distress.
Sitting quietly on the gurney. HEENT: Unremarkable. His oral mucosa is moist and well
hydrated. Lips and tongue look normal. Posterior pharynx is clear. NECK: Supple. His
trachea is midline.There is no stridor. LUNGS: Very clear with good breath sounds in
all fields. There is no wheezing. Good air movement in all lung fields.
CARDIAC: Without murmur. Slight tachycardia. ABDOMEN: Soft, nontender.
SKIN: Notable for a confluence erythematous, blanching rash on the torso as well
as more of a blotchy papular, macular rash on the upper arms. He noted some on his
buttocks as well. Remaining of the exam is unremarkable.}

이제, 서비스와 같은 지역에 위치한 Amazon S3 버킷에 샘플을 업로드하기만 하면 됩니다. 믿기 힘드시겠지만 ‘esophagogastroduodenoscopy’는 한 단어입니다.

이제 AWS 콘솔로 가서 엔터티 감지 작업을 생성해 보겠습니다. 나머지 프로세스는 PHI와 동일합니다.


샘플은 ‘input/’ 접두사 아래에 저장되며 ‘output/’ 접두사 아래에 결과가 표시됩니다. 물론, 꼭 사용해 보고 싶은 다른 버킷이 있다면, 그 버킷을 사용할 수 있습니다. 또는 AWS Key Management Service(KMS)를 사용하여 출력 결과를 암호화할 수도 있습니다. 작업을 간단히 하기 위해 여기에 KMS를 설정하지는 않지만, 프로덕션 워크플로에 KMS를 고려해 보실 것을 강력히 권장합니다.

또한 AWS Identity and Access Management(IAM)에 데이터 액세스 역할을 제공하여 Amazon Comprehend Medical이 관련 S3 버킷에 액세스할 수 있도록 해야 합니다. 이전에 AWS Identity and Access Management(IAM)에서 설정한 역할을 사용하거나 Amazon Comprehend Medical 콘솔에서 마법사를 사용할 수 있습니다. 권한에 대한 더 자세한 정보를 확인하려면 설명서를 참조하십시오.

그런 다음, 일괄 작업을 생성하고 완료될 때까지 기다립니다. 몇 분 지나면 작업이 완료됩니다.

결과는 출력 위치에서 확인할 수 있습니다. 각 입력별로 하나의 출력이 제공되며, 엔터티 및 그들의 관계에 대한 JSON 포맷 설명이 포함되어 있습니다.

매니페스트에는 전체 정보(처리된 문서의 수, 총 데이터 양 등)도 포함됩니다. 확인하기 쉽도록 경로를 편집했습니다.

{
"Summary" : {
    "Status" : "COMPLETED",
    "JobType" : "EntitiesDetection",
    "InputDataConfiguration" : {
        "Bucket" : "jsimon-comprehend-medical-uswest2",
        "Path" : "input/"
    },
    "OutputDataConfiguration" : {
        "Bucket" : "jsimon-comprehend-medical-uswest2",
        "Path" : ...
    },
    "InputFileCount" : 4,
    "TotalMeteredCharacters" : 3636,
    "UnprocessedFilesCount" : 0,
    "SuccessfulFilesCount" : 4,
    "TotalDurationSeconds" : 366,
    "SuccessfulFilesListLocation" : ... ,
    "UnprocessedFilesListLocation" : ...
}
}

S3에서 ‘rash.json.out‘ 객체를 검색한 후 JSON 편집기를 사용하여 내용을 볼 수 있습니다. 다음은 감지된 엔터티 중 일부입니다.

물론 이 데이터는 사람이 읽을 수 없습니다. 프로덕션 워크플로에서는 Amazon Comprehend Medical API에 의해 자동 처리됩니다. 그런 다음, 결과는 AWS 백엔드에 저장되고 비즈니스 애플리케이션을 통해 의료 전문가에게 제공되었습니다.

대규모인 경우에도 배치 모드에서 Amazon Comprehend Medical을 쉽게 사용할 수 있습니다.  이 서비스는 현재 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), 캐나다(중부), EU(아일랜드), EU(런던), 아시아 태평양(시드니) 리전에서 사용 가능합니다.

Comprehend 프리 티어는 엔터티 추출 또는 PHI 감지를 통해 서비스 이용 시작 후 첫 3개월 동안 25,000단위의 텍스트(250만 자)를 제공합니다.

– Julien Simon