엔터티 형식
Important
LUIS는 2025년 10월 1일에 사용 중지되며 2023년 4월 1일부터 새 LUIS 리소스를 만들 수 없습니다. 지속적인 제품 지원 및 다국어 기능을 활용하려면 LUIS 애플리케이션을 대화 언어 이해로 마이그레이션하는 것이 좋습니다.
엔터티는 항목이거나 사용자 의도와 관련된 요소입니다. 엔터티는 발화에서 추출할 수 있는 데이터를 정의하며 사용자의 필수 작업을 완료하는 데 필수적입니다. 예시:
발화 | 예측된 의도 | 추출된 엔터티 | 설명 |
---|---|---|---|
Hello, how are you? | 인사말 | - | 추출할 항목이 없습니다. |
I want to order a small pizza | orderPizza | 'small' | 'Size' 엔터티는 'small'으로 추출됩니다. |
침실 조명 끄기 | turnOff | 'bedroom' | 'Room' 엔터티는 'bedroom'으로 추출됩니다. |
Check balance in my savings account ending in 4406 | checkBalance | 'savings', '4406' | 'accountType' 엔터티는 '저축'으로 추출되고 'accountNumber' 엔터티는 '4406'으로 추출됩니다. |
Buy 3 tickets to New York | buyTickets | '3', 'New York' | 'ticketsCount' 엔터티는 '3'으로 추출되고 'Destination' 엔터티는 '뉴욕'으로 추출됩니다." |
엔터티는 선택 사항이지만 권장됩니다. 앱의 모든 개념에 대해 엔터티를 생성할 필요는 없으며 다음과 같은 경우에만 가능합니다.
- 클라이언트 애플리케이션에 데이터가 필요한 경우 또는
- 엔터티가 다른 엔터티 또는 의도에 대한 힌트 또는 신호 역할을 하는 경우 기능으로서의 엔터티에 대해 자세히 알아보려면 기능으로서의 엔터티를 참조하세요.
엔터티 형식
엔터티를 만들려면 이름을 지정하고 형식을 지정해야 합니다. LUIS에서 엔터티에는 몇 가지 형식이 있습니다.
목록 엔터티
목록 엔터티는 동의어와 함께 일련의 고정된 폐쇄형 관련 단어를 나타냅니다. 목록 엔터티를 사용하여 여러 동의어 또는 변형을 인식하고 정규화된 출력을 추출할 수 있습니다. 권장 옵션을 사용하여 현재 목록을 기준으로 권장되는 새 단어를 확인합니다.
목록 엔터티는 머신에서 인식되지 않습니다. 즉, LUIS는 목록 엔터티의 추가 값을 검색하지 않습니다. LUIS는 목록의 항목과 일치하는 항목을 응답의 엔터티로 표시합니다.
목록 엔터티의 일치는 대/소문자를 구분하며, 정확히 일치하는 항목이어야 합니다. 정규화된 값은 목록 엔터티와 일치하는 경우에도 사용됩니다. 예시:
정규화된 값 | 동의어 |
---|---|
소형 | sm , sml , tiny smallest |
중간 | md , mdm , regular , average middle |
Large | lg , , lrg big |
자세한 내용은 목록 엔터티 참조 문서를 참조하세요.
정규식 엔터티
정규식 엔터티는 사용자가 제공하는 정규식 패턴을 기반으로 하여 엔터티를 추출합니다. 대/소문자를 무시하고 문화적 변형을 무시합니다. 정규식 엔터티는 특정 형식으로 예상되는 구조화된 텍스트 또는 미리 정의된 영숫자 값의 시퀀스에 가장 적합합니다. 예시:
Entity | 정규식 | 예시 |
---|---|---|
항공편 번호 | flight [A-Z]{2} [0-9]{4} |
flight AS 1234 |
신용 카드 번호 | [0-9]{16} |
5478789865437632 |
자세한 내용은 정규식 엔터티 참조 문서를 참조하세요.
사전 빌드된 엔터티
LUIS에는 날짜, 시간, 숫자, 측정값 및 통화 등, 일반적인 정보 유형을 인식하기 위한 미리 빌드된 엔터티 집합이 포함되어 있습니다. 미리 빌드된 엔터티 지원은 LUIS 앱의 문화권에 따라 다릅니다. 문화권별 지원을 비롯하여 LUIS에서 지원하는 미리 빌드된 엔터티의 전체 목록에 대해서는 미리 빌드된 엔터티 참조를 참조하세요.
미리 빌드된 엔터티가 애플리케이션에 포함되어 있으면, 게시된 애플리케이션에 해당 예측이 포함됩니다. 미리 빌드된 엔터티의 동작은 미리 학습되며 수정할 수 없습니다.
미리 빌드된 엔터티 | 예제 값 |
---|---|
PersonName | James, Bill, Tom |
DatetimeV2 | 2019-05-02 , , May 2nd 8am on May 2nd 2019 |
자세한 내용은 미리 빌드된 엔터티 참조 문서를 참조하세요.
Pattern.Any 엔터티
pattern.Any 엔터티는 엔터티가 시작되고 끝나는 위치를 표시하기 위해 패턴의 템플릿 발화에서만 사용되는 가변 길이 자리 표시자입니다. 특정 규칙이나 패턴을 따르며 고정된 어휘 구조를 사용하는 문장에 가장 적합합니다. 예시:
예제 발화 | 패턴 | Entity |
---|---|---|
Can I have a burger please? | Can I have a {meal} [please][?] |
burger |
Can I have a pizza? | Can I have a {meal} [please][?] |
피자 |
Where can I find The Great Gatsby? | Where can I find {bookName}? |
The Great Gatsby |
자세한 내용은 Pattern.Any 엔터티 참조 문서를 참조하세요.
기계 학습된(ML) 엔터티
기계 학습된 엔터티는 컨텍스트를 사용하여 레이블이 지정된 예제에 따라 엔터티를 추출합니다. 이는 LUIS 애플리케이션을 빌드하기 위한 기본 엔터티입니다. 기계 학습 알고리즘을 사용하고 애플리케이션에 맞게 레이블을 지정해야 합니다. ML 엔터티를 사용하여 항상 올바른 형식은 아니지만 의미가 동일한 데이터를 식별합니다.
예제 발화 | 추출된 제품 엔터티 |
---|---|
I want to buy a book. | 'book' |
Can I get these shoes please? | 'shoes' |
Add those shorts to my basket. | 'shorts' |
자세한 내용은 기계 학습된 엔터티를 참조하세요.
구조가 있는 ML 엔터티
ML 엔터티는 각각 고유한 속성을 가질 수 있는 더 작은 하위 엔터티로 구성될 수 있습니다. 예를 들어 Address 엔터티의 구조는 다음과 같습니다.
- 주소: 4567 Main Street, NY, 98052, USA
- 건물 번호: 4567
- 거리 이름: Main Street
- 주: NY
- 우편 번호: 98052
- 국가: USA
효과적인 ML 엔터티 빌드
기계 학습 엔터티를 효과적으로 빌드하려면 다음 모범 사례를 따르세요.
- 하위 엔터티가 포함된 기계 학습 엔터티가 있는 경우 엔터티 및 하위 엔터티의 다른 순서 및 변형이 레이블이 지정된 발화에 표시되는지 확인합니다. 레이블이 지정된 예제 발화는 유효한 모든 형태를 포함하며 발화 내에 표시되는 엔터티와 존재하지 않고 재배열된 엔터티도 포함해야 합니다.
- 엔터티를 매우 고정된 세트에 맞춤하는 것을 피하세요. 과잉 맞춤은 모델을 일반화하지 않은 경우에 발생하며 기계 학습 모델의 일반적인 문제입니다. 이는 앱이 새 유형의 예제에서 적절하게 작동하지 않음을 의미합니다. 또한 앱이 사용자가 제공하는 제한된 예제를 넘어 일반화할 수 있도록 레이블이 지정된 예제 발화를 변경할 수 있습니다.
- 레이블 지정은 전체 의도에서 일관되어야 합니다. 여기에는 이 엔터티를 포함하는 None 의도에서 제공하는 발화도 포함됩니다. 그렇지 않으면 모델에서 시퀀스를 효과적으로 확인할 수 없습니다.
기능으로서의 엔터티
엔터티의 또 다른 중요한 기능은 시스템이 관찰하고 학습할 수 있도록 다른 의도나 엔터티에 대해 구별되는 특성이나 기능으로 엔터티를 사용하는 것입니다.
의도에 대한 기능으로서의 엔터티
엔터티를 의도에 대한 신호로 사용할 수 있습니다. 예를 들어 발화에 특정 엔터티가 있으면 어떤 의도가 있는지 구분할 수 있습니다.
예제 발화 | Entity | Intent |
---|---|---|
Book me a flight to New York. | City | 항공편 예약 |
Book me the main conference room. | 방 | Reserve Room |
엔터티에 대한 기능으로서의 엔터티
다른 엔터티의 존재 여부에 대한 표시기로 엔터티를 사용할 수도 있습니다. 이에 대한 일반적인 예제는 미리 빌드된 엔터티를 다른 ML 엔터티에 대한 기능으로 사용하는 것입니다. 항공편 예약 시스템을 빌드하는 경우 'Book me a flight from Cairo to Seattle'과 같은 발화에서 ML 엔터티로 Origin City와 Destination City를 가질 수 있습니다. 미리 빌드된 GeographyV2 엔터티를 두 엔터티 모두에 대한 기능으로 사용하는 것이 좋습니다.
자세한 내용은 GeographyV2 엔터티 참조 문서를 참조하세요.
엔터티를 다른 엔터티에 대해 필수 기능으로 사용할 수도 있습니다. 그러면 추출된 엔터티를 확인하는 데 유용합니다. 예를 들어 피자 주문 애플리케이션을 만드는 중에 Size ML 엔터티가 있는 경우 SizeList 목록 엔터티를 만들어 Size 엔터티에 대한 필수 기능으로 사용할 수 있습니다. 애플리케이션은 발화에서 추출된 엔터티로 정규화된 값을 반환합니다.
문화권에서 사용할 수 있는 미리 빌드된 엔터티 확인에 대한 자세한 내용은 기능 및 미리 빌드된 엔터티를 참조하세요.
엔터티의 데이터
대부분의 챗봇 및 애플리케이션에는 의도 이름 외에 더 많은 것이 필요합니다. 이 추가적이고 선택적인 데이터는 발화에서 검색되는 엔터티에서 가져옵니다. 각 엔터티 형식은 서로 다른 일치 정보를 반환합니다.
발화의 단일 단어 또는 구문이 둘 이상의 엔터티와 일치할 수 있습니다. 이 경우, 각 일치하는 엔터티는 점수와 함께 반환됩니다.
모든 엔터티는 엔드포인트에서 응답의 엔터티 배열로 반환됩니다.
엔터티에 대한 모범 사례
기계 학습 엔터티 사용
기계 학습 엔터티는 앱에 맞게 조정되며 성공적으로 레이블을 지정해야 합니다. 기계 학습 엔터티를 사용하지 않는 경우 잘못된 엔터티를 사용할 수 있습니다.
기계 학습 엔터티는 다른 엔터티를 기능으로 사용할 수 있습니다. 이러한 다른 엔터티는 정규식 엔터티 또는 목록 엔터티와 같은 사용자 지정 엔터티가 될 수도 있고 미리 빌드된 엔터티를 기능으로 사용할 수도 있습니다.
효과적인 기계 학습 엔터티에 대해 알아보세요.