Azure AI Fundamentals 시험 노트개념 정리17 MIN
텍스트 분석 기법과 음성 워크로드
키 프레이즈·엔터티·감정·요약·PII 같은 텍스트 분석 기법을 하나씩 가르고, 음성 인식과 합성이 갈리는 지점과 실시간·일괄·번역 중 무엇을 고를지를 시나리오 기준으로 정리합니다.
첫 노트에서 워크로드를 여섯으로 갈랐습니다. 이 노트는 그중 텍스트 분석과 음성 둘을 안쪽까지 들어가 봅니다. 두 갈래는 같은 시나리오에 나란히 등장하는 일이 잦아서 — 통화를 글로 옮기고 그 글에서 불만을 가려내는 식으로 — 시험도 둘을 한 문항에 섞습니다. 갈래를 맞혔더라도 그 안에서 어느 기법인지를 다시 골라야 하는 것이 이 자리의 난이도입니다.
있는 글에서 무엇을 뽑는가
텍스트 분석은 없던 문장을 만드는 일이 아니라 있는 글을 두고 판정값을 내는 일입니다. 뽑는 것이 무엇이냐에 따라 기법이 갈립니다.
| 기법 | 무엇이 나오는가 | 예 |
|---|---|---|
| 언어 감지 | 그 글이 무슨 언어인지와 확신도 | 「ko」, 확신도 0.99 |
| 키 프레이즈 추출 | 글의 요점이 되는 구절 목록 | 「배송 지연」, 「환불 요청」 |
| 명명된 엔터티 인식 | 사람·장소·조직·날짜·수량 같은 이름과 그 갈래 | 「서울」 → 위치 |
| 감정 분석 | 긍정·중립·부정과 확신도 | 문서는 부정, 두 번째 문장은 긍정 |
| PII 검출 | 개인 식별 정보의 위치와 가린 텍스트 | 전화번호 자리를 *로 바꾼 문장 |
| 요약 | 글을 줄인 것 | 다섯 문장짜리 요약 |
명명된 엔터티 인식(NER)은 글 안의 고유한 이름을 찾아 그것이 어떤 갈래인지 붙여 주는 기법이고, 키 프레이즈 추출은 이름인지 아닌지와 무관하게 요점이 되는 구절을 뽑는 기법입니다. 둘이 자주 헷갈리는데 가르는 질문은 하나입니다 — 결과에 갈래 이름이 붙는가. 「서울」에 「위치」가 붙어 나오면 NER이고, 그냥 중요한 말들의 목록이면 키 프레이즈입니다.
감정 분석과 의견 마이닝
감정 분석(sentiment analysis)은 글이 긍정인지 중립인지 부정인지를 판정하고 각각의 확신도를 함께 내는 기법입니다. 문서 전체에 대해 한 번, 문장마다 한 번씩 나오기 때문에 「전체는 부정인데 두 번째 문장만 긍정」 같은 결과가 나올 수 있습니다.
여기서 한 걸음 더 들어간 것이 의견 마이닝(opinion mining)입니다. 감정이 무엇에 대한 감정인지까지 갈라 줍니다. 「음식은 훌륭했지만 서비스가 너무 느렸어요」를 감정 분석만 돌리면 문서 하나에 값 하나가 나오지만, 의견 마이닝을 켜면 「음식 → 훌륭했다(긍정)」과 「서비스 → 느렸다(부정)」로 대상과 평가가 짝지어 나옵니다.
{
"sentiment": "mixed",
"sentences": [
{
"text": "음식은 훌륭했지만 서비스가 너무 느렸어요",
"sentiment": "mixed",
"targets": [
{ "text": "음식", "sentiment": "positive", "assessments": ["훌륭했다"] },
{ "text": "서비스", "sentiment": "negative", "assessments": ["느렸다"] }
]
}
]
}
시나리오에 「어느 부분이 불만인지 알아야 한다」·「메뉴별로 평가를 나눠 봐야 한다」가 있으면 감정 분석만으로는 부족하고 의견 마이닝입니다.
요약 — 뽑아 오는가 다시 쓰는가
요약에는 성격이 다른 둘이 있습니다.
- 추출 요약(extractive summarization)은 원문에서 중요한 문장을 그대로 골라 나열합니다. 문장이 원문에 있던 것이므로 없는 말이 섞일 위험이 없고, 대신 문장 사이가 매끄럽지 않을 수 있습니다.
- 추상 요약(abstractive summarization)은 원문에 없던 새 문장을 만들어 냅니다. 읽기 좋지만 원문에 없는 내용이 섞일 수 있어 근거가 중요한 자리에서는 검증이 필요합니다.
가르는 질문은 「원문 문장을 그대로 써야 하는가」입니다. 법률 문서나 의료 기록처럼 표현을 바꾸면 안 되는 자리는 추출 요약이고, 회의록을 읽기 좋게 줄이는 자리는 추상 요약입니다.
여기서 경계 하나를 못 박아 둡니다. 추상 요약은 없던 문장을 만들어 내므로 첫 노트의 기준으로 보면 생성에 가깝습니다. 그래도 이 자리에서 함께 다루는 이유는 입력이 이미 있는 글이고 그 글에 대한 결과를 낸다는 점이 텍스트 분석과 같기 때문입니다. 시험이 「이것은 생성형 AI인가 텍스트 분석인가」를 요약으로 묻는 일은 드물고, 대신 추출과 추상 중 어느 쪽인가를 제약 문장에 심어 묻습니다.
소리와 글 사이의 두 방향
음성 워크로드는 방향으로 갈립니다. 음성-텍스트 변환(STT)은 소리를 글로 옮기는 인식이고, 텍스트-음성 변환(TTS)은 글을 소리로 만드는 합성입니다. 문항은 이 방향을 시나리오에 숨겨 두므로 「무엇이 입력이고 무엇이 출력인지」를 먼저 적어 보면 절반은 갈립니다.
인식 쪽은 다시 셋으로 갈립니다.
| 방식 | 어떻게 동작하는가 | 어울리는 자리 |
|---|---|---|
| 실시간 인식 | 마이크나 스트림에서 들어오는 소리를 말하는 중에 옮긴다 | 회의 자막, 음성 명령 |
| 일괄 전사 | 저장소에 쌓인 오디오 파일을 한꺼번에 비동기로 옮긴다 | 어제치 상담 녹음 1,000건 |
| 음성 번역 | 한 언어의 말을 받아 다른 언어로 옮긴다 | 다국어 회의, 통역 |
「이미 저장된 파일」·「밤사이 처리」·「수천 건」이 보이면 일괄 전사입니다. 실시간 인식으로 파일 수천 건을 돌리려는 보기는 흔한 오답입니다 — 되기는 하지만 파일 길이만큼 시간이 걸립니다.
셋을 가르는 기준을 한 줄로 줄이면 소리가 지금 흘러 들어오는가, 이미 쌓여 있는가, 그리고 나가는 글의 언어가 들어온 말의 언어와 같은가입니다. 음성 번역은 인식과 번역을 한 번에 하는 것이라, 전사한 뒤 따로 번역기를 부르는 방식과 결과는 비슷해도 지연이 다릅니다 — 통역처럼 말하는 중에 결과가 나와야 하면 음성 번역 쪽입니다.
신경망 음성과 SSML
합성 쪽에서 쓰는 목소리를 신경망 음성(neural voice)이라고 부릅니다. 신경망으로 학습해 억양과 끊어 읽기가 사람에 가까운 목소리이고, 언어와 지역마다 미리 만들어진 것을 골라 씁니다. 조직의 목소리를 따로 만드는 사용자 지정 음성은 남용을 막기 위해 별도의 승인 절차를 거칩니다.
기본 설정만으로 부족할 때 쓰는 것이 SSML(음성 합성 마크업 언어)입니다. 읽는 속도·높낮이·쉬는 자리·발음을 태그로 지시하고, 한 문장 안에서 목소리를 바꿀 수도 있습니다.
<speak version="1.0" xml:lang="ko-KR">
<voice name="ko-KR-SunHiNeural">
주문하신 상품은 <break time="400ms"/>
<prosody rate="-10%">내일 도착합니다.</prosody>
<say-as interpret-as="digits">01012345678</say-as>
</voice>
</speak>
「숫자를 한 자리씩 읽어야 한다」·「특정 구간만 천천히 읽어야 한다」·「안내 문구 사이에 잠깐 쉬어야 한다」가 요구사항이면 답은 SSML입니다. 목소리를 새로 만드는 것도, 모델을 바꾸는 것도 아닙니다.
거꾸로 SSML로 풀 수 없는 요구사항도 있습니다. 「우리 회사 대표의 목소리로 읽어야 한다」는 목소리 자체를 새로 만드는 일이라 사용자 지정 음성의 자리이고, 「고객이 말한 언어로 답해야 한다」는 합성 전에 언어를 정하는 일이라 언어 감지와 음성 선택의 자리입니다. SSML이 다루는 것은 고른 목소리가 주어진 문장을 어떻게 읽는가까지입니다.
기법을 고르는 순서
시나리오 문항은 다음 순서로 물으면 대개 한 번에 걸립니다.
- 입력이나 출력에 소리가 있는가 → 음성. 소리가 입력이면 인식, 출력이면 합성.
- 인식이라면 대상이 흘러 들어오는 소리인가 쌓여 있는 파일인가 → 실시간 / 일괄.
- 글에 대한 일이라면, 결과가 갈래 이름이 붙은 항목인가 → NER.
- 결과가 긍정·부정 판정인가 → 감정 분석. 대상별로 갈라야 하면 의견 마이닝.
- 결과가 짧아진 글인가 → 요약. 원문 문장을 그대로 써야 하면 추출, 아니면 추상.
- 결과가 가려진 텍스트인가 → PII 검출.
이 순서를 그대로 적용할 수 없는 문항이 하나 있습니다. 「무엇을 먼저 해야 하는가」를 묻는 유형인데, 여러 언어가 섞인 데이터가 나오면 대개 언어 감지가 첫 단계입니다. 뒤이어 돌릴 분석이 언어를 알아야 동작하기 때문입니다.
연습 문제
호텔 리뷰 5,000건에서 「객실은 깨끗했지만 조식이 형편없었다」처럼 항목마다 평가가 갈리는 문장을 항목별로 집계하려 합니다. 필요한 것은?
① 감정 분석만 돌린다
② 감정 분석에 의견 마이닝을 켠다
③ 키 프레이즈 추출만 돌린다
④ 추상 요약을 돌린다②. 문서 하나에 값 하나가 아니라 대상과 평가를 짝지어야 하므로 의견 마이닝입니다.규정상 원문 문장을 바꾸면 안 되는 판결문을 줄여 목록에 보여 주려 합니다. 알맞은 것은?
① 추출 요약
② 추상 요약
③ 키 프레이즈 추출
④ 명명된 엔터티 인식①. 원문 문장을 그대로 골라 나열하는 것이 추출 요약입니다. 추상 요약은 없던 문장을 만들어 내므로 이 제약과 맞지 않습니다.콜센터가 어제 쌓인 녹음 파일 3,000건을 밤사이 전부 글로 옮기려 합니다. 알맞은 방식은?
① 실시간 인식
② 일괄 전사
③ 음성 번역
④ 텍스트-음성 변환②. 저장된 파일을 한꺼번에 비동기로 처리하는 자리입니다. ①도 결과는 같지만 파일을 하나씩 재생하는 만큼 시간이 걸립니다.안내 음성이 「01012345678」을 하나의 큰 수처럼 읽어 버립니다. 가장 알맞은 해결은?
① 다른 신경망 음성으로 바꾼다
② SSML에서 숫자를 한 자리씩 읽도록 지시한다
③ 사용자 지정 음성을 새로 학습시킨다
④ 실시간 인식으로 바꾼다②. 읽는 방식을 지시하는 자리가 SSML입니다. 목소리를 바꾸거나 새로 만드는 것은 이 문제와 무관합니다.다음 중 명명된 엔터티 인식의 결과로 가장 알맞은 것은?
① 「배송 지연」, 「환불 요청」이라는 구절 목록
② 「부산」 → 위치, 「3월 2일」 → 날짜
③ 문서 전체가 부정, 확신도 0.87
④ 전화번호가 가려진 문장②. 항목마다 갈래 이름이 붙어 나오는 것이 NER입니다. ①은 키 프레이즈, ③은 감정 분석, ④는 PII 검출의 결과입니다.여러 나라 사용자가 남긴 문의 글을 분석하는 파이프라인을 만듭니다. 감정 분석과 키 프레이즈 추출을 돌리기 전에 먼저 두어야 할 단계는?
① PII 검출
② 추상 요약
③ 언어 감지
④ 음성 번역③. 뒤 단계가 언어를 알아야 동작하므로 언어 감지가 앞에 섭니다.사내 로그에 쌓인 상담 기록을 분석용으로 넘기기 전에, 고객 이름과 연락처가 담긴 자리를 지워야 합니다. 알맞은 기법은?
① PII 검출
② 키 프레이즈 추출
③ 감정 분석
④ 언어 감지①. 개인 식별 정보를 찾아 위치를 알려 주고 가린 텍스트를 함께 돌려주는 것이 PII 검출입니다.
문항 일곱 중 다섯이 「결과가 어떤 모양으로 나오는가」로 갈렸습니다. 기법 이름을 외우는 것보다 각 기법의 출력 예시를 한 줄씩 기억해 두는 편이 이 자리에서는 더 빨리 답을 냅니다 — 구절 목록, 갈래가 붙은 항목, 긍정·부정과 확신도, 짧아진 글, 가려진 문장, 이렇게 다섯 모양입니다.

