KR20240023535A - 텍스트 데이터의 자동 라벨링 - Google Patents

텍스트 데이터의 자동 라벨링 Download PDF

Info

Publication number
KR20240023535A
KR20240023535A KR1020237045327A KR20237045327A KR20240023535A KR 20240023535 A KR20240023535 A KR 20240023535A KR 1020237045327 A KR1020237045327 A KR 1020237045327A KR 20237045327 A KR20237045327 A KR 20237045327A KR 20240023535 A KR20240023535 A KR 20240023535A
Authority
KR
South Korea
Prior art keywords
label
text
candidate
search
labeling
Prior art date
Application number
KR1020237045327A
Other languages
English (en)
Inventor
모히트 세왁
라비 키란 레디 폴루리
윌리엄 블럼
박 온 찬
웨이셍 리
샤라다 쉬리시 아차리아
크리스찬 루드닉
마이클 아브라함 벳서
밀렌코 드리니크
시홍 리우
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/711,506 external-priority patent/US20220414137A1/en
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20240023535A publication Critical patent/KR20240023535A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본원에서 설명되는 기술은 요청된 클래스에 대해 트레이닝되지 않을 수 있는 생성적 모델을 사용하는 것에 의해 후보 텍스트가 요청된 클래스에 있는지의 여부를 결정한다. 본 기술은, 라벨 클래스의 많은 수의 수동의 사용자 입력 예를 요구하지 않고도, 주로 비감독 모드에서 트레이닝되는 모델을 사용할 수 있다. 후보 텍스트 및 라벨로부터 라벨 텍스트의 의미론적으로 풍부한 포지티브 예를 생성할 수 있다. 마찬가지로, 본 기술은 후보 텍스트 및 라벨로부터 라벨 텍스트의 의미론적으로 풍부한 네거티브 예를 생성할 수 있다. 라벨링 서비스는 생성적 모델을 사용하여 생성적 결과를 생성하는데, 이것은 라벨이 후보 텍스트에 적절하게 적용될 우도를 추정한다. 다른 양태에서, 본 기술은 후보 텍스트와 유사한 의미론적으로 풍부한 예를 획득하기 위한 방법에 관한 것이다.

Description

텍스트 데이터의 자동 라벨링
현대의 검색 기술은 단순성 및 사용의 편의성을 위해 큰 발전을 이루었다. 그러나, 이들 변화가 유익하였지만, 그들은 일반적으로 두 가지 중요한 방식으로 제한된다. 첫째, 이들 방법은, 그들 키워드가 사용되고 높은 관련성을 갖는 문서를 발견하는 것에 의해, 사용자가 올바르고 구체적인 명사 또는 키워드를 제공하여 주제에 관련되는 결과들의 세트를 수신하는 것에 의존한다. 쿼리를 작성하는 사람의 어휘 및 경험이 제한되는 경우, 사용자가 시작부터 사용해야 했던 명사를 알아내기 이전에 수 시간의 시도 및 실패가 필요할 수 있다. 사용자가 연구하고자 하는 주제의 인덱스에서 나타나는 키워드를 사용자가 알지 못하는 경우, 그는 시행착오의 고통스러운 과정을 거치지 않고서는 주제에 관련되는 결과를 얻을 가능성이 적다.
둘째, 일반적으로 이용 가능한 검색 기술은 관련 문서의 표면만을 긁어모으는 것에 불과하다. 더욱 관련성이 있는 많은 문서가 존재할 수 있다. 그러나, 이들 문서는 상이한 전문 용어, 상이한 어휘 및 표현을 사용한다. 따라서, 이들 문서는 사용자의 쿼리에 대한 관련성에서 그만큼 높은 점수를 획득하지 않을 것이다.
이들 두 가지 제한 사항은, 부분적으로는, 언어 데이터를 라벨링하려는 과거의 시도의 실패의 결과이다. 존재했던 방법은 사용자 정의에 대한 여지가 없으며, 그들은 검색을 수행한 사용자에게 반드시 알려진 것은 아닌 또는 의미가 있는 것은 아닌 명사의 분류법을 사용하였다. 수동 라벨링 시스템은 엄청난 양의 프로세싱 파워 및 사용자에 대한 비용에서 개발되었으며 그들은 일반적으로 검색 프로세스 또는 검색 프로세스의 인덱스에 이용 가능하지 않다.
이 개요는 하기의 발명을 실시하기 위한 구체적인 내용(Detailed Description)에서 추가로 설명되는 엄선된 개념을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 주요한 피쳐 또는 본질적인 피쳐를 식별하도록 의도된 것도 아니고, 또한 청구된 주제의 범위를 결정함에 있어서 보조로서 사용되도록 의도된 것도 아니다.
본원에서 설명되는 기술은 후보 텍스트가 요청된 클래스 내에 있는지의 여부를 결정한다. 기술은 요청된 클래스에 대해 트레이닝되는 모델 또는 임의의 사전 트레이닝 데이터 없이 이 분류를 수행할 수 있다. 실제로, 사용자는, 현존하는 클래스로부터 클래스를 선택하는 대신, 클래스를 자연어 입력으로서 명시할 수 있다. 요청된 클래스는 계층 구조를 따르거나 또는 사전 정의될 필요가 없다. 요청된 클래스가 명사가 아닌 개념, 예컨대 다양성인 경우에도 기술은 효과적이다. 요청된 클래스는 본원에서 라벨로서 설명될 수 있다.
다른 텍스트 라벨링 시스템은 약간의 사전 정의된 최소 개수의 수동의 사용자 입력 예를 필요로 하였으며, 또한, 라벨 분류기의 감독 트레이닝을 수행하기 위해 많은 양의 컴퓨터 프로세싱을 필요로 하였다. 본 기술은, 예를 들면, 라벨 클래스의 많은 수의 수동의 사용자 입력 예를 필요로 하지 않으면서, 주로 비감독 모드에서 트레이닝되는 모델을 사용하면서 양호한 성능을 제공하는 것에 의해 최신 기술을 개선한다. 라벨링 서비스의 입력 및 컴퓨터 트레이닝 요건이 통상적인 것보다 훨씬 덜 리소스 집약적이기 때문에, 컴퓨터화된 시스템은 결과를 렌더링하는 데 더 적은 컴퓨터 프로세싱을 필요로 하는 기술적 개선을 제공한다.
본원에서 설명되는 기술은 후보 텍스트와 라벨을 수신하는 것에 의해 향상된 효율성을 제공하고, 그들로부터 라벨 텍스트의 의미론적으로(semantically) 풍부한 포지티브 예(positive example)를 생성할 수 있다. 마찬가지로, 라벨링 서비스는 후보 텍스트와 라벨로부터 라벨 텍스트의 의미론적으로 풍부한 네거티브 예(negative example)를 생성할 수 있다. 라벨링 서비스는 생성적 모델(generative model)을 사용하여 생성적 결과(generative result)를 생성하는데, 이것은 라벨이 후보 텍스트에 적절하게 적용될 우도(likelihood)를 추정한다. 생성적 모델로부터 제2 생성적 결과를 획득하는 것 및 제2 생성적 결과를 사용하여 라벨 확률을 추정하는 것에 의해, 이 향상된 효율성을 유지하면서, 분류의 성공률은 개선될 수 있다.
다른 양태에서, 본 기술은 후보 텍스트와 유사한 의미론적으로 풍부한 예를 획득하기 위한 방법에 관한 것이다. 이 문제에 대한 다른 솔루션은 입력 데이터의 의미론적으로 빈약한 표현을 제공하였거나, 또는 대안적으로 트레이닝을 제공하기 위해 방대한 양의 수동 데이터에 의존하였다. 예를 들면, 본 기술은, 라벨의 컨텍스트에서 후보 텍스트의 풍부함을 반영하는 키워드의 세트를 획득하는 것에 의해, 이러한 개선을 제공한다. 키워드의 세트는 검색 서비스에 제시되고, 검색 결과로부터 양호한 관련성 순위를 갖는 텍스트 스니펫이 획득되어, 추출된 스니펫의 라벨 클래스 신뢰도가 높은 경우, 예를 제공한다.
다른 양태에서, 본 기술은 라벨의 컨텍스트에서 후보 텍스트로부터 의미론적으로 풍부한 키워드의 세트를 제공하는 방법에 관한 것이다. 다른 솔루션은 표현에서 의미론적으로 빈약하였고, 따라서 소정의 수의 관련 결과를 획득하기 위해 수신되어야만 하는 검색 엔진으로부터의 반환 결과(return)의 수는 많았다. 본 기술은, 예를 들면, 의미론적으로 풍부한 키워드의 세트를 생성하면서, 따라서 트레이닝에 필요한 데이터의 양을 감소시키면서, 양호한 성능을 제공하는 것에 의해 최신 기술을 개선한다. 후보 텍스트 우선 순위 키워드의 세트가 후보 텍스트로부터 획득된다. 라벨 우선 순위 키워드의 세트가 라벨로부터 획득된다. 우선 순위 키워드는 트랜스포머 기반의 모델(transformer-based model)을 사용하여 임베딩 벡터를 할당받는다. 컨텍스트 인식 키워드가 임베딩 벡터에 기초하여 우선 순위 키워드의 유사도에 의해 결정되어 컨텍스트 인식 키워드의 세트를 획득한다. 이러한 컨텍스트 인식 키워드의 세트는, 라벨의 컨텍스트에서 의미론적으로 후보 텍스트에 가까운 정보를 검색 엔진으로부터 획득하는 것을 허용하고, 따라서 소정의 수의 관련 결과를 반환하는 데 필요한 검색 프로세싱의 양은 감소된다.
본원에서 설명되는 기술은 유사한 참조 번호가 유사한 엘리먼트를 나타내는 첨부의 도면에서 제한이 아닌 예로서 예시되며, 첨부의 도면에서:
도 1은 본 개시의 구현에 적절한 예시적인 라벨링 시스템 동작 환경의 블록 다이어그램이다;
도 2는 본 개시의 양태를 구현하는 데 적절한 라벨링 애플리케이션의 예시적인 디스플레이이다;
도 3은, 본원에서 설명되는 기술의 한 양태에 따른, 후보 텍스트에 라벨이 적절하게 할당될 확률의 추정에 기초하여 결과를 제공하기 위한 방법의 플로우차트를 도시한다;
도 4는, 본원에서 설명되는 기술의 한 양태에 따른, 후보 텍스트에 기초하여 후보 입력에 대한 결과를 제공하기 위한 방법의 플로우차트이다;
도 5는, 본원에서 설명되는 기술의 한 양태에 따른, 후보 텍스트에 기초하여 후보 입력에 대한 결과를 제공하기 위한 방법의 추가적인 실시형태의 플로우차트이다;
도 6은, 본원에서 설명되는 기술의 한 양태에 따른, 클래스 예의 세트의 증강에 기초하여 결과를 제공하기 위한 방법의 플로우차트이다;
도 7은, 본원에서 설명되는 기술의 한 양태에 따른, 라벨의 컨텍스트에서 우선 순위화된 키워드의 세트에 기초하여 컨텍스트 인식 키워드의 세트를 생성하는 방법의 플로우차트이다;
도 8은 본원에서 설명되는 기술의 양태를 구현함에 있어서의 사용에 적절한 예시적인 컴퓨팅 환경의 블록 다이어그램이다;
도 9는, 본원에서 설명되는 기술의 한 양태에 따른, 우선 순위화된 키워드의 세트를 준비하는 방법의 플로우차트이다;
도 10은, 본원에서 설명되는 기술의 한 양태에 따른, 유사도를 계산하기 위한 방법의 플로우차트이다;
도 11은, 본원에서 설명되는 기술의 한 양태에 따른, 우선 순위화된 라벨 키워드 구조에 관련되는 우선 순위화된 텍스트 키워드 구조의 대표적인 디스플레이이다;
도 12는, 본원에서 설명되는 기술의 한 양태에 따른, 후보 텍스트에 기초하여 후보 입력에 대한 결과를 제공하기 위한 방법의 추가적인 실시형태의 플로우차트이다;
도 13은, 본원에서 설명되는 기술의 한 양태에 따른, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법을 도시하는 플로우차트이다;
도 14는, 본원에서 설명되는 기술의 한 양태에 따른, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법을 도시하는 플로우차트이다;
도 15는, 본원에서 설명되는 기술의 한 양태에 따른, 분류기에 대한 트레이닝 데이터를 증강하기 위한 방법을 도시하는 플로우차트이다; 그리고
도 16은, 본원에서 설명되는 기술의 한 양태에 따른, 후보 텍스트에 기초하여 후보 입력에 대한 결과를 제공하기 위한 방법의 플로우차트이다;
본원에서 설명되는 다양한 기술은 법적 요건을 충족하기에 충분한 특이성을 가지고 기술된다. 그러나, 설명 그 자체는 본 특허의 범위를 제한하도록 의도되는 것은 아니다. 오히려, 다른 현재의 또는 미래 기술과 연계하여, 본 문서에서 설명되는 것들과 유사한 단계의 조합 또는 상이한 단계를 포함하기 위해, 본 발명자는 청구된 주제가 다른 방식으로 또한 구체화될 수 있다는 것을 고려하였다. 또한, 용어 "단계" 및/또는 "블록"이 활용되는 방법의 상이한 엘리먼트를 내포하도록 본원에서 사용될 수 있지만, 그 용어는, 개개의 단계의 순서가 명시적으로 설명되지 않는 한 그리고 개개의 단계의 순서가 명시적으로 설명되는 경우를 제외하면, 본원에서 개시되는 다양한 단계들 중에서 또는 사이에서 임의의 특정한 순서를 암시하는 것으로 해석되어서는 안된다.
본원에서 설명되는 기술은 후보 텍스트가 요청된 클래스 내에 있는지의 여부를 결정한다. 기술은 요청된 클래스에 대해 트레이닝되는 모델 또는 임의의 사전 트레이닝 데이터 없이 이 분류를 수행할 수 있다. 실제로, 사용자는, 현존하는 클래스로부터 클래스를 선택하는 대신, 클래스를 자연어 입력으로서 명시할 수 있다. 요청된 클래스는 계층 구조를 따르거나 또는 사전 정의될 필요가 없다. 요청된 클래스가 명사가 아닌 개념, 예컨대 다양성인 경우에도 기술은 효과적이다. 요청된 클래스는 본원에서 라벨로서 설명될 수 있다.
라벨 분류 시스템은 후보 텍스트가 사용자 정의 라벨에 적합할 또는 적합하지 않을 가능성이 있다는 것을 나타내는 피드백을 사용자에게 제공할 수 있다. 예를 들면, 비즈니스 글쓰기 어시스턴트 애플리케이션(business-writing assistant application)은 사용자 정의 클래스, 예컨대 "business-like communication that is pleasant to a customer(고객에게 즐거운 비즈니스형 커뮤니케이션)"을 수신할 수 있다. 후보 텍스트는 워드 프로세싱 문서일 수 있다. 이 예에서, 문서의 각각의 문장은 사용자 정의 클래스에 속하는 것으로 또는 속하지 않는 것으로 평가될 수 있다. 출력으로서, 워드 프로세싱 애플리케이션은 문장이 "business-like communication that is pleasing to a customer(고객에게 즐거움을 주는 비즈니스형 커뮤니케이션)"이 아닌 경우 문장을 강조 표시할 수 있다.
다른 텍스트 라벨링 시스템은 약간의 사전 정의된 최소 개수의 수동의 사용자 입력 예를 필요로 하였으며, 또한, 라벨 분류기의 감독 트레이닝을 수행하기 위해 많은 양의 컴퓨터 프로세싱을 필요로 하였다. 본 기술은, 예를 들면, 라벨 클래스의 많은 수의 수동의 사용자 입력 예를 필요로 하지 않으면서, 주로 비감독 모드에서 트레이닝되는 모델을 사용하면서 양호한 성능을 제공하는 것에 의해 최신 기술을 개선한다. 라벨링 서비스의 입력 및 컴퓨터 트레이닝 요건이 통상적인 것보다 훨씬 덜 리소스 집약적이기 때문에, 컴퓨터화된 시스템은 결과를 렌더링하는 데 더 적은 컴퓨터 프로세싱을 필요로 하는 기술적 개선을 제공한다.
본원에서 설명되는 기술은 후보 텍스트와 라벨을 수신하는 것에 의해 향상된 효율성을 제공하고, 그들로부터 라벨 텍스트의 의미론적으로(semantically) 풍부한 포지티브 예를 생성할 수 있다. 마찬가지로, 라벨링 서비스는 후보 텍스트와 라벨로부터 라벨 텍스트의 의미론적으로 풍부한 네거티브 예를 생성할 수 있다. 라벨링 서비스는 생성적 모델을 사용하여 생성적 결과를 생성하는데, 이것은 라벨이 후보 텍스트에 적절하게 적용될 우도를 추정한다. 생성적 모델로부터 제2 생성적 결과를 획득하는 것 및 제2 생성적 결과를 사용하여 라벨 확률을 추정하는 것에 의해, 이 향상된 효율성을 유지하면서, 분류의 성공률은 개선될 수 있다.
다른 양태에서, 본 기술은 후보 텍스트와 유사한 의미론적으로 풍부한 예를 획득하기 위한 방법에 관한 것이다. 이 문제에 대한 다른 솔루션은 입력 데이터의 의미론적으로 빈약한 표현을 제공하였거나, 또는 대안적으로 트레이닝을 제공하기 위해 방대한 양의 수동 데이터에 의존하였다. 이들 다른 솔루션 중 어느 하나는 분류를 수행하는 모델을 트레이닝시키기 위해 많은 양의 컴퓨터 프로세싱을 필요로 하였다. 본 기술은, 라벨 클래스의 많은 수의 수동의 사용자 입력 예를 필요로 하지 않으면서, 의미론적으로 풍부한 예를 생성하면서 양호한 성능을 제공하는 것에 의해 최신 기술을 개선한다. 본원에서 설명되는 라벨링 서비스의 입력 및 컴퓨터 트레이닝 요건이 훨씬 덜 리소스 집약적이기 때문에, 컴퓨터화된 시스템은 결과를 렌더링하는 데 더 적은 컴퓨터 프로세싱을 필요로 하는 기술적 개선을 제공한다. 예를 들면, 라벨링 서비스는, 라벨의 컨텍스트에서 후보 텍스트의 풍부함을 반영하는 키워드의 세트를 획득하는 것에 의해, 이러한 개선을 제공한다. 키워드의 세트는 검색 서비스(164)에 제시되고, 검색 결과로부터 양호한 관련성 순위를 갖는 텍스트 스니펫이 획득되어, 추출된 스니펫의 라벨 클래스 신뢰도가 높은 경우, 예를 제공한다.
다른 양태에서, 본 기술은 라벨의 컨텍스트에서 후보 텍스트로부터 의미론적으로 풍부한 키워드의 세트를 제공하는 방법에 관한 것이다. 다른 솔루션은 표현에서 의미론적으로 빈약하였고, 따라서 소정의 수의 관련 결과를 획득하기 위해 수신되어야만 하는 검색 엔진으로부터의 반환 결과의 수는 많았다. 이렇게 많은 수의 필수 반환 결과는 높은 컴퓨터 프로세싱 요건을 의미하였다. 본 기술은, 예를 들면, 의미론적으로 풍부한 키워드의 세트를 생성하면서, 따라서 트레이닝에 필요한 데이터의 양을 감소시키면서, 양호한 성능을 제공하는 것에 의해 최신 기술을 개선한다. 후보 텍스트 우선 순위 키워드의 세트가 후보 텍스트로부터 획득된다. 라벨 우선 순위 키워드의 세트가 라벨로부터 획득된다. 우선 순위 키워드는 트랜스포머 기반의 모델(transformer-based model)을 사용하여 임베딩 벡터를 할당받는다. 컨텍스트 인식 키워드가 임베딩 벡터에 기초하여 우선 순위 키워드의 유사도에 의해 결정되어 컨텍스트 인식 키워드의 세트를 획득한다. 이러한 컨텍스트 인식 키워드의 세트는, 라벨의 컨텍스트에서 의미론적으로 후보 텍스트에 가까운 정보를 검색 엔진으로부터 획득하는 것을 허용하고, 따라서 소정의 수의 관련 결과를 반환하는 데 필요한 검색 프로세싱의 양은 감소된다.
정의
라벨은 일반적으로 단일 워드/용어에 의해 설명되는 카테고리 또는 모델이 트레이닝될 콘텐츠 요건의 설명이다. 라벨은 일반적으로 다른 전자적 엔티티, 예컨대 자연어 입력 문자열이 분류될 수 있는 카테고리이다.
안티 라벨은 일반적으로 라벨에 의해 설명되는 클래스에 속하지 않는 그들 전자적 엔티티를 포함하는 카테고리이다. 다항 클래스(multinomial class)의 컨텍스트에서, 안티 라벨은 라벨 클래스에 속하지 않는 모든 그들 열거된 클래스를 포함한다.
커스텀 라벨(custom label)은 일반적으로 소망되는 라벨 카테고리의 표시로서 사용자에 의해 입력되는 사용자 정의 자연어 설명이다.
라벨링 서비스는 일반적으로 전자적 아이템, 예컨대 자연어 문자열에 라벨 또는 라벨 확률을 할당하는 애플리케이션이다.
라벨 채점 서비스는, 일반적으로, 적용될 수 있는 다른 대안적인 라벨의 컨텍스트에서 라벨로부터의 후보의 거리를 측정하기 위해 후보 자연어 입력 문자열에 점수를 매기는 애플리케이션이다. 일반적으로, 라벨 점수는 척도, 예컨대 확률일 수 있으며, 후보를 라벨과 관련되는 하나 이상의 카테고리, 예컨대 라벨, 안티 라벨, 또는 라벨의 하위 카테고리 또는 안티 라벨의 하위 카테고리로 분류하기 위해 사용될 수 있다.
변환 서비스는, 일반적으로, 용어 또는 용어의 세트를 받아들이고 동의어, 반의어, 워드 형태, 등등과 같은 동작에 따라 그들을 변환하는 서비스이다.
우선 순위화된 키워드 추출 서비스(예를 들면, 도 9)는 일반적으로 텍스트 문자열을 취하고, 키워드를 추출하고 그들을, 예를 들면, 중요도 내림차순으로 정렬되는 키워드의 목록과 같은 라벨 구조로 정렬하는 서비스이다.
컨텍스트 인식 키워드 추출 서비스(예를 들면, 도 7)는 일반적으로 라벨의 컨텍스트에서 후보 텍스트를 나타내는 키워드 추출 서비스이다.
용어 유사도 서비스(term similarity service)(예를 들면, 도 10)는 일반적으로 키워드의 구조, 예컨대 그래프에 대해 동작하며, 용어 유사도를, 예를 들면, 그래프의 용어 사이의 가중된 그래프 연결(weighted graph linkage)에 의해 표현하는 서비스이다.
검색(search) 및 취출(retrieval) 서비스로서 또한 공지되어 있는 검색 서비스(164)는 일반적으로 문서의 집성본(corpus)에 대한 쿼리에 대해 동작하고 쿼리에 특히 관련이 있는 문서의 부분을 제공하는 텍스트 스니펫과 함께 집성본으로부터 문서의 관련성 순위 매김 목록(relevance ranked list)을 반환하는 검색 서비스이다.
자연어 프로세싱(Natural Language Processing; NLP) 애플리케이션은 일반적으로 자연어 입력, 예컨대 오디오 입력 또는 텍스트 입력에 대해 동작하여, 자연어 입력 문자열에 대해 컴퓨터화된 동작을 수행하는 컴퓨터화된 애플리케이션이다.
자연어 생성적(Natural Language Generative; NLG) 모델은 일반적으로 생성적 입력에 기초하여 자연어 텍스트를 생성하는 애플리케이션이다. 생성적 입력은, 예를 들면, 토큰, 일련의 토큰, 또는 일련의 숫자/숫자의 벡터와 같은 어떤 다른 입력 메커니즘일 수 있다. 그러한 만큼, 이들 시스템은 일반적으로 비감독 라벨 분류기의 기능을 수행할 수 없을 수 있다. NLG 모델의 예는 GPT-2, GPT-3, 및 DeBerta를 포함한다.
생성적 사전 트레이닝된 트랜스포머 모델은 일반적으로 딥 러닝에 기초한 신경망을 사용하는 자기 회귀(autoregressive) 언어 모델이다.
트랜스포머 모델은 일반적으로 분류 결정에 관련이 있을 수 있는 다른 입력의 컨텍스트에서 입력의 광범위한 컨텍스트를 통합하기 위해 주의 메커니즘(attention mechanism)을 사용하는 딥 러닝 모델이다.
전이 학습 모델은 모델이 대규모의 비감독 및 라벨링되지 않은 데이터로부터 적어도 부분적으로 학습하는 신경망 모델이다. 그러한 모델은 데이터를 사용하여, 바람직하게는 모델의 적용과 유사한 도메인으로부터의 데이터를 사용하여 추가로 미세 튜닝될 수 있다.
제로샷 생성적 모드(zero-shot generative mode)는 일반적으로 특정한 타입의 데이터를 사용한 미세 튜닝 없이 텍스트를 생성할 수 있는 생성적 NLP 모델의 한 모드이다. 생성적 NLP 모델은 일반적으로 입력 텍스트 문자열을 수신하고 입력 텍스트 문자열을 프롬프팅할 때 생성되는 텍스트인 생성적 결과를 생성한다.
비감독 라벨 분류기는 일반적으로 사용자에 의해 제공될 라벨링 클래스의 예를 반드시 요구할 필요는 없는, 그러나 성능을 향상시키기 위해 사용자 제공 예를 사용할 수 있는 라벨 분류기를 나타낸다.
의미론적 검색 모델(semantic search model)은, 일반적으로, 쿼리 문서로부터 문서의 세트의 다른 문서까지의 언어 의미론 공간에서의 거리를 측정하고 문서의 세트 내의 문서까지의 쿼리 문서의 근접성을 표현하는 척도, 예컨대 코사인 유사도를 반환하는 학습 모델, 예컨대 딥 러닝 모델이다. (의미론적 검색 모델의 예는 DSSM을 포함한다)
본원에서 설명되는 기술의 양태의 개요를 간략하게 설명하였지만, 다양한 양태에 대한 일반적인 컨텍스트를 제공하기 위해, 본원에서 설명되는 기술의 양태가 구현될 수 있는 예시적인 동작 환경이 하기에서 설명된다.
이제 도 1을 참조하면, 본 개시의 일부 양태가 활용될 수 있는 예시적인 동작 환경(100)을 도시하는 블록 다이어그램이 제공된다. 본원에서 설명되는 이러한 및 다른 배열은 단지 예로서 기술된다는 것이 이해되어야 한다. 다른 배열 및 엘리먼트(예를 들면, 머신, 인터페이스, 기능, 순서 및 기능의 그룹화, 등등)는 도시되는 것들에 추가하여 또는 그들 대신 사용될 수 있으며, 일부 엘리먼트는 명확화를 위해 완전히 생략될 수 있다. 게다가, 본원에서 설명되는 엘리먼트 중 많은 것은 별개의 또는 분산된 컴포넌트로서 또는 다른 컴포넌트와 연계하여, 그리고 임의의 적절한 조합 및 위치에서 구현될 수 있는 기능적 엔티티이다. 하나 이상의 엔티티에 의해 수행되는 것으로 본원에서 설명되는 다양한 기능은 하드웨어, 펌웨어 및/또는 소프트웨어에 의해 실행될 수 있다. 예를 들면, 일부 기능은 메모리에 저장되는 명령어를 실행하는 프로세서에 의해 실행될 수 있다.
도시되지 않는 다른 컴포넌트 중에서, 예시적인 동작 환경(100)은 다수의 컴퓨터 디바이스, 예컨대 사용자 디바이스(105), 서버(125), 클라우드 서비스(199), 애플리케이션 서비스(175), 패브릭 컨트롤러(fabric controller; 179), 서버 클러스터(176), 서버(177), 스토리지 서비스(180), 네트워크(186) 및 네트워크(103)를 포함한다. 도 1에서 도시되는 컴포넌트 각각은, 예를 들면, 임의의 타입의 컴퓨팅 디바이스, 예컨대 도 8과 관련하여 설명되는 컴퓨팅 디바이스(800)를 통해 구현될 수 있다. 이들 컴포넌트는 네트워크(103) 또는 네트워크(186)를 통해 서로 통신할 수 있는데, 이것은 하나 이상의 근거리 통신망(local area network; LAN) 및/또는 광역 통신망(wide area network; WAN)을 제한 없이 포함할 수 있다. 예시적인 구현예에서, 네트워크(103) 및 네트워크(186) 각각은, 다양한 가능한 공용 및/또는 사설 네트워크 중 임의의 것 중에서도, 인터넷 및/또는 셀룰러 네트워크를 포함한다.
한 양태에서, 본 기술은 텍스트를 사용자 정의 텍스트 라벨에 속하는 것 또는 그 라벨에 속하지 않는 것 중 어느 하나로 분류하기 위한 방법을 수행하는, 예를 들면, 동작 환경(100)에서 도시되는 컴퓨터화된 시스템에 관한 것이다. 동작 환경(100)에서의 라벨링 애플리케이션(110)은 디스플레이(120) 상에서 사용자에게 프롬프트를 제시할 수 있다. 디스플레이(120)는 시각적 디스플레이 또는 스피커일 수 있다. 디바이스(105)의 사용자 입력 디바이스(115), 예컨대 마이크, 마우스 또는 키보드는 사용자로부터 입력을 수신한다. 실시형태에서, 입력은 사용자 정의 텍스트 라벨로서 기능하는 자연어 문자열일 수 있다. 한 실시형태에서, 오퍼레이팅 시스템(107)은 오디오 신호 입력을 텍스트 문자열로 변환하고 라벨링 애플리케이션(110)은 텍스트 문자열을 입력으로서 수신한다. 한 실시형태에서, 오퍼레이팅 시스템(107)은 키보드(115)로부터 키누름(keystroke)을 수신하고 텍스트 문자열을 라벨링 애플리케이션(110)에 제공한다. 라벨링 애플리케이션(110)은 분류될 후보 텍스트를 사용자로부터 유사한 양식으로 또한 수신한다. 후보 텍스트는 사용자 입력으로부터 또는 시스템 문서의 집성본(154)에 있는 문서로부터 라벨링 애플리케이션(110)에 의해 수신될 수 있다. 프로세스의 마지막에, 라벨링 애플리케이션(110)은 분류 결과, 예컨대 후보 텍스트가 사용자 정의 라벨에 속할 가능성이 있다는 디스플레이(120) 상에서 제시되는 표시를 제공한다.
컴퓨터 디바이스(105) 및 서버(125)는 동작 환경(100)의 클라이언트 측 상의 클라이언트 디바이스일 수 있고, 한편 서버(125), 서버(177), 클라우드 서비스(199), 애플리케이션 서비스(175), 패브릭 컨트롤러(179), 서버 클러스터(176), 및 스토리지 서비스(180)는 동작 환경(100)의 서버 측 상에 있을 수 있다. 컴퓨터 디바이스(105)는 일반적으로 오퍼레이팅 시스템(107), 사용자 입력 디바이스(115), 예컨대 터치스크린 센서 또는 마우스, 및 디스플레이(120)를 포함한다. 컴퓨터 디바이스(105)는 또한, 중요하게는, 예를 들면, 브라우저, 플러그인, 다운로드 가능한 애플리케이션, 검색 애플리케이션, 정보 관리 시스템, 특수 목적 애플리케이션, 라벨링 애플리케이션, 라벨 지원 검색 애플리케이션, 라벨 지원 분류 프로그램, 글쓰기 어시스턴트(writing assistant), 자동화된 규정 준수 애플리케이션(automated compliance application), 고객 관계 관리 애플리케이션, 등등일 수 있는 라벨링 애플리케이션(110)을 포함한다. 라벨링 애플리케이션(110)은 또한 서버(177) 상에서 도시되는 애플리케이션과 연계하여 이들 애플리케이션 기능 중 하나 이상을 수행하는 사용자 인터페이스 컴포넌트일 수 있다. 한 실시형태에서 원격 서버(177) 상의 그리고 디바이스(105) 상의 애플리케이션은 서버(125) 상에서 존재한다.
한 실시형태에서, 라벨링 애플리케이션(110)은 라벨링 애플리케이션(110)에 의해 사용자에게 제공되는 기능을 협력적으로 실행하기 위해 원격 서버(177) 상의 컴포넌트와 통신한다. 예를 들면, 라벨링 애플리케이션(110)과 협력하는 컴포넌트는 라벨링 서비스(142), 라벨 채점 서비스(168), 용어 변환 서비스(144), 검색 서비스(164), 우선 순위화된 키워드 추출 서비스(146), 자연어 생성(NLG) 모델 저장소(162), 컨텍스트에 맞는 임베딩 생성 모델(contextual embedding generation model; 158), 컨텍스트 인식 키워드 추출 서비스(148), 벡터화 함수(156), 용어 유사도 서비스(152), 집성본(130), 집성본(195), 및 집성본(154)을 포함할 수 있다. 이들 컴포넌트는, 예를 들면, 도 8과 관련하여 설명되는 컴퓨팅 디바이스(800)와 같은 하나 이상의 컴퓨터 시스템 상에서 실행되는 컴파일식 컴퓨터 명령어 또는 함수의 세트, 프로그램 모듈, 컴퓨터 소프트웨어 서비스, 또는 프로세스의 배열로서 구체화될 수 있다. 서버(177)는 본 개시에서 논의되는 피쳐 및 기능성의 임의의 조합을 구현하기 위해 사용자 디바이스(105) 상의 클라이언트측 소프트웨어와 연계하여 작동하도록 설계되는 서버측 소프트웨어를 포함할 수 있다. 예를 들면, 서버(177)는 지식 그래프에 있는 정보에 대한 액세스 및 그 사용을 관리하는 디바이스(105)에 대한 정보 관리 시스템을 실행할 수 있다. 서버(177)는 많은 사용자에게 속하는 많은 수의 사용자 디바이스로부터, 저장을 위해, 디지털 자산, 예컨대 문서, 스프레드시트, 전자 메일, 소셜 미디어 게시물, 사용자 프로파일, 및 등등의 파일을 수신할 수 있다. 동작 환경(100)의 이러한 분할은 적절한 환경의 하나의 예를 예시하기 위해 제공되며, 서버(177)와 사용자 디바이스(105)의 임의의 조합이 별개의 엔티티로서 유지되어야 하는 각각의 구현에 대한 요건은 없다.
컴퓨팅 디바이스, 예컨대 사용자 디바이스(105) 및 서버(125)는 사용자에 의한 사용에 대응할 수 있는 임의의 타입의 컴퓨팅 디바이스를 포함할 수 있다. 예를 들면, 하나의 양태에서, 사용자 디바이스(105) 및 서버(125)는 본원의 도 8과 관련하여 설명되는 컴퓨팅 디바이스의 타입일 수 있다. 제한이 아닌 예로서, 컴퓨팅 디바이스는 퍼스널 컴퓨터(personal computer; PC), 랩탑 컴퓨터, 모바일 디바이스, 스마트폰, 태블릿 컴퓨터, 스마트 워치, 웨어러블 컴퓨터, 피트니스 트래커(fitness tracker), 가상 현실 헤드셋, 증강 현실 안경, 개인 휴대형 정보 단말(personal digital assistant; PDA), MP3 플레이어, 전지구 위치 결정 시스템(global positioning system; GPS) 또는 디바이스, 비디오 플레이어, 핸드헬드식 통신 디바이스, 게이밍 디바이스 또는 시스템, 엔터테인먼트 시스템, 차량 컴퓨터 시스템, 임베딩된 시스템 컨트롤러, 리모콘, 어플라이언스(appliance), 소비자 전자 디바이스, 워크스테이션, 파일 서버, 웹 서버, 애플리케이션 서버, 호스트 컴퓨터, 기업 서버, 서버의 클러스터, 데이터 센터, 검색 어플라이언스, 가상 서버, 데몬, 메인프레임 또는 이들 묘사된 디바이스의 임의의 조합, 또는 임의의 다른 적절한 디바이스로서 구체화될 수 있다.
본 개시는, 하나 이상의 관심 클래스(클래스 라벨)에 걸쳐 후보 입력 테스트를 매핑/분류할 수 있는 텍스트 분류 모델 또는 자연어 프로세싱(Natural Language Processing; NLP)을 트레이닝시키는 데 이바지하는 대표 데이터(representative data)를 생성하기 위해 직접적으로 또는 간접적으로 달리 사용될 수 있는 표현을 생성하기 위해 인간 채점자의 지원 또는 대표적인 라벨링된 데이터의 필요 없이 텍스트 분류 모델을 트레이닝시키기 위한 시스템 및 방법을 설명한다.
일반적으로, (대표적인 라벨링된 데이터가 없는 경우) 편향되지 않은 비대표적인 트레이닝 데이터에 대해 트레이닝되는 편향되지 않은 텍스트 분류 모델은 이진 분류에 대해 기껏해야 50 % 정확도를 주장할 수 있다. 이것은 이진 라벨 분류 모드에서 모든 데이터를 '포지티브 라벨 클래스(positive-label-class)' 또는 '네거티브 라벨 클래스(negative-label-class)'로서 라벨링하는 인간 인식력(human cognition)에 필적한다. 이것은 임의의 후보 모델을 비교하기 위한 과학적 근거(ROC 곡선의 베이스라인 참조)로서 사용된다.
본 시스템의 기술은 상기의 인간 휴리스틱 또는 편향되지 않은 모델 분류(대표성이 없는 데이터에 대해 트레이닝됨)에 의해 가능한 것보다 더 정확하다. 일부 실험의 결과는 더 나은 정확도, 및 실생활 시나리오에서 모델의 유용성에 대해 의사 결정자에게 더욱 객관적인 정보를 제공하는 '재현(recall) 및 정의된 위양성 레이트(False Positive Rate; FPR)'를 입증하였다.
도 2를 참조하면, 예시적인 그래픽 디스플레이(200)는 고객 관계 관리 시스템의 기능을 수행하는 예시적인 라벨링 서비스(142)에 대한 라벨링 애플리케이션(110)으로서 수행하는 브라우저 애플리케이션의 사용자 디스플레이를 도시한다. CRM 시스템의 집성본(154)은 텍스트, 웹, 및 전자 메일을 통한 영업, 마케팅, 및 서비스 커뮤니케이션을 수용한다. 그래픽 영역(202)은 제어 엘리먼트를 제공한다. 처음에, 사용자는 후보 텍스트를 정의하기 위해 텍스트를 제공한다. 라벨링 애플리케이션(110)은 후보 텍스트를 수신한다. 사용자가 라벨을 정의하기 위한 텍스트를 그래픽 제어부(206)에 입력하는 경우, 라벨링 애플리케이션(110)은 라벨 텍스트 문자열을 수신한다. 라벨을 정의하는 텍스트 문자열은 워드, 용어 또는 임의의 개념 또는 아이디어의 설명일 수 있다.
라벨링 애플리케이션(110)은 두 개의 문자열(후보 텍스트 및 라벨)을 라벨링 서비스(142)로 전송한다. 라벨링 서비스(142)는 라벨 프로세싱을 수행하고 하나 이상의 결과를 라벨링 애플리케이션(110)에 제공한다. 그 다음, 라벨링 애플리케이션(110)은 결과, 예컨대 그래픽 디스플레이 영역(209, 231, 235, 261, 262, 257, 251, 253, 212, 214, 216, 292 및 204)에서 디스플레이되는 결과를 포함하도록 그래픽 디스플레이(200)를 업데이트한다.
디스플레이 영역(204)은, 라벨링 서비스(142)에 의해 결정되는 바와 같은, 후보 텍스트를 나타내는 컨텍스트 인식 키워드의 세트를 도시한다. 디스플레이 영역(212)은 후보 라벨 텍스트로부터 유도되는 안티 라벨을 나타내는 키워드의 정렬된 목록을 도시한다. 디스플레이 영역(292)은 후보 라벨의 안티 라벨을 나타내는, 그리고 후보 라벨 텍스트로부터 유도되는 키워드의 정렬된 목록을 도시한다. 디스플레이 영역(214)은 후보 라벨 텍스트로부터 유도되는 안티 라벨 키워드의 세트를 도시한다. 디스플레이 영역(216)은 후보 안티 라벨 텍스트로부터 유도되는 안티 라벨 키워드의 세트를 도시한다. 디스플레이 영역(209)은 후보 텍스트가 정의되는 라벨 클래스에 속할 확률의 추정치를 도시한다. 추가적으로, 디스플레이 영역(209)은 확률의 추정에 적용되는 라벨 클래스 멤버십의 임계치 결정에 기초하여, 결과, 예컨대 참 또는 거짓의 디스플레이를 제공할 수 있다.
라벨링 서비스(142)는 이진 분류 출력을 제공하기 위해 후보 라벨 클래스 예측치, 예컨대 참인 경우 1, 거짓인 경우 0을 반환한다. 일반적으로, 모든 렌더링된 결과 데이터는, 디스플레이(120) 상에서 제시될 렌더링된 결과 데이터를 제공하는 라벨링 서비스(142)로부터 라벨링 애플리케이션(110)에 의해 수신된다. 일반적으로, 렌더링되는 라벨링 결과는, 예를 들면, 후보 텍스트가 기준을 허용 가능하게 충족한다는 것을 라벨링 서비스(142)가 결정하는 경우 동작 환경(100)에서 도시되는, 그 디스플레이 또는 사용이 라벨링 시스템의 컴포넌트로 제공되는 임의의 라벨 관련 정보 아이템이다. 예를 들면, 허용 가능성 기준(acceptability criteria)은 라벨 클래스의 확률의 추정치가 허용 가능한 임계 레벨보다 높다는 것일 수 있다. 렌더링된 결과는 비감독 양식으로 제공될 수 있는데, 그 이유는, 정의된 라벨로 적절하게 분류되는 텍스트의 임의의 예를 사용자가 반드시 제공할 것을 시스템이 요구하지 않기 때문이다.
한 실시형태에서, 그래픽 디스플레이(200)는, 추가적인 후보 텍스트를 입력하기 위한 프롬프트를 사용자에게 제시하기 위해 그래픽 제어부(202)로부터 후보 텍스트를 삭제하면서, 허용 가능성 기준을 충족하는 후보 텍스트를 포지티브 예 디스플레이 영역(positive example display area; 231)에 배치하도록 업데이트된다. 이 후보 텍스트 입력을 반복하는 것에 의해, 의미론적 언어 프로세싱을 수행하여 포지티브 예, 예컨대 그래픽 디스플레이 영역(231 및 235)에서 도시되는 것들 및 네거티브 예, 예컨대 디스플레이 영역(261, 262, 257, 251, 및 253)에서 도시되는 것들을 생성하는 컴퓨터 지원을 통해, 사용자는 포지티브 예 및 네거티브 예의 라벨에 대한 라이브러리를 구축할 수 있다. 방법은 후보의 자동 분류를 제공하고, 포지티브 및 네거티브 예뿐만 아니라, 키워드 구조를 포함하도록 입력 데이터의 세트를 증강한다. 후보 텍스트 입력을 반복하는 것은 그래픽 디스플레이 영역(224, 222, 및 218)뿐만 아니라 추가적인 네거티브 예 디스플레이 영역(267, 277, 및 287)에서 추가적인 안티 라벨 정의를 채울 수 있다. 그래픽 디스플레이(200)에서의 대문자(A, B, C, D, E 및 F)는 안티 라벨 디스플레이 영역(212, 214, 216, 224, 222, 및 218)이 라벨링 서비스(142)가 디스플레이 영역(260, 250, 256, 265, 270, 및 280)에서 도시되는 안티 라벨 예에 대응하도록 결정된 하위 카테고리이다는 것을 나타낸다. 이러한 방식으로, 안티 라벨 하위 카테고리의 풍부한 세트가 동작 환경(100)에서 도시되는 라벨링 시스템에 의해 결정되고 직관적이고 유용한 사용자 그래픽 디스플레이(200)에서 사용자에게 디스플레이된다. 디스플레이는 안티 라벨 키워드의 세트를 대응하는 예와 페어링하고, 사용자가 안티 라벨 또는 안티 라벨에 관련되는 대응하는 예의 유용성에 대한 피드백을 제공하는 것을 허용한다. 일반적으로, 결과를 제공하는 임의의 디스플레이 영역은 관련된 제어부, 예컨대 232를 가질 수 있다. 예시적인 디스플레이 영역, 예컨대 디스플레이 영역(231)은, 사용자가 오버라이드하는 것, 또는 인접한 예가 시스템에 의해 할당되는 라벨에 적합하다는 확인을 제공하는 것을 허용하는 대응하는 그래픽 제어부(232)와 함께 도시된다. 그래픽 제어부(232)는, '예'에 체크박스 및 '아니오'에 대한 체크박스와 함께, 프롬프트, 예컨대 "is this a good example?(이것이 양호한 예입니까?)"를 포함할 수 있다. 대안적으로 녹색, 또는 양호로 마킹되고, 선택되면 적색 및 노란색을 통해 토글되어 불량한 및 평범한 예를 나타내는 라디오 버튼일 수 있다. 그래픽 제어부(236, 259, 252, 및 254)는 그래픽 제어부(232)와 유사하다. 그래픽 제어부(239)는 모든 도시된 포지티브 예가 디스플레이 영역(231 및 235)에 대해 확인되거나 또는 거부되는 것을 허용한다. 마찬가지로, 그래픽 제어부(255)는 디스플레이 영역(251 및 253)이 하나의 제어를 사용하여 확인되는 것 또는 거부되는 것을 허용한다.
그래픽 디스플레이(200)가 본원에서 개시되는 기술의 예시를 제공하지만, 시스템은, 후보 텍스트, 예를 들면, 그래픽 제어부(202)에서 도시되는 텍스트가 상이한 사용자로부터, 또는 문서 집성본(154), 예컨대 세일즈맨의 전자 메일로부터의 문장으로부터 유래하는 경우 클래스 라벨링을 결정하도록 동작 가능하다. 그래픽 디스플레이(200)의 사용자는 그래픽 제어부(206)에, "Pleasant, and Business-like(쾌적하고 비즈니스처럼)"과 같은 라벨 입력의 기본 정의만을 제공하는 CRM 관리자일 수 있다. 그 다음, 라벨링 서비스(142)는 집성본(154)의 문서를 검색하는 것, 작성된 문장을 테스트하는 것, 및 라벨 클래스를 정의하기 위해 라벨 예 라이브러리를 구축하는 것에 의해 라이브러리의 구축을 시작할 수 있다. 따라서, 디스플레이 영역(200)은 초기에 훨씬 더 깔끔한 디스플레이를 제공하여, 사용자에게 보이는 그래픽 제어부(206)만을 제공할 수 있다. 사용자가 그래픽 제어부(206)에 라벨을 입력한 이후, 어떤 수의 반복이 수행될 수 있고 그래픽 디스플레이(200)는 집성본을 통해 제공되는 라벨의 실행 가능성의 추정치를 디스플레이할 수 있고, 대안적으로, 사용자에 의해 제공되는 설명에 가장 가까운 문서 또는 문서의 일부에 대한 링크의 세트를 제공할 수 있다. 추가적으로, 사용자에 의해 개발되는 라벨 정의를 논리적으로 결합하는 것에 의해, 라벨 기반의 문서 검색 성능이 제공될 수 있다. 각각의 라벨 분류기가 충분한 성능에 도달한 이후, 라벨 분류기는 사용자의 라이브러리에 배치될 수 있고 결합되어 사용자가 정의한 라벨의 결합된 컨텍스트에서 높은 점수를 제공하는 문서를 찾을 수 있다.
그래픽 디스플레이(200)는 분류기를 개선하기 위해 사용자가 낮은 레벨의 피드백을 시스템에 제공하는 것을 허용하기 위해 다수의 디스플레이 영역을 제시한다. 디스플레이는 일반적으로 안티 라벨 디스플레이 영역(210), 클래스 정의 디스플레이 영역(201), 포지티브 예 영역(203) 및 네거티브 예 영역(205)을 포함한다. 일반적으로, 그래픽 디스플레이(200)는 라벨링 애플리케이션(110)으로부터 라벨링 서비스(142)로 시그널링되고 있는 데이터에서 임의의 사용자 입력 결과를 제시한다.
한 실시형태에서, 입력 텍스트는 임의의 길이를 갖는다. 라벨은 단지 짧은 문장 또는 문서일 수 있다. 필요로 되는 라벨은 포지티브 클래스에 대한 라벨의 관점에서 주어지고; 네거티브 클래스는 포지티브 클래스가 없는 것으로 간주된다. 이것은 워드, 용어 또는 임의의 개념 또는 아이디어의 설명일 수 있다.
본원에서 설명되는 기술은 광범위하게 적용 가능하다. 본 기술은 많은 시스템에 힘을 실어줄 수 있다. 예를 들면, 이 기술의 한 가지 용도는 자동화된 규정 준수를 위한 것인데, 이 경우 테넌트 관리자는 전체 기업 데이터 집성본(전자 메일, 채팅, 문서 저장소, 계약서, 등등을 포함함)이 그 시간에 필요한 것으로 느껴질 수 있는 그리고 법적인 이유뿐만 아니라, 또한 비즈니스적인 이유 때문에, 시기 적절한 응답이 중요한 임의의 개념과 관련하여 라벨링되는 것을 요구할 수 있다. 그러한 통찰력이 요구되는, 그러나 규모, 속도, 목적, 또는 공평성 레벨에서, 하기의 하나 이상의 이유 때문에 단일의 인간 또는 인간의 팀의 콜렉션 중 어느 하나에 의해 매치될 수 없는 여러 가지 다른 애플리케이션이 있다.
본원에서 설명되는 기술은 효율적으로 확장된다. 본원에서 설명되는 기술은 기업 규모의 데이터(전자 메일, 채팅, 문서 저장소, 계약서, 등등을 포함함)에 대해 의도되는데, 이것은 소망되는 목적을 위해 임의의 수의 인간이 수동으로 그리고 객관적으로 프로세싱하는 것이 실현 가능하지 않다. 설명되는 기술은 낮은 레이턴시를 가지며 많은 양의 텍스트 입력을 효율적으로 프로세싱할 수 있다. 그 기술은 비즈니스 및 법적 목적에 효과적이고 유용한 것으로 간주되기 위해 대규모의 데이터를 프로세싱하고 합리적인 시간에 출력을 전달할 필요가 있는 애플리케이션을 위해 의도되는데, 이것은 소망되는 목적을 위해 많은 임의의 수의 사람이 수동으로 그리고 공정하게 프로세싱하는 것이 실현 가능하지 않다. 본원에서 설명되는 기술은 사용자 프라이버시 및 기밀성을 유지한다. 인간 분석가가 대량의 라벨 분류 노력에 수반되는 것에는 여러 가지 위험이 수반되기 때문에, 중요한 데이터를 인간이 프로세싱하는 것은 취약하다. 법적 및 규정 준수 요건 외에도, 기업 데이터가 아닌 경우에도, 그러한 데이터를 단일의 사용자 또는 사용자의 팀에 노출시키는 것은 바람직하지 않거나 또는 심지어 실현 가능하지 않을 수 있다.
본원에서 설명되는 기술은 우수한 공평성을 갖는다. 인간 인식력은 유일하지 않으며 주어진 개념의 지식, 주어진 컨텍스트의 이해, 및 특정한 언어의 지식 모두로부터 종종 편향되거나 또는 제한된다. 따라서, 그러한 태스크는, 상이한 사람에 의해 행해질 때, 심각한 편향의 위험을 가지는데, 이것은 광범위한 애플리케이션에서 소망에 따라 확인될 수도, 또한 제어될 수도 없다. 본원에서 설명되는 기술의 경우 사용자에게 키워드 컨텍스트를 노출시키는 것에 의해, 사용자는 불량하게 정의되었던, 또는 그들이 의도하였던 사용자가 생각하였던 것을 정확하게 의미하지 않은 워드를 사용한 라벨을 수정할 수 있다.
본 기술은 우수한 객관성을 갖는다. 시스템의 목적은 임의의 후보 텍스트에 대한 임의의 후보 라벨 레벨의 예측뿐만 아니라, 또한 관련된 신뢰도의 예측인데, 이것이 필요로 되거나 또는 다르게는 본 개시가 권한을 주는 많은 다운스트림 애플리케이션 및 관련된 소프트웨어 피쳐에서 유용하기 때문이다. 인간의 인식력은 일반적으로 개인에 대한 제한된 이해 덕분에 편향되어 있으며, 따라서 특정한 후보 라벨 레벨 또는 인식의 정확도에 대해 임의의 객관적으로 정의되고 감사 가능한(auditable) 신뢰도 수치를 생성할 수 없다.
본원에서 개시되는 기술은 우수한 다중 언어 성능을 갖추고 있다. 임의의 인간은 상이한 언어의 그들의 지식 및 구사력, 및 심지어 알려진 언어에서도 상이한 개념에 대한 구사력에 의해 제한된다. 따라서, 단일의 인간의 인식력은 충분하지 않을 수 있으며, 인간의 인식력의 그룹은 언어, 개념, 전문적 기술의 상이한 조합에 걸쳐 일관성이 없을 수 있다.
본원에서 개시되는 기술은 뛰어난 감사 가능성(auditability) 및 재현성을 갖고 있다. 다수의 도메인에서 그리고 규정 준수를 필요로 하는 애플리케이션에서, 프로세스에 구축되는 객관성을 갖는 것뿐만 아니라, 또한 재현성 및 일관성을 입증하는 것도 중요할 수 있다. 인간 인식력 기반의 시스템은 이들 도메인 및 애플리케이션에 활용될 수 없다.
본원에서 설명되는 기술은 우수한 경제성 및 신뢰성을 갖는다. 현재, 많은 라벨링 요건이 몇몇 사전 정의된 라벨에 대해 동작되며, 매우 제한된 규모에서 많은 비용, 및 낮은 신뢰성에서만 달성된다. 통상적으로, 경쟁 방법은 유급 할당(분석가, 판매 업체, 또는 인간 계약자), 또는 크라우드 소싱을 통해 행해진다. 유급 할당을 수반하는 것들은 비용이 많이 든다. 크라우드 소싱을 수반하는 것들은 신뢰할 수 없다.
도 3은, 유효한 추정치를 제공하기 위해 라벨링 서비스가 에러 메시지 없이 완료될 때 라벨링 애플리케이션(110)으로 전송되는, 예컨대 디스플레이 영역(209)에서 도시되는 결과를 렌더링하는 컴퓨터화된 방법을 수행하는 라벨링 서비스(142)의 프로세싱 흐름을 도시한다. 일반적으로, 서버(177) 상에서 라벨링 서비스(142)를 초기화하는 것이 유리할 수 있다. 라벨링 서비스 초기화의 일부로서, NLG 모델이 서버(177)의 메모리로 로딩된다. 한 실시형태에서, NLG 모델은 대규모 서비스를 제공하기 위해 다수의 실제 또는 가상 서버를 사용하여 클라우드 서비스(199)에서 호스팅된다. 저장소(162)에서 이용 가능한 생성적 NLP 모델이 로딩된다(또는 전반적으로 사전 로딩된 상태로 유지된다). 더 나은 결과를 위해, 더 크고 표현력이 더 풍부한 모델이 사용될 수 있다. 모델은 바람직하게는 사전 트레이닝될 수 있고(모델이 대규모의 비감독 및 라벨링되지 않은 데이터로부터 부분적으로 학습하는 전이 학습의 개념) 바람직하게는 애플리케이션 요건과 유사한 도메인으로부터의 데이터를 사용하여 추가로 미세 튜닝될 수 있다. 유사한 모델의 몇몇 예는 GPT-3, Microsoft(마이크로소프트) DeBerta, 등등, 바람직하게는 양호한 제로샷 생성적 성능 모드(모델이 특정한 타입의 데이터를 사용한 미세 튜닝 없이 텍스트를 생성할 수 있는 모드)를 갖는 모델일 수 있다(그러나 이들로 제한되지는 않음). NLP 생성적 모델의 현재의 최신 기술(state of the art; SOTA)은 대규모(100 억 개보다 더 많은 트레이닝 가능한 파라미터) 트랜스포머 기반의 모델이다. 본 개시는 개시를 이들 모델의 사용으로 제한하지 않으며, 본원에서 개시되는 하나 이상의 채점 메커니즘과 호환 가능하게 될 수 있는 임의의 이용 가능한 모델이 사용될 수 있다.
라벨 채점 서비스(168)의 한 단계를 수행하기 위해 저장소(162)로부터 취해지고 라벨링 서비스(142)에 의해 활용되는 NLG 모델은, 일반적으로, 라벨링되지 않은 자연어 집성본에 대해 트레이닝된다. 마찬가지로, NLP 모델은, 그것이 모델(158)의 그룹에 저장되고 컨텍스트에 맞는 임베딩을 생성하기 위해 사용되거나, 또는 변환 서비스(144)를 수행하기 위해, 또는 벡터화(156)를 수행하기 위해 활용되는지의 여부에 관계없이, 마찬가지로, 라벨링되지 않은 자연 언어 집성본에 대해 일반적으로 트레이닝된다. 그러한 모델은, 일반적으로, 토큰 마스킹 기술을 적용하여 트레이닝된다. 한 실시형태에서, NLP 모델 또는 본 서비스에 활용되는 NLG 모델은 웹 집성본, 기업 데이터 집성본, 또는 다른 집성본에 대해 트레이닝된다. 본원에서 개시되는 기술은, 다른 모델들 중에서도, 신경망 모델, 비신경망 모델, 부분적으로 (사전 트레이닝된 모델), 완전히 트레이닝된 모델, 및 튜닝된 모델과 함께 동작 가능하다.
라벨링 결과를 렌더링하는 방법, 예를 들면, 방법(300)은, 라벨링 서비스(142)가 디스플레이 페이지를 라벨링 애플리케이션(110)에 제공할 때 단계(303)에서 시작된다. 단계(305)에서, 라벨링 서비스(142)는 집성본(154)의 문서로부터 또는 라벨링 애플리케이션(110)으로부터 후보 텍스트를 정의하는 텍스트 문자열을 수신한다. 단계(310)에서, 라벨링 서비스(142)는, 예를 들면, 라벨링 애플리케이션(110)으로부터 라벨을 정의하는 텍스트 문자열을 수신한다. 단계(307)에서, 수신되는 라벨이 다수의 워드를 갖는 경우, 예를 들면, 도 9에서 설명되는 바와 같이, 라벨에 대한 키워드 구조가 라벨링 서비스(142)에 의해 결정된다. 라벨이 다수의 워드를 갖는 경우, 방법(300)은 추가적인 하위 프로세스를 사용하여, 그것을 나머지 프로세스와 호환되는 관련 레벨로 감소시킨다. 한 실시형태에서, 키워드 알고리즘은 이용 가능한 추출 텍스트 요약 및 키워드 추출 알고리즘이다. 한 실시형태에서, 예시의 목적을 위해, 입력이 "Pleasant, and business-like(쾌적하고 비즈니스처럼)"인 경우, 출력은, 태그 디스플레이(1160)를 또한 도시하는 도 11에서 예시되는 라벨 그래프(1130)에서 도시되는 바와 같이, 정렬된 후보 라벨("Service(서비스)", 점수 = 0.6), ("harmony(조화)" 점수 = 0.4)이다.
도 9를 간략하게 참조하면, 단계(903)에서 시작하는 우선 순위화된 키워드 추출을 위한 컴퓨터화된 방법이 단계(710)를 수행하는 방법에서 제시되어 있다. 방법은 요약될 텍스트가 키워드 추출 서비스(146)에 의해 수신되는 단계(905)로 진행된다. 본 예에서, 라벨 텍스트 "Pleasant, and business-like(쾌적하고 비즈니스처럼)"가 수신된다. 추가적으로, 단계(710)를 수행하는 방법은 생성되는 구조의 사이즈를 제한하는 제약을 수신한다. 예를 들면, 사이즈 제약은 서비스가 유지할 최상위 키워드의 최대 개수일 수 있으며, 스토리지 서비스(180)로부터 단계(710)를 수행하는 방법에 의해 수신될 수 있다. 다른 실시형태에서, 사이즈 제약은, 스토리지 서비스(180)로부터 단계(710)를 수행하는 방법에 의해 수신되는 키워드 강도 임계치(keyword strength threshold)일 수 있다. 그 다음, 사이즈 제약은 중요하지 않은 용어를 필터링하기 위해 나중에 단계(940)에서 적용된다. 단계(910)에서, 텍스트는 정리되고 사전 프로세싱되어, 무관한 문자가 제거되고 추가적인 프로세싱을 위해 텍스트가 준비된다. 한 실시형태에서, 텍스트는 추가적인 프로세싱을 단순화하기 위해 모두 대문자로 변경된다. 방법은 정리된 텍스트가 용어로 토큰화되는 단계(915)로 진행된다. 한 실시형태에서, 텍스트의 원래의 표현은 동의어를 통해 더욱 간결한 어휘로 변환된다. 단계(920)에서, 문장의 용어는 벡터화되고 변환(transformations)이 적용된다. 벡터화 함수는 일반적으로 용어의 세트를 의미 있는 수치 표현으로 변환하는 함수이다. 벡터화 함수의 예는 용어 빈도 역 문서 빈도(Term Frequency Inverse Document Frequency; TF-IDF), 전역적 IDF, 엔트로피 가중치(Entropy Weighting)를 포함한다. 단계(925)에서, 벡터 변환 메트릭에 대한 임계치가 중요하지 않은 용어를 필터링하기 위해 사용된다. 나머지 용어는 그래프의 정점을 형성하기 위해 단계(930)에서 사용된다. 단계(935)에서, 그래프의 각각의 정점(용어)은, 용어 사이의 유사도를 나타내는 에지 가중치를 사용하여 에지를 그래프의 각각의 다른 정점까지 묘화하는 것에 의해 그래프의 다른 용어에 대한 유사도에 대해 정량화된다.
한 실시형태에서, 단계(935)는 동시 발생 기반의 용어 유사도를 계산하기 위한 방법(1000)을 사용한다. 유사도 계산은 단계(1003)에서 시작되고, 용어의 그래프가 수신되는 단계(1005)로 진행된다. 현재 컨텍스트에서의 그래프는, 우선 순위화된 키워드를 그래프로 연결한 그래프이다. 단계(1010)에서, 연어 검색 용어 카운트(collocation search-term count) 또는 TermDistance가 획득되거나, 또는 디폴트 값이 사용된다. 예를 들면, 입력이 없으면, TermDistance에 대한 디폴트는 문장 내의 용어의 수의 제곱근으로 취해진다. 한 실시형태에서 연어 검색 용어 카운트는 연결된 용어(collocated term)에 대한 검색에서 얼마나 많은 용어를 고려할지를 알려주는 2와 10 사이의 정수이다. 2와 10 사이의 카운트가 할당되는 경우, 인접한 용어와 9 번째 인접한 용어 사이의 용어에 대해 병치 검색(colocation search)이 이루어질 것이다. 방법은 단계(1015)로 진행하는데, 여기서 용어 거리 내의 각각의 쌍에 대해 각각의 용어가 연결되는 횟수가 구해진다. 그래프의 다른 용어에 대한 관계에 대해 그래프의 각각의 정점(용어)이 고려된다. TermDistance 내에서 두 용어가 병치되는 횟수가 카운트된다. 단계(1020)에서, 동시 발생 빈도는 정규화되고 스케일링되어, 동시 발생 빈도가 1에 추가된다. 단계(1025)에서, 각각의 정규화되고 스케일링된 빈도는 두 정점 사이의 그래프 연결 가중치에 할당된다. 단계(1030)에서, 필요로 되는 경우, 용어 중요도가 계산된다. 각각의 정점(항)에 대해, 용어 중요도는 정점으로부터의 모든 바깥 에지(out-edge)의 정규화된 점수의 함수로서 결정된다. 단계(1035)에서, 그래프 에지 가중치가 반환된다. 메소드는 1097에서 완료된다.
단계(940)에서, 사이즈 제약, 예를 들면, 임계치가 중요하지 않은 용어를 필터링하기 위해 적용된다. 이 필터는 취약한 키워드를 제거한다. 단계(945)에서, 키워드 구조가 출력된다. 한 실시형태에서, 출력은 결과적으로 나타나는 그래프 구조이다. 그래프는 우선 순위화된 정점 및 각각의 에지 가중치 및 정점 점수를 갖는 하위 그래프일 수 있다. 한 실시형태에서, 출력은 정렬된 키워드의 세트이다. 방법은 단계(997)에서 완료된다.
도 3으로 돌아가면, 단계(307)에서 결정되는 키워드 구조는, 다른 것들 중에서도, 방법(300)에 의한 단계(330)에서 후보 라벨의 예의 생성을 지원하기 위해 라벨링 서비스(142)에 의해 저장된다. 방법은 단계(372)로 진행되는데, 여기서 안티 라벨 구조가 라벨링 서비스(142)에 의해 생성 및 저장된다. 안티 라벨 구조가, 다른 것들 중에서도, 단계(345)에서 후보 안티 라벨의 예를 생성하는 수단으로서 사용된다. 안티 라벨의 생성의 많은 상이한 방법이 활용될 수 있다. 예를 들면, 디스플레이 영역(212)에서 도시되는 안티 라벨 "bossy disharmony(강력한 부조화)"는 디스플레이 영역(292)에서 도시되는 개개의 키워드의 반전에 의해 생성되었다. 추가적으로, 라벨 키워드의 전체 세트는, 예컨대, 컨텍스트에서 사용되는 바와 같은 워드의 반의어를 제공하는, 용어 변환 서비스(144)에 의해, 또는 고급 벡터화 기술, 예컨대 NLP 벡터화 임베딩 알고리즘에 의해 활용될 수 있는 컨텍스트 인식 반전 서비스를 통해 반전될 수 있다. 추가적으로, 라벨링 서비스(142)에 의해 저장된 라벨 및 안티 라벨의 세트는 별개의 라벨링 컨텍스트를 형성하기 위해 관련된 명시적 또는 암시적 사용자 승인과 함께 라이브러리에 저장될 수 있다. 이 접근법은, 유사한 또는 공유된 언어적 컨텍스트를 갖는 사용자 또는 사용자의 콜렉션의 라벨링 노력을 더욱 신중하게 추적하고 사용하기 위해 채굴될 수 있는 별개의 커뮤니케이션의 영역으로서 라벨 용어의 추상적 사용을 인덱싱할 가능성을 갖는다. 추가적인 반전 기술로서, 사용되는 언어적 반전 방법은 용어 비즈니스처럼(business-like)에 초점을 맞추고 디스플레이 영역(214)에서 도시되는 "informal(비공식)"을 발견하였다. 게다가, 예시적인 임베딩 벡터 반의어 위치 함수가 디스플레이 영역(216)에서 도시되는 가능한 반의어 "self-focused(자체 포커싱됨)"을 반환하였다. 안티 라벨 카테고리가 종종 복합적이기 때문에, 방법(300)은 그래픽 디스플레이(200)에서 예시되는 바와 같은 예를 생성하기 위해 발견되는 하나의 또는 모든 안티 라벨을 활용할 수 있다. 더구나, 유사한 의미론적 방법이 라벨 클래스에 적용되어 라벨 클래스를 사용하는 유사한 방법에 대한 라벨 후보 동의어를 배가시켜, 설명되는 안티 라벨 클래스만큼 의미론적으로 풍부한 라벨 클래스를 획득할 수 있다.
방법(300)은 예를 포함하도록 입력 데이터를 증강하는, 또는 다시 말하면, 후보 라벨로부터 예를 획득하는 방법을 수행하는 단계(315)로 진행된다. 도 3에서 도시되는 예는, 사용자가 라벨 또는 안티 라벨 중 어느 하나의 단지 하나의 예만을 제공할 때, 하나의 포지티브 예 및 하나의 네거티브 예의 밸런스가 맞춰진 초기 세트를 제공한다. 단계(320)에서, 이용 가능한 후보 라벨의 포지티브 예가 있었다면, 방법은 단계(335)로 진행하고 라벨링 서비스(142)는 하나 이상의 라벨 채점 방법에 의해 수신될 입력으로서 포지티브 예를 수신한다. 마찬가지로, 단계(325)에서, 네거티브 예, 또는 사용자에 의해 제공되는 안티 라벨 예가 있었다면, 방법(300)은 단계(340)로 진행하고 라벨링 서비스(142)는 하나 이상의 채점 방법에 의해 수신될 입력으로서 네거티브 예를 수신한다. 사용자가 포지티브 예를 제공하지 않은 경우, 방법은 단계(320)로부터 라벨 후보의 예가 생성되는 단계(330)로 진행된다. 마찬가지로, 사용자가 네거티브 예를 제공하지 않은 경우, 방법은 단계(325)로부터 후보 안티 라벨의 예가 생성되는 단계(345)로 진행된다. 방법은 수행되어 라벨에 관한 정보로부터 단계(330)에서 라벨 예를 생성하였거나, 또는 안티 라벨에 관한 정보로부터 단계(345)에서 안티 라벨의 예를 찾는 것이 유사한 프로세스를 따를 수 있지만, 그러나 상이한 입력을 갖는다.
단계(330)에서 포지티브 예를 획득하는 예시적인 방법은 라벨로부터 유도되는 정렬된 키워드를 사용하여, 그리고 도 6에서 도시되는 증강 방법(600)의 적어도 일부를 사용하여 집성본(154)에 대해 검색을 수행하는 것을 수반한다. 구체적으로, 집성본(154)에 대한 검색은 쿼리로서 라벨에 대한 우선 순위화된 키워드를 사용하여 단계(620)에서 수행된다. 단계(625)에서, 텍스트 스니펫이 획득되고, 방법은 텍스트 스니펫이 라벨 클래스에 속한다는 신뢰도를 정량화하기 위해 단계(630)로 진행된다. 클래스 신뢰도를 정량화하기 위한 예시적인 방법은, 예를 들면, 도 9의 단계(710)를 수행하는 방법을 사용하여, 텍스트 스니펫에 대한 키워드 구조를 구성하는 것이다. 텍스트 스니펫의 키워드 구조와 라벨 키워드 구조 사이의 전반적인 의미론적 유사도를 평가하는 예시적인 방법은 그래프 용어의 벡터화된 변환에 기초한 코사인 유사도의 사용일 수 있거나, 또는 벡터화 함수(156)에 의해 제공되는 어떤 다른 방법일 수 있다. 본원에서 개시되는 다른 방법은 유사도 점수 또는 라벨이 텍스트 스니펫에 적절하게 적용될 가능성의 추정치를 제공한다. 결정(635)에서 확률이 너무 낮다면, 방법은 단계(625)로 복귀하여 다른 텍스트 스니펫을 획득하는데, 이것은, 결국에는, 단계(630)에서 정량화되고, 단계(635)에서 테스트된다. 결정(635)에서 클래스 신뢰도가 충분한 경우, 방법은 예로서 충분한 스니펫을 포함하도록 입력이 증강되는 단계(645)로 진행된다. 네거티브 예를 생성하기 위해 단계(372)에서 생성되는 안티 라벨과 정렬하는 예를 생성하기 위해 단계(345)에서 유사한 방법이 적용된다.
후보 안티 라벨의 예를 생성하는 단계(340)의 다른 예시적인 방법은 검색 서비스(164)를 사용하여 문서의 집성본에 대한 검색을 수행하는 것, 라벨로부터 우선 순위화된 키워드의 정렬된 목록을 사용하는 것, 및 낮은 순위의 엔트리의 텍스트 스니펫을 사용하는 것을 수반한다. 키워드 기반의 인덱스의 경우, 이 프로시져는 집성본에서 우세한(prevalent), 그러나 그 엔트리가 라벨에 있는 다른 워드의 컨텍스트와 관계가 없는 집성본의 워드의 일반적인 사용과 정렬되었기 때문에 단지 포함되는 결과를 반환할 가능성이 있다. 텍스트 스니펫은 낮은 순위의 반환 결과(K 번째 반환 결과, 여기서 K는 상이한 컨텍스트에서 사용되는 우세한 집성본 워드를 찾을 가능성이 있음)으로부터 획득되는데, 여기서 예를 들면, K = 100이다. 마찬가지로, 집성본에 대한 안티 라벨 우선 순위 키워드의 쿼리는 안티 라벨 클래스를 정량화하지 않는 우세한 키워드를 반환할 것이다. 그러한 먼 반환 결과의 거리는 안티 라벨 클래스로부터 라벨의 분리 가능성에 대한 중요한 정보를 또한 제공할 수 있다.
예를 생성하는 다른 예시적인 방법은, 하나의 예가 사용자에 의해 제공되었을 때 추가적인, 또는 밸런스를 맞추는 예의 계산을 수반한다. 예를 들면, 도 2의 디스플레이 영역(231)에서 도시되는 예가 사용자에 의해 디스플레이 영역(231)에서 표현되는 그래픽 제어부에 입력되었다고 가정한다. 이 경우, 단계(315)에서의 방법은 포지티브 예를 수신하기 위해 단계(335)로 진행된다. 단계(325)에서, 이용 가능한 후보 안티 라벨 예가 없기 때문에 방법은 단계(345)로 진행될 것이다. 이 경우, 단계(345)에서의 라벨링 서비스(142)는, 증강 방법(600)이 시작되는 단계(603)에서 시작하여, 방법(600)의 적어도 일부를 수행한다. 방법은 방법(600)에 의해 후보 텍스트가 수신되는 단계(605)로 진행된다. 방법은 단계(610)로 진행되는데, 여기서 방법은 후보 안티 라벨의 표현으로서 안티 라벨 키워드 구조를 수신한다. 단계(615)에서, 후보 텍스트에 대해 우선 순위화된 키워드의 세트가 준비된다. 본 예에서, 이것은 우선 순위화된 그래프를 사용하여 포지티브 샘플 텍스트를 요약하기 위해 도 9에서 도시되는 단계(710)를 수행하는 방법을 수행하는 것에 의해 포지티브 예에 대한 우선 순위 키워드를 먼저 획득하는 것에 의해 발생할 것이다. 그 다음, 그래프는, 예를 들면, 단계(372)에서 라벨의 그래프가 반전되었기 때문에, 반전된다. 그 다음, 방법은 도 7의 단계(615)를 수행하는 방법을 수행하도록 진행되어, 단계(720)에서 시작하여 안티 라벨의 컨텍스트에서 반전된 그래프의 컨텍스트 인식 키워드의 세트를 생성한다. 단계(720)에서, 예를 들면, 컨텍스트에 맞는 임베딩 생성 모델(158)로부터 네거티브 텍스트 키워드의 우선 순위 용어에 대해 임베딩 벡터가 획득되고, 높은 우선 순위 용어만이 유지된다. 단계(725)에서, 안티 라벨 키워드의 우선 순위 용어에 대한 임베딩 벡터가 획득된다. 예를 들면, 반전된 텍스트의 각각의 용어는 임베딩 벡터를 제공받고 목록은 우선 순위 용어만을 유지하도록 필터링된다. 단계(730)에서, 우선 순위 안티 라벨 용어와 우선 순위 반전 키워드 사이의 유사도가 획득된다. 이것은 유사도, 예를 들면, 안티 라벨의 각각의 우선 순위 용어와 반전된 텍스트에서의 각각의 우선 순위 용어의 임베딩 벡터 사이의 코사인 유사도를 계산하는 것에 의해 획득될 수 있다. 단계(735)에서, 우선 순위 텍스트 용어에 대한 컨텍스트 중요도(contextual importance)가 계산된다. 한 실시형태에서, 각각의 요약 키워드 용어(summary keyword term)의 컨텍스트 중요도는 안티 라벨에서의 각각의 용어 사이의 유사도의 정규화된 가중된 평균으로서 계산되는데, 여기서 가중치는 안티 라벨 용어의 중요도 점수이다. 단계(740)에서, 방법은 컨텍스트 중요도 및 키워드 우선 순위로부터 컨텍스트 인식 우선 순위를 결정한다. 예를 들면, 각각의 요약 키워드의 컨텍스트 인식 우선 순위는 컨텍스트 중요도 및 키워드 우선 순위의 정규화된 곱으로서 계산될 수 있다. 단계(615)를 수행하는 기본 방법은, 그것이 일반적으로 단계(703)에서 시작한다는 점을 제외하면, 상이한 입력, 예컨대 포지티브 텍스트 및 포지티브 라벨에 대해 동일하다. 단계(615)를 수행하는 방법은 또한, 결정(705)에서, 입력 라벨이 다수의 용어를 갖는지의 테스트를 포함할 수 있고, 참인 경우, 방법은 그 경우에 단계(710)로 진행되어, 우선 순위화된 텍스트 키워드를 제공하는 후보 텍스트 구조가 결정되는 단계(715)로 복귀하기 이전에 다른 곳에서 도시되는 바와 같은 동작을 수행한다. 단계(615)를 수행하는 방법은 단계(797)에서 종료되고, 방법은, 본 경우에서는, 단계(620)에서 도 6의 방법(600)으로 복귀한다. 그 다음, 방법은 다른 곳에서 도시되는 바와 같이 진행되어 단계(620)에서 순위가 매겨진 검색 취출 결과(ranked search retrieval result)의 세트를 획득하고, 그 다음 단계(625)에서 엔트리로부터 텍스트 스니펫을 획득하고, 그 다음, 단계(630)에서 텍스트 스니펫의 라벨 클래스 신뢰도를 정량화한다. 그러나, 이 경우, 방법은 안티 라벨과 포지티브 예의 텍스트에 기초하여 단계(380)를 수행하는 라벨 스코어링 방법 중 하나를 사용할 수 있다. 방법(600)은 단계(635)로 계속되고 클래스 신뢰도가 충분한 경우, 방법은 단계(645)로 진행되는데, 여기서, 이 경우, 방법(600)은 완료되고, 도 3에서 도시되는 바와 같이 단계(380)에서 방법(300)으로 복귀한다.
단계(380)를 수행하는 방법은 도 4의 방법(400), 도 5의 방법(500), 또는 도 12의 방법(1200)에 제시되는 바와 같은 하나 이상의 채점 방법을 활용한다. 채점 방법은 일반적으로 어떤 개수의 포지티브 또는 네거티브 예, 라벨, 및 안티 라벨을 수신하고 NLG 모델을 사용하여 라벨이 존재할 확률에 대해 후보 텍스트에 점수를 매긴다. 본 방법은 또한, 생성되는 예에 기초하여, 제공되는 입력을 사용한 분류를 위해 GPT-3을 사용할 수 있고, GPT-3의 정확도의 이전 경험에 대한 라벨의 유사도에 기초하여 GPT-3 확률의 정확도를 또한 추정할 수 있다.
본 개시는 라벨 채점의 단계(380)를 수행하는 적어도 네 가지 상이한 방법을 제안한다. 도 4의 방법(400)으로 도시되는 제1 방법은 수치 클래스(Numeric Class; NC) 방법으로서 공지되어 있다. 도 13의 제2 방법(1300)은 문자열 라벨(String Label; SL) 방법으로 공지되어 있다. 도 5의 제3 방법(500)은 검색 점수(Search-Score; SS) 방법으로서 공지되어 있다. 도 12의 제4 방법(1200)은 로그 확률(Log Probability; LP) 방법으로 공지되어 있다. 또한, 라벨 채점의 방법은 NLG 모델에 의한 텍스트의 생성이 얼마나 위험한지를 제어하는 위험 파라미터에 기초하여 파라미터화될 수 있다. 단계(380)를 수행하는 단일 라벨 채점 방법은, 예를 들면, 위험 파라미터의 제어에 의해 고위험 생성, 중간 위험 생성, 또는 저위험 생성을 가지고 동작될 수 있다. 따라서, 정의된 방법은 배가되어 병렬로 동작될 수 있다. 파라미터화될 수 있는 네 가지 방법은 12 개로 확장될 수 있다. 이러한 이유 때문에, 도 3의 단계(380)는 라벨 채점 방법(들)의 적용을 명시한다. 동일한 입력에 대해 복수의 라벨 채점 방법이 동작될 수 있으며, 라벨 채점 방법의 두 개 이상의 결과를 제공하는 결과의 벡터가 획득될 수 있다. 따라서, 라벨 채점 서비스(168)는 일반적으로 본원에서 설명되는 바와 같은 복수의 라벨 채점 방법에 대한 결과의 벡터이다. NC, SL, SS, 및 LP 라벨 채점 방법 각각은 라벨의 출력 확률, 결정되는 클래스의 표시, 결과가 불확실하다는 표시, 결과가 불확실하였던 이유의 설명(예를 들면, 생성적 방법 실패, 증강 실패, 증강이 너무 약함, 라벨 채점 방법 실패, 클래스 분리의 부족, 또는 유효하지 않은 임계치)을 제공한다.
셋업 파라미터는, 라벨 채점 서비스(168)로부터 그들 소망되는 방법을 선택하는 것에 의해 라벨 채점 서비스(168)에서 저장되는 이용 가능한 모델 중 얼마나 많은 것이 단계(380)에서 라벨 채점을 위해 활용될 것인지를 결정한다. 한 실시형태에서, 셋업 파라미터는 라벨 및/또는 안티 라벨의 특성에 기초하여 결정된다. 모델 선택 단계에서, 상이한 라벨 예측 모드가 선택된다. 한 실시형태에서, 단일의 모드는, 데이터(라벨링된 데이터의 트레이닝/검증 세트)와 함께 작동하는 분류 시스템에 의해 사용되는 디폴트 또는 표준 모드, 예컨대 NC 방법 또는 모드이다. 그러나, 방법은 다른 채점 시스템도 역시 수행하는데, 각각은 상이한 조건에 대해 이점을 갖는다.
도 3의 단계(380)에서, 선택된 모드에 대한 결과가 생성된다. 예를 들면, 모든 로딩된 모드(NC, SL, SS 및 LP) 방법이 실행되는 경우, 복합 출력은 벡터 출력:[NC:(서비스 조화(service harmony): 0, 신뢰도: 0.55), SL:(서비스 조화: 1, 신뢰도:08), SS:(서비스 조화:1, 신뢰도:0.9), LP:(서비스 조화:0, 신뢰도:0.6)]을 포함할 수 있다.
단계(385)에서, 채점 라벨 서비스(142)는 성능, 기록 추정치, 유사도 가중치, 및 클래스 라벨을 공지된 성능의 라이브러리에 축적한다. 라벨 채점 서비스(168)는 벡터의 저장소 및 유사도 알고리즘을 사용하고 현재 점수에 대한 라벨이 라이브러리에서 이용 가능한 라벨링 방법과 유사한지를 결정한다. 또한, 라벨 채점 서비스는 벡터화 함수에서 이용 가능한 임베딩 알고리즘 및 NLP 벡터화의 저장소를 또한 사용한다.
단계(390)에서, 이용 가능한 경우 가중치가 적용된다. 방법은 주어진 모델/알고리즘에 대해 이용 가능한 하나보다 더 많은 채점 방법을 가질 수 있다. 또한 그러한 경우에, 상이한 메커니즘으로부터의 예측은 변할 수 있거나, 또는 적어도 관련된 확률이 변할 수 있다. 그러한 경우, 방법은 예측 및 관련된 확률을 조정할 필요가 있다. 디폴트로서, 서브시스템이 없는 경우, 그러면, 단계(390)에서, 이용 가능한 가중치가 없다. 방법은 디폴트 가중치 또는 투표 기준을 사용하여 결과 및 라벨 확률 추정치를 결정한다. 추가적인 정보가 이용 가능한 경우, 방법은 출력 추정에 가중화를 통합한다. 가중된 결과를 적용하는 예는, 분류기의 라이브러리에서 이전 라벨이 발견된 경우를 포함하는데, 이것은 SS 및 SL 검색이 다른 이용 가능한 분류기가 올바른 결과를 산출할 가능성의 두 배가 된다는 것을 나타내며, 가중된 응답은 (2*SS+2*SL+LP+NC)/6 = 서비스 조화의 가중된 우도일 것이고, 70 %이다. 동일한 예에 대해 가중되지 않은 결과는 63 %이다.
단계(395)에서, 사용 가능한 결과가 라벨 채점 서비스에 의해 획득되었다는 것을 성능 조건이 나타낼 때의 추정치에 기초하여 하나 이상의 결과가 렌더링된다. 그 다음, 방법은 확률 추정치에 기초하여 결과가 렌더링되는 단계(395)로 진행된다. 이 시점에서, 라벨링 서비스(142)는, 사용 가능한 결과가 이용 가능할 때 도 2의 그래픽 디스플레이(200)에서 디스플레이되는 모든 결과를 반환하고, 방법은 새로운 입력이 대기되는 단계(397)로 진행된다. 새로운 입력이 이용 가능한 경우, 예를 들면, 디스플레이에서 사용자로부터의 추가적인 입력.
라벨 채점의 NC 방법은 도 4의 400에서 예시되어 있다. 방법은 단계(315)로부터 단계(410)로 진행되는데 여기서 예는 생성적 모델 입력을 위해 포맷화된다. 이 라벨 예측 및 채점 시스템은 자신의 출력의 관점에서 임의의 표준 이진/다명(multinominal) 분류 시스템처럼 거동한다. 시스템의 출력은 부울(Boolean)/다명 클래스 지시자(부울의 경우 포지티브 클래스는 1로서 표시되고 네거티브 클래스는 0으로서 표시됨), 및 관련된 확률/우도이다. 이 시스템의 경우, 시스템은 부울/다명 인덱스 클래스를 갖는 어떤 임의적인 포지티브 및 네거티브 문장을 사용하여 제로 샷 모드에서 생성적 모델을 조사하고, 그 다음, 모델이 유사한 부울/다명 클래스 라벨을, 그것의 관련된 '토큰 확률'과 함께, 생성할 것으로 예상되는 입력 문장을 조사한다. 관련된 토큰 확률은 예측 확률/우도로서 사용될 과거의 모델 고유의 범위 파라미터를 사용하여 정규화/스케일링된다. 토큰 확률을 라벨과 매치시키고 출력을 생성하기 이전에, 생성된 텍스트가 필수 클래스 라벨을 포함한다는 것을 보장하기 위해 추가적인 체크가 이루어진다. 이들 체크가 실패하는 경우, 그러면, 이 채점 메커니즘이 방법(300)의 단계(390)에서 최종 예측 가중화 메커니즘에서 제외되었다는 것을 나타내는 'NONE' 출력이 전송된다. 단계(380)에서 라벨 채점의 NC 방법은 라벨 클래스를 나타내는 숫자 및 안티 라벨 클래스를 나타내는 다른 숫자를 사용한다. 따라서 이진 사례의 경우, 라벨 = 1, 안티 라벨 = 0이다. 예시적인 실시형태에서, NLG 모델은 제로샷 모드에서 사용된다. 예를 들면, 모델 프롬프트는 문장 클래스 구분 기호(sentence-class-separator)를 사용하여 예를 각각의 라벨과 결합하는 것에 의해 준비될 수 있다. 문장 마스크 나누기(sentence mask break)를 사용하여 예를 구분한다. 다음으로, 프롬프트는 다른 문장 마스크, 후속하는 '문장 클래스 구분 기호', 후속하는 '예측 시작' 프롬프트를 가지고 계속된다. 하나의 포지티브 및 하나의 네거티브 생성 예를 갖는 경우, 프롬프트는 다음과 같을 수 있다: ['포지티브 예' '문장 클래스 구분 기호' 1 '문장 나누기' '네거티브 예' '문장 클래스 구분 기호' 0 '문장 나누기' '후보 텍스트'].
단계(420)에서, 프롬프트는 생성적 모델, 예컨대 GPT-3에 적용된다. 생성된 텍스트 및 토큰의 '로그 확률이 생성된 텍스트의 각각의 토큰에 대해 수신된다. 단계(430)에서, 생성적 출력은 숫자('G'와 'O')에 대해 검색된다. 이들 숫자 라벨 중 어느 것도 존재하지 않으면, 방법은 실패하고 에러 응답이 라벨링 서비스(142)로 반환된다. 숫자가 존재하는 경우, 그러면 토큰 확률은 생성적 출력으로부터 단계(430)에서 결정된다. 예를 들면, 이진 사례의 경우, 생성적 출력은 수치 라벨(1 또는 0)에 대해 검색된다. 그 다음, 발견되는 심볼(1 또는 0)의 토큰 확률은 라벨 확률의 추정치를 결정하기 위해 사용된다. 토큰 확률은, 필요하다면, 결합되고 정규화되어 예측 확률로서 사용된다. 또한, 채점 방법은 그 자신의 임계치를 적용할 수 있고 후보 텍스트가 라벨에 속하는지를 결정한다. NC 라벨 채점 서비스의 결과는, 예를 들면, 라벨링 서비스(142)로 반환될 때, 저장된다.
라벨 채점의 SL 방법은 도 16의 1600에서 예시되어 있다. 방법은 단계(315)로부터 생성적 모델 입력을 위해 예가 포맷화되는 단계(1610)로 진행된다. SL 방법은 일반적으로 NC 방법의 동작을 수행한다. 그러나, 프롬프팅이 발생하는 방식에는 차이가 있다. 기본적인 차이는 수치 라벨이 아닌 텍스트 라벨이 사용된다는 것이다. 다수의 워드에 의해 표현되는 임의의 개념은 NLP 시스템이 이해하기가 어렵다. 이러한 이유 때문에, 방법은 라벨 생성을 위한 중요한 키워드 기반의 개념에 대한 순서를 생성한다. 이들 라벨이 모델을 프롬프팅하기 위해 사용된다는 것을 고려하면, 어떤 임의적인 개념이 직접적으로 사용될 수 없다. 출력은 프롬프트된 개념을 유사하게 포함하는데, 이것은 나중에 사용자에게 제시하기 위해 원래의 '임의의 개념' 또는 용어로 다시 매핑된다. 예측 확률은 생성적 출력에서 키워드 또는 키워드의 동의어를 찾는 것, 및 출력에서의 키워드 또는 동의어의 확률을 토큰으로부터 결정하는 것에 의해, 단계(1630)에서 생성/계산된다. SL 모드의 경우, 수치 라벨을 사용하는 대신, 프롬프트는 각각의 라벨을 조합하는 것에 의해 사용된다. 예를 들면, 라벨 클래스가 우선 순위화된 키워드 목록 'service harmony(서비스 조화)'를 가지며 안티 라벨 클래스가 우선 순위화된 키워드 목록 'disservice disharmony(디스서비스 부조화)'를 가지며, 방법이 하나의 포지티브 예 및 하나의 네거티브 예를 프로세싱하는 경우, 그러면 프롬프트는 다음과 같을 수 있다: ['Let me know if there's anything else I can do for you. I'm happy to help(내가 당신을 위해 할 수 있는 다른 일이 있으면 알려주세요. 기꺼이 도와드리겠습니다)' '문장 클래스 구분 기호' '서비스 조화' '문장 나누기' 'This is your problem, not mine(이건 내 문제가 아니라 당신의 문제입니다)' '문장 클래스 구분 기호' '디스서비스 부조화' '문장 나누기' '후보 텍스트'].
단계(1620)에서, 프롬프트는 생성적 모델, 예컨대 GPT-3에 적용된다. 생성된 텍스트 및 토큰의 '로그 확률이 생성된 텍스트의 각각의 토큰에 대해 수신된다. 단계(1630)에서, 생성적 출력은 라벨 및 안티 라벨의 키워드, 예를 들면, "service(서비스)", "harmony(조화)", "disservice(디스서비스)", "disharmony(부조화)" 또는 이들 중 하나의 동의어에 대해 검색된다. 이들 키워드 또는 그들의 동의어가 존재하지 않으면, 방법은 실패하고 에러 응답이 라벨링 서비스(142)로 반환된다. 키워드 또는 동의어 중 하나가 존재하는 경우, 그러면 토큰 확률은 생성적 출력으로부터 단계(1630)에서 결정된다. 예를 들면, 그 사례의 경우, 생성적 출력은 라벨 "service(서비스)" 및 "harmony(조화)"에 대해 검색된다. 발견되는 "service(서비스)" 및 "harmony(조화)"의 토큰 확률은, 그 다음, 라벨 확률의 추정치를 결정하기 위해 사용된다. 토큰 확률은, 필요하다면, 결합되고 예측 확률로서의 사용을 위해 정규화된다. 또한, 채점 방법은 그 자신의 임계치를 적용할 수 있고 후보 텍스트가 라벨에 속하는지를 결정한다. 문자열 라벨 채점 서비스의 결과는, 예를 들면, 라벨링 서비스(142)로 반환될 때, 저장된다. 단계(1630)에서, 라벨 채점 서비스(168)의 SL 방법은 후보 라벨 또는 안티 라벨로부터의 용어 또는 생성된 컨텍스트에서 매우 유사한 의미/임베딩을 갖는 용어에 대한 출력 생성 텍스트를 검색한다. 그렇지 않으면, SL 방법은 NC 방법이 행하는 것과 동일한 동작을 수행한다. 라벨 채점의 SS 방법은 도 5의 방법(500)에서 예시되어 있다. SS 라벨 채점 방법은 단계(315)로부터 도 5에서 도시되는 단계(380)의 SS 라벨 채점 방법의 실시형태로 진행된다. 이 방법은 입력 라벨의 개념과 유사한 것으로 선택되는 유사한 텍스트 및 유사하지 않은/바람직하게는 안티 텍스트의 하나 이상의 샘플을 사용할 수 있다. 시스템은 입력 텍스트와 함께 샘플을 특수 검색 순위 매김 서브시스템/모델로 전송하는데, 이것은 상이한 문장/텍스트의 검색 순위를 제공한다. 취출된 검색 샘플(retrieved search sample) 및 검색 순위에 기초하여, 방법은 입력 텍스트에 대한 라벨 및 라벨의 확률을 결정한다. 검색 점수는 예측 확률로 변환되도록 추가적인 프로세싱을 필요로 한다. 검색 서브시스템의 대부분의 경우, 스케일링된/정규화된 검색 순위/점수 범위는 우도의 프록시로서 사용될 수 있다. 한 가지 특별한 고려 사항은, 유사한/유사하지 않은 텍스트 생성을 위한 추가적인 서브시스템이 개념 및 검색 쿼리를 다루는 메커니즘이며, 따라서, 전통적인 분류 시스템과 유사하지 않으며, 이들 시스템으로부터 생성되는/취출되는 데이터는 그것의 본질적인 프로세싱되지 않은/필터링되지 않은 형태에서 분류기를 트레이닝시키기 위해 직접적으로 사용될 수 없다는 것이다.
단계(510)에서, 라벨에 대한 예의 풀(pool) 내의 각각의 예와 안티 라벨에 대한 예의 풀 내의 각각의 예는 NLG 모델을 사용하여 텍스트를 생성하기 위해, 그리고 관련된 라벨을 사용하여 출력 결과를 태깅하는 데 사용된다. 따라서 라벨의 두 가지 예(EX-LI 및 EX-L2로서 표기됨)가 있는 경우를 고려한다. 게다가, 안티 라벨의 두 가지 예(EX-AL1 및 EX-AL2로서 표기됨)가 있다. 예 입력의 결과는, 그 다음, 예 이름 앞에 표시자 "GR-"을 붙이는 것에 의해 표기된다. 따라서, 단계(510)에서 생성적 모델을 EX-L1에 적용하는 것은 GR-EX-L1을 생성한다. EX-L2에 생성적 모델을 적용하는 것은 GR-EX-L2를 생성한다. EX-AL1에 생성적 모델을 적용하는 것은 GR-EX-AL1을 생성한다. EX-AL2에 생성적 모델을 적용하는 것은 GR-EX-AL2를 생성한다.
단계(520)에서, 생성적 모델은 후보 텍스트(CT로서 표기됨)에 적용되어 대응하는 생성적 출력(GR-CT로서 표기됨)을 획득한다. 방법은 단계(530)로 진행되어, 단계(510)에서 생성되는 생성적 예에 의해 생성되는 문서 세트로부터 후보 생성 텍스트(GR-CT)의 검색 점수를 계산한다. 일반적으로, SS 방법의 아이디어는 후보 (GR-CT)에 대한 생성적 출력을 검색 엔진의 쿼리로서 사용하고 검색 결과 순위를 메트릭으로서 측정하여 라벨 예로부터 생성되는 결과(GR-EX-L1 및 GR-EX-L2)가 안티 라벨 예로부터 생성되는 결과(GR-EX-AL1 및 GR-EX-AL2)보다 쿼리 (GR-CT)에 더 가까운지를 결정하는 것이다. 일반적으로, 쿼리와 결과 사이의 의미론적 거리를 측정하는 트레이닝된 구조적/의미론적 유사도 모델 검색 엔진(예를 들면, Microsoft® DSSM)이 바람직하다. 대안적으로, GPT-3 검색 순위가 사용될 수 있다.
한 실시형태는 문서 세트에 걸쳐 상이하게 라벨링된 문서의 검색 순위 또는 점수에 대한 조정 규칙을 사용하여, 단계(540)에서 라벨 확률 추정치를 결정한다. 제1 조정 규칙은 최상의 검색 순위(가장 높은 검색 점수)를 갖는 문서의 라벨 및 검색 순위/점수를 사용하는 것이다. 제2 조정 규칙은 라벨 예로부터 생성되는 모든 문서의 그룹의 검색 점수 휴리스틱의 그룹 휴리스틱(예컨대, 평균)을 결정하고 이것을 안티 라벨 예로부터 생성되는 모든 문서의 다른 그룹의 검색 점수 휴리스틱에 비교하는 것이다. 제3 조정 규칙은 검색 점수 또는 순위에 기초하여 후보 문서를 최종 후보에 올리고, 그 다음, 더 짧은 목록에 대해 제2 규칙을 수행하는 것이다. 예를 들면, 가장 높은 순위에서 가장 낮은 순위는 (GR-EX-L1, GR-EX-AL2, GR-EX-AL1, GR-EX-L2)라고 가정한다. 라벨 클래스는 규칙 1 하에서 선택될 것이다. 이제, 검색 엔진의 검색 점수가 관련된 점수(GR-EX-L1 = 0.5, GR-EX-AL2 = 0.3, GR-EX-AL1 = 0.21, GR-EX-L2 = 0.5)를 산출하는 의미론적 공간에서 문서 사이의 코사인 유사도라고 가정한다. 제2 규칙 하에서, 라벨이 또한 선택될 것이다. 그러나 동일한 검색 점수에서, 0.08의 검색 점수 임계치가 사용되는 경우, 조정 규칙 3은 안티 라벨을 선택할 것이다. 그 다음, 라벨의 확률 추정치는 검색 점수를 정규화하는 것에 의해 형성된다. 그 다음, 방법(500)은 단계(380)의 출력에서 도 3으로 복귀한다.
이 라벨 예측 및 채점 방법은 NLP 검색 및 순위 매김 성능을 갖는 모델을 필요로 한다. 이들은 순수한 NLP 생성적 모델 또는 다른 SOTA 검색 순위 매김 모델일 수 있다. 추가적으로, 이 시스템은, 사전(사용자에 의해 제공되거나 또는 사용 사례에 고유함) 트레이닝 데이터가 없이 특별한 요건에 기초하여 텍스트를 생성/취출할 수 있는 텍스트 생성 또는 취출 서브시스템을 필요로 한다. 하나의 실시형태에서, 이것은 규칙 기반의 웹 검색 취출 시스템일 수 있다. 특정한 검색 기준/개념(이들은 종종 반복됨)의 경우, 이들 요건은 향상되고 인간이 엄선한(curated) 후보 검색 순위(candidate-search-rank) 텍스트로 대체될 수 있다.
라벨 채점의 LP 방법은 도 12의 방법(1200)에서 예시되어 있다. LP 라벨 채점 방법은 단계(315)부터 도 12에서 도시되는 단계(380)의 LP 라벨 채점 방법의 실시형태로 진행된다. LP 방법은 단계(380)를 수행하는 듀얼 패스 생성적 로그 확률 기반의 라벨 채점 방법으로서 또한 공지되어 있다. 이 시스템에서, 실시형태에서의 SL 라벨 채점 또는 NC 클래스 인덱스의 메커니즘 중 어느 하나가 지원하는 하위 프로세스로서 사용된다. LP 방법에서, 라벨을 생성할 것을 시스템에게 요청하는 대신, 방법은 각각의 가능한 클래스 인덱스 또는 (문자열) 클래스 라벨에 대한 입력 텍스트를 복제하고 다음 번 텍스트를 생성할 것을 시스템에게 요청한다. 생성된 텍스트는 직접적으로 사용될 수 없지만, 그러나 상이한 인덱스/라벨에 대한 제출된 클래스 인덱스/라벨의 토큰 로그 확률(token-log-probability)이 사용되고, 방법은, Soft-max(소프트맥스) 함수를 적용하여 이들 로그 확률을 1로 재스케일링한 이후, 가장 높은 로그 확률을 갖는 것을 선택한다.
방법(1200)에서 도시되는 단계(380)를 수행하는 라벨 채점 방법에 진입한 이후, 세 개의 경로가 병렬로 동작한다. 단계(1210)에서, 방법(1200)은, 예를 들면, 텍스트 예를 라벨 타입과 결합하는 문장 연결 기술을 사용하는 것에 의해, 후보 텍스트를 갖는 입력으로서 포지티브 예를 취한다. 단계(1215)에서, 라벨의 로그 확률이 입력으로부터 결정된다. 단계(1220)에서, 방법(1200)은, 예를 들면, 텍스트 예를 안티 라벨 타입과 결합하는 문장 연결 기술을 사용하는 것에 의해, 후보 텍스트를 갖는 입력으로서 네거티브 예를 취한다. 방법은 안티 라벨의 로그 확률이 입력으로부터 결정되는 단계(1225)로 진행된다. 마찬가지로, 단계(1230)에서, 예를 들면, 텍스트 예를 라벨 타입과 결합하는 문장 연결 기술을 사용하는 것에 의해, 예와 후보 텍스트의 모든 조합을 사용하여 다음 번 텍스트가 예측된다. 방법은 핵심 용어/토큰의 로그 확률이 유도되고, 임계치 표시로서 사용되는 단계(1235)로 진행된다. 방법은, 라벨과 연계한 후보 텍스트의 로그 확률과 안티 라벨과 연계한 후보 텍스트의 로그 확률 사이의 분리가 충분히 분리된다는 것을 획득되는 임계치가 보장하는지를 확인하기 위한 테스트가 수행되는 단계(1240)로 진행된다. 임계치가 유효하지 않으면, 방법은 에러 신호가 생성되는 단계(1245)로 진행된다. 그렇지 않으면, 방법은 예측 확률을 생성하기 위해 포지티브 및 네거티브 확률이 스케일링되고, 더 높은 점수를 갖는 클래스에 유리한 예측이 생성되는 단계(1250)로 진행된다.
본 개시는 고급 NLP 모델을 위한 데이터 증강을 위한 시스템 및 방법을 설명한다. 여기서 '고급' NLP 모델은 일반적으로 문장의 컨텍스트에 더 많이 집중하도록 학습하였고 많은 데이터로부터 많은 풍부한 표현을 학습할 만큼 충분히 복잡한 NLP 모델의 클래스를 가리킨다. 그러한 모델의 몇몇 예는 트랜스포머 아키텍쳐 상에서 만들어지는 전이 학습 기반의 모델, 예를 들면, BERT, TURING, GPT3, 등등이다.
하나 이상의 접근법을 사용하여 현존하는 트레이닝 데이터로부터 섭동을 생성하는 것에 기초하는 전통적인 데이터 증강 기술은 불충분하였다. 실패한 시도의 예는 다음을 포함한다: 텍스트를 하나의 언어로부터 다른 언어(어쩌면 몇몇 더 많은 언어)로, 그 다음, 원래의 언어로 다시 번역하는 역번역(Back Translation). 그러한 변환은, 아마도 약간 상이한 워드의 선택을 갖는, 그러나 동일한 의미를 전달하는 동일한 텍스트의 다른 표현을 생성할 것이다. 자체만으로는 부족한 다른 시도는 용이한 데이터 증강(Easy Data Augmentation; EDA)이다. 이들은 동의어 대체, 랜덤 삽입/삭제/교환과 같은 방법을 사용하여 텍스트의 특정한 워드/용어를 변경하기 위해 조합하여 적용되는 쉬운 기술의 세트이다. 이들은 또한 문장의 동일한 아이디어를 유지하고, 일부 워드를 수정한다. 다시 말하지만, 단순히 NLP 시퀀스/토큰 변경(Sequence/Tone Alteration)을 수행하는 것은 불충분하다. 이 방법에서, 문장 내에서의 워드의 순서/시퀀스가 변경된다. 이것은 랜덤일 수 있거나 또는 어떤 간단한 로직(1인칭에서 3인칭)을 가질 수 있지만 그러나 아이디어를 변경하지는 않는다. 단순한 임베딩 기반의 워드/용어 변경을 사용하는 것도 또한 불충분하다: 이들 기술은 GloVe, Word2Vec, 등등과 같은 NLP 벡터화 모델로부터의 워드 임베딩을 사용하고, 그 다음, 그 다음 일부 워드의 벡터적으로 가까운/유사한 표현(또는 반의어의 경우 역벡터)을 선택하여 문장의 일부 워드를 변경한다.
전통적인 데이터 증강 기술은 최신 고급 NLP 모델에 도움이 되지 않는다. 이들 전통적인 기술은, 다음과 같은 이유 때문에, 그러한 고급 모델의 트레이닝 데이터를 증강하는 데 적합하지 않다. 먼저, 모델은 컨텍스트(예를 들면, BERT, Turing(튜링), 등등)에서 트랜스포머 학습에 기초하고, 그들의 사전 학습 스테이지로부터 동일한 워드의 상이한 공식화(formulation)를 이미 알고 있고, 그러므로, 소정의 워드가 그들의 동의어 또는 유사한 임베딩 용어로 변경될 때, 그것은 이들 모델이 어떤 새로운 것을 학습하기 위한 최소의 새로운 아이디어를 생성한다. 둘째, 이들 대규모/고급 NLP 모델은 대부분, 그들의 대부분이 사전 트레이닝 학습 동안 마스킹된 용어를 예측할 수 있기 때문에, 랜덤 삽입 및 삭제 기반의 교란에 대부분 영향을 받지 않는다. 셋째, 이들 모델의 대부분은 다중 언어이며 동질적인 벡터 공간에서 다수의 언어의 벡터 표현에 대해 작동한다; 그러므로, 그들은 번역 기반의 아이디어에 영향을 받지 않는다. 넷째, 이들 대규모 모델은 컨텍스트 인식적이며, 그러므로 워드의 비 컨텍스트 인식 변환(non-context-aware transformation)(예를 들면, 'lay-egg'에서와 같은 컨텍스트에서 'lay'를 lay 동의어 'lye'로 변경함)은 이들 모델의 성능을 더욱 악화시킬 수 있다. 다섯째, 이들 모델은 수십억 개의 트레이닝 가능한 파라미터를 가지며 그러므로 트레이닝 데이터의 풍부한 집성본을 필요로 한다. 여기서, '풍부한'은 동일한 라벨 클래스('컨텍스트') 내에서 볼륨, 및 아이디어에서의 상당한 다양성 둘 모두에 의해 자격이 주어진다. 상기의 불충분한 기술만으로는 많은 양의 트레이닝 데이터를 생성할 수 없으며, (동일한 라벨 클래스 내에서) 상이한 아이디어를 갖는 데이터를 생성함에 있어서 또한 비참하게 실패한다. 여섯째, 유사한 아이디어의 편견의 문제점이 있다. 이들 대규모 모델은 문장에서의 아이디어의 표현으로부터 학습하고, 동일한 아이디어가 (전통적인 증강 기술을 사용하여) 다수 회 반복되는 경우, 모델은 그 아이디어에 과대 적합하여, 동일한 컨텍스트 내에서 상이한 아이디어를 갖는 텍스트에 대해 잘 수행할 가능성이 있다. 일곱째, 효과적인 학습을 위해서는 많은 양의 트레이닝 데이터가 필요로 된다. 전통적인 NLP 모델이 그들의 학습 욕구를 충족시키기 위해 수천 개의 트레이닝 샘플을 필요로 하였지만, 고급 NLP 모델은 컨텍스트의 기초가 되는 상이한 아이디어의 표현의 상이한 스타일을 학습하기 위해 주어진 컨텍스트에 걸쳐 수백만 개의 라벨링된 데이터를 필요로 한다. 따라서, 데이터의 수동 검색 및 등급 매김은 그들에 대해 비용이 많이 들 수 있다.
고급 NLP 모델에 대한 데이터 증강 요건을 완화하기 위한 다른 대안적인 데이터 부족 접근법도 역시 충분하지 않다. 풍부하고 고급의 대규모 NLP 모델을 효과적으로 트레이닝시키기 위해 문장에서 더 풍부한 '컨텍스트' 및 '아이디어'를 필요로 하는 트레이닝 모델에 대한 대규모 '증강' 데이터를 획득하는 것은 어렵다. 그러므로, 이들 모델에 대한 데이터 증강 문제를 완화하기 위해 사용되는 현재의 접근법은 다음과 같다.
첫째, 확장 불가능하고 비용이 많이 드는 접근법은 충분하지 않았다. 이들은, 먼저, 다음을 포함한다: 수동 데이터 소스 수집 및 등급 매김(Manual Data Source Scavenging and Grading). 이것은 트레이닝 고급 모델을 획득(정확히는 증강은 아님)하는 데 가장 우세한 접근법이다. 컨텍스트 요건(라벨 클래스 명세)에 기초한 제1 불충분한 방법에서, 데이터의 어떤 다양한 소스가 획득되고, 그 다음, 이들의 각각의 샘플이 수동으로 또는 크라우드소싱을 통해 등급이 매겨진다. 둘째, 예를 들면, 퓨샷 분류(Few-Shot Classification)와 같이, 확장 가능한 그러나 덜 효과적인 접근법도 또한 충분하지 않다. 이 접근법에서, NLP 모델(주로 트랜스포머터 기반)은 라벨이 없는 '웹' 또는 '기업' 데이터의 대규모 집성본에 대해 사전 트레이닝된다. 이것은 상기에서 언급되는 바와 같이 합성의 전통적인 증강 기술보다 '더 풍부한' 컨텍스트 및 '아이디어'를 갖는 실제 인간 생성 데이터에 대한 학습의 이점을 제공한다. 그러나 그러한 데이터는 라벨링되지 않는다. 그러나, 라벨링된 데이터의 적은 샘플에도 불구하고, 그러한 모델은 동일한 트레이닝 데이터로부터 생성되는 증강과 결합되는 동일한 트레이닝 데이터에 대해 트레이닝되는 전통적인 모델보다 훨씬 더 우수하게 수행한다는 것이 밝혀졌다. 다른 확장 가능한 그러나 불충분한 기술은 단순한 제로 샷 학습(Zero-Shot Learning)이다. 이 접근법에서는, 매우 큰(수십억 개의 파라미터, 예를 들면, GPT-3) NLP 모델은 라벨링되지 않은 지금까지보다 더 큰 트레이닝 데이터에 대해 (텍스트를 분류하는 것과는 대조적으로) 텍스트를 생성하도록 트레이닝된다. 이용 가능한 소수의 트레이닝 샘플이 텍스트를 생성하기 위한 프롬프트로서 사용되는 경우, 모델은 의사 NLP 분류 모델( pseudo-NLP-classification model)로서 기능할 수 있고, 그러므로, 대규모의 라벨링된 트레이닝 데이터를 사용한 트레이닝의 필요성을 완화할 수 있다는 것이 가정된다.
도 2로 돌아가면, 그래픽 디스플레이(200)는 그래픽 제어부(293, 294, 및 295)를 또한 포함한다. 이들 제어부는, 예를 들면, 라벨링 서비스(142)에 의해 사용되는 또는 생성되는 데이터 아이템에 대해 동작의 세트를 수행함에 있어서 사용자에게 도움을 주기 위해 사용될 수 있다. 그러한 제어부는 라벨링 표준, 문서 집성본, 표준 변경 로그, 라벨링 성능 로그, 라벨링 인덱스 및 라벨링 인덱서(labeling indexer)와 같은 전자 아이템에 사용될 수 있다. 전자 아이템은 일반적으로 저장소(180), 또는 서버(177)의 메모리를 사용하여 라벨링 서비스(142)에 의해 저장, 취출, 수정, 및 디스플레이된다. "라벨링 표준"은, 본원에서 사용될 때, 라벨이 새로운 후보에게 적절하게 속하는지 또는 아닌지의 여부를 판단하는 모델에 기초하여 라벨링 서비스(142)가 결정을 제공하는 것을 함께 가능하게 하는 데이터 아이템의 콜렉션을 일반적으로 가리킨다. "문서 집성본"은 일반적으로 라벨링 표준에 영향을 끼치는 결정을 내리기 위해 새로운 후보가 인출되는 문서의 세트이다. "표준 변경 로그"는 일반적으로 라벨링 표준과 관련한 데이터 아이템 추가 및 삭제의 기록이다. "라벨링 성능 로그"는 일반적으로, 거부의 빈도, 수동으로 추가되는 예의 평균 신뢰율, 최근에 추가된 후보의 평균 신뢰율, 거부되는 후보의 평균 신뢰율, 이들 통계치 중 하나의 표준 편차, 또는 자신의 라벨이 감독되고 확인된 제어 문서의 세트에 대한 라벨링 표준의 성공률과 같은, 불만족을 나타낼 수 있는 라벨링 표준에 관련되는 이벤트의 기록이다. 예가 수동으로 추가되는 경우, 라벨링 서비스(142)는, 라벨링 표준의 정확도의 추정치를 획득하기 위해, 그것을 추가하기 이전에 엔트리에 대해 라벨링 표준을 실행할 수 있으며, 이들 추정치를 최근에 추가된 후보의 평균 신뢰율에 통합할 수 있다. "라벨링 인덱스"는 일반적으로 라벨이 적절하게 적용되는 문서 집성본의 일부를 나타내는 기록이다. "라벨링 인덱서"는 일반적으로 문서 집성본의 라벨링 인덱스를 구축하고, 집성본의 어떤 문서가 라벨링을 위해 스캐닝되었는지를 추적하는 애플리케이션 기능을 가리킨다.
그래픽 제어부(293)는, 선택되는 경우, 사용자가, 예를 들면, 다음의 것을 포함하는, 콘텐츠 관리에 관련되는 동작을 수행하는 것을 허용하는 드롭다운 메뉴를 제공한다: 라벨링 표준 저장하기, 라벨링 표준 로딩하기, 라벨링 표준을 다른 이름으로 저장하기, 라벨링 표준과 관련되는 집성본 정의하기, 라벨링 표준의 논리적 조합 정의하기, 라벨링 표준 닫기, 새로운 라벨링 표준 열기, 최근에 사용된 라벨링 표준 로딩하기, 등등. "라벨링 표준의 논리적 조합을 정의하기" 기능은 두 개 이상의 정의된 라벨링 표준이 논리적으로 결합되어 제3 라벨링 표준을 형성하는 것을 허용한다. 예를 들면, 불량한 고객 서비스를 정의하는 세 가지 라벨링 표준은 OR 기능을 통해 논리적으로 결합되어 이들 라벨 중 적어도 하나를 가진 커뮤니케이션의 일부를 식별할 수 있다. 다른 예로서, 영화 데이터베이스에서 네 가지 특정한 줄거리 요소를 찾는 사람은 각각의 줄거리 요소에 대한 라벨링 규칙을 생성할 수 있고, 그 다음, 여섯 개의 논리적 조합의 쌍의 결합에 관련되는 라벨링 표준을 정의하는 결합 규칙을 생성하는 줄거리 요소의 각각의 쌍의 논리적 결합 기능을 통해 줄거리 요소 중 적어도 두 개를 포함하는 줄거리를 찾는 논리적 규칙을 생성할 수 있다.
그래픽 제어부(294)는, 선택되는 경우, 사용자가 로딩된 라벨링 표준의 개발, 동작, 분석, 및 사용 이력에 관련되는 동작: 변경 로그 보기, 성능 로그 보기, 라벨링 표준을 갖는 집성본 인덱싱하기, 라벨링 표준을 수동으로 증강하기, 새로운 예 가져오기, 인덱스 세분성 설정하기, 라벨링 임계치 설정하기, 라벨링 표준의 예 증강하기, 라벨링 표준의 안티 라벨 증강하기, 라벨링 표준의 라벨 증강하기, 모든 컴포넌트 증강하기, 등등을 수행하는 것을 허용하는 드롭다운 메뉴를 일반적으로 제공한다. "라벨 증강의 수동 모드"는, 디스플레이 영역(203)에서 235와 같은 비어 있는 그래픽 제어부를 제시하기 위해 콘텐츠를 삭제하는 것에 의해, 그래픽 디스플레이(200)에 의해 제공될 수 있다. 사용자가 텍스트 입력을 완료한 이후, 확인된 상태를 가지고 설정되는 포지티브 예에 새로운 텍스트가 추가된다. 대안적으로, 라벨 증강의 수동 모드 선택은, 문서 집성본에 대해 동작하는, 그러나 순위가 매겨진 반환 결과의 각각의 텍스트 스니펫에 인접한 제어부를 제공하는 전통적인 키워드 인덱스 검색 엔진을 제공할 수 있다. 사용자가 포지티브 예 또는 네거티브 예를 나타내기 위해 제어부를 선택하는 경우, 스니펫은 적절한 지정을 가지고 라벨링 표준에 추가된다. "새로운 샘플 가져오기" 기능은 포지티브 및 네거티브로서 마킹되는 예를 포함하는 이전에 정의된 데이터 세트를 취할 수 있고, 데이터 세트를 라벨링 표준에 통합한다. 예를 들면, 수동 검색 또는 입력을 수행한 사용자는 어떠한 라벨의 정의도 없이 그들 예를 포함하는, 라벨링 표준 구조로 저장되는 첨부 파일을 갖는 전자 메일을 전송할 수 있다. 그 라벨링 표준 파일이 로컬하게 저장되는 경우, 그것은 임의의 파일 브라우저에 의해 선택되어 예를 다른 라벨링 표준으로 가져올 수 있다. "인덱스 세분성 설정하기" 기능은 후보 텍스트, 예컨대 문장, 단락, 어떤 수의 워드 또는 문서를 형성하는 부분 사이즈를 정의한다. "인덱스 세분성 설정하기" 기능은, 또한, 사용자가 포지티브 라벨 표시의 위치가 얼마나 정확하게 기록될 것인지를 정의할 수 있다. 예를 들면, 문서 레벨 정밀도는 문서가 라벨에 대해 포지티브로 테스트된다는 것을 기록할 것이지만, 그러나 문서당 하나의 표시만이 기록될 것이다. "라벨링 표준의 예 증강하기" 기능은 일반적으로 라벨의 컨텍스트에서 현재의 예의 풍부함을 반영하는 이용 가능한 예의 컴퓨터 구현 증강을 제공하는 기능을 수행한다. "라벨링 표준의 안티 라벨 증강하기" 기능은 예 증강 기능과 유사하게 동작하지만, 그러나 단순히 예를 추가하는 대신, 추가적인 예를 추가하는 것에 더하여, 또는 그 대신, 대안적인 안티 라벨 키워드 구조가 안티 라벨 영역(210)에 추가된다. "라벨링 표준의 라벨 증강하기" 기능은 예 증강 기능과 유사하게 동작하지만, 그러나 단순히 예시를 추가하는 대신, 추가적인 예를 추가하는 것에 더하여, 또는 그 대신, 대안적인 라벨 키워드 구조가 라벨 정의 디스플레이 영역(201)에 추가된다. 한 실시형태에서, 발견된 키워드의 대안적인 라벨 세트를 제공하기 위해, 라벨 키워드 구조의 세트가 안티 라벨 디스플레이 영역(210)과 같은 디스플레이 영역에서 사용자에게 제시된다.
그래픽 제어부(295)는 일반적으로 라벨링 서비스 동작 중 하나가 사용자에 대해 수행되는 것을 허용하는 기능 활성화 제어부이다. 그래픽 제어부(295)를 선택하는 것에 의해, 기능이 즉시 수행된다. 본원에서 추가로 설명되는 실시형태에서, 그래픽 제어부(295)는 "라벨링 표준의 예 증강하기" 기능에 할당된다. 사용자는, 그가 동료에 의해 수동으로 입력되는 10 개의 포지티브 예와 10 개의 네거티브 예의 새로운 세트를 수신하고, 새로운 예를 그래픽 디스플레이(200)에서 도시되는 라벨링 표준으로 가져온 경우, 그러한 제어부를 선택할 수 있다. 다른 이유는, 사용자가 규칙을 적용하기 위해 집성본 정의를 변경하였다는 것일 수 있고, 따라서 축적된 예는 새로운 집성본의 컨텍스트에서 분류된 예를 확장시키기 위해 사용될 수 있다. 예를 들면, 사용자는, 먼저, 문서 집성본을, 높은 표준의 고객 서비스를 제공할 가능성이 있는 "판매 전자 메일"이 되도록 정의했을 수 있다. 사용자가 문서 집성본을 "기술 지원" 집성본으로 변경하는 경우, 그는 상이하고 풍부한 예를 찾을 가능성이 있고, 더욱 밸런스가 맞춰진 네거티브 예의 세트를 이용할 수 있다. 입력 라벨 표준에서의 샘플의 수가 (고급의 대규모 트랜스포머 기반의 NLP 모델의 요건과 비교하여) 매우 적기 때문에, 다른 모델은 적은 수의 데이터 샘플을 가지고 효과적으로 트레이닝될 수 없다. 이들 대규모의 고급 모델은 (컨텍스트 요건을 전체적으로 표현하는 데 필요한 아이디어의 변동의 관점에서) 매우 풍부하고 다양한 트레이닝 데이터를 필요로 한다. 일반적으로, 작은 데이터세트만으로는 그러한 풍부함을 표현하는 것이 실현 가능하지 않다. 종종, 더 작은 라벨 표준 데이터세트에서, 모델이 이 데이터세트로부터 전체적으로 필수 컨텍스트 표현(required-context-representation)을 효과적으로 학습하기 위한 데이터의 다양성과 풍부함이 충분하지 않다.
증강 기능의 결과로서, 개시된 방법(600)은 풍부한, 잘 선택된 집성본 덕분에, 인간에 의해 생성되는 클래스 둘 모두에 걸쳐 충분한 데이터로 이 데이터세트를 증강한다. 그러므로, 결과적으로 나타나는 증강된 데이터는 실생활 시나리오를 나타내며, 노이즈 저항성이 있다. 따라서, 증강의 결과는 라벨링 표준에 따라 실행되는 개선된 안정성 및 관련성 모델이다. 본원에서 개시되는 방법은 고급의 대규모 NLP 모델을 트레이닝시키기 위한 적절한 라벨 표준 데이터세트를 생성할 수 있다.
본 시스템은 매우 작은 데이터세트를 아주 풍부하고 다양하게 증강한다. 출력 데이터 세트는 사전(thesaurus)이 제공할 바와 같이 개개의 워드의 더 풍부한 표현일 뿐만 아니라, 또한 컨텍스트 요건에 대한 새로운 아이디어도 풍부하다. 출력 데이터세트는, 컨텍스트 요건 인식 방식으로, 인간/기업이 생성한 데이터를 찾는다. 본원에서 개시되는 증강의 방법은, 단지 워드/용어/번역/세대 등등을 랜덤하게 대체하는 것이 아니라, 라벨 설명에 의해 제공되는 바와 같은 특정한 컨텍스트 요건과 관련하여 새로운 아이디어를 전체적으로 발견한다. 제시되는 증강의 방법은 노이즈에 내성이 있는 방식으로 작동한다. 생성된 증강된 데이터세트는 대규모 및 고급 NLP 모델을 트레이닝시키기 위해 직접적으로 사용될 수 있다. 추가적으로, 자신이 분류하는 현존하는(라벨링되지 않은) 데이터세트를 필요로 하는 제로샷/퓨샷 분류 기술과는 대조적으로, 개시된 방법은 증강 및 사전 분류 요건 둘 모두 충족한다. 개시되는 증강 방법은 데이터 샘플을 자동적으로 그리고 지능적으로 획득하여 임의의 분류 모델에 대해 준비되는 올바른 데이터 서브세트에 담는다.
사용자가 증강 기능을 호출하기 위해 그래픽 제어부(295)를 선택한 이후, 라벨링 서비스(142)는 애플리케이션(110)으로부터 제어 신호를 수신하고, 응답에서, 증강 방법(600)을 수반하는 증강 동작을 수행한다. 일반적으로, 특정한 컨텍스트 요건을 나타내는 몇몇 포지티브 예 및 몇몇 네거티브 예가 방법(600)에 의해 수신된다. 라벨링 표준의 예 및 라벨은 방법(600)에 의해 수신되어 수신된 예 및 라벨에 기초하여 예의 세트를 확장하는 증강 동작을 수행한다. 그래픽 제어부(295)의 선택에 의해 호출되는 증강 기능의 출력은, 일반적으로, 다양성이 풍부한 더 많은 포지티브 및 네거티브 클래스 고유의 데이터 샘플을 갖는 더 큰 컨텍스트 요건 인식(context-requirement-aware) 데이터세트를 갖는 개선된 라벨 표준이다. 즉, 예의 세트는 필수 컨텍스트에 대한 다양한 아이디어를, 심지어 이들 아이디어가 입력 샘플의 매우 작은 세트에서 존재하지 않는 경우에도, 갖는다. 추가적으로, 생성된 샘플은 합성이 아니다, 즉, 그들은 생성적 모델을 사용하여 문자열의 단순한 지점 교란에 의해 생성되지 않는다. 이 데이터세트는, 현재 수동의 획득 및 등급 매김이 필요한 대량의 풍부한 데이터를 필요로 하는 고급의 대규모 NLP 모델을 트레이닝시키는 데 이상적으로 적합된다.
증강 방법은 일반적으로, 예를 들면, 스토리지 서비스(180)로부터 라벨링 표준을 수신하는 것에 의해, 라벨링 표준에서 현재 정의된 예의 세트와 같은 예의 세트를 수신한다. 그 다음, 증강 방법은, 한 번에 하나의 예 및 관련된 라벨을 취하면서, 예의 세트를 통해 반복된다. 한 실시형태에서, 선택되는 라벨은 네거티브 예와 관련되는 안티 라벨이거나, 또는 포지티브 예와 관련되는 라벨이다. 다수의 이용 가능한 라벨이 있는 경우(예를 들면, 이용 가능한 여러 개의 안티 라벨이 있는 경우), 라벨과 예의 다수의 조합이 사용될 수 있다. 다른 실시형태에서, 라벨은 동일한 클래스의 이용 가능한 라벨의 세트로부터 랜덤하게 선택된다.
일단 예와 라벨이 선택되면, 방법(600)은 단계(603)에서 증강 방법을 시작한다. 단계(605)에서 방법(600)은 현재의 예로부터 후보 텍스트를 수신한다. 예시적인 경우에, 그래픽 제어부(202)에서 도시되는 이전에 분류된 샘플 "I would be happy to help you with your sprocket order(귀하의 스프로킷 주문을 기꺼이 도와드리겠습니다)"이 포지티브 예로서 분류되었고, 따라서 방법(600)에 의해 수신된다. 단계(610)에서, 방법(600)은 목록 "서비스 조화"로 구성되는 그래픽 제어부(292)에서 도시되는 정렬된 목록, 또는 그래픽 제어부(206)에서 도시되는 입력 라벨에 대응하는 그래프와 같은 입력 라벨을 수신한다.
단계(615)에서, 우선 순위화된 키워드의 세트가 준비된다. 이 단계에서, 요약 키워드는 추출되고 컨텍스트 인식 방식으로 그들 각각의 강도가 계산된다. 즉, 각각의 우선 순위 키워드의 강도가 계산된다. 계산은 라벨 설명의 컨텍스트 요건을 인식한다. 키워드의 이러한 컨텍스트 인식 세트는 네거티브 및 포지티브 예 둘 모두에 대해 획득된다. 일반적으로, 설명하는 라벨 텍스트 입력은 다수의 용어를 포함하는 원시(raw) 텍스트 문자열일 수 있으며 후보 텍스트는 다수의 용어를 포함하는 원시 텍스트 문자열이다. 라벨 표준은 후보 라벨 쌍에 대한 우선 순위화된 키워드를 저장할 수 있다. 그 경우, 우선 순위화된 후보 라벨 키워드는 우선 순위화된 키워드의 세트를 준비하기 위해 스토리지 서비스(180)로부터 방법(600)에 의해 수신된다. 대안적으로, 후보 텍스트 및/또는 라벨에 대한 키워드 요약 구조는 라벨 표준에서 이용 가능할 수 있다. 이들 구조는, 이용 가능한 경우, 스토리지 서비스(180)로부터 수신된다. 단계(615)를 수행하는 방법은 단계(703)에서 시작되고, 단계(705)로 진행된다. 라벨 구조가 저장소(180)로부터 이용 가능하지 않다면, 라벨이 다수의 워드를 포함하는지를 결정하기 위한 테스트가 수행된다. 많은 컨텍스트 요건은 단일의 용어에서 설명하는 것이 불가능하다. 더 복잡한 라벨 아이디어는 아이디어의 콜렉션을 필요로 한다. 대규모의 고급 트랜스포머 기반의 모델을 사용하는 최신 NLP는 그러한 데이터를 스마트하게 분류할 수 있는 풍부한 모델을 생성함에 있어서 우수하다. 그러나 이들 모델은 개념 요건을 만드는 상이한 아이디어의 다양한 표현 하에서 기저의 개념을 전체적으로 학습하기 위해 풍부한 트레이닝 데이터를 또한 필요로 한다. 모든 기저의 아이디어가 매우 작은 입력 데이터 샘플에서도, 또한 라벨 요건에 대한 단일의 용어에서도 전체적으로 표현될 수 없기 때문에, 컨텍스트 요건은 단일의 용어 라벨 요건 대신 라벨 설명으로서 표현된다.
라벨이 다수의 워드를 포함하는 경우, 방법은 단계(710)로 진행된다. 요약 키워드 구조는 도 9의 단계(710)를 수행하는 방법을 사용하여 다른 곳에서 설명되는 바와 같이 입력 라벨 설명으로부터 결정된다. 방법은 우선 순위화된 텍스트 키워드를 제공하는 후보 텍스트 구조가 획득되는 단계(715)로 복귀한다. 단계(715)의 방법은 단계(710)의 방법으로서 진행되지만, 그러나 요약할 상이한 입력 텍스트, 즉 후보 텍스트를 갖는다. 예를 들면, 후보 텍스트 "I would be happy to help you with your sprocket order(귀하의 스프로킷 주문을 기꺼이 도와드리겠습니다)"는 [helping(도움), community-focus(커뮤니티 중심), happy(행복), customer(고객), sprocket(스프로킷)]과 같은 중요한 키워드 목록을 결정할 수 있다. 우선 순위를 갖는 우선 순위 키워드의 정렬된 목록은 [(helping, 0.35), (community-focus, 0.35), (happy, 0.2), (customer, 0.1)]이다. 결과적으로 나타나는 그래프는 도 11의 구조 디스플레이(1100)에서 예시되는데, 이것은 helping 정점(1112), community-focus 정점(1114), happy 정점(1116), 및 customer 정점(1118)을 포함하는 후보 그래프(1110)의 예시를 도시한다. 태그 디스플레이(1160)는, 사회적 가치 태그가 helping, community-focus 및 service에 할당되었다는 것을 도시한다. 사람 태그가 customer에게 할당되었다. 느낌/감정 태그는 happy 및 harmony에 할당되었다. 도시되는 그래프 구조는 더 풍부한 용어를 제공하고, 또한 순서뿐만 아니라 또한 강도 및 유사도를 포함하는 더 풍부한 순서 설명을 제공한다. 다음의 프로세스를 위한 더욱 풍부한 쿼리 구축을 위해 태그, 연결 및 방향이 이용 가능하다. 단계(710)를 수행하는 키워드 요약 방법이 종료되면 우선 순위 키워드는 [helping, community-focus, happy, customer]이다. 한 실시형태에서, 후보 텍스트를 요약하는 경우에 대해서는 상이한 사이즈 기준이 사용된다. 방법은 텍스트 키워드의 우선 순위 용어에 대한 임베딩이 획득되는 단계(720)로 진행된다. 단계(725)에서, 라벨 키워드의 우선 순위 용어에 대한 임베딩 벡터가 획득된다. 예를 들면, 후보 텍스트의 각각의 용어는 임베딩 벡터를 제공받고 목록은 우선 순위 용어만을 유지하도록 필터링된다. 단계(730)에서, 우선 순위 라벨 용어와 우선 순위 후보 키워드 사이의 유사도가 획득된다. 이것은 유사도, 예를 들면, 안티 라벨의 각각의 우선 순위 용어와 반전된 텍스트에서의 각각의 우선 순위 용어의 임베딩 벡터 사이의 코사인 유사도를 계산하는 것에 의해 획득될 수 있다. 단계(735)에서, 우선 순위 텍스트 용어에 대한 컨텍스트 중요도가 계산된다. 한 실시형태에서, 각각의 요약 키워드 용어의 컨텍스트 중요도는 라벨에서의 각각의 용어 사이의 유사도의 정규화된 가중된 평균으로서 계산되는데, 여기서 가중치는 라벨 용어의 중요도 점수이다. 단계(740)에서, 방법은 컨텍스트 중요도 및 키워드 우선 순위로부터 컨텍스트 인식 우선 순위를 결정한다. 예를 들면, 각각의 요약 키워드의 컨텍스트 인식 우선 순위는 컨텍스트 중요도 및 키워드 우선 순위의 정규화된 곱으로서 계산될 수 있다. 본 예에서, 컨텍스트 인식 우선 순위 키워드는 "helping, happy, customer"이다. 컨텍스트 인식 우선 순위 키워드의 계산은 797에서 종료되고 방법은 도 6의 단계(620)로 복귀한다.
단계(620)에서, 순위가 매겨진 검색 취출 결과의 세트가 획득된다. 집성본(154)와 같은 라벨링 문서 집성본에 대해 검색하는 검색 서비스(164)는 컨텍스트 인식 키워드를 쿼리로서 사용하여 수행된다. 다수의 최상위 순위의 검색 반환 결과가 검색 서비스(164)로부터 획득된다. 예를 들면, 주어진 검색 엔진 상에서 관련 문서를 검색하기 위해 '컨텍스트 인식' 용어가 사용되는 경우, 이를 테면 최상위 n 개(이를 테면, n = 10)의 검색 결과가 취출된다. 대부분의 검색 엔진은, 취출된 검색 결과가 쿼리와 관련이 있는 것으로 믿는 이유를 나타내는 텍스트의 스니펫을 또한 생성한다. 단계(625)에서, 방법은 데이터베이스를 증강하기 위해 이들 스니펫을 수집한다. 한 실시형태는 검색 엔진의 API 버전을 사용한다. 한 실시형태는 최상위 N 개 검색 결과의 검색 취출의 클라이언트 버전, 및 각각의 스니펫 추출을 (단계(625)에서) 사용한다. 이 단계에 대한 입력에 대한 예시적인 정렬된 컨텍스트 인식 키워드 용어는 "helping, happy, customer"이다. 이 입력은 클래스 요건 프롬프트, 즉 포지티브 문장이 생성되는 것 및 네거티브 문장이 생성되는 것을 보장하기 위한 프롬프트에 기초하여 더욱 보강될 수 있다. 예를 들면, 그래픽 제어부(236)는 발견된 포지티브 예를 확인하기 위한 프롬프트를 사용자에게 제시할 수 있다. 그래픽 제어부(252)에서의 프롬프트는 네거티브 예가 발견되었다는 것을 확인하기 위한 프롬프트를 사용자에게 제시할 수 있다.
단계(625)에서, 텍스트 스니펫이 획득되고, 방법은 텍스트 스니펫이 라벨 클래스에 속한다는 신뢰도를 정량화하기 위해 단계(630)로 진행된다. 클래스 신뢰도를 정량화하기 위한 예시적인 방법은, 예를 들면, 도 9의 단계(710)를 수행하는 방법을 사용하여, 텍스트 스니펫에 대한 키워드 구조를 구성하는 것이다. 텍스트 스니펫의 키워드 구조와 라벨 키워드 구조 사이의 전반적인 의미론적 유사도를 평가하는 예시적인 방법은 그래프 용어의 벡터화된 변환에 기초한 코사인 유사도의 사용일 수 있거나, 또는 벡터화 함수(156)에 의해 제공되는 어떤 다른 방법일 수 있다. 본원에서 개시되는 다른 방법은 유사도 점수 또는 라벨이 텍스트 스니펫에 적절하게 적용될 가능성의 추정치를 제공한다. 결정(635)에서 확률이 너무 낮다면, 방법은 스토리지 서비스(180)에서 실패한 스니펫을 기록하는 것에 의해 640에서 실패를 나타내고, 단계(625)로 복귀하여 다른 텍스트 스니펫을 획득하는데, 이것은, 결국에는, 단계(630)에서 정량화되고, 단계(635)에서 테스트된다. 결정(635)에서 클래스 신뢰도가 충분한 경우, 방법은 예로서 충분한 스니펫을 포함하도록 입력이 증강되는 단계(645)로 진행된다. 한 실시형태에서, 단계(630)는 305에서 후보 입력으로서 텍스트 스니펫을, 그리고 단계(310)에서 후보 라벨로서 라벨을 사용하여, 라벨이 텍스트 스니펫에 적절하게 적용되는 신뢰도를 결정하는 방법(300)을 사용한다. 그 다음, 방법(300)의 출력 추정 라벨 확률은 클래스 신뢰도로서 사용된다. 단계(307)에서, 라벨은 이미 공지되어 있으며, 따라서 방법은 단계(372)로 진행된다. 단계(372)에서, 한 실시형태에서, 안티 라벨은 메모리에 안티 라벨을 저장한 라벨 표준으로부터 라벨링 서비스(142)에 의해 생성되고, 방법은 단계(315)로 진행된다.
단계(320)에서, 방법은 후보 라벨의 예가 이용 가능하다는 것을 결정하고, 따라서 방법은 후보 라벨의 예가 수신되는 단계(335)로 진행된다. 한 실시형태에서, 이용 가능한 경우 포지티브 라벨의 K 개 예가 수신되는데, 여기서 K는 음이 아닌 정수이다. 단계(335)의 한 실시형태에서, 예는 포지티브 예의 세트로부터 랜덤하게 선택된다. 단계(335)의 한 실시형태에서, 라벨의 최고 신뢰도 예의 세트가 사용되어 포지티브 세트에서의 최상위 L 개의 예 중 K 개를 랜덤하게 선택한다. 단계(335)의 한 실시형태에서, 포지티브 예를 획득하기 위해 사용되는 예의 세트는 유사한 예의 동일한 클러스터에 속하는 포지티브 예의 세트가 되도록 제한된다.
단계(325)에서, 방법은 후보 안티 라벨의 예가 이용 가능하다는 것을 결정하고, 따라서 방법은 후보 안티 라벨의 예가 수신되는 단계(340)로 진행된다. 한 실시형태에서, 이용 가능한 경우 네거티브 라벨의 K 개의 예가 수신되는데, 여기서 K는 음이 아닌 정수이다. 단계(340)의 한 실시형태에서, 안티 라벨의 가장 높은 신뢰도 예의 세트가 사용되어 네거티브 세트의 최상위 L 개의 예 중 K 개를 랜덤하게 선택한다. 단계(340)의 한 실시형태에서, 네거티브 예를 획득하기 위해 사용되는 샘플의 세트는 유사한 예의 동일한 클러스터에 속하는 네거티브의 예의 세트가 되도록 제한된다.
한 실시형태에서, K 및/또는 L은 증강 방법(600)을 제어하기 위해 사용자에 의해 설정되는 파라미터이다. 한 실시형태에서, 이용 가능한 경우, K 개의 네거티브 및 K 개의 포지티브 예의 밸런스가 맞춰진 세트가 획득된다.
방법은 단계(315)로부터 하나 이상의 라벨 채점 방법이 적용되는 단계(380)로 진행된다. 단계(385)에서, 성능 기록은 누적되고 현재 라벨과 유사한 라벨에 대한 이용 가능한 가중치가 탐색된다. 단계(390)에서, 가중치가 발견되면, 그들은 적용되고, 가중된 라벨 점수가 결정되고, 그렇지 않으면 라벨 점수는 단계(380)에서 결정되는 라벨 점수의 세트로부터 결정되고, 단계(395)에서, 추정치에 기초하여 결과가 렌더링된다. 방법(300)의 본 인스턴스에서, 렌더링된 결과는, 단계(635)에서 테스트되도록, 결정된 라벨 점수를 라벨 클래스 신뢰도로서 방법(600)에 제공한다. 그 다음, 방법(300)은 사용자로부터 또는 증강 기능으로부터 새로운 입력이 대기되는 단계(397)로 진행된다.
증강에서의 노이즈는, 특히 제자리에서 수행되지 않는 교란 시스템의 경우, 도전 과제이다. 증강에서의 노이즈는 복잡한 모델을 트레이닝시키기 위해 데이터를 증강하도록 또는 생성하도록 의도되는 AI 기반의 대안적 시스템의 경우에도 또한 도전 과제이다. 샘플이 클래스에 속할 소정의 확률이 있더라도, 이용 가능한 데이터가 거의 없는 경우, 클래스를 잘 대표하지 않는, 클래스에 포함되는 일부 샘플이 또한 있을 것이다. 이들 샘플로부터의 노이즈는 감소될 필요가 있다. 본 시스템은 작은 샘플 사이즈에 대해 작동하는 노이즈를 감소시키는 방법을 제공한다.
결정(635)에서, 클래스 신뢰도가 충분한 경우, 방법은 텍스트 스니펫을 포지티브 예로서 라벨 표준에 저장하는 것에 의해 포지티브 예의 세트가 증가되는 단계(645)로 진행된다. 그 다음, 방법은 결정(650)에서 추가적인 사용자 입력, 또는 라벨링 서비스(142)로부터의 추가적인 입력을 체크하도록 진행하고, 추가적인 사용자 입력이 없는 경우, 방법은 발견되는 각각의 새로운 예가 발견된 새로운 포지티브 예를 보완하는 네거티브 예에 의해 보완되어야 하거나 또는 "밸런스가 맞춰져야" 하는지를 결정하기 위한 테스트가 수행되는 결정(655)으로 진행된다. 증강된 데이터의 풍부함 및 스케일을 증가시키기 위해, 증강 기능은 각각의 예로부터, 그것의 원래의 클래스에 관계없이, 네거티브 및 포지티브 클래스 증강 둘 모두를 생성한다. 따라서, 예를 들면, 포지티브 클래스 샘플은, 밸런스를 맞추는 하위 그래프가 생성되는 것을 보장하기 위해, 네거티브 클래스 샘플로 종합적으로 또한 변환된다. 데이터에 대한 일부 라벨 결정에서는 특정한 아이디어 표현의 밸런스를 갖는 이점이 있다. 밸런스가 맞춰진 예를 생성하는 실시형태는, 예를 들면 사전 기반의 방법, 반의어 대체 방법, 또는 네거티브 벡터 기반의 임베딩 방법, 등등을 포함할 수 있다.
결정(655)을 결정하기 위한 기준은 라벨링 서비스(142)의 사용자 설정, 라벨 표준 설정, 또는 증강 기능 설정일 수 있다. 새로 발견된 포지티브 예가 밸런스가 맞춰져야 한다는 것을 결정(655)이 결정하는 경우, 방법은 최근에 발견된 포지티브 예에 관련되는 안티 라벨 예를 획득하는 데 필요한 데이터가 결정되는 단계(660)로 진행된다. 한 실시형태에서, 단계(660)에서 결정되는 안티 라벨 데이터는 텍스트 스니펫의 우선 순위 키워드의 세트, 텍스트 스니펫의 우선 순위 키워드의 세트의 반전, 안티 라벨의 우선 순위 키워드의 세트, 및 안티 라벨의 우선 순위 키워드의 컨텍스트에서 텍스트 스니펫의 우선 순위 키워드의 반전의 컨텍스트 인식 키워드의 세트를 포함한다. 안티 라벨의 컨텍스트를 고려하여 텍스트 스니펫의 반전의 컨텍스트 인식 키워드의 세트를 획득된 이후, 방법은 컨텍스트 인식 키워드의 세트에 대해 순위가 매겨진 검색 취출 결과의 세트가 획득되는 단계(620)로 진행된다. 그 다음, 방법은 포지티브 예에 대해 본원에서 설명되는 방법을 사용하여, 그러나, 본원에서 또한 설명되는 바와 같이, 네거티브 예를 찾는 데 적절하고 보완적인 상이한 입력을 사용하여, 단계(625, 630, 635, 및 640)를 통해, 네거티브 예를 찾도록 진행된다. 방법(600)에 의해 수신되는 입력은 네거티브 텍스트 컨텍스트 인식 키워드(후보 텍스트를 나타냄) 및 안티 라벨(후보 라벨을 나타냄)을 포함한다. 증강 방법(600)에 의해 네거티브 예가 탐색될 때, 단계(645)에서 충분한 클래스 신뢰도의 증강된 네거티브 예를 획득하기 위해 보완 데이터가 사용된다.
결정(650)에서, 임의의 사용자 입력이 있는지를, 또는 아직 증강되지 않은 임의의 나머지 예가 있는지를 확인하기 위한 테스트가 수행된다. 추가적인 입력이 수신되면, 방법(600)은 추가적인 입력이 프로세싱되는 단계(665)로 진행된다. 증강될 추가적인 예가 있는 경우, 방법은 후보 텍스트가 수신되는 단계(605)로 진행되고, 방법은 새로운 입력 데이터에 대해 반복된다. 단계(650)에서, 사용자가 추가적인 입력을 제공한 경우, 방법은 단계(665)에서 추가적인 입력을 사용하여 개선된 증강을 제공하기 위해 입력을 사용한다. 예를 들면, 새로 획득된 예가 디스플레이 영역(235)에서 사용자에게 디스플레이되고, 사용자가 제어부(236)를 사용하여 확인, 또는 녹색을 선택한 경우, 단계(665)는 그 예를 강력한 예로서 기록할 것이고, 단계(620)에서 샘플의 세트에 그 예를 추가하여 추가적인 예를 생성하는 것에 의해 진행된다. 대안적으로, 사용자가 새로 발견된 예가 불량하다는 것을 판단한 경우, 그는 제어부(236)에 거부 또는 적색의 입력을 입력할 것이고, 방법은 정의된 우선 순위화된 키워드를 가졌던 증강할 예의 세트로부터의 새로운 예를 사용하여 단계(620)로 진행될 것이다. 대안적으로, 키워드가 아직 정의되지 않은 경우, 방법은 단계(605)로 진행될 것이다. 추가적으로, 사용자가 라벨을 수정하여, 수정된 라벨 정의 입력을 그래픽 제어부(206)에 제공하는 경우, 방법은 재설정될 것이고, 단계(606)에서 새로운 라벨을 사용하여 증강 방법을 시작하여, 새로운 라벨의 관점에서 복제될 모든 예를 주시할 것이다.
새로운 사용자 입력이 없고, 증강을 위해 고려될 추가적인 예가 없다는 것을 결정(650)이 결정하는 경우, 방법은 증강 완료 통지를 디스플레이하고, 추가적인 입력이 있을 때까지 결정(650)에서 입력 상태를 주기적으로 샘플링하는 것에 의해 효과적으로 대기한다. 그래픽 제어부(295)를 선택하는 것에 의해 호출되는 데이터 증강의 단계에서, 선택된 스니펫의 예측된 클래스가 의도된 클래스와 매치한다는 것을 결정하기 위해 증강된 텍스트는 노이즈 필터링을 사용하여 검증된다. 한 실시형태에서, 임계치는 샘플을 수락하기 위한 허용 가능한 신뢰도의 레벨을 설정한다. 한 실시형태에서, 컨텍스트 인식 키워드로부터의 쿼리 반환 결과의 수는 적절한 후보를 찾지 못한 채 소진된다. 이 경우, 예는 효과적으로 스킵되고, 에러 메시지가 저장된다. 증강 방법이 완료되면, 증강의 통계치가 사용자를 위해 요약되고, 그래픽 디스플레이(200)와 같은 디스플레이 영역에서 사용자에게 제시되고, 그 결과, 사용자는 증강 기능의 성공의 정도의 표시를 수신하게 된다. 한 실시형태에서, 추가되는 성공적인 포지티브 클래스 예의 개수가 영역(203)에서 디스플레이되고, 추가되는 네거티브 클래스 예의 개수가 영역(205)에서 디스플레이되며, 스킵된 샘플의 개수가 디스플레이 영역(201)에서 디스플레이된다.
라벨 표준을 문서화함에 있어서 "서비스 조화"와 같은 포지티브 클래스의 설명이 탐색된다. 동작 환경(100)에서 도시되는 시스템은 "Pleasant and business-like(쾌적하고 비즈니스처럼)"와 같은 설명적 입력으로부터 그러한 표현을 결정한다. 그러면, 포지티브 클래스는, 일반적으로, 고객에 대한 서비스인 그리고 고객 행복 및 충성도를 장려하는 포지티브 피쳐를 도시하는 문장이다. 탐색되는 클래스의 풍부한 정의를 얻기 위해, 디스서비스 또는 부조화 중 어느 하나를 반영하는 문장의 예를 갖는 것이 또한 도움이 된다. 동작 환경(100)에서 도시되는 것과 같은 시스템은, 의미론적으로 풍부한, 다양한 아이디어를 갖는, 밸런스가 맞춰진, 그리고 표현의 강도를 위해 필터링되는 예의 세트의 생성 및 증강을 제공한다. 서비스 조화 라벨에서 문장이 포지티브 경향도 또한 네거티브 경향도 나타내지 않는 경우, 그들은 일반적으로 비활성 또는 노란색으로 라벨링된다. 소정의 상황은, 반대 사례로부터의 거리가 아닌, 비활성 사례로부터의 거리를 고려하여, 문장에 대해 두 개의 임계치가 셋업되는 것을 허용한다. 비활성 사례를 반영하는 그러한 샘플은 포지티브 또는 네거티브 예 중 어느 하나로부터 인출될 수 있으며, 상위(parent) 예에 특히 가깝지 않은 것으로 밝혀졌다.
텍스트의 아이디어는 일반적으로, 문장에서 사용되는 워드/시퀀스에 대한 구체적인 귀속이 없는 문장의 의미이다. 예를 들면, 이들 두 문장은 동일한 아이디어를 갖는다:
개는, 너무 지쳤기 때문에, 거리를 건널 수 없었다.
사냥개는, 피곤했기 때문에, 길을 건널 수 없었다.
번역의 풍부함은, 동일한 아이디어를 유지하는, 일반적으로 다양한 표현이다. 다음은 하나의 형태로부터 다른 형태로의 텍스트의 증강에서 많은 풍부함이 있지만, 여전히 동일한 아이디어를 나타내는 두 가지 예이다.
개는, 너무 지쳤기 때문에, 거리를 건널 수 없었다.
내 애완동물은 성 베드로 성당 반대편까지 더 멀리 가고 싶어하지 않는 것 같았다.
아이디어에서의 풍부함은 일반적으로 상이한 관점으로부터의 동일한 아이디어의 표현이다. 다음은 동일한 컨텍스트(예를 들면, '서비스 조화를 묘사하는 문장') 하에 있는, 그러나 매우 상이한 아이디어를 갖는 두 문장의 예이다.
저는 고객 서비스에서 일하는 것을 좋아하는데, 그 이유는 문제가 있는 고객을 모시고 서비스와 친절을 통해 그를 팬으로 만드는 것이 나를 기분 좋게 만들기 때문이다.
나는 당신의 말을 듣고 있습니다; 당신은 당신의 질문에 대한 대답을 내가 모른다고 해서 답답하다고 말씀하시네요, 그러니 문서를 함께 살펴보고 당신이 필요로 하는 정보를 얻을 수 있는지 확인해 보겠습니다. 일반적으로 고급 NLP 모델은 라벨 분류기를 효과적으로 트레이닝시키기 위해 동일한 라벨에 속하는 트레이닝 샘플 전체에 걸쳐 아이디어에서의 풍부함을 필요로 한다.
개시된 솔루션은 다른 접근법보다 우수하다. 특정한 트레이닝 컨텍스트 요건에 대한 실제적이고 풍부한 인간이 생성한 데이터는 임의의 NLP 모델을 트레이닝시키기 위한 '골드(Gold)' 표준이다. 그러나 다른 방법은 고급의 대규모 NLP 모델을 위한 '풍부한', 사람이 생성한, 컨텍스트 요건 인식의 트레이닝 데이터를 증강하는 효과적인 방법을 제공하지 않는다. 데이터 획득 및 라벨링의 '수동' 모드가 이들 고급 모델에 대해 필요한 데이터(이것은 임의의 전통적인 NLP 모델의 것보다 100 배 내지 100000 배 더 많을 수 있음)의 스케일에 대해 확장 가능하지도 않고, 또한 비용 효율적이지도 않기 때문에, 본 개시는 다른 확장 가능한 접근법에 대한 비교에 의해 평가될 수 있다.
데이터 증강의 다른 방법은 풍부함 또는 컨텍스트 인식을 제공하지 않는다. 본원에서 개시되는 방법을 사용하지 않는 다른 접근법, 또는 본 개시의 하나 이상의 방법 및 하위 방법을 사용하여 증강을 이용하는 경우의 그들 동일한 방법과의 최종 모델 성과의 비교가 이루어질 것이다. 고급의 대규모 사전 트레이닝된 트랜스포머 기반의 NLP 모델(예를 들면, Microsoft Turing(마이크로소프트 튜링))과 함께 퓨샷 접근법을 사용하는 동안 최상의 베이스라인이 지켜진다.
제안된 방법은, 메인의 지능적이고, 확장 가능하며, 컨텍스트 요건 인식 데이터 증강 방법 외에, 증강된 데이터를 노이즈에 내성이 있게 만드는 추가적인 방법을 또한 구비한다. 데이터는, 하기에서, 단독의, 그리고 노이즈 감소 애드온을 갖는, 메인 데이터 증강 모듈 둘 모두의 성능을, 이들 모듈 없이 동일한 데이터 샘플에 대한 모뎀, 및 고급의 대규모 트랜스포머 기반의 NLP 모델(예를 들면, Microsoft Turing)에 의해 전달되는 기준 성능(baseline performance)에 비교하여, 나타낸다. 방법은 특정한 컨텍스트 요건/라벨 설명과 관련하여 20 개(포지티브 및 네거티브 경향 각각에 대해 10 개) 내지 100 개 레코드의 범위 내의 샘플을 사용하여 표준화된 데이터세트의 상이한 사이즈의 서브세트를 취한다.
그러한 대규모 모델의 경우, 이 개수의 트레이닝 샘플이 다른 사람들에 의해 매우 작은 것으로 간주되고 임의의 실생활 애플리케이션에 대한 적절한 성능 모델을 트레이닝시키는 것이 불가능한 것으로 간주된다. 이 사실은 이 기술이 없는 그러한 작은 대표적인 데이터세트에 대한 트레이닝된 모델의 차선의 성능에 의해 검증된다. NLP 시스템에 대한 "재현"은 20 개의 샘플로부터 100 개의 샘플까지의 범위에 이르는 샘플 사이즈에 대해 4 %에서부터 8 %까지의 범위에 이른다. 최종 트레이닝된 모델의 모든 검증/테스트는 동일한 컨텍스트 요건(라벨 설명)에 대해 만들어진 검증 데이터세트에 대해 수행되었지만, 그러나 모델을 트레이닝시키기 위해 이용 가능한 소량의 트레이닝 샘플에서 실제로 제시될 수 있는 것보다, 컨텍스트 요건에 대한 많은 상이한, 더 풍부한, 그리고 다양한 '아이디어'를 가졌다. 이 시나리오는 제한된 데이터 소스로부터(예를 들면, 주어진 주제에 대한, 또는 목표 청중의 특정한 클래스/서브세트에 의해 종종 방문되는 포털로부터) 획득되는 훨씬(1000 배) 더 큰 트레이닝 데이터세트에 대한 사례를 예외적으로 나타낸다.
다음으로, 동일한 데이터 샘플(단지 유사한 사이즈의 데이터가 아님)을 사용하여, 동작 환경(100)의 시스템은 노이즈 감소 애드온 모듈 없이 확장 가능한, 지능형, 및 컨텍스트 요건 인식 방법 흐름만을 사용하여 개시된 방법을 한 번 구현한다. 이 방법은 20과 100 사이의 샘플 사이즈에 대해 8 % 재현과 17 % 재현 사이를 제공하였다. 노이즈 감소가 수행되는 경우, 성능은 유사하지만, 그러나 샘플 사이즈 40에서 14 % 재현의 초기 이점이 있다. 조건 둘 모두에서, 개시된 방법은 베이스라인보다 훨씬 더 나은 결과를 전달하였다. 또한 더 작은 데이터 샘플 사이즈에서, 개시되는 바와 같은 노이즈 감소 애드온 모듈은 훨씬 더 나은 결과를 제공하였다.
개시된 방법은, 기저의 모델이 더 나은 재현/FPR/정확도를 전달할 수 있는 대규모의 고급 NLP 데이터에 대한 트레이닝 데이터를 증강하고, 그것이 증강할 수 있는 데이터의 아이디어의 풍부함 및 변동에 기인하여, 모델은 컨텍스트를 더 잘, 그리고 더 전체적으로 학습할 수 있는데, 이것은 모델이 새로운 데이터/도메인에 대해 합리적으로 더 잘 수행할 수 있다는 것을 의미한다.
증강된 샘플은 검색 기반이고, 그러므로 인간/기업이 생성한 실제 샘플인데, 이것은 실생활 애플리케이션 하에서, 이들 시스템 상에서 트레이닝되는 모델이 더 신뢰 가능하고, 안정적이다는 것을 보장한다.
개시된 방법은, 풍부한 컨텍스트를 학습하기 위해 매우 다양한 아이디어의 표현을 필요로 하는 고급 트랜스포머 기반의 NLP 모델에 대해서도 방대한 양의 현실적인 인간/기업이 생성한 트레이닝 데이터를 증강할 수 있다.
개시된 방법은 (자신의 동의어/반의어를 갖는 임의의 워드를 단지 변경하는 것 또는 랜덤 워드를 추가/교체하는 것과는 대조적으로) 컨텍스트 요건을 인식한다. 이것은 큰 이점인데, 그 이유는, 이것이 임의의 다운스트림 모델에 대한 노이즈를 크게 감소시킬 뿐만 아니라, 또한 다운스트림 모델에 대한 더욱 관련성이 있는 트레이닝 데이터를 보장하고, 따라서 모델의 성능, 정확도, 관련성, 신뢰성, 및 안정성을 개선하기 때문이다.
대규모 모델에 대한 데이터를 수동으로 획득하고 등급을 매기는 것은 불충분하다:
첫째, 고급의 대규모 트랜스포머 기반의 NLP 모델이 매우 풍부한 표현 데이터의 최소 수천 개의 샘플을 필요로 하기 때문이다. 그러한 데이터는 단일의 소스로부터 획득하기 어렵고, 시간 소모적이며, 비용이 많이 든다. 그러한 접근법은 과거에 전통적인 모델(다른 비 AI 기반의 증강 기술과 커플링됨)에서 작동했지만, 그러나 현대의 NLP 생태계로 확장되지는 않는다.
둘째, 심지어 다수의 데이터 소스로부터 그러한 데이터를 획득하는 경우에도, 이들 데이터는, 시간, 비용, 그리고 가장 중요하게는 그러한 데이터의 등급에 관련되는 편견의 모든 미묘한 차이를 가지고, 등급이 매겨지는 것을 필요로 하기 때문이다.
이제, 도 13 내지 도 15를 참조하면, 본원에서 설명되는 방법(1300, 1400, 및 1500)의 각각의 블록은 하드웨어, 펌웨어, 및/또는 소프트웨어의 임의의 조합을 사용하여 수행될 수 있는 컴퓨팅 프로세스를 포함한다. 예를 들면, 메모리에 저장되는 명령어를 실행하는 프로세서에 의해 다양한 기능이 실행될 수 있다. 방법은 컴퓨터 저장 매체 상에 저장되는 컴퓨터 사용 가능 명령어로서 또한 구체화될 수 있다. 방법은, 몇몇을 거론하자면, 독립형 애플리케이션, 서비스 또는 호스팅된 서비스(독립형 또는 다른 호스팅된 서비스와 결합됨) 또는 다른 제품에 대한 플러그인에 의해 제공될 수 있다. 또한, 방법(1300, 1400, 및 1500)은, 예를 들면, 도 1 내지 도 12의 시스템 및 방법과 관련하여, 예로서, 설명된다. 그러나, 이들 방법은, 추가적으로 또는 대안적으로, 본원에서 설명되는 것들을 포함하는, 그러나 이들로 제한되지는 않는, 임의의 하나의 시스템, 또는 시스템의 임의의 조합에 의해 실행될 수 있다.
도 13은, 본 개시의 일부 실시형태에 따른, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법에 대한 방법(1300)을 도시하는 흐름도이다. 방법(1300)은, 블록(1302)에서, 후보 텍스트를 수신하는 것을 포함한다. 도 2를 참조하여 앞서 설명되는 바와 같이, 후보 텍스트는 사용자 인터페이스를 통해 수신될 수 있다. 대안적으로, 후보 텍스트는 문서의 그룹, 전자 메일, 또는 텍스트의 다른 소스일 수 있다. 양태에서, 후보 텍스트는 더 큰 문서의 일부, 예컨대 문서의 문장, 문구, 또는 단락일 수 있다. 방법(1300)은, 블록(1304)에서, 라벨 설명을 수신하는 것을 포함한다. 도 2를 참조하여 앞서 설명되는 바와 같이, 라벨 설명은 사용자 인터페이스를 통해 수신될 수 있다. 사용자는 하나 이상의 문서, 전자 메일, 텍스트, 소셜 미디어 게시물, 또는 다른 텍스트 콘텐츠가 라벨 설명과 대응하는지의 여부를 결정할 목적으로 라벨 설명을 제출할 수 있다. 예를 들면, 사용자는 고객 서비스를 구체화하는 문서를 식별하기를 원할 수 있다. 방법(1300)은 라벨 설명이 후보 텍스트에 대응하는지의 여부를 결정할 수 있다. 텍스트 및 라벨 설명에서의 개념이 유사한 의미를 갖는 경우 라벨은 후보 텍스트에 대응한다.
방법(1300)은, 블록(1306)에서, 쿼리를 생성하기 위해 라벨 설명을 사용하는 것을 포함한다. 예를 들면, 라벨로부터 유도되는 우선 순위화된 키워드는 도 6의 단계(615) 및 단계(620)에서 설명되는 바와 같이 쿼리로서 사용된다. 대안적으로, 라벨로부터 유도되는 우선 순위화된 키워드는 도 7에서 도시되는 바와 같이 단계(615)에서와 같이 컨텍스트 인식 키워드의 세트를 형성하기 위해 예로부터 유도되는 우선 순위화된 키워드와 연계하여 사용된다.
방법(1300)은, 블록(1308)에서, 검색 엔진에 쿼리를 전달하는 것을 포함한다. 라벨링 서비스(142)는 쿼리를 검색 서비스(164)로 전송한다. 한 실시형태에서, 검색 서비스(164)는 검색 엔진의 API 버전이다. 한 실시형태에서, 클라이언트 버전의 검색이 사용된다. 검색 서비스(164)는 쿼리를 수신하고 문서 집성본(154)에 대한 검색을 수행한다. 검색 엔진은 각각의 결과에 대한 순위, 각각의 결과에 대한 검색 점수, 쿼리에 관련되는 위치에서 문서를 샘플링하는 텍스트 스니펫을 포함하는 순위가 매겨진 취출 결과의 블록을 결정한다. 검색 서비스(164)는 도 6의 단계(620)와 연계하여 논의되는 바와 같이 순위가 매겨진 검색 결과의 세트를 획득한다.
방법(1300)은, 블록(1310)에서, 쿼리에 응답하는 텍스트 문자열을 검색 엔진으로부터 수신하는 것을 포함한다. 검색 서비스(164)는 순위가 매겨진 검색 결과의 세트를 포함하는 결과 페이지를, 각각의 순위가 매겨진 검색 결과에 대한 텍스트 스니펫을 포함하는 라벨링 서비스(142)로 전송한다. 몇몇 경우에, 높은 순위 또는 높은 검색 점수 관련성의 엔트리가 라벨링 서비스(142)에 의해 선택되어, 텍스트 스니펫을 텍스트 문자열로서 선택한다. 몇몇 경우에, 도 6과 연계하여 설명되는 바와 같이, 단계(625)에서 설명되는 바와 같이 텍스트 스니펫을 획득하는 것, 단계(630)에서 텍스트 스니펫의 라벨 클래스 신뢰도를 정량화하는 것, 및 결정(635)에서 텍스트 스니펫이 적절한 클래스를 갖는지를 충분한 신뢰도를 가지고 결정하는 것에 의해 순위가 매겨진 검색 결과의 목록이 평가되는 루프가 형성된다. 만약 그렇지 않다면, 방법은 단계(640)에서 그 스니펫의 실패를 기록하고 단계(625)로 복귀한다. 단계(635)에서 충분한 신뢰도의 텍스트 스니펫이 발견되는 경우, 충분한 신뢰도를 갖는 것으로 발견된 텍스트 스니펫은 쿼리에 응답하는 텍스트 문자열로서 선택된다.
방법(1300)은, 블록(1312)에서, 텍스트 문자열 및 후보 텍스트를 생성적 모델에 입력하는 것을 포함한다. 텍스트 문자열은 기본적으로 포지티브 예이거나 또는 네거티브 예이고, 따라서, 그것은 본원에서 개시되는 바와 같은 예시적인 프로세싱과 연계하여 사용된다. 몇몇 경우에, 생성적 모델의 위험의 양을 나타내는 파라미터가 저장소(180)로부터 취출된다. NC 방법(도 4의 단계(410) 및 단계(420)), SL 방법(도 4의 단계(410) 및 단계(420)), SS 방법(도 5의 단계(510) 및 단계(520)), 및 LP 방법(도 12의 단계(1210), 단계(1220) 및 단계(1230))에 대해 설명되는 바와 같이, 예 텍스트 문자열(example text string)을 후보 모델에 입력하기 위한 본원에서 설명되는 네 가지 기본 방법이 있다. 일부 실시형태에서 생성적 모델의 모드는 제로샷 모드이다.
방법(1300)은, 블록(1314)에서, 생성적 모델로부터 생성된 텍스트를 수신하는 것을 포함하는데, 생성된 텍스트는 복수의 토큰 및 관련된 확률을 포함한다. 생성된 텍스트는 모델에 의해 생성되는 텍스트 토큰의 실제 스트림뿐만 아니라, 각각의 토큰에 대해 보고되는 관련된 토큰 확률, 및 각각의 로그 확률이 모델이 선택했을 수 있는 토큰에 대응하는 설정된 수의 우도를 설명하는 로그 확률의 벡터를 포함한다. 상기에서 설명되는 바와 같이, NC, LP, SS 및 LP 방법에서 개시되는 바와 같이, 생성적 모델로부터 생성된 텍스트를 수신하기 위한 본원에서 개시되는 네 가지 기본 방법이 있다. 도 4에서 도시되는 NC 방법에서, 단계(420)의 NC 실시형태와 연계하여 설명되는 바와 같이 클래스 라벨에 대해 텍스트가 수신되어 스캐닝된다. 도 4에서 또한 도시되는 SL 방법에서, 단계(420)의 SL 실시형태와 연계하여 설명되는 바와 같이 라벨 및 안티 라벨의 키워드에 대해 텍스트가 수신되어 스캐닝된다. 도 5에서 도시되는 SS 방법에서, 생성된 텍스트는 단계(530)에서 설명되는 바와 같이 검색 쿼리에서 사용된다. 도 12에서 도시되는 LP 방법에서, 로그 확률은 단계(1215, 1225 및 1235)와 연계하여 사용된다.
방법(1300)은, 블록(1316)에서, 생성된 텍스트에 기초하여 라벨 확률 추정치를 결정하는 것을 포함한다. 다시 말하지만, NC, SL, SS 및 LP 방법에서 개시되는 바와 같이 라벨 확률을 결정하는 네 가지 기본 방법이 있다. NC 방법에서, 단계(430)에서, 라벨 번호 또는 안티 라벨 번호의 토큰 확률이 근사치에 대한 입력으로서 사용되는데, 이것은, 일부 실시형태에서, 실험적으로 추정된 스케일링 계수를 사용한다. SL 방법에서, 단계(430)에서, 라벨 또는 안티 라벨의 키워드 또는 이들의 동의어의 토큰 확률은 안티 라벨 표시와는 대조적으로 라벨 표시의 강도의 근사치를 형성하기 위해 사용된다. SS 방법에서, 단계(540)에서, 네거티브 예 문서와는 대조적으로, 포지티브 예 문서의 순위의 밸런스를 맞추기 위해 조정 규칙이 사용된다. LP 방법에서, 단계(1250)에서, 예측 가능성의 임계치를 초과하는 결과는 라벨 확률에 근사하도록 포지티브 확률로의 그리고 네거티브 확률로의 스케일링을 제공한다.
방법(1300)은, 블록(1318)에서, 라벨 확률 추정치에 기초하여 후보 텍스트가 라벨 설명에 대응하는지의 여부의 표시를 출력하는 것을 포함한다. 도 2를 참조하여 앞서 설명되는 바와 같이, 표시는 사용자 인터페이스를 통해 출력될 수 있다. 하나의 양태에서, 표시는 이진 값 예/아니요 또는 유사한 표시일 수 있다. 다른 양태에서, 표시는 상관 관계의 정도 또는 강도를 표현할 수 있다.
도 14는, 본 개시의 일부 실시형태에 따른, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법에 대한 방법(1400)을 도시하는 흐름도이다. 방법(1400)은, 블록(1402)에서, 후보 텍스트를 수신하는 것을 포함한다. 도 2를 참조하여 앞서 설명되는 바와 같이, 후보 텍스트는 사용자 인터페이스를 통해 수신될 수 있다. 대안적으로, 후보 텍스트는 문서의 그룹, 전자 메일, 또는 텍스트의 다른 소스일 수 있다. 양태에서, 후보 텍스트는 더 큰 문서의 일부, 예컨대 문서의 문장, 문구, 또는 단락일 수 있다. 방법(1400)은, 블록(1404)에서, 라벨 설명을 수신하는 것을 포함한다. 도 2를 참조하여 앞서 설명되는 바와 같이, 라벨 설명은 사용자 인터페이스를 통해 수신될 수 있다. 사용자는 하나 이상의 문서, 전자 메일, 텍스트, 소셜 미디어 게시물, 또는 다른 텍스트 콘텐츠가 라벨 설명과 대응하는지의 여부를 결정할 목적으로 라벨 설명을 제출할 수 있다. 예를 들면, 사용자는 고객 서비스를 구체화하는 문서를 식별하기를 원할 수 있다.
방법(1400)은, 블록(1406)에서, 생성적 모델에 대한 입력으로서 후보 텍스트를 사용하여 생성적 모델로부터 후보 결과를 생성하는 것을 포함한다. 방법(1400)은 라벨 설명이 후보 텍스트에 대응하는지의 여부를 결정할 수 있다. 텍스트 및 라벨 설명에서의 개념이 유사한 의미를 갖는 경우 라벨은 후보 텍스트에 대응한다. 한 실시형태에서, 라벨은, 각각이 라벨을 구체화하는 또는 라벨에 적합한 구체적인 예인 여러 예를 적절하게 설명하는 추상화 또는 카테고리이다. 생성적 모델에 대한 입력으로서 후보 텍스트를 사용하여 생성적 모델로부터 후보 결과를 생성하는 단계는 도 5의 단계(520)에서 설명된다. 그래픽 디스플레이(200)로부터 입력되는 후보 텍스트의 예는 그래픽 제어부(202)에서 도시되는 바와 같이 "I would be happy to help you with your sprocket order(귀하의 스프로킷 주문을 기꺼이 도와드리겠습니다)"이다.
방법(1400)은, 블록(1408)에서, 생성적 모델에 대한 입력으로서 포지티브 예 텍스트(positive example text)를 사용하여 생성적 모델로부터 포지티브 예 결과(positive example result)를 생성하는 것을 포함하는데, 포지티브 예 텍스트는 라벨 설명을 구체화한다. 단계(1408 및 1410)는 일반적으로 도 5의 단계(530)에서 설명된다. 그래픽 디스플레이(200)에서 도시되는 예에서, 포지티브 예 텍스트는 디스플레이 영역(231)에서 도시되는 바와 같이 "Let me know if there's anything else I can do for you. I'm happy to help(내가 당신을 위해 할 수 있는 다른 일이 있으면 알려주세요. 기꺼이 도와드리겠습니다)"일 수 있다.
방법(1400)은, 블록(1410)에서, 생성적 모델에 대한 입력으로서 네거티브 예 텍스트를 사용하여 생성적 모델로부터 네거티브 예 결과를 생성하는 것을 포함하는데, 네거티브 예 텍스트는 라벨 설명과 반대되는 개념을 구체화한다. 그래픽 디스플레이(200)에서 도시되는 네거티브 예 텍스트의 예는 그래픽 디스플레이 영역(261)에서 도시되는 바와 같이 "This is your problem, not mine(이건 내 문제가 아니라 당신의 문제입니다)"일 수 있다.
방법(1400)은, 블록(1412)에서, 포지티브 예 결과 및 네거티브 예 결과를 포함하는 집성본에 대한 제2 쿼리로서 후보 결과를 검색 엔진에 제출하는 것으로부터의 응답에 기초하여 포지티브 예 결과의 제1 순위 점수를 결정하는 것을 포함한다. 순위 점수는 수치적 순위인 1, 2, 3일 수 있는데, 여기서 더 낮은 숫자 값은 실제로 더 높은 순위(먼저 나열됨)를 반영한다. 순위 점수는 후보 결과와 포지티브 예 결과 사이의 코사인 유사도일 수 있다.
방법(1400)은, 블록(1414)에서, 포지티브 예 결과 및 네거티브 예 결과를 포함하는 집성본에 대한 제2 쿼리로서 후보 결과를 검색 엔진에 제출하는 것으로부터의 응답에 기초하여 네거티브 예 결과의 제2 순위 점수를 결정하는 것을 포함한다. 순위 점수는, 예를 들면, 후보 결과와 네거티브 예 결과 사이의 코사인 유사도일 수 있다. 유사도 척도는 의미론적 검색 엔진을 사용하여 깊은 벡터 공간에서 측정될 수 있다.
방법(1400)은, 블록(1416)에서, 포지티브 예 결과의 제1 순위 점수를 네거티브 예 결과의 제2 순위 점수에 비교하는 것에 의해 라벨 확률 추정치를 결정하는 것을 포함한다. 본원에서 개시되는 조정 규칙은 확률을 추정하기 위해 사용될 수 있다. 한 실시형태에서, 라벨 확률은 평균 포지티브 예 코사인 유사도와 평균 네거티브 예 코사인 유사도 사이의 스케일링된 비교이다. 한 실시형태에서, 스케일링 계수는 감소 계수로서 랜덤하게 선택된 텍스트의 코사인 유사도를 찾는 것에 의해 결정된다. 한 실시형태에서, 스케일링 계수는 계수로서 사용자 확인의 레이트를 측정하는 것에 의해 결정된다.
방법(1400)은, 블록(1418)에서, 라벨 확률 추정치에 기초하여 후보 텍스트가 라벨 설명에 대응하는지의 여부의 표시를 출력하는 것을 포함한다. 하나의 양태에서, 표시는 이진 값 예/아니요 또는 유사한 표시일 수 있다. 다른 양태에서, 표시는 상관 관계의 정도 또는 강도를 표현할 수 있다.
도 15는, 본 개시의 일부 실시형태에 따른, 분류기에 대한 트레이닝 데이터를 증강하기 위한 방법에 대한 방법(1500)을 도시하는 흐름도이다.
방법(1500)은, 블록(1502)에서, 분류기에 대해, 클래스 라벨과 관련되는 예 텍스트를 포함하는 트레이닝 데이터 인스턴스를 수신하는 것을 포함한다. 트레이닝 데이터 인스턴스는 인터페이스를 통해 사용자에 의해 제공될 수 있다. 다른 양태에서, 트레이닝 데이터는 트레이닝 데이터 콜렉션으로부터 추출된다.
방법(1500)은, 블록(1504)에서, 예 텍스트에 대한 우선 순위 키워드의 세트를 결정하는 것을 포함한다. 우선 순위 키워드는, 예를 들면, 도 9와 연계하여 설명되는 바와 같이 결정된다. 방법(1500)은, 블록(1506)에서, 클래스 라벨에 대한 우선 순위 키워드의 세트를 결정하는 것을 포함한다. 클래스 라벨에 대해 결정되는 우선 순위 키워드의 세트는, 예를 들면, 도 3의 단계(307)에서, 그리고 도 9에서 설명되는 바와 같이 결정된다.
방법(1500)은, 블록(1508)에서, 우선 순위 키워드의 세트로부터 컨텍스트 인식 키워드의 세트를 그리고 우선 순위 키워드의 세트를 결정하는 것을 포함한다. 컨텍스트 인식 키워드의 세트를 결정하는 방법은 도 7에서 설명된다. 컨텍스트 인식 키워드의 예는 그래픽 디스플레이(200)의 디스플레이 영역(204)에서 도시되는 바와 같이 "helping, happy, customer"일 수 있다.
방법(1500)은, 블록(1510)에서, 컨텍스트 인식 키워드의 세트를 포함하는 쿼리를 검색 엔진에 전달하는 것을 포함한다. 라벨링 서비스(142)는 컨텍스트 인식 키워드를 포함하는 쿼리를 검색 서비스(164)로 전송한다. 한 실시형태에서, 검색 서비스(164)는 검색 엔진의 API 버전이다. 한 실시형태에서, 클라이언트 버전의 검색이 사용된다. 검색 서비스(164)는 쿼리를 수신하고 문서 집성본(154)에 대한 검색을 수행한다. 검색 엔진은 각각의 결과에 대한 순위, 각각의 결과에 대한 검색 점수, 쿼리에 관련되는 위치에서 문서를 샘플링하는 텍스트 스니펫을 포함하는 순위가 매겨진 취출 결과의 블록을 결정한다. 검색 서비스(164)는 도 6의 단계(620)와 연계하여 논의되는 바와 같이 순위가 매겨진 검색 결과의 세트를 획득한다.
방법(1500)은, 블록(1512)에서, 쿼리에 응답하여, 검색 엔진으로부터 텍스트 스니펫을 수신하는 것을 포함한다. 검색 서비스(164)는 순위가 매겨진 검색 결과의 세트를 포함하는 결과 페이지를, 각각의 순위가 매겨진 검색 결과에 대한 텍스트 스니펫을 포함하는 라벨링 서비스(142)로 전송한다. 몇몇 경우에, 높은 순위 또는 높은 검색 점수 관련성의 엔트리가 라벨링 서비스(142)에 의해 선택되고, 따라서 텍스트 스니펫을 선택한다. 몇몇 경우에, 도 6과 연계하여 설명되는 바와 같이, 단계(625)에서 설명되는 바와 같이 잠재적인 텍스트 스니펫을 획득하는 것, 단계(630)에서 잠재적인 텍스트 스니펫의 라벨 클래스 신뢰도를 정량화하는 것, 및 결정(635)에서 잠재적인 텍스트 스니펫이 적절한 클래스를 갖는지를 충분한 신뢰도를 가지고 결정하는 것에 의해 순위가 매겨진 검색 결과의 목록이 평가되는 루프가 형성된다. 만약 그렇지 않다면, 방법은 단계(640)에서 그 스니펫의 실패를 기록하고 단계(625)로 복귀한다. 충분한 신뢰도를 갖는 잠재적인 텍스트 스니펫이 단계(635)에서 발견되면, 충분한 신뢰도를 갖는 것으로 밝혀진 잠재적인 텍스트 스니펫은, 쿼리에 응답하여, 반환될 텍스트 스니펫으로서 선택된다.
방법(1500)은, 블록(1514)에서, 텍스트 스니펫 및 클래스 라벨을 포함하는 증강된 트레이닝 데이터 인스턴스를 생성하는 것을 포함한다. 한 실시형태에서, 텍스트 스니펫을 포함하는 그리고 클래스 라벨과 관련되는 추가적인 예를 포함하는 것에 의해 라벨링 표준은 증가된다. 본원에서 개시되는 바와 같이 라벨링 표준에 대한 추가적인 예를 포함하도록 라벨링 표준을 저장, 수정 및 향상시키는 방법은, 텍스트 스니펫 또는 클래스 라벨의 새로운 예를 포함하는 증강된 인스턴스(또는 라벨링 표준)를 생성하는 예이다.
방법(1500)은, 블록(1516)에서, 증강된 트레이닝 데이터 인스턴스를 사용하여 트레이닝되는 분류기를 사용하여 후보 텍스트를 클래스로 분류하는 것을 포함한다.
방법(1500)은, 블록(1518)에서, 후보 텍스트가 클래스에 대응하는 라벨에 대응한다는 표시를 출력하는 것을 포함한다. 하나의 양태에서, 표시는 이진 값 예/아니요 또는 유사한 표시일 수 있다. 다른 양태에서, 표시는 상관 관계의 정도 또는 강도를 표현할 수 있다.
예시적인 동작 환경
일반적으로 도면을 참조하면, 특히 초기에 도 8을 참조하면, 본원에서 설명되는 기술의 양태를 구현하기 위한 예시적인 동작 환경이 일반적으로 컴퓨팅 디바이스(800)로서 도시되고 지정된다. 컴퓨팅 디바이스(800)는 적절한 컴퓨팅 환경의 하나의 예에 불과하며, 본원에서 설명되는 기술의 사용의 범위에 대해 임의의 제한을 시사하도록 의도되는 것은 아니다. 또한, 컴퓨팅 디바이스(800)는 예시되는 컴포넌트 중 임의의 하나 또는 이들의 조합에 관련이 있는 어떠한 의존성 또는 요건도 갖는 것으로 해석되지 않아야 한다.
본원에서 설명되는 기술은, 컴퓨터 또는 다른 머신, 예컨대 개인 휴대형 정보 단말 또는 다른 핸드헬드식 디바이스에 의해 실행되고 있는 컴퓨터 실행 가능 명령어, 예컨대 프로그램 컴포넌트를 비롯한, 컴퓨터 코드 또는 머신 사용 가능 명령어의 일반적인 컨텍스트에서 설명될 수 있다. 일반적으로, 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조, 및 등등을 포함하는 프로그램 컴포넌트는 특정한 태스크를 수행하는 또는 특정한 추상 데이터 타입을 구현하는 코드를 가리킨다. 본원에서 설명되는 기술은 핸드헬드식 디바이스, 소비자 전자기기, 범용 컴퓨터, 특수 컴퓨팅 디바이스, 등등을 비롯한, 다양한 시스템 구성에서 실시될 수 있다. 본원에서 설명되는 기술의 양태는 또한, 통신 네트워크를 통해 링크되는 원격 프로세싱 디바이스에 의해 태스크가 수행되는 분산형 컴퓨팅 환경에서 실시될 수 있다.
도 8을 계속 참조하면, 컴퓨팅 디바이스(800)는 다음의 디바이스를 직접적으로 또는 간접적으로 커플링하는 버스(810)를 포함한다: 메모리(812), 하나 이상의 프로세서(814), 하나 이상의 프리젠테이션 컴포넌트(816), 입력/출력(input/output' I/O) 포트(818), I/O 컴포넌트(820), 및 예시적인 전력 공급부(822). 버스(810)는 하나 이상의 버스(예컨대, 어드레스 버스, 데이터 버스, 또는 이들의 조합)일 수 있는 것을 나타낸다. 도 8의 다양한 블록이 명확화를 위해 라인을 사용하여 도시되지만, 실제로, 다양한 컴포넌트를 묘사하는 것은 그렇게 명확하지 않으며, 은유적으로, 라인은 더욱 정확하게는 회색이고 희미할 것이다. 예를 들면, 프리젠테이션 컴포넌트, 예컨대 디스플레이 디바이스를 I/O 컴포넌트인 것으로 간주할 수 있다. 또한, 프로세서는 메모리를 구비한다. 본원의 발명자는, 그러한 것이 기술의 본질임을 인식하고 도 8의 다이어그램이 본원에서 설명되는 기술의 하나 이상의 양태와 관련하여 사용될 수 있는 예시적인 컴퓨팅 디바이스의 예시에 불과하다는 것을 다시 한 번 강조한다. "워크스테이션", "서버", "랩탑", "핸드헬드식 디바이스" 등등과 같은 그러한 카테고리 사이에는 구별이 이루어지지 않는데, 모두가 도 8의 범위 내에서 고려되고 "컴퓨터" 또는 "컴퓨팅 디바이스"를 가리키기 때문이다.
컴퓨팅 디바이스(800)는 통상적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨팅 디바이스(800)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있으며 휘발성 및 불휘발성 매체, 착탈식 및 비착탈식 매체 둘 모두를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 불휘발성의 착탈식 및 비착탈식의 매체 둘 다를 포함한다.
컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(digital versatile disk; DVD) 또는 다른 광학 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스를 포함한다. 컴퓨터 저장 매체는 전파된 데이터 신호를 포함하지 않는다.
통신 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호에서의 다른 데이터를 통상적으로 구체화하며 임의의 정보 전달 매체를 포함할 수 있다. 용어 "변조된 데이터 신호"는, 자신의 특성 세트 중 하나 이상이 신호에 정보를 인코딩하는 것과 같은 방식으로 설정되거나 또는 변경된 신호를 의미한다. 비제한적인 예로서, 통신 매체는 유선 네트워크 또는 직결 접속과 같은 유선 매체, 및 무선 매체 예컨대 음향, RF, 적외선 및 다른 무선 매체를 포함한다. 상기의 것 중 임의의 것의 조합이 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
메모리(812)는 휘발성 및/또는 불휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 메모리(812)는 착탈식, 비착탈식, 또는 이들의 조합일 수 있다. 예시적인 메모리는 솔리드 스테이트 메모리, 하드 드라이브, 광학 디스크 드라이브, 등등을 포함한다. 컴퓨팅 디바이스(800)는 버스(810), 메모리(812), 또는 I/O 컴포넌트(820)와 같은 다양한 엔티티로부터 데이터를 판독하는 하나 이상의 프로세서(814)를 포함한다. 프리젠테이션 컴포넌트(들)(816)는 사용자 또는 다른 디바이스에 데이터 표시를 제시한다. 예시적인 프리젠테이션 컴포넌트(816)는 디스플레이 디바이스, 스피커, 인쇄 컴포넌트, 진동 컴포넌트, 등등을 포함한다. I/O 포트(818)는 컴퓨팅 디바이스(800)가, I/O 컴포넌트(820)를 비롯한 다른 디바이스 - 이들 중 일부는 내장될 수 있음 - 에 논리적으로 커플링되는 것을 허용한다.
예시적인 I/O 컴포넌트는 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너, 프린터, 디스플레이 디바이스, 무선 디바이스, 컨트롤러(예컨대, 스타일러스, 키보드, 및 마우스), 내츄럴 사용자 인터페이스(natural user interface; NUI), 및 등등을 포함한다. 양태에서, 자유로운 사용자 입력을 디지털 방식으로 캡쳐하기 위해 펜 디지타이저(도시되지 않음) 및 수반되는 입력 기구(또한 도시되지는 않지만 그러나, 단지 예로서, 펜 또는 스타일러스를 포함할 수 있음)가 제공된다. 펜 디지타이저와 프로세서(들)(814) 사이의 연결은 직접적일 수 있거나 또는 직렬 포트, 병렬 포트, 및/또는 기술 분야에서 공지되어 있는 다른 인터페이스 및/또는 시스템 버스를 활용하는 커플링을 통할 수 있다. 더구나, 디지타이저 입력 컴포넌트는 디스플레이 디바이스와 같은 출력 컴포넌트와는 분리되는 컴포넌트일 수 있거나, 또는 몇몇 양태에서, 디지타이저의 사용 가능한 입력 영역은 디스플레이 디바이스의 디스플레이 영역과 공존할 수 있거나, 디스플레이 디바이스와 통합될 수 있거나, 또는 디스플레이 디바이스에 오버레이되는 또는 다른 방식으로 추가되는 별개의 디바이스로서 존재할 수 있다. 임의의 그리고 모든 그러한 변형예, 및 이들의 임의의 조합은 본원에서 설명되는 기술의 양태의 범위 내에 있는 것으로 고려된다.
NUI는 사용자에 의해 생성되는 공중 제스쳐, 음성, 또는 다른 생리학적 입력을 프로세싱한다. 적절한 NUI 입력은 컴퓨팅 디바이스(800)와 관련한 프리젠테이션을 위해 잉크 스트로크(ink stroke)로서 해석될 수 있다. 이들 요청은 추가적인 프로세싱을 위해 적절한 네트워크 엘리먼트로 송신될 수 있다. NUI는 음성 인식, 터치 및 스타일러스 인식, 얼굴 인식, 생체 인식, 화면 상 및 화면 근처 둘 모두에서의 제스쳐 인식, 공중 제스쳐, 머리 및 눈 추적, 및 컴퓨팅 디바이스(800) 상의 디스플레이와 관련한 터치 인식의 임의의 조합을 구현한다. 컴퓨팅 디바이스(800)는 제스쳐 검출 및 인식을 위해, 깊이 카메라, 예컨대 입체 카메라 시스템, 적외선 카메라 시스템, RGB 카메라 시스템, 및 이들의 조합을 갖출 수 있다. 추가적으로, 컴퓨팅 디바이스(800)는 모션의 검출을 가능하게 하는 가속도계 또는 자이로스코프를 갖출 수 있다. 가속도계 또는 자이로스코프의 출력은 몰입형 증강 현실 또는 가상 현실을 렌더링하기 위해 컴퓨팅 디바이스(800)의 디스플레이에 제공될 수 있다.
실시형태
본원에서 설명되는 기술은 특정한 양태와 관련하여 설명되었는데, 특정한 양태는 모든 관점에서, 제한적인 것으로 의도되기 보다는, 예시적인 것으로 의도된다. 본원에서 설명되는 기술이 다양한 수정 및 대안적인 구성을 허용하지만, 이들의 소정의 예시된 양태가 도면에서 도시되어 있고 상기에서 상세하게 설명되었다. 그러나, 본원에서 설명되는 기술을 개시되는 특정한 형태로 제한하려는 의도는 없으며, 오히려, 본원에서 설명되는 기술의 취지와 범위 내에 속하는 모든 수정예, 대안적 구성예, 및 등가예를 포괄하는 것이 의도이다는 것이 이해되어야 한다.
예를 들면, 집성본(154)과 관련하여 문서를 라벨링하는 라벨링 서비스(122)는 때때로 기업 CRM 데이터의 집성본을 논의하였지만, 그러나 라벨링 서비스는 문서의 임의의 집성본과 관련하여 문서의 일부를 라벨링할 수 있다. 집성본(154)은 개인용 하드 드라이브, 클라우드 스토리지의 일부, 웹페이지의 세트, 영화 데이터베이스, 등등일 수 있다.
추가적으로 라벨링 애플리케이션(110)은 일반적으로 라벨링 결과를 제공하는 애플리케이션으로 설명되었다. 라벨링 애플리케이션(110)은 유리한 조합을 통해 검색 서비스(164)와 결합될 수 있다. 예를 들면, 검색 서비스(164)로부터의 결과의 더 큰 세트는 라벨링 서비스를 통해 필터링되어 라벨에 적합하지 않은 그들 반환 결과를 제거할 수 있다. 추가적인 예로서, 검색 서비스(164)는 100 개의 가장 관련성이 높은 반환 결과를 반환하도록 구성될 수 있으며, 라벨에 관련되는 그들 반환 결과는 순위가 매겨진 목록의 최상부로 이동될 수 있다. 한 실시형태에서, 사용자는 그래픽 제어부(206)에 라벨 설명을 입력하고, 검색 서비스(164)는 가능한 포지티브 예를 제시하는 엔트리의 세트, 및 가능한 네거티브 예를 제시하는 엔트리의 세트를 사용자에게 반환한다. 사용자는 포지티브 예 및 네거티브 예를 선택하고, 방법은 사용자가 선택한 포지티브 엔트리의 텍스트 스니펫으로부터 포지티브 예가 취해지고 사용자가 선택한 네거티브 엔트리의 텍스트 스니펫으로부터 네거티브 예가 취해지는 방법(300)을 수행하도록 진행된다. 그 다음 검색 서비스(164)는 프로세싱을 라벨링 서비스(142)로 넘겨준다. 라벨링 서비스(142)는 사용자에 의해 입력되는 라벨을 고려하여, 검색 서비스(164)에 의해 반환되는 각각의 엔트리로부터의 각각의 텍스트 스니펫이 후보 텍스트로서 평가되는 방법(300)을 호출하는 것에 의해 검색 서비스(164)에 대한 엔트리 필터링을 수행하도록 진행되고, 그 결과 엔트리는 원시 키워드 유사도보다는 라벨 확률에 기초하여 순위가 매겨지고, 웹 결과의 의미론적으로 관련된 목록으로서 사용자에게 제시된다.
더구나, 라벨링 애플리케이션(110)은, 키워드 관련성보다는 라벨 강도의 조합에 기초하여 문서를 반환하는 라벨 강도 인덱스를 제공하는 문서의 집성본에 대한 검색 인덱스를 생성하기 위해 사용될 수 있다. 또한, 키워드 인덱스 및 라벨 강도 인덱스를 가중된 조합으로서 가중하여 검색 순위를 결정하는 하이브리드 검색이 생성될 수 있다.
본원에서 개시되는 분류 레벨은 때때로 라벨 및 안티 라벨로서의 이진 레벨이었다. 본원에서 설명되는 기술은 다항 라벨 분류기를 제공하기 위해 다항 레벨을 프로세싱할 수 있다.
추가적으로 검색 또는 웹 검색이 본원에서 설명되는 임의의 곳에서, 전통적인 키워드 검색 대신 의미론적 근접성에 기초한 의미론적 검색이 수행될 수 있다.
실시형태 1. 후보 텍스트를 수신하는 것 및 라벨 설명을 수신하는 것을 포함하는 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법. 방법은 쿼리를 생성하기 위해 라벨 설명을 사용하는 것을 또한 포함한다. 방법은 쿼리를 검색 엔진에 전달하는 것을 또한 포함한다. 방법은 쿼리에 응답하는 텍스트 문자열을 검색 엔진으로부터 수신하는 것을 또한 포함한다. 방법은 텍스트 문자열 및 후보 텍스트를 생성적 모델에 입력하는 것을 또한 포함한다. 방법은 생성적 모델로부터 생성된 텍스트를 수신하는 것을 또한 포함하는데, 생성된 텍스트는 복수의 토큰 및 관련된 확률을 포함한다. 방법은 생성된 텍스트에 기초하여 라벨 확률 추정치를 결정하는 것을 또한 포함한다. 방법은 라벨 확률 추정치에 기초하여 후보 텍스트가 라벨 설명에 대응하는지의 여부의 표시를 출력하는 것을 또한 포함한다.
실시형태 2. 실시형태 1의 방법으로, 라벨 확률 추정치는 라벨에 대응하는 생성된 텍스트의 토큰 확률로부터 결정된다.
실시형태 3. 실시형태 2의 방법으로서, 라벨은 포지티브 라벨 또는 안티 라벨이다.
실시형태 4. 이전 실시형태 중 임의의 하나에서와 같은 방법으로서, 라벨 확률 추정치는 라벨 설명의 키워드 또는 안티 라벨의 키워드에 대응하는 생성된 텍스트의 토큰 확률로부터 결정된다.
실시형태 5. 이전 실시형태 중 임의의 하나에서와 같은 방법으로서, 검색 엔진을 위한 검색 엔진 기술은 규칙 기반의 검색, 의미론적 근접성에 기초한 의미론적 검색, 또는 트랜스포머 모델을 사용하는 컨텍스트에 맞춰진 검색으로 구성되는 그룹으로부터 선택된다.
실시형태 6. 이전 실시형태 중 임의의 하나에서와 같은 방법으로서, 생성된 텍스트에 기초하여 라벨 확률 추정치를 결정하는 것은 생성된 텍스트에 기초하는 제1 라벨 점수에 적용되는 제1 가중치 및 후보 텍스트가 제2 생성적 모델에 입력될 때 제2 생성적 모델로부터 수신되는 제2 생성된 텍스트에 기초하는 제2 라벨 점수에 적용되는 제2 가중치를 사용하는 것을 포함한다.
실시형태 7. 실시형태 6의 방법으로서, 제1 가중치 및 제2 가중치는 라벨 설명과 유사한 상이한 라벨 설명에 대한 저장된 가중치의 세트를 찾는 것에 의해 결정된다.
실시형태 8. 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스로 하여금 후보 텍스트를 수신하는 것 및 라벨 설명을 수신하는 것을 포함하는 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법을 수행하게 하는 명령어를 포함하는 컴퓨터 판독 가능 매체. 방법은 생성적 모델에 대한 입력으로서 후보 텍스트를 사용하여 생성적 모델로부터 후보 결과를 생성하는 것을 또한 포함한다. 방법은 생성적 모델에 대한 입력으로서 포지티브 예 텍스트를 사용하여 생성적 모델로부터 포지티브 예 결과를 생성하는 것을 또한 포함하는데, 포지티브 예 텍스트는 라벨 설명을 구체화한다. 방법은 생성적 모델에 대한 입력으로서 네거티브 예 텍스트를 사용하여 생성적 모델로부터 네거티브 예 결과를 생성하는 것을 또한 포함하는데, 네거티브 예 텍스트는 라벨 설명과 반대되는 개념을 구체화한다. 방법은 포지티브 예 결과 및 네거티브 예 결과를 포함하는 집성본에 대한 쿼리로서 후보 결과를 검색 엔진에 제출하는 것으로부터의 응답에 기초하여 포지티브 예 결과의 제1 순위 점수를 결정하는 것을 또한 포함한다. 방법은 포지티브 예 결과 및 네거티브 예 결과를 포함하는 집성본에 대한 쿼리로서 후보 결과를 검색 엔진에 제출하는 것으로부터의 응답에 기초하여 네거티브 예 결과의 제2 순위 점수를 결정하는 것을 또한 포함한다. 방법은 포지티브 예 결과의 제1 순위 점수를 네거티브 예 결과의 제2 순위 점수에 비교하는 것에 의해 라벨 확률 추정치를 결정하는 것을 또한 포함한다. 방법은 라벨 확률 추정치에 기초하여 후보 텍스트가 라벨 설명에 대응하는지의 여부의 표시를 출력하는 것을 또한 포함한다.
실시형태 9. 이전 실시형태 중 임의의 것에서와 같은 매체로서, 검색 엔진은 의미론적 검색 엔진이다.
실시형태 10. 이전 실시형태 중 임의의 것에서와 같은 매체로서, 생성적 모델은 제로 샷 모드에서 실행되는 GPT3이다.
실시형태 11. 이전 실시형태 중 임의의 것에서와 같은 매체로서, 표시는 라벨 확률 추정치 및 상이한 방법에 의해 계산되는 제2 라벨 확률 추정치의 가중된 조합에 기초한다.
실시형태 12. 실시형태 11의 매체로서, 후보 텍스트는 문서들의 집성본이다.
실시형태 13. 하나 이상의 프로세서; 및 하나 이상의 프로세서에 의해 사용될 때 하나 이상의 프로세서로 하여금 방법을 수행하게 하는 컴퓨터 사용 가능 명령어를 저장하는 하나 이상의 컴퓨터 저장 매체를 포함하는 시스템. 방법은, 분류기에 대해, 클래스 라벨과 관련되는 예 텍스트를 포함하는 트레이닝 데이터 인스턴스를 수신하는 것을 포함한다. 방법은 예 텍스트에 대한 우선 순위 키워드의 세트를 결정하는 것을 또한 포함한다. 방법은 클래스 라벨에 대한 우선 순위 키워드의 세트를 결정하는 것을 또한 포함한다. 방법은 우선 순위 키워드의 세트로부터 컨텍스트 인식 키워드의 세트를 그리고 우선 순위 키워드의 세트를 결정하는 것을 또한 포함한다. 방법은 컨텍스트 인식 키워드의 세트를 포함하는 쿼리를 검색 엔진에 전달하는 것을 또한 포함한다. 방법은, 쿼리에 응답하여, 검색 엔진으로부터 텍스트 스니펫을 수신하는 것을 또한 포함한다. 방법은 텍스트 스니펫 및 클래스 라벨을 포함하는 증강 트레이닝 데이터 인스턴스를 생성하는 것을 또한 포함한다. 방법은 증강된 트레이닝 데이터 인스턴스를 사용하여 트레이닝되는 분류기를 사용하여 후보 텍스트를 클래스로 분류하는 것을 또한 포함한다. 방법은 후보 텍스트가 클래스에 대응하는 라벨에 대응한다는 표시를 출력하는 것을 또한 포함한다.
실시형태 14. 실시형태 13의 시스템으로서, 예 텍스트는 클래스 라벨의 포지티브 예이다.
실시형태 15. 실시형태 13의 시스템으로서, 예 텍스트는 클래스 라벨의 네거티브 예이다.
실시형태 16. 실시형태 14 또는 15 중 임의의 하나에서와 같은 시스템으로서, 예 텍스트에 대한 우선 순위 키워드의 세트 및 클래스 라벨에 대한 우선 순위 키워드의 세트를 그래프 구조에 저장하는 것을 더 포함한다.
실시형태 17. 실시형태 14, 15 또는 16 중 임의의 하나에서와 같은 시스템으로서, 방법은, 예를 들면, 텍스트에 대한 우선 순위 키워드의 세트의 용어에 대한 제1 임베딩을 획득하는 것을 더 포함한다. 방법은 클래스 라벨에 대한 우선 순위 키워드의 세트의 용어에 대한 제2 임베딩을 획득하는 것을 또한 포함한다. 방법은 컨텍스트 인식 키워드를 결정하기 위해 제1 임베딩 및 제2 임베딩에 대한 연산을 사용하는 것을 또한 포함한다.
실시형태 18. 실시형태 17의 시스템으로서, 연산을 사용하는 것은 예 텍스트에 대한 우선 순위 키워드의 세트의 용어와 클래스 라벨에 대한 우선 순위 키워드의 세트의 용어 사이의 코사인 유사도를 계산하는 것을 포함한다.
실시형태 19. 실시형태 14, 15, 16, 17, 또는 18 중 임의의 하나에서와 같은 시스템으로서, 컨텍스트 인식 키워드의 세트를 결정하는 것은, 클래스 라벨에 대한 키워드의 컨텍스트에 대한 예 텍스트에 대한 우선 순위 키워드의 세트의 각각의 용어의 관련성에 따라 예 텍스트에 대한 키워드를 필터링하는 것을 포함한다.
실시형태 20. 실시형태 14, 15, 16, 17, 18 또는 19 중 임의의 하나에서와 같은 시스템으로서, 텍스트 스니펫 및 클래스 라벨을 수신하고 텍스트 스니펫이 클래스 라벨을 구체화할 확률이 임계치보다 높다는 표시를 반환하는 라벨 채점 방법을 사용하는 것에 의해 텍스트 스니펫이 클래스 라벨을 표현할 가능성이 있다는 것을 확인하는 것을 더 포함한다.
실시형태 21. 후보 텍스트를 수신하는 것을 포함하는 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법. 방법은 라벨 설명을 수신하는 것; 라벨 설명을 구체화하는 포지티브 예 텍스트를 수신하는 것을 더 포함한다. 방법은 라벨 설명과 반대되는 개념을 구체화하는 네거티브 예 텍스트를 수신하는 것을 더 포함한다. 방법은 포지티브 예 텍스트 및 후보 텍스트에 생성적 모델을 적용하여 포지티브 예 결과를 획득하는 것을 더 포함한다. 방법은 생성적 모델을 네거티브 예 텍스트 및 후보 텍스트에 적용하여 네거티브 예 결과를 획득하는 것; 포지티브 예 텍스트, 네거티브 예 텍스트, 및 후보 텍스트에 생성적 모델을 적용하여 기준 결과(baseline result)를 획득하는 것; 포지티브 예 결과의 관련된 로그 확률을, 기준 결과의 컨텍스트에서의 네거티브 예 결과의 관련된 로그 확률에 비교하는 것에 의해 라벨 확률 추정치를 결정하는 것을 더 포함한다. 방법은 라벨 확률 추정치에 기초하여 후보 텍스트가 라벨 설명에 대응하는지의 여부의 표시를 출력하는 것을 더 포함한다.
실시형태 22, 실시형태의 2의 방법으로서, 생성된 텍스트의 토큰 확률은 라벨에 대응하는 숫자의 토큰 확률을 포함한다.
실시형태 23, 실시형태 2의 방법으로서, 생성된 텍스트의 토큰 확률은 안티 라벨에 대응하는 토큰 확률을 포함한다.
실시형태 24, 실시형태 2의 방법으로서, 라벨 확률 추정치는 안티 라벨에 대응하는 생성된 텍스트의 토큰 확률로부터 결정된다.
실시형태 25. 실시형태 2의 방법으로서, 라벨 확률 추정치는 문자열 라벨의 키워드의 동의어인 생성된 텍스트로부터의 용어의 토큰 확률로부터 결정된다.
실시형태 26, 실시형태 2의 방법으로서, 라벨 확률 추정치는 문자열 라벨의 키워드인 생성된 텍스트로부터의 용어의 토큰 확률로부터 결정된다.
실시형태 27, 실시형태 24 또는 25로서, 두 개의 토큰 확률은 결합되어 전체 확률 추정치를 형성한다.
실시형태 28, 실시형태 25 또는 26의 방법으로서, 토큰 라벨 확률 추정치는 문자열 라벨의 키워드 또는 문자열 라벨의 키워드 동의어인 생성적 텍스트로부터의 두 개의 용어의 확률을 통합한다.

Claims (12)

  1. 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법으로서,
    후보 텍스트를 수신하는 단계;
    라벨 설명을 수신하는 단계;
    쿼리를 생성하기 위해 상기 라벨 설명을 사용하는 단계;
    상기 쿼리를 검색 엔진에 전달하는 단계;
    상기 쿼리에 응답하는 텍스트 문자열을 상기 검색 엔진으로부터 수신하는 단계;
    상기 텍스트 문자열 및 상기 후보 텍스트를 생성적 모델(generative model)에 입력하는 단계;
    상기 생성적 모델로부터 생성된 텍스트 - 상기 생성된 텍스트는 복수의 토큰 및 관련된 확률을 포함함 - 를 수신하는 단계;
    상기 생성된 텍스트에 기초하여 라벨 확률 추정치를 결정하는 단계; 및
    상기 라벨 확률 추정치에 기초하여 상기 후보 텍스트가 상기 라벨 설명에 대응하는지의 여부의 표시를 출력하는 단계를 포함하는, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법.
  2. 제1항에 있어서,
    상기 라벨 확률 추정치는 라벨에 대응하는 상기 생성된 텍스트의 토큰 확률로부터 결정되는, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법.
  3. 제2항에 있어서,
    상기 라벨은 포지티브 라벨(positive label) 또는 안티 라벨(anti-label)인, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법.
  4. 제1항에 있어서,
    상기 라벨 확률 추정치는 상기 라벨 설명의 키워드 또는 안티 라벨의 키워드에 대응하는 상기 생성된 텍스트의 토큰 확률로부터 결정되는, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법.
  5. 제1항에 있어서,
    상기 검색 엔진을 위한 검색 엔진 기술은 규칙 기반의 검색, 의미론적 근접성(semantic nearness)에 기초한 의미론적 검색(semantic search), 또는 트랜스포머 모델(transformer model)을 사용하는 컨텍스트에 맞춰진 검색(contextualized search)으로 구성되는 그룹으로부터 선택되는, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법.
  6. 제1항에 있어서,
    상기 생성된 텍스트에 기초하여 상기 라벨 확률 추정치를 결정하는 단계는 상기 생성된 텍스트에 기초하는 제1 라벨 점수에 적용되는 제1 가중치 및 상기 후보 텍스트가 제2 생성적 모델에 입력될 때 상기 제2 생성적 모델로부터 수신되는 제2 생성된 텍스트에 기초하는 제2 라벨 점수에 적용되는 제2 가중치를 사용하는 단계를 포함하는, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법.
  7. 제6항에 있어서,
    상기 제1 가중치 및 상기 제2 가중치는 상기 라벨 설명과 유사한 상이한 라벨 설명에 대한 저장된 가중치의 세트를 찾는 것에 의해 결정되는, 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법.
  8. 컴퓨팅 디바이스에 의해 실행될 때 상기 컴퓨팅 디바이스로 하여금 클래스 라벨과 텍스트 사이의 대응성을 결정하기 위한 방법을 수행하게 하는 명령어를 포함하는 컴퓨터 판독 가능 매체로서,
    상기 방법은:
    후보 텍스트를 수신하는 단계;
    라벨 설명을 수신하는 단계;
    생성적 모델에 대한 입력으로서 상기 후보 텍스트를 사용하여 상기 생성적 모델로부터 후보 결과를 생성하는 단계;
    상기 생성적 모델에 대한 입력으로서 포지티브 예 텍스트(positive example text) - 상기 포지티브 예 텍스트는 상기 라벨 설명을 구체화함 - 를 사용하여 상기 생성적 모델로부터 포지티브 예 결과(positive example result)를 생성하는 단계;
    생성적 모델에 대한 입력으로서 네거티브 예 텍스트(negative example text) - 상기 네거티브 예 텍스트는 상기 라벨 설명과 반대되는 개념을 구체화함 - 를 사용하여 상기 생성적 모델로부터 네거티브 예 결과(negative example result)를 생성하는 단계;
    상기 포지티브 예 결과 및 상기 네거티브 예 결과를 포함하는 집성본(corpus)에 대한 쿼리로서 상기 후보 결과를 검색 엔진에 제출하는 것으로부터의 응답에 기초하여 상기 포지티브 예 결과의 제1 순위 점수를 결정하는 단계;
    상기 포지티브 예 결과 및 상기 네거티브 예 결과를 포함하는 집성본에 대한 상기 쿼리로서 상기 후보 결과를 상기 검색 엔진에 제출하는 것으로부터의 상기 응답에 기초하여 상기 네거티브 예 결과의 제2 순위 점수를 결정하는 단계;
    상기 포지티브 예 결과의 상기 제1 순위 점수를 상기 네거티브 예 결과의 상기 제2 순위 점수에 비교하는 것에 의해 라벨 확률 추정치를 결정하는 단계; 및
    상기 라벨 확률 추정치에 기초하여 상기 후보 텍스트가 상기 라벨 설명에 대응하는지의 여부의 표시를 출력하는 단계를 포함하는, 명령어를 포함하는 컴퓨터 판독 가능 매체.
  9. 제8항에 있어서,
    상기 검색 엔진은 의미론적 검색 엔진인, 명령어를 포함하는 컴퓨터 판독 가능 매체.
  10. 제8항에 있어서,
    상기 생성적 모델은 제로샷 모드에서 실행되는 GPT3인, 명령어를 포함하는 컴퓨터 판독 가능 매체.
  11. 제8항에 있어서,
    상기 표시는 상기 라벨 확률 추정치 및 상이한 방법에 의해 계산되는 제2 라벨 확률 추정치의 가중된 조합에 기초하는, 명령어를 포함하는 컴퓨터 판독 가능 매체.
  12. 제11항에 있어서,
    상기 후보 텍스트는 문서의 집성본인, 명령어를 포함하는 컴퓨터 판독 가능 매체.
KR1020237045327A 2021-06-29 2022-05-23 텍스트 데이터의 자동 라벨링 KR20240023535A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN202141029147 2021-06-29
IN202141029147 2021-06-29
US17/711,506 US20220414137A1 (en) 2021-06-29 2022-04-01 Automatic labeling of text data
US17/711,506 2022-04-01
PCT/US2022/030464 WO2023278070A1 (en) 2021-06-29 2022-05-23 Automatic labeling of text data

Publications (1)

Publication Number Publication Date
KR20240023535A true KR20240023535A (ko) 2024-02-22

Family

ID=82156528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237045327A KR20240023535A (ko) 2021-06-29 2022-05-23 텍스트 데이터의 자동 라벨링

Country Status (6)

Country Link
EP (1) EP4364000A1 (ko)
KR (1) KR20240023535A (ko)
AU (1) AU2022304683A1 (ko)
BR (1) BR112023027439A2 (ko)
CA (1) CA3225020A1 (ko)
WO (1) WO2023278070A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116415154B (zh) * 2023-06-12 2023-08-22 江西五十铃汽车有限公司 一种基于gpt的车辆故障解决方案生成方法及装置
CN116910279B (zh) * 2023-09-13 2024-01-05 深圳市智慧城市科技发展集团有限公司 标签提取方法、设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635727B2 (en) * 2016-08-16 2020-04-28 Ebay Inc. Semantic forward search indexing of publication corpus

Also Published As

Publication number Publication date
BR112023027439A2 (pt) 2024-03-12
CA3225020A1 (en) 2023-01-05
WO2023278070A1 (en) 2023-01-05
EP4364000A1 (en) 2024-05-08
AU2022304683A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
US11347783B2 (en) Implementing a software action based on machine interpretation of a language input
US11657231B2 (en) Capturing rich response relationships with small-data neural networks
AU2019200437B2 (en) A method to build an enterprise-specific knowledge graph
US10713571B2 (en) Displaying quality of question being asked a question answering system
US11144830B2 (en) Entity linking via disambiguation using machine learning techniques
US10984385B2 (en) Query building for search by ideal candidates
US11048705B2 (en) Query intent clustering for automated sourcing
US20220414137A1 (en) Automatic labeling of text data
US11710070B2 (en) Machine learned model framework for screening question generation
CN110337645B (zh) 可适配的处理组件
US20180341871A1 (en) Utilizing deep learning with an information retrieval mechanism to provide question answering in restricted domains
US10373075B2 (en) Smart suggestions for query refinements
US20170024375A1 (en) Personal knowledge graph population from declarative user utterances
US11017040B2 (en) Providing query explanations for automated sourcing
US20060242130A1 (en) Information retrieval using conjunctive search and link discovery
US11410031B2 (en) Dynamic updating of a word embedding model
US20180232702A1 (en) Using feedback to re-weight candidate features in a streaming environment
CN112889043A (zh) 以用户为中心的浏览器位置
KR20240023535A (ko) 텍스트 데이터의 자동 라벨링
Li et al. Personal knowledge graph population from user utterances in conversational understanding
Ma et al. DC-CNN: Dual-channel Convolutional Neural Networks with attention-pooling for fake news detection
CN111368555B (zh) 一种数据识别方法、装置、存储介质和电子设备
Shrivastava et al. ISEQL: Interactive sequence learning
US11914600B2 (en) Multiple semantic hypotheses for search query intent understanding
Secker et al. AISIID: An artificial immune system for interesting information discovery on the web