엔터티 인식 기술(v3)
엔터티 인식 기술(v3)은 텍스트에서 다양한 형식의 엔터티를 추출합니다. 이러한 엔터티는 사람 및 조직에서 URL 및 전화 번호에 이르기까지 14개의 고유한 범주에 속합니다. 이 기술은 Azure AI Language에서 제공하는 명명된 엔터티 인식 기계 학습 모델을 사용합니다.
참고 항목
이 기술은 Azure AI 서비스에 바인딩되며, 하루에 인덱서당 20개의 문서를 초과하는 트랜잭션에 대해 청구 가능한 리소스를 필요로 합니다. 기본 제공 기술을 실행하는 요금은 기존 Azure AI 서비스 종량제 가격으로 청구됩니다.
@odata.type
Microsoft.Skills.Text.V3.EntityRecognitionSkill
데이터 제한
레코드의 최대 크기는 String.Length
에 의해 측정된 대로 50,000자여야 합니다. EntityRecognition 기술로 보내기 전에 데이터를 분할해야 할 경우 텍스트 분할 기술 사용을 고려하세요. 분할 기술을 사용하는 경우 최상의 성능을 위해 페이지 길이를 5000으로 설정합니다.
기술 매개 변수
매개 변수는 대/소문자를 구분하며 모두 선택 사항입니다.
매개 변수 이름 | 설명 |
---|---|
categories |
추출해야 하는 범주의 배열입니다. 가능한 범주 형식: "Person" , "Location" , "Organization" , "Quantity" , "DateTime" , "URL" , "Email" , "personType" , "Event" , "Product" , "Skill" , "Address" , "phoneNumber" , "ipAddress" 범주가 제공되지 않으면 모든 형식이 반환됩니다. |
defaultLanguageCode |
입력 텍스트의 언어 코드입니다. 기본 언어 코드가 지정되지 않은 경우 영어(en)가 기본 언어 코드로 사용됩니다. 지원되는 언어 전체 목록을 참조하세요. 모든 엔터티 범주가 모든 언어에 지원되는 것은 아닙니다. 아래 참고를 참조하세요. |
minimumPrecision |
0에서 1 사이의 값입니다. 출력의 namedEntities 신뢰도 점수가 이 값보다 낮으면 엔터티가 반환되지 않습니다. 기본값은 0입니다. |
modelVersion |
(선택 사항) 엔터티 인식 API를 호출할 때 사용할 모델의 버전을 지정합니다. 지정하지 않으면 기본적으로 사용 가능한 최신 버전으로 설정됩니다. 필요한 경우가 아니면 이 값을 지정하지 않는 것이 좋습니다. |
기술 입력
입력 이름 | 설명 |
---|---|
languageCode |
레코드의 언어를 나타내는 문자열입니다. 이 매개 변수를 지정하지 않으면 레코드를 분석하는 데 기본 언어 코드가 사용됩니다. 지원되는 언어 전체 목록을 참조하세요. |
text |
분석할 텍스트입니다. |
기술 출력
참고 항목
모든 엔터티 범주가 모든 언어에 지원되는 것은 아닙니다. 사용할 언어에 대해 지원되는 엔터티 범주를 알아보려면 지원되는 NER(명명된 엔터티 인식) 엔터티 범주를 참조하세요.
출력 이름 | 설명 |
---|---|
persons |
각 문자열이 사람의 이름을 나타내는 문자열 배열입니다. |
locations |
각 문자열이 위치를 나타내는 경우 문자열 배열입니다. |
organizations |
각 문자열이 조직을 나타내는 경우 문자열 배열입니다. |
quantities |
각 문자열이 수량을 나타내는 문자열 배열입니다. |
dateTimes |
각 문자열이 DateTime을 나타내는 문자열 배열입니다(텍스트에 나타나는 대로) 값입니다. |
urls |
각 문자열이 URL을 나타내는 경우 문자열 배열입니다. |
emails |
각 문자열이 전자 메일을 나타내는 문자열 배열입니다. |
personTypes |
각 문자열이 PersonType을 나타내는 문자열 배열입니다. |
events |
각 문자열이 이벤트를 나타내는 문자열 배열입니다. |
products |
각 문자열이 제품을 나타내는 문자열 배열입니다. |
skills |
각 문자열이 기술을 나타내는 문자열 배열입니다. |
addresses |
각 문자열이 주소를 나타내는 경우 문자열 배열입니다. |
phoneNumbers |
각 문자열이 전화 번호를 나타내는 문자열 배열입니다. |
ipAddresses |
각 문자열이 IP 주소를 나타내는 문자열 배열입니다. |
namedEntities |
다음 필드를 포함하는 복합 형식의 배열입니다.
|
샘플 정의
{
"@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
"context": "/document",
"categories": [ "Person", "Email"],
"defaultLanguageCode": "en",
"minimumPrecision": 0.5,
"inputs": [
{
"name": "text",
"source": "/document/content"
},
{
"name": "languageCode",
"source": "/document/language"
}
],
"outputs": [
{
"name": "persons",
"targetName": "people"
},
{
"name": "emails",
"targetName": "emails"
},
{
"name": "namedEntities",
"targetName": "namedEntities"
}
]
}
샘플 입력
{
"values": [
{
"recordId": "1",
"data":
{
"text": "Contoso Corporation was founded by Jean Martin. They can be reached at contact@contoso.com",
"languageCode": "en"
}
}
]
}
샘플 출력
{
"values": [
{
"recordId": "1",
"data" :
{
"people": [ "Jean Martin"],
"emails":["contact@contoso.com"],
"namedEntities":
[
{
"category": "Person",
"subcategory": null,
"length": 11,
"offset": 35,
"confidenceScore": 0.98,
"text": "Jean Martin"
},
{
"category": "Email",
"subcategory": null,
"length": 19,
"offset": 71,
"confidenceScore": 0.8,
"text": "contact@contoso.com"
}
],
}
}
]
}
이 스킬의 출력값에서 엔터티에 대해 반환되는 오프셋은 언어 서비스 API에서 직접 반환되며, 이는 원래 문자열에 인덱싱하는 데 사용할 경우 올바른 콘텐츠를 추출하기 위해 .NET에서 StringInfo 클래스를 사용해야 합니다. 자세한 내용은 언어 서비스 기능에서 다국어 및 이모지 지원을 참조하세요.
경고 사례
문서의 언어 코드가 지원되지 않으면 경고가 반환되고 엔터티가 추출되지 않습니다.