- 카테고리:
문자열 및 이진 함수 (대규모 언어 모델)
CLASSIFY_TEXT(SNOWFLAKE.CORTEX)¶
자유 형식 텍스트 데이터를 사용자가 제공하는 카테고리로 분류합니다.
구문¶
SNOWFLAKE.CORTEX.CLASSIFY_TEXT( <input> , <list_of_categories> )
인자¶
필수:
input
분류할 문자열입니다. 입력 문자열은 대/소문자를 구분합니다. 동일한 문자열이더라도 대문자를 서로 다르게 사용할 경우 결과가 달라질 수 있습니다.
list_of_categories
카테고리를 나타내는 문자열로 구성된 배열입니다. 최소 2개 이상, 최대 100개의 고유 카테고리를 포함해야 합니다. 카테고리는 대/소문자를 구분합니다. 이러한 요구 사항이 충족되지 않을 경우 이 함수는 오류 메시지를 반환합니다. 전체 오류 목록은 오류 조건 섹션을 참조하십시오.
반환¶
JSON 오브젝트를 포함하는 문자열을 반환합니다. JSON 오브젝트는 입력 프롬프트가 분류된 카테고리를 포함합니다. 유효하지 않은 인자가 주어지면 오류가 반환됩니다. 오류에 대한 자세한 내용은 오류 조건 섹션을 참조하십시오.
액세스 제어 요구 사항¶
사용자는 SNOWFLAKE.CORTEX_USER 데이터베이스 역할 이 부여된 역할을 사용해야 합니다. 이 권한에 대한 자세한 내용은 필수 권한 섹션을 참조하십시오.
사용법 노트¶
최적의 성능을 위해 다음 지침을 따르십시오.
입력과 카테고리에는 일반 영어 텍스트를 사용합니다.
입력 텍스트에는 일반 영어가 아닌 텍스트의 양을 제한합니다. 예를 들어, 텍스트 입력에서 코드 조각이나 로그와 같은 콘텐츠를 제한해 보십시오.
텍스트에는 오픈 소스가 아닌 코드나 형식(회사 고유의 언어, 독점 형식 등)이 포함되어서는 안 됩니다. 이 함수는 오류를 반환하지 않지만 결과가 예상한 것과 다를 수 있습니다.
카테고리 레이블에는 약어, 특수 문자 또는 전문 용어를 사용하지 마십시오.
카테고리는 설명적인 내용이어야 합니다. 예를 들어
Xa4s3
또는category 1
과 같은 카테고리를 사용하면 좋은 결과를 얻을 수 없습니다.카테고리는 상호 배타적이어야 합니다.
예¶
다음 예에서는 프롬프트를 travel
또는 cooking
의 두 카테고리 중 하나로 분류합니다.
SELECT SNOWFLAKE.CORTEX.CLASSIFY_TEXT('One day I will see the world', ['travel', 'cooking']);
{
"label": "travel"
}
다음 예에서는 텍스트를 위한 열과 해당 텍스트에 가능한 카테고리를 위한 열이 포함된 테이블 text_classification_table
을 만듭니다. 그런 다음 텍스트 열의 문자열을 분류하기 위해 CLASSIFY_TEXT 함수가 테이블의 각 행에서 호출됩니다.
CREATE OR REPLACE TEMPORARY TABLE text_classification_table AS
SELECT 'France' AS input, ['North America', 'Europe', 'Asia'] AS classes
UNION ALL
SELECT 'Singapore', ['North America', 'Europe', 'Asia']
UNION ALL
SELECT 'one day I will see the world', ['travel', 'cooking', 'dancing']
UNION ALL
SELECT 'my lobster bisque is second to none', ['travel', 'cooking', 'dancing'];
SELECT input,
classes,
SNOWFLAKE.CORTEX.CLASSIFY_TEXT(input, classes)['label'] as classification
FROM text_classification_table;