연랩

[Microsoft AI School 6기] 3/20(60일차) 정리 - Microsoft Azure AI Services(4):AI Language 본문

MS AI school 6기

[Microsoft AI School 6기] 3/20(60일차) 정리 - Microsoft Azure AI Services(4):AI Language

parkjiyon7 2025. 3. 20. 17:32

Microsoft Azure AI Services

- Language Studio

 

 

 

AI Language (including Translator)

 

 

Azure AI Language

 

Azure AI 언어는 텍스트를 이해하고 분석하기 위한 NLP(자연어 처리) 기능을 제공하는 클라우드 기반 서비스

 

 

Azure AI Language 서비스

 

정보 추출

자연어 이해를 통해 비정형 텍스트에서 정보를 추출

주요 구문이나 개인식별 정보를 식별, 텍스트를 요약하고 명명된 개체를 인식, 분류하는 등 다양한 작업이 가능

 

정보 추출

 

텍스트 분류

자연어 이해를 통해 텍스트의 언어를 감지하거나 감정을 분류하고, 데이터셋 위에 분류 모델을 맞춤 설정하여 텍스트 문서를 분류

 

텍스트 분류

 

질문과 대화형 언어 이해

사전 구축된 기능을 사용하여 비정형 텍스트에서 질문에 답하거나, 제공한 데이터에 기반하여 도메인 특정 질문과 답변 쌍을 설정

대화형 발화를 분류하고, 정보를 추출, 시나리오를 충족 가능

 

질문과 대화형 언어 이해

 

텍스트 요약

길고 복잡한 문서와 대화 기록을 요약

텍스트 요약

 

번역

사전 구축된 기능을 사용하여 짧은 텍스트나 전체 문서를 지원되는 100개 이상의 언어로 직접 번역하거나, 특정 요구에 맞는 번역 모델을 데이터 세트에 맞추어 맞춤 설정 가능

 

번역

 

언어 지원

Azure AI Language는 다른 Azure 서비스와 마찬가지로 지역별로 제공 여부가 다르기 때문에, Azure의 최신 문서를 확인할 필요가 있음

 

정보 추출 - 핵심 개념 인식 -NER(명명된 엔티티 인식)

Unstructured Text(비구조화된 텍스트)에서 여러 사전 정의된 범주 그룹에 속하는 개체(단어 또는 구)를 분류하는 미리 구성된 기능

ex) 사람, 사건, 장소, 날짜 등

 

지원하는 NER 범주 및 유형

 

NER 지원 범주 및 유형

 

PII를 포함하는 NER

다음의 경우에는 식별한 내용을 사용해서는 안된다

 

PII를 포함하는 NER

 

사용자 지정 NER

머신 러닝 지능을 적용하여 사용자 지정 명명 엔터티 인식 작업을 위한 맞춤형 모델을 구축할 수 있게 해주는 클라우드 기반 API 서비스

사용자 지정 NER을 수행하는 대표적인 사례

 

사용자 지정 NER

 

 

질문과 대화형 언어 이해 - 대화형 환경 구축 - 대화 언어 이해

  • 대화 언어 이해는 Azure AI 언어에서 제공하는 사용자 지정 기능 중 하나
  • 엔드투엔드 대화형 애플리케이션에서 사용할 자연어 이해 구성 요소를 빌드할 수 있도록 기계 학습 지능을 적용한 클라우드 기반 API 서비스

 

대화 언어 이해

 

 

AI Language - 실습

 

리소스 그룹 > language 검색 > 언어 서비스 선택

 

언어 서비스

 

만들기를 클릭하여 진행

- EastUS, NorthEurope, UKSouth 가능

 

언어 서비스

 

Language Studio 시작하기 클릭

 

언어 서비스

 

위와 같이 Language Studio로 진입할 수 있다

 

 

Extract named entities(NER)

 

Extract information > Extract named entities

 

Extract named entities

 

이를 실험해보면 다음과 같이 결과가 나타난다

('삼성전자, 새로운 중급 태블릿 갤럭시 탭 S10 FE 공개 임박' 기사 참조)

 

Extract named entities

 

Extract named entities

 

위와 같이 제품명, 조직명, 이름 등을 추출할 수 있음을 알 수 있다.

하단에 보면 빠른 시작으로 통해 REST API 연결을 확인할 수 있다

 

https://learn.microsoft.com/ko-kr/azure/ai-services/language-service/named-entity-recognition/quickstart?tabs=windows%2Cga-api&pivots=rest-api
 

빠른 시작: NER 클라이언트 라이브러리 사용 - Azure AI services

이 빠른 시작을 사용하여 NER(명명된 엔터티 인식) API 사용을 시작합니다.

learn.microsoft.com

 

NER

 

NER

 

이를 참조하여 postman에서 실험해 볼 수 있다

body 정보는 아래를 참조할 수 있다

 

body

 

Tip:

400에러의 경우 주로 body문제이다. 즉, key와 endpoint는 맞는 경우가 많다.

 

postman api-key 디폴트 설정 가능

collection > Authorization

 

post

 

여기에서 설정해준 뒤, 해당 프로젝트로 가서 

 

postman

위와 같이 상속 받을 수 있도록 설정해줄 수 있다.

이렇게 하면 위에서 상속 해준 키를 사용할 수 있다

 

Postman-NER

 

postman

 

위와 같이 연결이 제대로 되어 결과가 나옴을 알 수 있다.

 

 

Python으로 구현

uuid는 랜덤으로 pk를 만들어 주는 것

-> uuid4를 사용하면 중복되지 않는 ID 값을 생성할 수 있어서 주로 사용

 

python

 

위와 같이 REST API를 통해 ner을 연결할 수 있다.

 

 

Extract PII

 

Extract information > Extract PII

 

Extract PII

 

이를 수행한 결과는 다음과 같다

 

Extract PII

 

이름, 전화번호, 주소 등의 개인 정보를 hide하여 주는 것을 알 수 있다

 

postman

 

postman

 

이를 REST API를 통해 postman을 연결하여 보면 위와 같다.

 

python으로 구현

 

python

 

python으로 연결하면 위와 같다

 

 

Extract Key Phrases

 

Extract information > Extract Key Phrases

 

Extract key phrases

 

실행결과는 다음과 같다

 

key phrase

 

REST API를 위한 설명은 아래의 링크에서 확인할 수 있다

 

https://learn.microsoft.com/en-us/azure/ai-services/language-service/key-phrase-extraction/quickstart?tabs=windows&pivots=rest-api

 

Quickstart: Use the Key Phrase Extraction client library - Azure AI services

Use this quickstart to start using the Key Phrase Extraction API.

learn.microsoft.com

 

postman

이를 통해 연결을 확인해 보면 다음과 같다

 

postman

 

Find linked entities

 

find linked entities

 

현재는 위키피디아의 자료만 지원을 한다.

지원 언어도 영어 밖에 없다.

문맥을 분석하여 단어가 어떤 뜻을 지니고 있는 지를 위키피디아를 기준으로 분석하여 준다.

예를 들어, '화성'이라는 단어가 있으면, 행성 화성인지 수원 화성인지를 파악하여 준다

 

find linked entities

 

예를 들어, Chris Evans라는 동명이인이 배우와 broadcaster가 있는데, 이를 파악하여 해당 위키 자료를 제공하여 준다

 

find linked entities

 

 

Analyze sentiment and mine options

 

Classify text > Analyse sentiment and mine opinions

감정 분석

 

Analyze sentiment and mine options

 

문장 별로 감정분석을 수행하여 준다

 

감정분석

 

그런데 사실 gpt가 감정분석 더 잘 수행하여 주니 gpt를 이용하도록 하자

 

감정분석 - Azure

 

감정분석 - gpt

 

 

Detect Language

 

Classify text > Detect Language

 

언어 감지

 

이를 수행한 결과는 다음과 같다

 

detect language

 

postman

REST API 구조를 문헌에서 검색하여 적용

 

postman

 

 

Answer Questions

 

Understand questions and conversational language > Answer Questions

 

Answer Question

 

이를 테스트하여 보면 다음과 같다

 

Answer Question

 

기사를 바탕으로 원하는답을 주는 것을 알 수 있다.

 

 

Summarize Information

 

Summarize Information > Summarize text

 

요약

 

이를 테스트하여 보면 다음과 같다

 

요약

 

 

대화 언어 이해 - Conversational Language Understanding(CLU)

 

대화 언어 이해

Intents: 사용자가 대화를 통해 해결하고 싶은 목표나 수행하고 싶은 작업을 의도(Intent)라고한다

  • 의도 : 사용자의 대화 의도
  • 보통 사용자가 입력한 문장(=발화)에서 명사나 동사의 형태임

Entities: 엔티티는 챗봇이 사용자와의 대화에서 선별하려는 정보(예: 사람, 장소, 전화번호, 시간 등)

 

 

실습

 

Language Studio 접속> Understand questions and conversational language > Conversational Language Understanding

- 주로 이메일 분석

 

Conversational Language Understanding

 

import 클릭하고 json 포함(sample data 다운로드 받은 것을 이용 - intent와 entity가 지정되어 있음)

 

대화 언어 이해

 

좌측의 Training Jobs

 

Training Jobs

 

훈련 결과

 

훈련 결과

 

Deploy a model

모델 배포, Get Prediction URL로 REST API 연결 정보를 가져올 수 있다

 

모델 배포

 

postman

 

postman

 

연결을 확인하여 보면 위와 같다

 

python으로 구현

 

python으로 구현

 

 

오늘의 간단한 후기

 

이제 rest api를 postman으로 연결 확인하는 것은 익숙해지는 단계인 것 같다. 여러 가지 언어 기능들을 테스트해 보는 시간이 있어서 좋았다. 그러나 성능이 gpt가 제일 좋아서 아마 그것을 쓸 것 같다.

 

 

 

출처

 

[1] Auto Daily, "삼성전자, 새로운 중급 태블릿 갤럭시 탭 S10 FE 공개 임박," *Auto Daily*, https://www.autodaily.co.kr/news/articleView.html?idxno=529143 (accessed Mar. 20, 2025).

[2] D. Phelan, "Apple iPhone 17 Air: Bonanza of New Design and Features Suddenly Leak," *Forbes*, Mar. 19, 2025. Available: https://www.forbes.com/sites/davidphelan/2025/03/19/apple-iphone-17-air-bonanza-of-new-design-and-features-suddenly-leak/

[3] "Named Entity Recognition Quickstart," *Microsoft Learn*, Available: https://learn.microsoft.com/ko-kr/azure/ai-services/language-service/named-entity-recognition/quickstart?tabs=windows%2Cga-api&pivots=rest-api

[4] "K-Pop summer: How the UK is (finally) embracing Korean pop," *BBC News*, Available: https://www.bbc.com/news/articles/cvgwz1jmg3do

[5] "Key Phrase Extraction Quickstart," *Microsoft Learn*, Available: https://learn.microsoft.com/en-us/azure/ai-services/language-service/key-phrase-extraction/quickstart?tabs=windows&pivots=rest-api

[6] "Featured topics: Solar System," *Wikipedia*, Available: https://en.wikipedia.org/wiki/Wikipedia:Featured_topics/Solar_System

[7] "Chris Evans (presenter)," *Wikipedia*, Available: https://en.wikipedia.org/wiki/Chris_Evans_(presenter)

[8] "Tennis News," *BBC Sport*, Available: https://www.bbc.com/sport/tennis/articles/c74kyxd0vgpo
https://sports.news.nate.com/view/20250319n10574

[9] "행복한 나라의 사람이 많이 한 ‘이것’…한국은 5단계 떨어진 58위," *한겨레*, Available: https://www.hani.co.kr/arti/international/international_general/1187902.html

 

-If any problem for references, or any questions please contact me by comments.

-This content is only for recording my studies and personal profiles

 

일부 출처는 사진 내에 표기되어 있습니다

본문의 내용은 학습과 개인 profile 이외의 다른 목적이 없습니다

출처 관련 문제 있을 시 말씀 부탁드립니다

상업적인 용도로 사용하는 것을 금합니다

본문의 내용을 Elixirr 강의자료 내용(정종현)을 기반으로 제작되었습니다

깃허브 소스코드의 내용을 담고 있습니다

본문의 내용은 MS AI School 6기의 강의 자료 및 수업 내용을 담고 있습니다

 

 

 

 

반응형