Azure Language의 텍스트 분석 기능 이해
Azure Language 는 구조화되지 않은 텍스트에 대해 고급 자연어 처리를 수행할 수 있는 Foundry Tools 제품의 일부입니다. Azure Language의 텍스트 분석 기능은 다음과 같습니다.
- 명명된 엔터티 인식 은 사람, 장소, 이벤트 등을 식별합니다. 사용자 지정 범주를 추출하도록 이 기능을 사용자 지정할 수도 있습니다.
- 엔터티 링크 는 Wikipedia에 대한 링크와 함께 알려진 엔터티를 식별합니다.
- PII(개인 식별 정보) 검색 은 개인 건강 정보(PHI)를 포함하여 개인적으로 중요한 정보를 식별합니다.
- 언어 감지 는 텍스트의 언어를 식별하고 영어의 경우 "en"과 같은 언어 코드를 반환합니다.
- 감정 분석 및 오피니언 마이닝 은 텍스트가 긍정인지 부정적인지 여부를 식별합니다.
- 요약 은 가장 중요한 정보를 식별하여 텍스트를 요약합니다.
- 핵심 구 추출 은 구조화되지 않은 텍스트의 주요 개념을 나열합니다.
이러한 기능 중 일부를 좀 더 자세히 살펴보겠습니다.
엔터티 인식 및 연결
구조화되지 않은 텍스트를 Azure Language에 제공할 수 있으며 인식되는 텍스트의 엔터티 목록을 반환합니다. 엔터티는 특정 형식 또는 범주의 항목입니다. 및 경우에 따라 하위 유형이 있습니다. 예를 들면 다음과 같습니다.
| 유형 | 서브타입 | 예시 |
|---|---|---|
| 사람 | "Bill Gates", "John" | |
| 위치 | "Paris", "New York" | |
| 조직 | “Microsoft” | |
| 수량 | 숫자 | “6” 또는 “여섯” |
| 수량 | 백분율 | "25%" 또는 "50%" |
| 수량 | 서수 | “1st” 또는 “첫 번째” |
| 수량 | 나이 | "90일" 또는 "30세" |
| 수량 | 통화 | "10.99" |
| 수량 | 차원 | "10마일", "40cm" |
| 수량 | 온도 | "45도" |
| 날짜와 시간 | "2012년 2월 4일 오후 6:30" | |
| 날짜와 시간 | 날짜 | "2017년 5월 2일" 또는 "2017/05/02" |
| 날짜와 시간 | 시간 | "오전 8시" 또는 "8:00" |
| 날짜와 시간 | 날짜 범위 | "5월 2일부터 5월 5일까지" |
| 날짜와 시간 | 시간 범위 | "오후 6시부터 오후 7시까지" |
| 날짜와 시간 | 기간 | "1분 45초" |
| 날짜와 시간 | 설정 | "매주 화요일" |
| URL |
https://www.bing.com
|
|
| 전자 메일 |
support@microsoft.com
|
|
| 미국 기반 전화 번호 | "(312) 555-0176" | |
| IP 주소 | "10.0.1.125" |
Azure Language는 또한 엔터티 연결을 지원하여, 특정 참조에 연결함으로써 엔터티를 명확하게 구분하는 데 도움을 줍니다. 인식된 엔터티의 경우 서비스는 관련 Wikipedia 문서의 URL을 반환합니다.
예를 들어 Azure Language를 사용하여 다음 식당 리뷰 발췌문에서 엔터티를 탐지한다고 가정합니다.
지난 주에 시애틀에 있는 레스토랑에서 먹었어요.
| 개체 | 유형 | 서브타입 | Wikipedia URL |
|---|---|---|---|
| 시애틀 | 위치 | https://en.wikipedia.org/wiki/Seattle | |
| 지난주 | 날짜와 시간 | 날짜 범위 |
언어 감지
Azure Language의 언어 검색 기능을 사용하여 텍스트를 쓰는 언어를 식별할 수 있습니다. 제출된 각 문서에 대해 서비스는 다음을 검색합니다.
- 언어 이름(예: "영어")입니다.
- ISO 6391 언어 코드(예: "en")입니다.
- 언어 감지에 대한 신뢰도 수준을 나타내는 점수입니다.
예를 들어 레스토랑을 소유하고 운영하는 시나리오를 고려해 보세요. 고객은 설문 조사를 완료하고 음식, 서비스, 직원 등에 대한 피드백을 제공할 수 있습니다. 고객으로부터 다음 리뷰를 받았다고 가정해 보겠습니다.
검토 1: "A fantastic place for lunch. The soup was delicious."
검토 2: "Comida maravillosa y gran servicio."
검토 3: "The croque monsieur avec frites was terrific. Bon appetit!"
Azure Language의 텍스트 분석 기능을 사용하여 각 리뷰에 대한 언어를 검색할 수 있습니다. 다음 결과로 응답할 수 있습니다.
| 문서 | 언어 이름 | ISO 6391 코드 | 점수 |
|---|---|---|---|
| 검토 1 | 영어 | en | 1.0 |
| 검토 2 | 스페인어 | 에스 | 1.0 |
| 검토 3 | 영어 | en | 0.9 |
영어와 프랑스어가 혼합된 텍스트에도 불구하고 검토 3에서 검색된 언어는 영어입니다. 언어 감지 서비스는 텍스트의 주요 언어에 중점을 둡니다. 이 서비스는 알고리즘을 사용하여 텍스트의 다른 언어와 비교하여 구의 길이 또는 언어의 총 텍스트 양과 같은 주요 언어를 결정합니다. 주된 언어는 언어 코드와 함께 반환되는 값입니다. 혼합 언어 텍스트의 결과로 신뢰도 점수가 1보다 작을 수 있습니다.
본질적으로 모호하거나 언어 콘텐츠가 혼합된 텍스트가 있을 수 있습니다. 이러한 상황은 도전을 제시 할 수 있습니다. 모호한 콘텐츠 예제는 문서에 제한된 텍스트 또는 문장 부호만 포함된 경우입니다. 예를 들어 Azure Language를 사용하여 ":-)" 텍스트를 분석하면 언어 이름 및 언어 식별자에 대해 알 수 없는 값과 NaN 점수( 숫자가 아님을 나타내는 데 사용됨)가 생성됩니다.
감정 분석 및 오피니언 마이닝
Azure Language의 텍스트 분석 기능은 텍스트를 평가하고 각 문장에 대한 감정 점수와 레이블을 반환할 수 있습니다. 이 기능은 소셜 미디어, 고객 리뷰, 토론 포럼 등에서 긍정적이고 부정적인 감정을 감지하는 데 유용합니다.
Azure Language는 미리 빌드된 기계 학습 분류 모델을 사용하여 텍스트를 평가합니다. 서비스는 긍정, 중립 및 부정의 세 가지 범주로 감정 점수를 반환합니다. 각 범주에서 0에서 1 사이의 점수가 제공됩니다. 점수는 제공된 텍스트가 특정 감정일 가능성이 얼마나 되는지 나타냅니다. 하나의 문서 감정도 제공됩니다.
예를 들어 다음 두 개의 레스토랑 리뷰를 감정에 대해 분석할 수 있습니다.
검토 1: "우리는 어젯밤 그 식당에서 저녁을 먹었고 내가 처음으로 알아차린 것은 직원이 얼마나 정중했는지였습니다. 우리는 친절하게 맞이받아 바로 테이블로 안내되었습니다. 테이블은 깨끗했고, 의자는 편안했고, 음식은 놀라웠습니다."
그리고
리뷰 2: "이 레스토랑에서 우리의 식사 경험은 내가 가진 최악의 중 하나였다. 서비스는 느렸고 음식은 끔찍했습니다. 나는 이 식당에서 다시는 먹지 않을 것이다."
첫 번째 검토의 감정 점수는 문서 감정: 긍정 점수: 0.90 중립 점수: 0.10 부정 점수: 0.00일 수 있습니다.
두 번째 검토는 응답을 반환할 수 있습니다. 문서 감정: 부정 긍정 점수: 0.00 중립 점수: 0.00 부정 점수: 0.99
핵심 문구 추출
핵심 구 추출은 텍스트의 주요 지점을 식별합니다. 앞에서 설명한 식당 시나리오를 고려해 보세요. 설문 조사가 많은 경우 리뷰를 읽는 데 시간이 오래 걸릴 수 있습니다. 대신 언어 서비스의 핵심 구 추출 기능을 사용하여 주요 사항을 요약할 수 있습니다.
다음과 같은 리뷰를 받을 수 있습니다.
"우리는 생일 축하를 위해 여기에서 저녁 식사를했고 환상적인 경험을했습니다. 우리는 친절한 안주인에게 인사를 받았고 바로 테이블로 가져갔습니다. 앰비언스는 편안했고, 음식은 놀랍고, 서비스는 훌륭했습니다. 훌륭한 음식과 세심한 서비스를 좋아한다면 이 곳을 시도해 보아야 합니다."라고 말했습니다.
핵심 구 추출은 다음 구를 추출하여 이 검토에 대한 몇 가지 컨텍스트를 제공할 수 있습니다.
- 생일 축하
- 환상적인 경험
- 친절한 안주인
- 훌륭한 음식
- 세심한 서비스
- 저녁 식사
- 테이블
- 분위기
- place
다음으로, Azure Language의 대화형 AI 기능을 살펴보겠습니다.