KR20160030996A - 컴퓨터-인간 대화형 학습에서의 대화형 세그먼트 추출 - Google Patents
컴퓨터-인간 대화형 학습에서의 대화형 세그먼트 추출 Download PDFInfo
- Publication number
- KR20160030996A KR20160030996A KR1020167003639A KR20167003639A KR20160030996A KR 20160030996 A KR20160030996 A KR 20160030996A KR 1020167003639 A KR1020167003639 A KR 1020167003639A KR 20167003639 A KR20167003639 A KR 20167003639A KR 20160030996 A KR20160030996 A KR 20160030996A
- Authority
- KR
- South Korea
- Prior art keywords
- concept
- token
- segment
- labeling
- data item
- Prior art date
Links
Images
Classifications
-
- G06N99/005—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G06F17/2735—
-
- G06F17/2785—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
극도로 큰 데이터의 콜렉션이 검색 및/또는 분석하는 것을 어렵게 할 수 있다. 관련도가 유용한 카테고리들에서의 질의들 및 웹 페이지들을 자동으로 분류하고, 이들 분류 스코어들을 관련도 피처들로서 사용함으로써 극적으로 개선될 수도 있다. 철저한 접근법이 다양한 유형들의 정보, 활동들, 및 제품들에 대응하는 다수의 분류자들을 구축하는 것을 요구할 수도 있다. 분류자들 및 스키마하는 자들의 생성은 큰 데이터 세트들 상에 제공된다. 수백만의 아이템들에 대해 분류자들 및 스키마하는 자들을 연습하는 것은 사용가능한 메타-데이터를 추가함으로써 데이터에 고유한 값을 드러낼 수도 있다. 몇몇 양태들은 액티브 라벨링 탐색, 자동 정형화 및 콜드 스타트, 아이템들의 수 및 분류자들의 수를 이용한 스케일링, 액티브 피처링, 그리고 세그먼트화 및 스키마화를 포함한다.
Description
극도로 큰 데이터의 콜렉션이 검색 및/또는 분석하는 것을 어렵게 할 수 있다. 예를 들어, 웹의 경우, 데이터의 큰 부분이 구조화되어 있지 않고 값이 데이터 자체에서 잠겨 있다. 서비스 제공자의 웹 페이지를 저장하는 것이 충분하지 않다. 이 정보가 유용해지기 위해서는, 이해되는 것이 필요하다. 숫자들의 문자열이 콘텍스트에 따라 달라지는 모델 번호, 은행 계좌, 또는 전화 번호일 수 있다. 예를 들면, 스키 제품의 맥락에서, 문자열 "길이: 170,175,180 cm"는 3 개의 상이한 스키 길이들을 지칭하고, 1700 킬로미터의 스키 길이를 지칭하지 않는다. 데이터의 부정확한 해석이 쓸모 없는 정보를 초래할 수도 있다.
일 예로서, 사용자가 두 개의 단어들인 "mtor" 및 "주식(stock)"을 인터넷 검색 엔진에 입력하고, 그 결과들이 의약품 mTor에 관련된 웹 페이지들로 주로 이루어진다면, 검색 엔진은 검색을 주식 시세들의 질의(query)로서 인식하는데 실패했다. 다른 예로서, 사용자가 두 개의 단어들인 "시애틀(Seattle)" 및 "스시(sushi)"를 인터넷 검색 엔진에 입력하고, 그 결과들이 시애틀에서의 호텔들에 관련된 웹 페이지들로 주로 이루어진다면, 검색 엔진은 검색을 레스토랑 질의로서 인식하는데 실패했다. 인터넷 검색 엔진들이 헤드 및 문서들에 대해 합리적인 일을 종종 하지만, 정확도는 끝 부분에서 빠르게 저하되는데, 정보가 검색 엔진들에 의해 자동으로 이해되지 않기 때문이다.
검색 결과들의 관련도(relevance)가, 질의들 및 웹 페이지들이 유용한 카테고리들, 이를테면 주식 시세 또는 식당들로 자동으로 분류되면, 그리고, 이들 분류 스코어들이 관련도 피처들로서 사용되었다면, 극적으로 개선될 수도 있다. 철저한 접근법이 다양한 유형들의 정보, 활동들, 및 제품들에 대응하는 다수의 분류자(classifier)들을 구축하는 것을 요구할 수도 있다. 분류자들의 수는 언어들의 수와 콘텍스트(질의들, 웹 페이지들, 광고 발췌물들(ad snippets), 제품 피드들 등)의 수에 의해 추가로 곱해질 수도 있다. 분류 및 스키마화(schematization) 태스크들에서의 컴퓨터 정확도를 인간 레벨들로 가져가는 것과 이러한 태스크들을 큰 스케일로 수행하기 위해 일반인들이 자신들의 컴퓨터 클론들을 생성하는 것을 용이하게 하는 것이 바람직하다. 하나의 예로서, 수 시간 내에 큰 데이터 세트들 상의 분류자들 및 스키마하는 자(schematizer)들의 생성을 허용하는데 최적인 도구가 제공될 수 있다. 분류자들 및 스키마하는 자들이 수억의 아이템들에 대해 연습될 때, 그것들은 사용 가능한 메타데이터를 추가함으로써 데이터에 고유한 값을 드러낼 수도 있다. 이러한 도구의 몇몇 응용들이 검색, 광고, 및 상거래를 포함한다.
본원에서 사용되는 스키마화(schematization)라는 용어는 스키마의 필드들을 식별하고 채우는 액션을 지칭한다. 예를 들어, 레시피의 스키마는 네 개의 필드들로 이루어질 수 있다: 제목, 설명, 재료들, 및 지시들. 레시피 스키마에 대한 웹 페이지의 스키마화는 그 페이지를 레시피 스키마의 하나 이상의 인스턴스들이 되게 세그먼트화하고 그에 따라 필드들을 채우는 액션이다.
인터넷 검색 엔진들은 질의들, 웹 페이지들, 및 광고들을 이해하기 위한 시도에서 수백 개의 분류자들 및 엔티티 추출자들을 구축하였다. 유감스럽게도, 현재 접근법들의 효능은 기계-학습 전문가들의 수, 프로그래머들의 수, 및 태스크들의 복잡도에 의해 제한된다.
인간들은 데이터로부터 시맨틱 의미를 추출하는데 우수하다. 이는 데이터가 그들을 위해 또는 그들에 의해 제작되었을 때에 특히 그러하다. 예를 들면, 그들은 웹 페이지들, 질의들, 또는 제품 피드들을 손쉽게 라벨링(또는 세그먼트화) 할 수 있다. 유감스럽게도, 인간은 이러한 것들을 큰 스케일로 하는데 당황스러울 정도로 나쁘다. 페이지당 10 초에서, 주어진 토픽에 관련된 모든 페이지들을 식별하기 위해 1억 웹 페이지들을 샅샅이 조사하기에는 누구라도 기간이 충분히 길지 않을 것이다. 컴퓨터들은 정반대의 능력들을 갖는다. 그것들은 시맨틱 이해에서는 당혹스러울 정도로 형편 없고 그것들은 큰 스케일에서 일을 함에 있어서는 뛰어나다. 본원에서 설명되는 접근법 이면의 철학은 인간들 및 컴퓨터들 양쪽 모두의 강점들을 활용하는 고도의 대화형 및 직관적 시스템을 구축하는 것이다. "고도의 대화형(highly-interactive)"은 인간에 의해 입력된 라벨 또는 피처가 컴퓨테이션에 대해 즉각적인 효과를 가져야 한다는 것을 의미한다. 수 초 내에, 그것은 어떤 에러들이 만들어지거나 또는 회피되는지, 어떤 아이템이 다음으로 라벨링되어야 하는지, 어떤 피처에 사용자가 집중해야 하는지, 및 스키마의 어떤 필드가 추가 또는 제거되어야 하는지에 영향을 미쳐야 한다. "직관적"은 사용자들이 기계 학습 또는 프로그래밍 전문지식 없이 그들의 액션들의 영향과 그들의 목표들을 달성하는 방법을 이해하여야 함을 의미한다. 이 접근법은 컴퓨터들 및 인간들 양쪽 모두로부터의 사이클들을 요구한다. 그 사이클들은 신속한 기계 학습 "수정들"을 통해 긴밀하게 얽혀 있을 수도 있다. 인간은 컴퓨터들을 안내하고 있고 반대의 경우도 있다.
효율의 다른 양태는 다른 사람의 작업 상에 구축하는 능력이다. 웹의 폭발적인 증가의 중요한 기여는 "소스 보기(view source)" 및 복사-붙여넣기 능력이었다. 기계 학습에서, 복사-붙여넣기 능력은 훈련된 분류자들이 다른 분류자들에 대한 피처들로서 사용될 수 있다는 사실에서 나온다. 검색 가능한 및 문서로 된 분류자 리포지터리를 생성함으로써, 사람들은 서로의 작업 상에 구축하는 것이 가능하게 된다. 이는 분류자들 및 스키마하는 자들 양쪽 모두에게 적용된다.
도 1은 본 발명의 일 실시형태에 따른 예시적인 동작 환경을 묘사하며;
도 2는 본 발명의 일 실시형태에 따른 검색 가능한 데이터 아이템들의 코퍼스를 표현하는 예시적인 데이터 세트를 묘사하며;
도 3은 본 발명의 일 실시형태에 따른 예시적인 확률 선도를 묘사하며;
도 4는 본 발명의 일 실시형태에 따른 예시적인 액티브 라벨링 탐색 정보 흐름을 묘사하며;
도 5는 본 발명의 일 실시형태에 따른 예시적인 샘플링 분포들을 묘사하며;
도 6은 본 발명의 일 실시형태에 따른 예시적인 액티브 라벨링 탐색 스케일링의 개요를 묘사하며;
도 7은 본 발명의 일 실시형태에 따른 예시적인 분류 기능을 묘사하며;
도 8은 본 발명의 일 실시형태에 따른 예시적인 인터페이스를 묘사하며;
도 9는 본 발명의 일 실시형태에 따른 거리 주소의 예시적인 세그먼트화를 묘사하며;
도 10은 본 발명의 일 실시형태에 따른 세그먼터(segmenter)의 예시적인 트렐리스(trellis) 표현을 묘사하며;
도 11은 본 발명의 일 실시형태에 따른 웹 페이지로부터 추출된 주소의 예시적인 부분들을 묘사하며;
도 12는 본 발명의 일 실시형태에 따른 주소들을 추출하는 예시적인 유한 상태 기계를 묘사하며;
도 13은 본 발명의 일 실시형태에 따른 경로 확률들을 계산하기 위한 예시적인 유한 상태 기계 트렐리스를 묘사하며;
도 14는 본 발명의 일 실시형태에 따른 예시적인 트렐리스 에지 가중 함수들을 묘사하며;
도 15는 본 발명의 일 실시형태에 따른 예시적인 유한 상태 기계 모듈들을 묘사하며;
도 16은 본 발명의 일 실시형태에 따른 예시적인 유한 상태 기계를 묘사하며;
도 17은 본 발명의 일 실시형태에 따른 주소들의 이진 라벨링을 위한 시스템의 예시적인 스크린 샷을 묘사하며;
도 18은 본 발명의 일 실시형태에 따른 주소들의 이진 라벨링을 위한 시스템에서의 예시적인 검색 결과들을 묘사하며;
도 19는 본 발명의 일 실시형태에 따른 주소들의 이진 라벨링을 위한 시스템의 예시적인 스크린 샷을 묘사하며;
도 20은 본 발명의 일 실시형태에 따른 주소들의 이진 라벨링을 위한 시스템의 예시적인 스크린 샷을 묘사하며;
도 21은 본 발명의 일 실시형태에 따른 라벨링 리뷰 패널의 예시적인 스크린 샷을 묘사하며;
도 22는 본 발명의 일 실시형태에 따른 사용자 라벨링된 문서에서의 모델 예측의 예시적인 스크린 샷을 묘사하며; 그리고
도 23은 본 발명의 일 실시형태에 따른 라벨링 도구의 예시적인 스크린 샷을 묘사한다.
도 2는 본 발명의 일 실시형태에 따른 검색 가능한 데이터 아이템들의 코퍼스를 표현하는 예시적인 데이터 세트를 묘사하며;
도 3은 본 발명의 일 실시형태에 따른 예시적인 확률 선도를 묘사하며;
도 4는 본 발명의 일 실시형태에 따른 예시적인 액티브 라벨링 탐색 정보 흐름을 묘사하며;
도 5는 본 발명의 일 실시형태에 따른 예시적인 샘플링 분포들을 묘사하며;
도 6은 본 발명의 일 실시형태에 따른 예시적인 액티브 라벨링 탐색 스케일링의 개요를 묘사하며;
도 7은 본 발명의 일 실시형태에 따른 예시적인 분류 기능을 묘사하며;
도 8은 본 발명의 일 실시형태에 따른 예시적인 인터페이스를 묘사하며;
도 9는 본 발명의 일 실시형태에 따른 거리 주소의 예시적인 세그먼트화를 묘사하며;
도 10은 본 발명의 일 실시형태에 따른 세그먼터(segmenter)의 예시적인 트렐리스(trellis) 표현을 묘사하며;
도 11은 본 발명의 일 실시형태에 따른 웹 페이지로부터 추출된 주소의 예시적인 부분들을 묘사하며;
도 12는 본 발명의 일 실시형태에 따른 주소들을 추출하는 예시적인 유한 상태 기계를 묘사하며;
도 13은 본 발명의 일 실시형태에 따른 경로 확률들을 계산하기 위한 예시적인 유한 상태 기계 트렐리스를 묘사하며;
도 14는 본 발명의 일 실시형태에 따른 예시적인 트렐리스 에지 가중 함수들을 묘사하며;
도 15는 본 발명의 일 실시형태에 따른 예시적인 유한 상태 기계 모듈들을 묘사하며;
도 16은 본 발명의 일 실시형태에 따른 예시적인 유한 상태 기계를 묘사하며;
도 17은 본 발명의 일 실시형태에 따른 주소들의 이진 라벨링을 위한 시스템의 예시적인 스크린 샷을 묘사하며;
도 18은 본 발명의 일 실시형태에 따른 주소들의 이진 라벨링을 위한 시스템에서의 예시적인 검색 결과들을 묘사하며;
도 19는 본 발명의 일 실시형태에 따른 주소들의 이진 라벨링을 위한 시스템의 예시적인 스크린 샷을 묘사하며;
도 20은 본 발명의 일 실시형태에 따른 주소들의 이진 라벨링을 위한 시스템의 예시적인 스크린 샷을 묘사하며;
도 21은 본 발명의 일 실시형태에 따른 라벨링 리뷰 패널의 예시적인 스크린 샷을 묘사하며;
도 22는 본 발명의 일 실시형태에 따른 사용자 라벨링된 문서에서의 모델 예측의 예시적인 스크린 샷을 묘사하며; 그리고
도 23은 본 발명의 일 실시형태에 따른 라벨링 도구의 예시적인 스크린 샷을 묘사한다.
본원에서 설명되는 접근법은 논의될 다수의 엔지니어링 및 과학적 도전과제들을 생성한다. 도전과제들은 다음을 포함한다:
제 1 양태에서, 컴퓨터 사용가능 명령(instruction)들을 구현하는 컴퓨터 판독가능 매체들이 기계 학습 시스템에 대해 사용자에 의한 세그먼트 추출 방법을 용이하게 하기 위해 제공된다. 데이터 아이템 세트가 저장되는데, 그 세트에서 각각의 데이터 아이템은 복수의 토큰들을 포함한다. 데이터 아이템 내의 세그먼트를 개념의 예로서 식별하기 위해 훈련 가능한 세그먼트 추출자가 제공되는데, 그 세그먼트는 토큰들의 그룹을 포함한다. 사용자 인터페이스 상에서, 개념을 표현하는 개념 계층구조가 제시되는데, 개념 계층구조는 개념의 구성 부분들인 계층적 하위 개념들을 포함하고, 하위 개념들 중 하나 이상은 데이터 아이템 내의 토큰들을 선택된 하위 개념의 예들로서 라벨링하기 위해 사용자 선택 가능하다. 개념 계층구조에서의 하위 개념의 사용자 선택이 수신된다. 세그먼트 추출자가 복수의 데이터 아이템들로부터 개념 계층구조에 연관된 개념의 예를 포함할 것으로 예측되는 제 1 데이터 아이템을 선택하기 위해 이용되는데, 개념의 예는 제 1 데이터 아이템에서의 하나 이상의 토큰들에 의해 표현된다. 제 1 데이터 아이템은 디스플레이되는데, 제 1 데이터 아이템을 디스플레이하는 것은 하나 이상의 토큰들의 제 1 세트를 선택된 하위 개념의 예측된 긍정적 예들로서 식별하는 하나 이상의 프리 라벨(pre label)들의 제 1 세트를 제시하는 것을 포함한다. 제 1 토큰을 선택된 하위 개념의 긍정적 또는 부정적 예로서 라벨링하는, 디스플레이된 제 2 데이터 아이템에서의 제 1 토큰의 사용자 선택이 수신된다. 하나 이상의 프리 라벨들의 제 1 세트는 하나 이상의 토큰들의 제 2 세트를 선택된 하위 개념의 예측된 긍정적 예들로서 식별하는 하나 이상의 프리 라벨들의 제 2 세트로 대체된다. 세그먼트 추출자는, 선택된 하위 개념의 예로서의 제 1 토큰의 라벨링에 적어도 기초하여 훈련된다.
복수의 데이터 아이템들로부터의 제 2 데이터 아이템이 디스플레이 될 수도 있는데, 제 2 데이터 아이템은 사용자 제공 검색 질의에 의하여 선택될 수도 있다. 제 2 토큰을 선택된 하위 개념의 예로서 라벨링하는 디스플레이된 제 2 데이터 아이템에서의 제 2 토큰의 사용자 선택이 수신될 수도 있다. 세그먼트 추출자는 선택된 하위 개념의 예로서의 제 2 토큰의 라벨링에 적어도 기초하여 훈련될 수도 있다. 세그먼트 추출자는 세그먼트 내의 토큰들을 개념의 구성 부분들에 대응하는 하위 개념들의 예들로서 식별하기 위해 훈련 가능할 수도 있다. 데이터 아이템들은 문서들일 수도 있고, 토큰들은 단어들일 수도 있다.
디스플레이된 제 1 데이터 아이템 또는 디스플레이된 제 2 데이터 아이템 중 적어도 하나는 섹션들로 나누어질 수도 있고 개념의 예를 포함하는 섹션이 표시될 수도 있다. 선택된 제 1 토큰 또는 선택된 제 2 토큰 중 적어도 하나가 표시된 섹션 내에 있을 수도 있는데, 표시된 섹션 외부의 토큰들은 세그먼트 추출자를 훈련시키기 위해 이용되지 않는다. 표시된 섹션은 사용자에 의해 사이즈 재조정 가능할 수도 있다. 사용자가 표시된 섹션 외부에 있는 토큰을 선택할 때, 표시된 섹션은 선택된 토큰을 포함하기 위해 사이즈 재조정될 수도 있다.
하나 이상의 프리 라벨들의 제 2 세트는 하나 이상의 토큰들을 선택된 하위 개념의 긍정적 또는 부정적 예들로서 라벨링하는 사용자 입력으로부터 결정된 제약조건에 기초하여 식별될 수도 있고, 하나 이상의 프리 라벨들의 제 1 세트를 하나 이상의 프리 라벨들의 제 2 세트로 대체하는 것은 제 2 토큰의 라벨링에 기초하여 세그먼트 추출자를 훈련시키기 전에 일어날 수도 있다.
제 2 양태에서, 컴퓨터 사용가능 명령어들을 포함하는 컴퓨터 판독가능 매체들이 기계 학습 시스템에 대해 사용자에 의한 세그먼트 추출 방법을 용이하게 하기 위해 제공된다. 데이터 아이템 세트가 저장되는데, 그 세트에서 각각의 데이터 아이템은 복수의 토큰들을 포함한다. 데이터 아이템 내의 세그먼트를 개념의 예로서 식별하기 위해 훈련 가능한 세그먼트 추출자가 제공될 수도 있는데, 그 세그먼트는 토큰들의 그룹을 포함한다. 사용자 인터페이스 상에서, 개념에 연관된 개념 계층구조가 제시되는데, 개념 계층구조는 개념의 구성 부분들인 계층적 하위 개념들을 포함하고, 하위 개념들의 하나 이상은 데이터 아이템 내의 토큰들을 선택된 하위 개념의 예들로서 라벨링하기 위해 사용자 선택 가능하다. 개념 계층구조에서의 제 1 하위 개념의 사용자 선택이 수신된다. 개념 계층구조에 연관된 개념의 예를 포함할 것으로 예측되는, 복수의 데이터 아이템들로부터의 데이터 아이템이 디스플레이되는데, 그 데이터 아이템은 세그먼트 추출자에 의하여 선택되며, 상기 개념의 예는 데이터 아이템에서의 토큰들 중 하나 이상에 의해 표현되고, 디스플레이된 데이터 아이템은 하나 이상의 토큰들의 제 1 세트를 선택된 하위 개념의 예측된 긍정적 예들로서 식별하는 프리 라벨링(pre-labeling)을 포함한다. 제 1 토큰을 선택된 제 1 하위 개념의 긍정적 또는 부정적 예로서 라벨링하는, 디스플레이된 데이터 아이템에서의 제 1 토큰의 사용자 선택이 수신된다. 프리 라벨링은 제 1 토큰의 사용자 선택에 의해 재구성되는데, 재구성된 프리 라벨링은 토큰들의 상이한 세트를 선택된 하위 개념의 예측된 긍정적 예들로서 식별한다. 개념 계층구조에서의 제 2 하위 개념의 사용자 선택이 수신된다. 제 2 토큰을 선택된 제 2 하위 개념의 긍정적 예로서 라벨링하는, 디스플레이된 데이터 아이템에서의 제 2 토큰의 사용자 선택이 수신된다. 세그먼트 추출자는, 제 1 토큰 및 제 2 토큰의 라벨링에 적어도 기초하여 훈련된다.
세그먼트 추출자는 세그먼트 내의 토큰들을 개념의 구성 부분들인 하위 개념들의 예들로서 식별하기 위해 훈련 가능할 수도 있다. 프리 라벨링된 토큰을 선택된 제 1 하위 개념의 부정적인 예로서 라벨링하는 프리 라벨링된 토큰의 사용자 선택이 수신될 수도 있다. 세그먼트 추출자는 긍정적인 예들로서의 제 1 토큰 및 제 2 토큰의 라벨링과 부정적인 예로서의 프리 라벨링된 토큰의 라벨링에 적어도 기초하여 훈련될 수도 있다. 데이터 아이템을 디스플레이하는 것은 디스플레이된 데이터 아이템을 섹션들로 나누는 것과 개념의 예를 포함하는 섹션을 표시하는 것을 포함할 수도 있는데, 섹션 외부에 디스플레이된 토큰들은 세그먼트 추출자를 훈련시키기 위해 이용되지 않는다.
세그먼트 추출자의 훈련 시, 세그먼트 추출자는 사용자에 의해 이전에 라벨링되었던 데이터 아이템에서의 개념의 예를 예측하기 위해 이용될 수도 있다. 이전에 라벨링된 데이터 아이템은 디스플레이될 수도 있고, 사용자 제공 라벨들과 예측된 예의 비교가 제시될 수도 있는데, 비교를 제시하는 것은 A) 데이터 아이템에서 사용자 제공 라벨들을 디스플레이하는 것, 및 B) 예측된 예를 표시하는 프리 라벨들을 디스플레이하는 것을 포함하며, 여기서 프리 라벨들은 사용자 제공 라벨들로부터 구별 가능하다.
제 3 양태에서, 컴퓨터 사용가능 명령어들을 포함하는 컴퓨터 판독가능 매체들이 기계 학습 시스템에 대해 사용자에 의한 세그먼트 추출 방법을 용이하게 하기 위해 제공된다. 데이터 아이템들의 세트가 저장될 수도 있는데, 그 세트에서 각각의 데이터 아이템은 복수의 토큰들을 포함한다. 데이터 아이템 내의 세그먼트가 개념의 예가 되는 확률을 계산하기 위해 훈련 가능한 세그먼트 추출자가 제공될 수도 있는데, 그 세그먼트는 인접한 토큰들의 그룹을 포함한다. A) 개념을 식별하는 사용자 입력, B) 개념과 개념의 구성 부분들인 하위 개념들 간의 계층적 관계들을 포함하는 개념 계층구조를 특정하는 사용자 입력, 및 C) 하위 개념들을 식별하는 사용자 입력을 수신하도록 구성되는 사용자 인터페이스가 제시된다. 개념을 식별하는 사용자 입력은 수신된다. 개념 계층구조와 개념 및 하위 개념들 간의 계층적 관계들을 특정하는 사용자 입력이 수신된다. 하위 개념들을 식별하는 사용자 입력은 수신된다. 개념 계층구조는 사용자 인터페이스 상에 제시되는데, 개념 계층구조를 제시하는 것은 계층적 관계들에 따라 배열된 하위 개념들을 제시하는 것을 포함하며, 하위 개념들은 데이터 아이템 내의 토큰들을 선택된 하위 개념의 예들로서 라벨링하기 위해 사용자 선택 가능하다. 세그먼트 추출자는 개념의 예들을 포함할 것으로 예측되는 복수의 데이터 아이템들을 식별하기 위해 이용된다. 개념 계층구조에서의 하위 개념의 사용자 선택이 수신된다. 식별된 데이터 아이템들의 하나 이상에 대해, A) 데이터 아이템이 디스플레이되며, B) 하나 이상의 토큰들의 그룹이 디스플레이된 데이터 아이템 내에서 선택된 하위 개념의 예측된 긍정적 예들로서 예측되며, C) 토큰을 선택된 하위 개념의 긍정적 또는 부정적 예로서 라벨링하는 데이터 아이템에서의 토큰의 사용자 선택이 수신되고, D) 하나 이상의 토큰들의 상이한 그룹이 선택된 하위 개념의 예측된 긍정적 예들로서 프리 라벨링되도록 프리 라벨링이 재구성된다. 세그먼트 추출자는, 선택된 하위 개념의 긍정적 또는 부정적 예들로서의 식별된 데이터 아이템들 중 하나 이상의 식별된 데이터 아이템들 내에서 사용자에 의해 라벨링되었던 하나 이상의 토큰들에 적어도 기초하여 훈련된다.
디스플레이된 데이터 아이템 내의 하나 이상의 토큰들의 그룹을 선택된 하위 개념의 예측된 긍정적 예들로서 프리 라벨링하는 것은 개념 계층구조를 계층적 상태 기계(hierarchical state machine)에 매핑하는 것을 포함할 수도 있다. 디스플레이된 데이터 아이템 내의 하나 이상의 토큰들의 그룹을 선택된 하위 개념의 예측된 긍정적 예들로서 프리 라벨링하는 것은 각각의 데이터 아이템에서의 토큰들에 대한 전이 그래프를 생성하기 위해 계층적 상태 기계를 이용하는 것과 전이 그래프를 통과하는 다른 경로들보다는 개념의 예가 될 더 높은 확률을 갖는 전이 그래프를 통과하는 경로를 표시하는 전이 그래프 내의 에지 가중치들을 결정하는 것을 포함할 수도 있다. 프리 라벨링을 재구성하는 것은 토큰을 선택된 하위 개념의 긍정적 또는 부정적 예로서 라벨링하는 사용자 선택에 기초하여 전이 그래프를 통과하는 경로를 제약하는 것을 포함할 수도 있다. 데이터 아이템을 디스플레이하는 것은 디스플레이된 데이터 아이템을 섹션들로 나누는 것과 선택된 하위 개념의 예측된 긍정적 예를 포함하는 섹션을 표시하는 것을 포함할 수도 있는데, 섹션 외부에 디스플레이된 토큰들은 세그먼트 추출자를 훈련시키기 위해 이용되지 않는다.
본 발명의 몇몇 양태들의 개요를 간략히 설명하였고, 본 발명의 몇몇 양태들을 구현함에 있어서의 사용에 적합한 예시적인 운영 환경이 아래에서 설명된다.
처음에 특히 도 1을 참조하면, 본 발명의 일부 실시형태들을 구현하기 위한 예시적인 운영 환경이 도시되고 전체가 컴퓨팅 디바이스(100)로서 지정된다. 컴퓨팅 디바이스(100)는 적합한 컴퓨팅 환경의 하나의 예이지만 본 발명 실시형태들의 사용 또는 기능의 범위에 대한 임의의 제한을 제시하는 것으로 의도되지 않는다. 컴퓨팅 환경(100)은 예시된 구성요소들 중 임의의 하나 또는 조합에 관련한 임의의 의존성 또는 요건을 갖는 것으로서 해석되지 않아야 한다.
본 발명의 몇몇 실시형태들은 컴퓨터 또는 다른 기계, 이를테면 개인 정보 단말기 또는 다른 핸드헬드 디바이스에 의해 실행되는 프로그램 모듈들과 같은 컴퓨터 실행가능 명령들을 포함하는 컴퓨터 코드 또는 기계 사용가능 명령들의 일반적인 맥락에서 설명될 수도 있다. 일반적으로, 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함하는 프로그램 모듈들은 특정 태스크들을 수행하거나 특정 추상 데이터 유형들을 구현하는 코드를 지칭한다. 본 발명의 몇몇 실시형태들은 핸드헬드 디바이스들, 소비자 가전기기들, 범용 컴퓨터들, 더욱 전문적인 컴퓨팅 디바이스들 등을 포함하는 다양한 시스템 구성들에서 실시될 수도 있다. 본 발명의 몇몇 실시형태들은 태스크들이 통신 네트워크를 통해 링크되어 있는 원격 프로세싱 디바이스들에 의해 수행되는 분산형 컴퓨팅 환경들에서 또한 실시될 수도 있다.
도 1을 참조하면, 컴퓨팅 디바이스(100)는 다음의 디바이스들, 즉, 메모리(112), 하나 이상의 프로세서들(114), 하나 이상의 프레젠테이션 컴포넌트들(116), 입출력 포트들(118), 입출력 컴포넌트들(120), 및 예시적 전원 공급부(122)를 직접적으로 또는 간접적으로 커플링하는 버스(110)를 구비한다. 버스(110)는 하나 이상의 버스들(이를테면 주소 버스, 데이터 버스, 또는 그것들의 조합)일 수도 있는 것을 나타낸다. 비록 도 1의 여러 블록들이 명료함을 위해 라인들을 사용하여 도시되어 있지만, 현실에서, 다양한 컴포넌트들을 묘사하는 것은 그렇게 명확하지 않고, 은유적으로, 그 라인들은 더욱 정확하게는 잿빛이고 애매할 것이다. 예를 들어, 디스플레이 디바이스와 같은 프레젠테이션 컴포넌트를 I/O 컴포넌트인 것으로 간주할 수도 있다. 또한, 프로세서들은 메모리를 갖는다. 이러한 것이 기술의 본질임이 인식되고, 도 1의 도면이 본 발명의 몇몇 실시형태들에 관련하여 사용될 수 있는 예시적인 컴퓨팅 디바이스의 단순한 예가 된다는 것이 반복하여 언급된다. "워크스테이션", "서버", "랩톱", "핸드헬드 디바이스" 등과 같은 카테고리들 간에는 구별이 이루어지지 않는데, 그 모두가 도 1의 범위 내에서 생각될 수 있고 "컴퓨팅 디바이스"에 대한 언급이라서다.
컴퓨팅 디바이스(100)는 다양한 컴퓨터 판독가능 매체들을 통상 포함한다. 비제한적인 예로서, 컴퓨터 판독가능 매체들은 랜덤 액세스 메모리(RAM); 판독 전용 메모리(ROM); 전기 소거가능 프로그램가능 판독 전용 메모리(EEPROM); 플래시 메모리 또는 다른 메모리 기술들; CDROM, 디지털 다기능 디스크들(DVD) 또는 다른 광학적 또는 홀로그램적 매체들; 자기 카세트들, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 반송파 또는 원하는 정보를 인코딩하는데 사용될 수 있고 컴퓨팅 디바이스(100)에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수도 있다.
메모리(112)는 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체들을 포함한다. 메모리는 착탈식, 비착탈식, 또는 그것들의 조합일 수도 있다. 예시적인 하드웨어 디바이스들은 고체 상태 메모리, 하드 드라이브들, 광 디스크 드라이브들 등을 포함한다. 컴퓨팅 디바이스(100)는 메모리(112) 또는 I/O 컴포넌트들(120)과 같은 다양한 엔티티들로부터 데이터를 판독하는 하나 이상의 프로세서들을 포함한다. 프레젠테이션 컴포넌트(들)(116)는 데이터 표시들을 사용자 또는 다른 디바이스에게 제시한다. 예시적인 프레젠테이션 컴포넌트들은 디스플레이 디바이스, 스피커, 프린팅 컴포넌트, 진동 컴포넌트 등을 포함한다.
I/O 포트들(118)은 I/O 컴포넌트들의 일부가 내장(built-in)될 수도 있는, I/O 컴포넌트들(120)을 포함하는 다른 디바이스들에 컴퓨팅 디바이스(100)가 논리적으로 커플링되는 것을 허용한다. 예시하는 컴포넌트들은 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, 프린터, 무선 디바이스 등을 포함한다.
I. 액티브 라벨링 탐색(Active Labeling Exploration, ALE) 도전과제
매우 큰 데이터 세트 상에 분류자(또는 스키마하는 자)를 구축하는 것은 다음의 특유의 도전과제를 제시한다: 어떤 분포로부터 훈련 세트가 도출되어야 하는가? 실제(true) 분포로부터 아이템들을 랜덤으로 선택하는 것은 백만 샘플들을 관찰한 후에 임의의 긍정적 예들을 산출하지 못할 수도 있다. 편애된(biased) 샘플링이 더 많은 긍정들을 산출할 수 있지만 실제 분포답지 않을 수도 있어서 결과적 분류자가 실제 세계 속으로 전개(deployment)될 때 잘 수행될 가능성이 낮다. 태스크가 웹을 통해 요리 레시피 페이지들을 찾기 위한 분류자를 구축하는 것인 가상의 시나리오를 고려한다. 페이지들의 랜덤 선택이 (일백만 페이지들을 본 후에도) 임의의 레시피들을 반환할 가능성이 낮다. "레시피"라는 용어에 대한 검색이 레시피들의 편애된 샘플을 반환할 것이다(그것은 "수치적 레시피들(Numerical Recipes)"을 찾고 "요리 모험(Cooking Adventures)"을 놓칠 수 있을 것이다). 네 단계의 단계들, 즉, 데이터 수집, 라벨링, 훈련과 피처링과 튜닝, 및 전개에서의 전통적인 개발은 차선이고 재난으로 이어질 수 있다. 예를 들면, 전개 동안 분류자가 수많은 민족 특유의 레시피들을 놓치고 시멘트 혼합 페이지들을 요리 레시피들로서 반환한다는 것이 발견될 수도 있다. 분류자는 책임이 없다. 문제는 샘플링 및 문제 공식화에 있다. 균일한 샘플링으로 훈련된 분류자가 "레시피가 아니라"는 일정한 대답이 해당 분포에 대해 충분히 양호함을 빠르게 학습할 것이다. 영리한 운영자는 더욱 유용한 분류자를 구축하기 위해 분포를 수정할 수도 있지만, 이는 운영자의 무지를 드러내는 편견을 도입한다. 운영자는, 예를 들면, 시스템이 전개되고 사용자들이 불평을 시작하기 전까지 아프리카 레시피들의 지식을 가질 수 없다. 운영자의 관점에서, 세계는 도 2에서의 화상처럼 보인다. 도 2는 검색될 데이터의 코퍼스(corpus)를 표현하는 예시적인 데이터 세트(210)("빅 데이터")를 도시한다. 지역(212)(전체 타원 내임)은 운영자가 알고 있는 긍정적 예들을 표현한다. 지역들(214)(양쪽 모두의 타원들 내의 전체 지역)은 코퍼스(210) 내의 모든 긍정적 예들을 표현한다. 지역(216)(전체 타원 내임)은 분류자가 긍정적 예들로서 라벨링되는 예들을 표현한다. 지역(218)(지역(216)에서의 지역(214)의 상대적 여집합(relative complement), 즉, 지역(214)에 포함되지 않은 지역(216)의 부분)은 분류자에 의해 긍정으로서 잘못 라벨링된 예들(긍정 오류들)을 표현한다.
질문은, 알지 못하는 데이터에 대해 잘 수행될 시스템이 전개될 방법이 존재하는가? 이다. 하나의 관찰은 운영자가 자신이 아이템들을 요구에 따라 올바르게 분류할 수 있는 한 분포를 모를 수 있다는 것이다. 액티브 라벨링 탐색(ALE) 알고리즘은 이 관찰에 기초한다. 라벨링은 특정 클래스에 속하는 것으로서 데이터 또는 데이터의 패턴들을 분류하는, 예컨대, "321 Market Street"를 주소의 부분인 것으로서 라벨링하는 프로세스이다. 액티브 라벨링 탐색은 실제 분포로부터 도출된 큰 세트의 미라벨링된(unlabeled) 데이터(라벨링 프로세스는 아직 수행되지 않은 데이터)를 사용하여 수행된다. 각각의 라벨(또는 몇 개의 라벨들) 후, 분류자가 새로운 라벨로 재훈련되고, 큰 미라벨링된 데이터 세트(예컨대, 수 천만 또는 수 억의 미라벨링된 패턴들)가 재스코어링된다. 시스템은 그 다음에 그 스코어들에 따라 다음을 라벨링할 패턴들을 선택한다. 이 접근법이 작동하기 위해, 콜드 스타트 문제를 해결하는(즉, 긍정들의 "씨앗들"을 찾는) 것이 필요하다.
하나의 양태에서, 통합된 대화형 라벨링 시스템이 라벨링 컴포넌트, 훈련 컴포넌트, 스코어링 컴포넌트, 샘플링 컴포넌트, 및 검색 엔진 컴포넌트를 포함한다. 통합된 대화형 라벨링 시스템은 하나 이상의 다른 피처들, 이를테면 검색 엔진이 키워드 검색에 의존하는 경우; 검색 엔진이 피처 스코어들을 필터로서 사용하는 경우; 훈련과 스코어링이 운영자에 의한 트리거 없이 자동으로 행해지는 경우; 또는 스코어링과 샘플링이 비동기적으로 행해지는 경우를 또한 포함할 수도 있다.
다른 양태에서, 통합된 대화형 라벨링 시스템은 라벨링 컴포넌트, 훈련 컴포넌트, 스코어링 컴포넌트, 및 샘플링 컴포넌트를 포함하는데, 라벨링은 서비스로서 오프로드될 수 있고 라벨링 품질이 일반화 이득들에 의해 측정된다. 통합된 대화형 라벨링 시스템은 다른 피처들, 이를테면 다중 클래스 라벨링이 다수의 이진 라벨링을 포함하는 경우; 또는 다수의 샘플들이 시스템 생성 프리 라벨들을 사용하여 거의 동시에 라벨링되고 검증(verification) 모드가 신뢰도에 의해 정렬(sort)된 대략적인 라벨들을 검토하기 위해 시스템에 포함되는 경우를 또한 포함할 수도 있다.
웹 페이지들에 대한 분류자를 구축하는 예를 고려한다(그 방법들은 질의들, 이미지들, 또는 다른 유형들에 대해 작동할 것이다). 사용자가 작업 세트라고 본원에서 지칭되는 1억 개의 웹 페이지들에 액세스할 수 있다고 가정한다. 이들 웹 페이지들은 중요도(예컨대, 높은 페이지 랭크)에 의해 편애될 수도 있지만 그것들은 구축되기 위해 의도된 분류자들의 성질에 의해 편애되지 않는다. 이들 페이지들은 라벨링되지도 않고 순서화되지도 않는다. 긍정적 및 부정적 예들의 작고 편애된 세트가 있고 분류자가 이들 예들로 합당한 일반화 성능(generalization performance)을 사용하여 훈련될 수 있다고 가정한다. (작은 데이터 세트들로 양호한 일반화 성능을 사용하여 분류자들을 훈련시키기 위한 "콜드 스타트" 도전과제가 아래에서 논의된다.) 훈련의 결과는 "득점자(scorer)"라고 지칭된다. 득점자들은 그것들이 훈련되었던 세트를 반영하는 버전 번호들을 갖는다. 제 1 득점자가 이용 가능하자마자, 작업 세트의 "스코어링"이 개시된다. 이 프로세스는 많은 양의 컴퓨팅 파워를 요구한다. 스코어링의 결과로서, 아이템들은 "X"가 되는 그것들의 확률에 의해 순서화될 수 있는데, "X"는 구축될 분류자의 클래스이며, 즉, "X"는 피처, 또는 라벨의 긍정적 예이다.
도 3은 아이템들의 수(310) 대 아이템이 "X"일 확률 P(312)의 예시적인 선도(300)를 도시한다. 도 3에서 묘사된 바와 같이, 작업 세트가 주어진 득점자에 의해 생성된 스코어들에 기초하여 샘플링되면, 다음의 관찰들이 이루어질 수 있다:
P=1 주위의 아이템들을 라벨링하는 것은 조금 더 값을 산출하지만 그 아이템들은 매우 드물다. 그것들을 찾는데 긴 시간을 요하고(전체 작업 세트가 스코어링될 것이 필요할 수도 있음) 라벨링할 아이템들을 찾기 위해 더 낮은 확률들을 부분적으로만 보아야 한다. 이는 위에서 보인 것과 유사한 분포(그 분포가 다른 방향으로 치우친다면 P=0 및 P=1을 뒤바꿈)를 가정한다.
도 5는 각각 0.25 및 0.75의 확률 주위의 샘플링 분포의 예들을 도시한다. 0.75 주위에서 샘플링하기 위해, 예를 들면, 모든 예들은 그것들의 스코어들에 따라 1000 개의 버킷(bucket)들 속에 놓일 수 있다. 제 1 버킷은 0 및 0.001 간의 스코어들을 갖는 모든 예들을 가질 것이고, 다음의 버킷은 0.001 및 0.002 간의 스코어들을 갖는 모든 예들을 가지는 등등일 것이다. 각각의 버킷에는 그 다음에, 예를 들면, 도 5의 우측과 같이 샘플링의 확률이 배정될 수도 있다. 이 분포를 갖는 예들은 긍정 오류들이 25% 레이트가 되게 한다.
ALE(Active Labeling Exploration)의 목적은 길고 고된 "데이터 콜렉션, 라벨링, 훈련 및 튜닝, 전개" 사이클을 수 분 또는 수 초 내에 실행되는 대화형 루프에 의해 대체하는 것이다.
ALE는 동시에 실행되는 세 개의 프로세스들을 갖는다. 이것들은, 표 1에서 예시된 바와 같이, 다음의 샘플링+라벨링, 훈련, 및 스코어링이다:
필터링 + 라벨링 | 훈련 | 스코어링 |
반복: | 반복: | 반복: |
정밀도를 개선: 최신 스코어들로 시작하는 P=0.75 근처의 스코어들을 갖는 아이템들에 대한 작업 세트를 필터링. 이들 아이템들을 라벨링. 재현율을 개선: 최신 스코어들로 시작하는 P=0.25 근처의 스코어들을 갖는 아이템들에 대한 작업 세트를 필터링. 이들 아이템들을 라벨링. |
라벨 수가 마지막 훈련 이후 팩터 f 만큼 증가하였다면: 작업 세트를 훈련/확증/테스트 세트들로 랜덤으로 분할. 훈련 세트 상의 n 개의 분류자들(Ci)을 훈련 확증 세트 상의 최상의 분류자(Ci)를 선택하며, 득점자(Si)를 생성하고, 테스트 에러를 보고. 아니면: 새로운 라벨을 대기. |
모든 아이템들이 최근 득점자에 의해 스코어링되었다면: 새로운 득점자를 대기 아니면: 최근 스코어가 가장 오래된 아이템을 찾음. 최신 득점자를 갖는 아이템을 스코어링. |
표
1: 3 개의
병렬 ALE 프로세스들(샘플링, 훈련, 및
스코어링
)
제 1 프로세스(샘플링+라벨링)는 사용자에 의해 구동된다. 사용자의 태스크는 시스템에 의해 선택된 아이템들을 라벨링함으로써 정밀도 및 재현율을 개선하는 것이다. 사용자는 훈련 및 스코어링 프로세스들을 감지하지 못한다. 사용자의 관점에서, 시스템은 라벨링할 양호한 패턴들을 단순히 선택하고 분류자는 점점 더 다양한 세트(diverse set)에 관한 그것의 일반화 능력들을 증가시킨다. 사용자는 정밀도에 대해 또는 재현율에 대해 라벨링할 것을 선택할 수도 있거나, 또는 해당 선택은 시스템에 의해 이루어질 수 있다.
장면들 이면에서 일어나는 것은 약간 더 복잡하다. 충분히 새로운 라벨들이 수집되었을 때, (상이한 복잡도들의) 분류자들의 패밀리가 재훈련된다. 패밀리의 최상의 분류자가 최근 득점자가 된다. 스코어링은 집중적인 컴퓨테이션 프로세스이다. 이전의 득점자로부터의 스코어링이 스코어링 프로세스에 의해 완료되지 않았다면, 진행중인 스코어링은 인터럽트되고 새로운 득점자는 먼저 가장 오래된 스코어들로 시작하는 아이템들을 계속 스코어링한다. 태스크 및 데이터의 사이즈에 의존하여, 스코어링은 수 분 또는 수 시간이 걸릴 수 있다. 그러나, 운영자가 질의 프로세스를 대기하지 않는 것이 바람직하다: 임의의 시간 포인트에서, 모든 아이템은 스코어를 가지고(그 스코어들은 상이한 버전들을 갖는 득점자들로부터 유래할 수도 있음), 모든 스코어들은 메모리에 상주해야 한다. 질의가 (여러 기계들 상에 분산된) 독립적인 프로세스에 의해 행해지므로, 모든 스코어들에 걸친 완전 선형 스캔(full linear scan)이 (십억 개의 아이템들과 100 개의 기계들을 가정하여) 서브-초(sub-second) 시간에 행하여져야 한다. 훈련과 스코어링은 독립적인 프로세스들에 의해 비동기적으로 실행되어서 질의 응답 시간에 영향을 미치지 않는다. 어떤 아이템이 다음에 라벨링되어야 하는지의 선택의 품질은 마지막 득점자가 생성되었던 이후로 너무 적은 아이템들이 재스코어링되었다면 저하된다. ALE 정보 흐름은 도 4에서 요약된다. 사용자 입력들은 "파선" 화살표들로서 표시된다. 시스템 파라미터들은 점선 화살표들로서 표시된다. 데이터(416)는 한 번 업로드된다. 라벨들(418)은 사용자에 의해 공급되고 훈련 동안 사용자에 의해 식별되는 토큰들에 시맨틱 의미를 제공한다.
새로운 훈련 데이터(420) 및 대응 라벨들(418)이 주어지면, 훈련(422)은 새로운 득점자(424)를 생성한다. 새로운 득점자는 새로운 스코어들(426)을 생성하는데, 그 새로운 스코어들은, 필터링(428) 후, 새로운 훈련 데이터(420)로 생성된다. 필터들(432)은 아래에서 논의되는 사전들을 포함할 수도 있고, 이전에 생성된 분류자들을 또한 포함할 수도 있다.
그 사이클은 득점자의 성능 개선이 라벨링 비용을 들일 가치가 더 이상 없다고 운영자가 결정하기까지 계속된다. 그 결과는 새로운 분류자(430)이다.
도 4에 묘사된 "피처 함수들" 입력(410)은 아래의 액티브 피처링의 논의에서 논의된다. 도 4에 묘사된 "탐색 질의들" 입력(412)의 목적은 콜드 스타트에 관해 아래에서 설명되는 바와 같이 콜드 스타트 문제에 대한 그리고 탐색(반복적 콜드 스타트들)에 대한 것이다. 시스템의 "하이퍼-파라미터들" 입력(414)은 자동 정형화를 처리해야 하고 또한 아래에서 논의된다.
도 3으로 되돌아가서, 하나의 실시형태에서, 시스템이 정밀도를 개선하기 위해 P=0.75 주위에서 그리고 재현율을 개선하기 위해 P=0.25 주위에서 데이터를 필터링함으로써 샘플링한다. 이들 문턱값들은 조정 가능하다. 이전에 언급된 바와 같이, 도 5는 스코어(520)의 함수로서 샘플링 분포들(510)의 예시적인 선도들(500)을 묘사한다. 이 대체 전략은, 예를 들어, 0 및 1 간의 모든 스코어들에 대해 균일하게 샘플링하는 것보다 더욱 유용하다는 것이 입증되었다.
A.
대화형 문제 정의 리파인먼트(refinement)들
분류의 시맨틱 의미는 탐색의 함수로서 변경될 수도 있다. ALE는 그것이 수행되고 있는 동안 태스크를 진전시키기 위한 유연성을 제공한다. 예를 들면, "홈 페이지" 분류자를 구축하는 목적부터 시작될 수도 있다. 하지만 시스템이 탐색 동안 단일 개인을 중심으로 한 소셜 미디어 페이지들, 부고기사(obituaries), 이벤트들, 및 다른 페이지들과 같은 후보들을 발견하므로, 홈 페이지가 무엇인가의 정의는 리파인될 필요가 있다. 이는 ALE 루프를 실행하는 동안 대화형으로 쉽사리 행해진다.
태스크가 시작될 때에 관해 알려지지 않은 데이터에 대해 잘 수행되는 분류자를 구축하는 것은 달성하기 힘든 목표처럼 보인다. 그러나, 분포의 모양을 추정할 때 인간들이 무지하더라, 라벨링할 때에는 인간들은 신뢰할 수 있다는 것을 경험이 보여주었다. 인간들이 탐색을 통해 분포를 영리하게 탐색하는 시스템과 짝이 된다면, 매우 강건한 시스템들이 구축될 수 있다. ALE 알고리즘은 라벨링을 통해 시맨틱 의미를 제공하기 위해 컴퓨터들의 스케일링 능력 및 인간 능력 양쪽 모두를 활용한다.
액티브 학습이 그것의 도전과제들을 갖는다. 액티브 학습 알고리즘들에서 통상 직면되는 잠재적 문제들은 불확실성 샘플링의 취성(brittleness), 모델 선택(이용 가능한 데이터에 대한 용량의 적응), 탐색, 액티브 피처링, 이접(disjunctive) 클래스들, 및 콜드 스타트를 포함한다. 본원에서 설명되는 ALE 시스템은 불확실성 샘플링의 취성을 갖지 않는데 그것이 결정 경계에서 떨어진 데에 초점을 맞추고 있기 때문이다. 자동 정형화(모델 선택)와 콜드 스타트는 아래에서 논의된다. 나중의 섹션에서, 액티브 피처링과 그것이 액티브 라벨링을 보완하는 방법이 설명된다.
1.
한쪽으로
치우친(lopsided) 데이터 및 도달가능도(
reachability
)
액티브 학습이 고정된 수의 피처들을 갖는 고정 사이즈 세트 상의 라벨링의 효율을 증가시키는 수단으로서 종종 생각되고 있다. 전형적인 기계 학습 설정에서, 목표는 정확도를 개선하는 것이다. 본원에서 설명되는 주안점은 가치 있는 분류자 또는 스키마 추출자를 생성하기 위해 사용자가 라벨들과 피처들을 추가하는 것을 도울 탐색 도구를 제공하는 것에 관련된다는 점에서 상이하다. 한쪽으로 치우친 클래스들이 있는 빅 데이터로, 데이터의 작은 부분만이 관찰될 것이고 긍정 또는 부정의 몇몇 덩이(nugget)들이 결코 발견되지 않을 수도 있다. 그것들이 발견될 때, 분포가 변경되었다고 또한 가정될 수도 있다. 분포가 즉시 발견될 때, 기계 학습이 의존하는 기본 가정들 - 훈련 및 테스트 세트에 대한 IID 샘플링 - 이 위반된다. 긍정들의 수가 T이고 데이터의 사이즈가 N이면, N/T에 비례하는 패턴들의 수를 라벨링하는 일 없이는 재현율은 추정될 수 없다. T ≪ N이면, 재현율이 무엇인지는 결코 알 수 없다. 전체 분포 상의 수렴의 학습은 입증될 수 없다.
그러나, 전체 분류자 진행은 도달가능도라 불리는 측정치에 의하여 측정될 수 있다. 본원에서 정의되는 바와 같이, 도달가능도는 분류자에 의해 긍정으로서 분류되는 긍정들의 수이다. S를 다음과 같은 분류자에 의해 추정된 긍정들의 세트(도 2에서 타원(216)으로 묘사됨)라고 하자:
S = {d: 분류자 출력은 긍정이다}.
T를 다음과 같은 총 데이터 세트 내의 참 긍정들의 세트(도 2에서 타원들(214)로 묘사됨)라고 하자:
T = {d: d는 긍정이다}.
도달가능도(R)는 그러면 분류자에 의해 추정된 긍정의 세트(도 2에서 타원들(216 및 214)의 교차부분으로서 묘사됨) 내의 참 긍정들의 수이다:
도달가능도는 재현율 또는 정밀도 중 어느 하나의 측면에서, ρ=r|T|=φ|S|로서 표현될 수 있는데, 여기서 r은 분류자의 재현율이고 φ는 분류자의 정밀도이다. 그러나, 재현율은 이 경우 세트 T가 알려지 있지 않으므로 직접적으로 컴퓨팅될 수 없다. 그러나, T가 고정되기 때문에, 도달가능도는 재현율에 정비례한다. 분류자의 재현율을 증가시키기 위해, 대신에 도달가능도를 증가시킬 수 있다. 분류자 구축 태스크의 목표들은 따라서 도달가능도 및 정밀도의 측면에서 공식화될 수 있다.
예를 들어, φ를 다음과 같은 S에서의 정밀도, 즉, S의 사이즈에 의해 나누어진 S 내부의 참 긍정들의 수(도 2에서 타원들(216 및 214)의 교차부분)라고 하자:
그리고 r를 다음과 같은 S에서의 재현율, 또는 데이터 세트 내의 참 긍정들의 총 수에 의해 나누어진 S 내부의 참 긍정들의 수라고 하자:
S에서의 예들의 랜덤 서브세트(또는 모두)를 라벨링함으로써 φ의 추정값 φ'을 계산할 수 있다. 숫자 φ'|S|는 시스템에 의해 찾아진 긍정들의 수를 추정한다. 재현율 φ'|S|는 T 가 알려져 있지 않기 때문에 컴퓨팅될 수 없다. 그러나, 정밀도의 추정값 φ'과 재현율에 비례하는 추정값 φ'|S|를 사용하여, 시스템의 순방향 전체 진행을 추적할 수 있다. 고정된(또는 비-감소) 정밀도에서, 도달가능도를 증가시키는 것은 재현율을 증가시킨다. 고정된(또는 비-감소) 도달가능도에서 정밀도를 증가시키는 것은 일정한(또는 증가하는) 재현율에 대한 정밀도를 또한 증가시킨다.
진행을 측정하는데 또한 사용될 수 있는 다른 기준들이 있다. 예를 들면, 탐색에 의해 발견된 가장 잘못 분류된 패턴들이 모호하다면, 분류자는 정밀도에 대해 잘 행해지고 있으며; 가장 잘못 분류된 패턴들이 피처들을 추가함으로써 쉽게 핸들링된다면, 분류자 역시 탐색된다.
a.
도달가능도 추정
도달가능도는 라벨링 전략 및 미라벨링된 예들의 스코어 분포에 기초하여 추정될 수 있다. 이것의 일 예로서, L을 라벨들의 세트 그리고 U를 전체집합(universe)이라고 하자, 그리고 S를 스코어 ≥ τ인 패턴들이고 τ는 설정한 문턱값(도 2에서의 타원(216)의 전체 지역)이라고 하자. 라벨링 전략이 샘플의 스코어를 조건으로 한 확률 분포에 따라 샘플링함으로써 정의된다고 가정하여, 즉, 각각의 문서 w∈U에 대해, 샘플링의 확률 ps = Pr[w∈L|score(w) = s]를 컴퓨팅할 수 있다.
가 스코어 s를 갖는 긍정들의 수라고 하자 그리고
가 스코어 s를 갖는 라벨링된 긍정들의 수라고 하자. 라벨링된 긍정들의 수에 대한 기대값은 다음으로서 기재될 수 있다:
기대값은, 예를 들면, 라벨 세트를 서브 샘플링함으로써 추정될 수 있다.
주: 위의 추정은 서로 만나지 않는 간격들에 의해 간격 [τ ... 1]을 커버함으로써 많은 상이한 방도들로 행해질 수 있다. 모든 분해들은 일부가 추정에서 더 작은 오차 막대들을 가질 것이라는 점에서 동일하지 않다.
한쪽으로 치우친 분포가 있는 큰 데이터 세트들로, 균일하게 샘플링된 고정 분포를 가정하면서 정확도를 개선하는 것이 반환(return)들을 줄이는 상태에 빠르게 도달한다. 더욱 관심 있는 문제가 분포를 이동 타겟으로서 생각하는 것과 운영자가 그 분포를 추적하는 것에 관여하게 하는 것이다. 기계 학습 이론의 관점에서, 두 개의 문제들은 매우 상이하다. 엔지니어링 도전과제들(스케일링, 프로세스, 사용자 경험(UX)) 및 과학적 도전과제들(무엇보다도, 탐색 메트릭들, 샘플링 전략들, 수정 훈련) 양쪽 모두가 직면된다. ALE 알고리즘은 이들 도전과제들을 해결한다.
II.
자동 정형화 및 콜드 스타트(automatic regularization and cold start, ARCS) 도전과제
잘 작동하기 위해, ALE 알고리즘은 몇 개의 라벨들, 몇 개의 피처들, 및 초기의 분류자들의 양호한 일반화 속성들을 필요로 한다. 이는 두 개의 문제들을 해결할 것을 요구한다. 먼저, 긍정적 및 부정적 예들 양쪽 모두 뿐만 아니라 시동(startup) 피처들이 필요하다. 이는 콜드 스타트 문제이다. 그것은, 한쪽으로 치우친 분포에서, 긍정적(또는 부정적) 예들이 극히 드물 수도 있기 때문에 난해하다. 예를 들면, 긍정들이 백만에 하나 미만이면, 진행하는 분류자를 얻는데 충분한 양의 긍정들을 (랜덤 샘플링을 사용하여) 찾는 것은 시간이 많이 걸릴 수 있다. 피처들 또는 작업하는 분류자 없이는, ALE 알고리즘은 도움이 되지 않는다. 두 번째 문제는 자동 정형화이다. 몇 개의 라벨들만으로, 분류자는 과도한 훈련을 피하기 위해 아주 많이 정형화될 필요가 있다. 정형화는 알고리즘의 복잡도가 라벨들의 수의 증가에 일치할 수 있도록 자동으로 조정되는 것이 필요하다. 이는 "웜 스타트(warm start)" 문제라고 지칭될 수 있다.
A.
콜드 스타트
이 문제는 다음과 같이 요약될 수 있다: 동일한 유형 T의 일반적 예들의 큰 데이터베이스가 시스템에 입력되었다고 가정하면, 그 일반적 예들을 어떻게 구별할 수 있는가? 훈련을 가능하게 하기 위해, (아이템들을 서로 구별하는) 피처들이 필요하고, 긍정적 및 부정적 예들을 찾는 수단이 필요하다. 이 문제는 IScorer<T> 인터페이스를 구현하는 모듈들을 제공함으로써 해결된다. IScorer 모듈들은 (예컨대, 데이터가 수집될 때) 시스템에 의해 제공되거나 또는 엔지니어에 의해 입력된다. 해당 인터페이스를 구현하는 모듈이 함수 T → ScoreType을 컴퓨팅할 수 있는데, 여기서 ScoreType은 데이터베이스에서의 모든 아이템들에 대해 시스템에 의해 이해되는 유형(예컨대, 0과 1 간의 부동 소수점 수)이다. 스코어들은 그 다음에 일부 또는 전부의 아이템들에 대해 컴퓨팅될 수 있고, 질의 및 저장될 수 있다. 이는 운영자가 각각의 클래스의 제 1 예들을 찾는 것과 그 제 1 예들을 그와 같이 분류하는 것을 허용한다. IScorer 모듈들은 분류자의 제 1 피처들로서 또한 사용될 수 있다. 다음의 사이클은 ALE 알고리즘을 통해 발생한다.
데이터 유형이 선험적으로 알려지면, 데이터에 특정한 몇몇 표준 시스템 피처들를 제공할 수 있다. 데이터 특정 피처들은 운영자로부터의 파라미터들도 받아 들일 수 있다. 이러한 피처들은 그 다음에 데이터를 구별, 필터링, 라벨링, 또는 탐색하는데 사용될 수 있다. 예를 들면, 그 예들이 웹 페이지들이면, 시스템 IScorer<WebPageType>은 쿼리에 관한 웹 페이지의 관련도를 컴퓨팅하는 모듈일 수 있다. 쿼리는 피처의 파라미터이고 운영자에 의해 제공된다. 일단 쿼리 파라미터가 고정되면, 모듈은 ALE 알고리즘 하에서 실행하며, 따라서 모든 웹 페이지를 그것의 관련도에 대해 평가할 수 있다. 이러한 구현예는 역방향 인덱스에 비하여 매우 비효율적이지만, 일반적이라는 장점을 갖는다. 데이터 유형(T)에 상관없이, 운영자는 다음을 제공할 수 있다:
시스템은 유형 T를 이해하는 것이 필요하지 않다. 모듈은 시스템 외부에서 파라미터화될 수 있거나(제공된 dll은 질의 용어(query term)들을 포함함), 또는 시스템은 실행 시간에 파라미터들(예컨대, 쿼리)을 운영자에게 제공할 수 있다.
텍스트 이해를 위한 유비쿼터스 필요가 주어지면, 일반적 API(운영자는 IScorer<T>를 구현하는 모듈을 입력할 수 있음)와 내장 텍스트 피처들이 지원될 수도 있다.
피처의 정의는 혼동될 수도 있다. 피처의 엄격한 정의는 출력이 분류자(또는 스키마하는 자)의 입력으로서 사용되는 함수이다. 쿼리가 분류자의 형태이므로, 피처가 질의를 위해 사용될 수 있다. 분류자의 출력이 다른 분류자의 입력으로서 사용될 수 있으므로, 분류자들은 그것들 자체가 피처들이다. 피처들이 세 개의 부분, 즉, 내장, 운영자 생성(훈련 없음), 및 훈련된 분류자들로부터 나온다. 몇몇 내장 피처들은 운영자에 의해 파라미터화될 수 있다(하이브리드). 몇몇 내장 피처들은 특정한 데이터 유형들에 대해서만 이용 가능할 수도 있다.
가능하게 될 텍스트 피처들에 대해, 데이터베이스에 입력된 아이템들의 유형(T)은 IWordCollection 인터페이스를 지원해야만 한다. 이 인터페이스는 역방향 인덱스의 자동 구축을 허용하고, 데이터베이스에 대한 효율적인 질의 유사 인터페이스를 가능하게 한다. 이 인터페이스를 지원하는 데이터베이스들에 대해, 콜드 스타트 문제는 거의 해결된다. 이것이 충분하지 않을 때, 그리고 IWordCollection을 지원하지 않는 데이터베이스들에 대해, 운영자는 IScorer<T> 인터페이스를 지원하는 부가적인 모듈들을 제공할 수 있다. 일단 시스템이 데이터베이스의 아이템들을 효과적으로 구별하기 위해 충분히 강력한 IScorer<T> 모듈들을 갖는다면, 콜드 스타트 문제는 해결되었다.
B.
자동 정형화(AR)
대화형 기계 학습에서, 라벨들 및 피처들의 수는 시간이 지남에 따라 변화하는데, 라벨들과 피처들이 추가되어서이다. 라벨들이 들어옴에 따라, 분류자가 10, 20, 40, 80, 160의 예의 카운트들로 연속적으로 (재)훈련될 수도 있다. 각각의 훈련 세션마다, 최적의 정형화는 상이할 것이다. 시스템이 매우 적은 예들로도 잘 수행하는 것이 바람직한데, 다음에 라벨링할 양호한 예들을 찾는 것은 시스템이 더욱 빠르게 학습하는 것을 도울 것이기 때문이다. 이것은 다시 시스템이 어떤 예들을 다음에 라벨링할 것인지를 선택하는 것을 가능하게 하므로, 일반화에 대한 효과는 강화된다(각각의 반복이 후속 라벨들의 값을 증가시킨다). 적은 수의 라벨들이 있는 데서 잘 수행하는 것이란 문제는 본원에서 "웜 스타트" 문제라고 지칭된다.
운영자가 정형화를 수동으로 조정할 것을 요구하는 것은 복잡도를 도입하고 불필요하다. 기계 학습에 익숙하지 않은 운영자들의 경우, 정형화의 개념은 절망적으로 혼란스럽다. 다행히, 라벨들 및 충분한 컴퓨테이션 파워가 주어지면, 상이한 복잡도의 분류자들의 작은 패밀리를 훈련시키고 교차 확증(cross validation)을 사용하여 최상으로 일반화하는 것을 결정할 수 있다.
예를 들면, 태스크가 수기된 숫자들을 인식하는 것이면, 두 개의 분류자들, 즉, 선형 분류자와, 최신식, 4층 콘볼루션 신경망(둘 다는 화소들을 입력으로서 취하고 각각의 클래스에 대한 확률을 출력함)을 가질 수 있다. 두 번째 분류자는 클래스당 1000 개의 예들로 훈련될 때 첫 번째 분류자보다 훨씬 더 양호하지만, 클래스당 30 개의 예들보다 더 적은 수를 사용한 스코어링에서는 비교적 끔직하다. 선형 분류자는 클래스당 하나 또는 두 개 정도의 예들로 훈련될 때 아주 괜찮은 분류자 및 득점자를 생성한다. 그 예들이 교차 확증으로 훈련 및 측정된다면 어떤 분류자를 사용할 것인지를 자동으로 결정하는 것은 상당히 쉽다. 분류자들 양쪽 모두에 대해 비교 가능할 충분한 예들이 있는 순간에, 운영자는 어떤 분류자가 양호한지를 쉽게 구별할 수 없다(그 분류자들은 동일한 일반화 성능을 갖는다). 이는 적절한 타이밍으로, 상이한 정형화를 갖는 분류자들 간의 스위칭이 투명하게, 자동으로, 그리고 운영자 모르게 행해질 수 있다는 것을 의미한다.
정형화는 본원에서 학습가능 함수들의 패밀리를 일반화할 가능성이 더욱 높은 함수들의 서브세트로 제약하는 것으로 해석된다. 이는 다음과 같이 출력 레벨에서, 아키텍처 레벨에서, 또는 입력 레벨에서 행해질 수 있다:
출력(라벨들 생성): 라벨들을 생성하고 바꿈으로써, 무슨 함수들이 훈련을 통해 실현 가능한지를 제어할 수 있다. 이 제약조건은 정형화를 위해 사용될 수 있다. 예를 들면, 라벨들을 갖는 세트에 대해 훈련하는 대신, 선험적 지식을 사용하여 라벨들을 제공하는 새로운 세트가 생성된다. 웹 페이지들의 경우, 클릭 그래프를 사용하여 유사한 페이지들을 찾고 그 페이지들에 동일한 라벨들을 배정함으로써 긍정적(각각 부정적) 예들을 확장하는 것이 행해질 수 있다. 이미지들의 경우, 이는 변환(예컨대, 회전 또는 병진)을 적용하고 결과적인 이미지들이 그것들이 유래한 이미지와 동일한 라벨들을 갖는다고 가정함으로써 행해질 수 있다. 양쪽 모두의 경우에서, 세트의 사이즈 및 왜곡의 세기가 조정될 수 있다. 각각의 정형화 값은 분류자를 정의한다. 승리한 분류자가 교차 확증을 사용하여 선택된다.
아키텍처: 학습 알고리즘들(예컨대, SVM, 신경망, 결정 트리들) 또는 용량 파라미터들(가중치 감쇠(weight decays), 훈련 시간, 숨겨진 유닛들의 수)를 변경시킴으로써 학습가능 함수들의 패밀리에 영향을 줄 수 있다.
입력: 입력 피처들을 변경시킬 수 있다. 입력 피처들의 구별 능력을 변경함으로써, 정형화의 상이한 레벨들이 획득될 수 있다. 예를 들면, 웹 페이지의 다양한 유용한 속성들을 컴퓨팅하는 시스템 피처들의 세트를 가질 수도 있다. 이들 입력 피처들이 이용 가능할 때를 제어함으로써, 용량 및 정형화를 자동으로 조정할 수 있다. 입력 피처(들)에 의해 유도된 용량의 일 예의 경우, 웹 페이지의 사이즈의 로그를 측정하는 피처(또는 피처들의 세트)를 고려한다. 해당 피처는 유용한 정보를 가질 수도 있지만 그것을 너무 일찍 사용하는 것은 실수가 될 것이다. 라벨링된 예들의 수가 적을 때, 모든 예는 상이한 길이를 가질 수도 있고 훈련 세트 상의 긍정적 및 부정적 예들을 완벽하게 분류하는데 충분한 용량이 될 수도 있다. 결과적인 득점자는 그 다음에 시간이 낭비될 가능성이 있는 페이지의 길이에 기초하여 페이지들을 라벨링하는 것을 제안할 것이다. 입력 피처들을 신중히 선택함으로써 상이한 정형화 속성들을 갖는 분류자들의 패밀리를 구축할 수 있다. 이는 "반-정형화(anti-regularization)"의 일 예일 수 있다. 용량은 선택적으로 증가된다.
III.
스케일링 도전과제
ALE 알고리즘은 두 개의 상이한 방향들에서 스케일링한다. 하나는 아이템들의 수의 함수로서 질의, 스코어링, 및 훈련하는 능력이다. 두 번째는 기여자들에 의해 제공된 분류자들 및 스키마하는 자들의 수를 사용하여 스케일링하는 능력이다. 이것의 예시적인 개요가 도 6에서 도시되고 스케일링(600)이라고 일반적으로 지칭된다.
A.
아이템들의 수를 사용한 스케일링
도 6에서의 최좌측 열이 다수의 피처들을 아이템들(610)("ITEM 1" ... ITEM n")로서 묘사하는데, 그 아이템들은 아이템들의 수를 사용한 스케일링을 나타낸다. 아이템들의 수를 사용한 스케일링은 컴퓨테이션적 도전과제이다. 유효할 ALE에 대해, 컴퓨테이션들의 세 종류들, 즉, 훈련, 스코어링, 및 질의가 요구된다. 훈련은 단일 기계 상에서 - 선형 분류자가 수 초 내에 1M+ 예들에 대해 훈련할 수 있음 - 또는 다수의 분류자들이 동시에 훈련된다면 다수의 기계들 상에서 실행될 수 있다. 스코어링은 다수의 기계들 상에 분산될 수 있는 본질적으로 병렬의 태스크이다. 전형적인 "샘플링"은 가장 흔한 스코어들에 의한 필터링 동작이며, 예컨대, 0.70과 0.80 사이의 X일 확률의 아이템들을 반환한다. 이러한 필터링은 지도 축소(map-reduce)로 행해질 수 있지만 매우 민감해야 하는데, 시스템의 사용자가 라벨링할 다음의 아이템을 기다릴 것이기 때문이다. 이는 필터링 동작들에 대해 최적화된 분산형 메모리 내 열 저장소(in-memory column store)를 제안한다.
B.
분류자들의 수를 사용한 스케일링
도 6에서의 세 개의 최우측 열들은 아이템들(610)의 각각을 스코어링하기 위해 이용되는 다수의 분류자들(612)("C1" ... "C2")을 묘사한다. 분류자들 또는 스키마하는 자들의 수를 사용한 스케일링은 인간-컴퓨터 상호작용 (HCI) 도전과제이다. 기계 학습 전문가가 수십 개의 분류자들을 구축할 수 있다. 100 개의 기계-학습 전문가들을 모집하고 훈련하는 것은 어렵고 비용이 많이 든다. 10,000 개의 분류자들을 구축하는 것은 수법을 변경하는 일 없이는 비실용적이다. ALE는 회사가 10,000+ 개의 고도로 수행하는 분류자들 및/또는 스키마하는 자들을 빠르게 구축하는 것을 허용한다.
분류자들을 큰 스케일로 구축하기 위해, 다음의 세 개의 것들이 이용된다:
접근성은 분류자들을 구축할 수 있는 사람들의 큰 풀(pool)을 생성한다. 동기부여는 분류자들을 구축하는 해당 풀에서의 사람들의 동기부여를 증가시킨다. 효율은 생산성을 크게 증대시킨다. 동기부여는 아래에서 계속 설명되는데, 그것이 UX 견지에서 다른 두 개를 포괄하기 때문이다.
1.
접근성
일반인은 기계 학습을 이해하지 못한다. 시스템이 기계 학습 전문지식을 요구한다면, 이용 가능한 기계 학습 전문가들의 수는 병목현상이 된다. 이 병목현상을 우회하기 위해, 인터페이스는 엔지니어링 스킬들을 요구하지 않는 몇 개의 액션들로 제한될 수도 있다. 인터페이스는 일반화를 개선하는 것과 양립할 수 없는 거동들을 막는 난간들을 갖는다. 운영자의 액션들은 다음으로 제한될 수도 있다:
o 용어들의 사전을 생성
o 현존 분류자들로부터 피처들을 찾고 선택함.
"훈련", "스코어링", 및 "정형화"가 표준 액션들이 아님에 주의한다. 이들 컴퓨테이션들은 암시적으로 그리고 투명하게 일어난다. 이들 활동들의 결과로서, 운영자는 자신에게 제시되는 에러들의 유형들에서의 변경을 관찰할 것이다. 이는 정밀도를 개선하는 효과와 다음의 정밀도 개선에 기여할 효과 둘 다이다. 마찬가지로, 새로운 패턴들은 라벨링을 위해 추출될 것이다. 이는 재현율(및 일부 경우에는 정밀도)을 개선하는 효과와, 다음의 재현율(각각 정밀도) 개선에 기여할 효과 둘 다이다.
시스템에서 찾아진 긍정적 또는 부정적 예들의 수의 추정자들 또는 정밀도와 같은 몇몇 진행 메트릭들, 또는 분류자의 클래스 경계들 주위의 개선들의 레이트가 있을 것이다. 메트릭들은 훈련에 대해 데이터-중심 접근법을 장려하기 위해 에러들과 함께 디스플레이될 것이다. 자동 피처들의 사용은 대신에 가치 있는 개념들 및 라벨들을 제공하기 위해 운영자를 격려하는 것으로 제한된다. 과도훈련을 명시적으로 막기 위해, 테스트 세트는 일정하게 재활용되어서 단일 에러를 고정하는 것에는 혜택이 없고 오히려 혜택들은 에러들의 카테고리들을 고정함으로써 분명해진다. 운영자는 시작할 기계 학습 배경을 갖지 않을 수도 있지만, UX는 일반화를 개선하기 위해 운영자를 훈련시키는데 최적화된다.
2.
효율
효율은 운영자가 주어진 정밀도 및 재현율로 분류자를 생성하기 위해 얼마나 많은 에너지를 취해야 하는지로 측정될 수 있다. 이 정의는 문제가 될 수 있는데, 재현율이 얼마인지를 알지 못하기 때문이다(적은 수의 긍정들을 갖는 큰 데이터 세트 상에서, 얼마나 많은 긍정들이 거기에 있는지를 아는 것은 매우 어려울 수도 있다). 심지어 클래스 정의는 몇몇 예들이 발견되기까지 잘 정의되지 않을 수도 있다. 부고기사가 홈 페이지인가? 칵테일 믹스가 요리 레시피인가? 이들 질문들은 분류자의 구축 동안에만 일어날 가능성이 있다. 다음의 두 개의 가정들이 이루어진다: 첫째, 두 개의 분류자들을 비교하는 것과 하나의 분류자가 다른 분류자보다 양호하다(양호한 재현율, 양호한 정밀도)는 것을 명확하게 결정하는 것이 가능하다고 가정한다. 둘째, 분류자를 개선하는 것이 다수의 "수정 사이클들"을 갖는 것을 포함할 수도 있다.
수정 사이클이 컴퓨테이션의 함수인 운영자 입력과, 그것에 뒤따르는 운영자의 마지막 입력의 함수인 컴퓨테이션으로서 정의된다. 각각의 사이클에서, 문제는 세 개의 방도들, 즉, 클래스 정의 변경들, 변경들을 라벨링하기 위한 예들의 분포, 또는 입력 공간 변경들 중 적어도 하나에서 수정된다. 문제의 이들 신속하고 표적이 된 수정들은 전통적인 기계 학습과는 상이하다. 전통적 기계 학습에서, 분포는 보통 일정하다(고정된 훈련 세트 상의 피처들의 일정한 최적화이다). 심지어 액티브 학습 논문들에서도, 진행은 고정된 분포 상에서 측정되며, 강조점은 분포를 탐색하고 발견하는 것보다는, 고정된 분포 상에서 주어진 에러 레이트를 달성하기 위해 라벨들의 수를 감소시키는데 있다. 실제(true) 사이클(또는 수정)은 통상 수 개월이 걸린다. 그 반면, 하루 만에 수십 또는 수백 사이클들을 갖는 능력은 분류자 구축의 효율을 근본적으로 변경시킨다. 사이클 효과는 강화된다. 예를 들면, 분류자가 사이클의 결과로서 더 좋게 될 때, 그 분류자는 다음의 사이클에 대해 긍정 또는 긍정 오류를 찾을 시 더 좋게 된다.
본원에서 설명되는 시스템에서, 사이클들은 세 개의 특색(flavor)들, 즉, 액티브 라벨링 탐색 (ALE), 액티브 피처링, 및 사전 리파이닝에 관여한다. 첫 번째의 ALE는 이전의 섹션에서 논의되었다. 액티브 피처링은 분류자가 긍정(각각 부정) 및 긍정 오류(각각 부정 오류) 간을 구별하는 것을 허용할 목적으로 피처를 생성하는 활동이다. 그것은 "색맹"의 분류자를 치유하는 것과 유사하다. 액티브 피처링이 다음 섹션의 대상이다. 사이클의 마지막 형태는 개념의 정의에 특정하다. 개념은 단어들이 그룹으로서 생각될 때 개념을 정의하는 단어들의 그룹, 또는 사전으로서 본원에서 정의된다(예컨대, 자동차 브랜드의 개념이 "혼다", "포드", "푸조" 등과 같은 단어들의 리스트에 의해 정의된다). 사전 리파인먼트의 사이클은 긍정적 및 부정적 예들을 제공하는 운영자로부터 생겨나고, 컴퓨테이션은 이들 예들로부터 개념 일반화 후보들을 제공한다. 운영자는 그 다음에 (단어들을 지우거나 또는 새로운 것들을 추가함으로써) 일반화를 정정하는 등을 할 수 있다. 사전 리파인먼트 사이클은 나중의 섹션에서 설명된다.
각각의 사이클은 운영자로부터의 표적화된 시맨틱 입력이 뒤따르는 무거운 컴퓨테이션을 요구한다. 이는 컴퓨팅 관점에서 비효율적이지만, 운영자의 관점에서 효율적이다. 운영자는 시스템이 적절히 일반화하는데 실패할 때에만 작업을 할 필요가 있다. 전반적인 아키텍처(액티브 라벨링 및 액티브 피처링)가 이들 실패들을 일찍 표면화하기 위해 조직된다.
3.
동기부여
접근성은 분류자들을 기재할 수 있는 사람들의 수를 개방한다. 그러나, 그것은 충분하지 않다. 몇몇 종류의 "마법"이 바이러스성 채택(viral adoption)을 생성하기 위해 필요하다. 현재의 기계 학습 도구들은 엔지니어들을 위해 엔지니어들에 의해 설계되어 있다. 그들에게는 마술이 결여되어 있다. 이 섹션은 UX를 신중히 설계함으로써 분류자들을 구축하기 위한 동기부여를 증가시키는 것에 관한 것이다.
대부분의 사람들에게, 기계 학습은 복잡하고 신비하다. 기계 학습-문맹 운영자들이 인식 및 스키마화 태스크들을 수행하는 기계 학습 시스템을 가르치는 것을 허용하는 사용자 인터페이스가 도전과제이다. 아래에 설명되는 것은 간단한 UX 원칙들인데, 그것들은 시스템을 이해할 수 있게 하고 신뢰할 수 있게 하기 위해 설계된다:
투명도 원칙은 시스템을 덜 신비하고 위험하게 한다. 민감성 원칙은 사용자가 그의 액션에 대한 즉각적인 피드백을 갖는 것과 그의 액션의 "파생물들"을 학습하는 것을 허용한다. 진행 원칙은 소망의 상태에 도달하기 위해 추종할 방향을 식별하게 한다.
학습을 가능하게 하기 위해, 라벨들과 피처들이 운영자로부터 필요하다. 라벨들 및/또는 피처들이 시스템의 상태를 변경하면, 제 1 원칙은 라벨들과 피처들이 액세스 가능하고 편집 가능해야 한다는 것이다. 이는 다음의 여러 의미들을 갖는다:
라벨들 및 피처들의 동일한 세트가 동일한 결과를 항상 산출한다. 학습은 준-결정적 함수이다. 학습 알고리즘이 피처들의 약간의 변경에 민감하다면, 제 1 원칙은 다소 위반된다(운영자는 입력 변화들을 구별하지 못할 수도 있다).
데이터는 "피클링(pickling)되어"야 한다. 예를 들면, 웹 페이지에서의 링크들에게는 그 링크들이 만료된 때에 시스템의 거동을 변경시킬 수 있는 허상(dangling) 포인터들을 가지는 것이 바람직하지 않다.
제 1 원칙은 가끔 위반될 것이지만, 바라건대 이는 시스템에서의 운영자의 신뢰에 영향을 미치지 않을 것이다. 예를 들면, 특정한 피처들이 동의어들, 철자오기들, 클릭 그래프 등과 같은 시스템 서비스들로서 자동으로 제공될 수도 있다. 이들 기능들을 동결시킬 수 있지만, 그것들의 시맨틱스를 동결시키고 피처들이 (적은 예측 비용으로) 정기적으로 및 투명하게 업데이트된다고 하는 것이 더 좋을 수도 있다. 분류자가 피처의 시맨틱 의미에 의존하는 것을 배운다면, 피처의 정기적 업데이트들은 분류자를 개선시킬 것이다. 놀랍게도, 기계 학습이 단일-패턴 보증이 아니라 통계적 보증만을 제공한다는 개념을 도출하기 위해 인공적 잡음을 시스템 내에 도입할 수도 있다. 결과적인 비-결정론은 전반적인 성능에 영향을 미치지 않지만, 초보 사용자들의 과잉 훈련을 막는다.
민감성(responsiveness) 원칙은 사용자들이 시스템을 동작시키는 방법을 빠르게 학습(피드백)하는 것을 허용한다. 그것은 액션들을 진행으로 해석함으로써 보상을 또한 생성한다. 모든 라벨과 모든 피처는 가시적으로 양호한 분류자를 생성해야 한다. 이는 세 가지 이유들로 어렵고, 모든 액션 후의 분류자를 재교육하는 것은 비싸다. 모든 새로운 분류자를 사용하여 모든 아이템들을 재스코어링하는 것은 훨씬 더 비싸다. 그리고 마지막으로, 많은 운영자 개입들은 가시적이고 통계적으로 중요한 개선을 보여주기 위해 분류자에게 필요할 수도 있다. 탐색이 분포를 상당히 변경시킨다면, 글로벌 메트릭들은 예측 불가능한 방식들로 영향을 받을 수도 있다. 이들 도전과제들은 재훈련과 재스코어링이 투명해야 한다는 사실에 의해 악화된다. 무한한 자원들 없이, 디자인 원칙의 즉각성 및 가시성 양태들은 (예를 들면, 모든 운영자 입력에 대해 재훈련하지 않음으로써) 타협될 것이다. 이는 훈련과 스코어링에 전용된 자원들의 수를 증가시키며, 정기적이고 빈번한 간격으로 (예컨대, 50 개의 라벨들마다) 재훈련하고, 부분적 스코어링을 사용함으로써 완화된다(ALE 알고리즘에서, 쿼리/필터링은 스코어링될 모든 아이템에 대해 기다리지 않고 반환한다). 당연히, 민감성 원칙은 자원들의 수(전력을 컴퓨팅) 및 영악한 관리(부분적 컴퓨테이션)를 증가시킴으로써 최상으로 해결된다.
a.
에러 범주화(error categorization)
진행 원칙은 일이 행해진 때와 시스템을 더 좋게 하기 위해 무엇을 행하여야 할지를 운영자가 항상 안다는 것을 의미한다. 이들 두 가지 것들 중 어느 것도 간단하지 않다. 분류자를 개선하는 것을 중지해야 하는 때는? 분류자를 개선하는 방법을 어떻게 알 수 있나? 이 질문에 답하는 것을 돕기 위해, 시스템에 의해 만들어진 에러들은 다음의 세 개의 버킷들로 범주화된다:
무지(ignorance) 에러들: 시스템이 그 패턴을 잘못된 클래스의 패턴으로부터 구별하는 입력 정보 외에, 입력 및 패턴 클래스 간의 관계를 학습할 수 있기에는 불충분한 라벨 정보를 갖는 에러들.
이 에러 분류는 시스템이 문제를 학습할 능력을 갖고 적절히 정형화된다고 가정한다. 이 가정은 사용자 인터페이스를 제약하지 않는다. 시스템이 문제를 학습할 능력을 갖지 않는다면, 다음의 유형의 에러들을 가질 것이다:
이 경우에 관해 우려할 필요가 없는데, 학습 문제는 양호한 피처들을 추가함으로써 단순화될 수 있고 대부분의 기계 학습 알고리즘들의 경우 피처들을 추가하는 것이 용량을 증가시키기 때문이다. 그러므로, 이 에러를 "색맹"을 에러라고 할 피처 제한의 결과로서만 마주할 수 있다. 반대로, 용량이 너무 큰 경우가 있을 수 있다. 이 경우, 증상은 다수의 "무지 에러들"이 다수의 라벨들을 추가한 후에도 관찰될 것이라는 것일 수 있다.
기계 학습 알고리즘의 선택, 피처들의 표현력, 및 자동 정형화의 품질은 얼마나 오래 학습을 할 것인지와 시스템이 달성할 수 있는 최상의 결과가 무엇인지에 영향을 미친다. 그러나, 이것들은 사용자 인터페이스를 재설계하는 일 없이 수정되고 개선될 수 있다.
에러 범주화는 진행 원칙을 다루는 것에 도움이 되어, 예컨대, 에러의 제 1 유형(모호성)이 다음의 소망의 상태를 제안한다: 에러들의 대부분이 "모호성 에러" 범주에 속한다면, 운영자는 행한다. 시스템은 운영자를 능가할 가망이 거의 없다. 에러들의 큰 부분이 색맹 또는 무지로 인한 것이면, 운영자는 무엇을 할 것인지를 한다: 색맹 에러들은 긍정을 긍정 오류로부터 또는 부정을 부정 오류로부터 구별하는 피처들을 가산함으로써 해결된다. 이것을 가능하게 하기 위해 인터페이스를 설계할 수 있다(다음 섹션). 무지 에러들은 라벨들을 가산함으로써 해결된다. 임의의 시간 포인트에서, 시스템은 어떤 유형의 에러들이 최대 효율을 위해 해결되어야 하는지를 제안할 수 있다. 학습 알고리즘의 훈련 및 테스팅 에러 곡선들이 가깝다면, 더 많은 피처들이 필요하다. 그렇지 않으면, 더 많은 라벨들이 더 효과적일 것이다.
b.
불변성
현재 상태로부터 모호하지 않고 명확하게 될 소망의 상태로의 경로에 대해, 진행이 항상 앞으로 가고 있는 것을 보장해야 한다. 이는 운영자의 신뢰를 얻어야 한다. 그것은 몇몇 예방책들을 요구한다. 일단 분류자가 훈련되면, 그것은 피처가 될 수 있다. 일단 그것이 피처가 되면, 더 큰 모델의 부분으로서 재훈련되는 것이 허용되지 않는다. 피처를 더 큰 분류자의 부분으로서 재훈련하는 것은 여러 부정적 결과들을 가질 수 있다: 첫째, 그것은 피처의 시맨틱 의미를 변경시킬 수 있다. 이는 운영자가 혼란되게 하고 다른 피처들에 대해 뒤로 진행하게 할 수 있다. 둘째, 훈련되었을 때의 피처의 용량은 더 큰 분류자에 대해 이용 가능한 라벨들의 수보다 훨씬 더 높을 수도 있다. 예상치 못한 용량 투입이 뒤로 가는 단계를 초래할 수 있다. 기계-학습 전문가들은 파라미터들을 동결하는 것이 기계 학습 관점에서 차선일 수도 있다는 것에 반대할 수도 있다. 그러나, 본원에서 설명되는 바와 같이, 시스템 안정성 및 예측가능성이 최적성을 능가한다.
진행은 메트릭들로 측정될 수 있다. 예를 들면, 분류자에 의해 찾아진 긍정들의 수와 정밀도를 곱하면 시스템에 의해 도달된 긍정들의 수에 대한 추정값을 산출할 수 있다. 이 메트릭은 재현율에 비례한다. 경계(예컨대, 0.25 및 0.75 사이의 X일 확률을 갖는 모든 패턴들)에 대해 만들어진 라벨당 정밀도 진행은 효능의 관심 측도이다.
동기부여는 마법으로부터 나온다. 마법은 다음의 세 가지를 생성하는 시스템으로부터 나온다:
공감(empathy): 운영자는 시스템에 의해 만들어진 에러들을 이해해야 한다. 시스템 생성 라벨들 및 피처들(예컨대, "단어 가방(bag-of-words)")을 방해하는 것은 시스템을 해석 가능하게 유지시킨다. 색맹 에러들은 운영자가 새로운 피처들을 제공하는 것을 열망하게 해야 한다. 무지 에러들은 운영자가 더 많은 라벨들을 제공하는 것을 열망하게 해야 한다. 시스템 에러들은 유용한 것으로서 환영되어야 한다. 투명도, 민감성, 및 진행 원칙들 모두는 시스템이 재능 있는 학습자로서 거동하게 하는데 기여한다.
놀라게 함: 시스템은 그것이 배웠어야 하는 것의 경계들을 미는 방법에 의해 운영자를 이해시켜야 한다. 그것의 에러들은 누락 피처들/개념들에 대해 집중해야 한다. 라벨들에 대한 그것의 요청들은 운영자가 예측하지 못한 예의 유형들을 발견하는 것과 클래스 개념을 재정의하는 것에 도전하게 해야 한다. 놀라게 하는 능력은 1) 개념 피처들의 간소화, 및 2) 매우 큰 데이터 세트들의 스코어링으로부터 나온다.
접근성, 효율, 및 마법으로, 분류자들의 구축은 가치 및 놀라움(wonderment) 양쪽 모두를 생성할 것이다. 이는 분류자들 및 스키마하는 자들이 큰 스케일에서 구축되는 것을 허용할 것이다.
IV.
액티브 피처링
A.
피처링
기계 학습에서의 공통의 활동이 올바른 피처들을 검색하는 것이다. 사람들은 통상 이것을 애드 혹 방식, 즉, 데이터의 프로그래밍 또는 프로세싱을 통해 피처를 추가하며, 시스템을 수정된 데이터에 대해 재훈련하기 위해 완전히 독립적인 프로세스를 시작한 다음, 에러들을 조사하는 등으로 행한다. 애플리케이션을 종료하지 않고서도 피처들이 공유 및 검색될 수 있고 에러들이 브라우즈될 수 있는 시스템에는 통상 아무것도 통합되지 않는다. 본원에서 설명되는 바와 같이, 액티브 피처링은 대화형 피처 생성, 편집, 및 리파인먼트를 가능하게 한다.
사용자들이 시스템의 성능을 미세 튜닝하기 위해 피처들을 선택하는 것을 돕는 몇몇 방법들이 피처들을 자동으로 선택하는 것(예컨대, 단어 가방) 또는 다수의 미리 존재하는 피처들로부터 선택하는 것(모델 선택, 피처 선택 등) 중 어느 하나를 한다. 액티브 피처링은 사용자가 유용한 피처들을 대화형으로 생성하도록 장려하고, 기계 학습 알고리즘의 복잡도는 최소로 유지된다. 아이디어는 기계-언어 알고리즘 및 피처 선택에 복잡도를 추가함으로써 에러들을 피하는 것보다는 피처들 및 라벨들을 추가함으로써 에러들을 대화형으로 해결하는 것이 더 좋다는 것이다. 복잡한 학습 알고리즘들과 다수의 피처들은 초기 단계에서 잘 작동할 가능성이 있지만, 전문종사자(practitioner)에게 명백한 결정이 개선할 수 없는 복잡한 시스템을 빠르게 넘기게 할 수도 있으며; 이 경우 에러들을 제거하는 것은 엄두를 못낼 만큼 어렵다. 그 반면, 사용자가 간단한 학습 알고리즘에 의존하면서 피처들 및 라벨들을 추가하는 것을 허용하는 대화형 루프는 더욱 액션 가능한 시스템을 얻게 할 수도 있다. 사용자가 모든 라벨 및 모든 피처에 기여했을 때, (피처를 생성/편집/리파인하는 것 또는 라벨들을 가산하는 것 중 어느 하나에 의해) 에러들은 해결하는 것이 더 명확하고 쉽게 될 수도 있다.
본원에서 설명되는 바와 같이, 피처들은 1) 미리 존재하는 시스템 피처들, 2) 다른 사용자들에 의해 시스템 상에서 생성된 미리 존재하는 피처들, 및 3) 사용자에 의해 즉석에서 생성된 피처들로부터 나올 수 있다. 3)의 경우, 다음의 두 개의 카테고리들이 구별된다: 3a) 액티브 라벨링을 사용하여 대화형으로 구축된 그것들 자체가 분류자들 및 엔티티 추출자들인 피처들, 및 3b) "개념"을 캡처하기 위해 단어들의 리스트(또한 사전으로 지칭됨)를 입력함으로써 생성되는 단어 피처들. 예를 들면, 월들(1월, 2월 ...)의 리스트가 "달들"의 개념을 캡처한다. 사전에서의 단어들은 문서 및 주어진 사전 간의 통계(사전의 얼마나 많은 단어들이 문서에 나타나는지, 사전의 얼마나 많은 별개의 단어들이 문서에 나타나는지 등)를 컴퓨팅함으로써 이용될 수 있는 피처를 함께 형성한다.
하나의 양태에서, 통합된 액티브 학습 시스템이 브라우징 컴포넌트, 훈련 컴포넌트, 스코어링 컴포넌트, 및 사용자 운영 피처 생성 컴포넌트를 포함한다. 통합된 액티브 학습 시스템은 하나 이상의 다른 양태들, 이를테면 검색 가능한 피처들이 통합된 액티브 학습 시스템 내에서 생성된 분류자들인 경우, 피처들에 대한 검색이 라벨들 및 분류자 스코어들에 의해 안내되고 운영자에 의해 확증되는 경우, 분류 에러들이 분류 피처-실명을 제안하고 해결하기 위해 조직되고 디스플레이되는 경우, 또는 피처들이 다수의 운영자들에 의해 생성 및 공유되고 공통으로 액세스 가능한 시스템 상에 저장되는 경우를 포함할 수도 있다.
다른 양태에서, 통합된 시스템은 브라우징 컴포넌트, 훈련 컴포넌트, 스코어링 컴포넌트, 및 사용자 제공 사전들에 기초한 피처-생성 컴포넌트를 포함한다. 통합된 시스템은 하나 이상의 다른 양태들, 이를테면 피처 사전에 대한 파라미터들의 수가 사전에서의 단어들의 수에 독립적인 경우, 또는 사용자가 파라미터들이 사전에서의 모든 단어들에 공통인지 또는 사전에서의 각각의 단어에 제각각인지를 특정할 수 있는 경우를 포함할 수도 있다.
설계에 의해, 본원에서 설명되는 인터페이스들은 어떤 학습 알고리즘이 사용되는지에 대해 불가지론적이다. 이 섹션에서, 피처들의 생성은 논의된다.
입력 공간(D)을 고려한다. 각각의 데이터 아이템 d∈D에 대해, 출력 공간(O)으로부터 분류 값(y)을 컴퓨팅한다. 이를 하기 위해, 분류 함수(g)가 사용되는데, 그 분류 함수는 포인트 d∈D 및 파라미터 공간(W)의 파라미터 벡터(w)를 벡터 y∈O로 매핑한다. 이러한 함수들의 공간은 다음의 G로 표시된다:
G: D×W→O
g: d, w → g(d, w) = y
예를 들면, 데이터 공간은 웹 페이지들의 공간일 수 있으며, 파라미터 공간(W)은 기계 학습 알고리즘에 의해 컴퓨팅된 실제 값들의 벡터일 수 있고, 출력 공간(O)은 각각의 웹 페이지에 대해 소망의 클래스일 확률을 표현하는 0 및 1 사이의 수일 수 있다. 이 수식체계(formalism)에 있는 하나의 문제는 공간(D)이 극도로 복잡할 수도 있고 D×W를 O에 매핑하는 함수의 세트(G)가 너무 커서 수 개의 라벨링된 예들로부터 훈련 가능할 수 있다는 것이다. 예를 들면, d가, 기껏해야, 100K개의 단어들로 절단되는 웹 페이지이면, 기껏해야, 10M 개의 단어들의 사전이 주어진다고 하면, 입력 공간의 차원은 여전히 1012일 수 있다. 그 문제를 단순화하기 위해, 공간(D)은 "피처 공간"이라고 본원에서 지칭되는 더 낮은 차원의 공간(I)으로 투영된다. 투영들의 세트는 F로 표시된다. 투영 f ∈ F : D → I 는 파라미터들의 훈련 동안 고정된다. 학습가능 함수를 G로부터 다음을 검증하는 공간 G'으로 이제 제한할 수 있으며
여기서 h은 피처 공간 및 파라미터 벡터를 출력에 매핑하는 함수이다. 함수 공간 H: I × W → O는 학습 알고리즘에 의해 결정된다. F에 의해 유도된 피처 공간(I)과 학습가능 함수 공간(H)은 파라미터들(w)의 학습을 더 쉽게 하기 위해 선택되고 가능한 적은 수의 예들을 요구한다. 예를 들면, 웹 페이지 분류의 경우, 피처 함수(f)는 분류 태스크를 위해 k 개의 가장 관련 용어들(예컨대, k = 1000)에 대한 역 문서 빈도(tf*idf)에 의해 정규화된 용어 빈도(term frequency)(f i )를 추출하는 것일 수 있다. 다르게 말하면, 데이터(d)의 웹 페이지가 주어지면, 피처화(featurization) 함수는 피처 벡터 x = f(d) = (f 0, f 1, ..., f k )를 계산하며, 여기서 f i 는 문서(d)에서의 용어 i의 정규화된 발생 횟수이고 f 0 = 1이다. 분류자는 분류 함수를 컴퓨팅하기 위해 다음과 같이 로지스틱 회귀분석(logistic regression)을 사용할 수 있다:
h(x, w) = logistic(w T x)
일단 f와 h가 정의되면, 전통적 기계 학습 알고리즘들은 훈련 예들(xj, l j)의 세트를 사용하여 파라미터들(w)을 추정하는데 사용될 수 있으며, 여기서 x j = f(d i ) 및 l j는 각각 j번째 피처화된 예 및 훈련 세트에서의 그것의 라벨이다. 여기서 관심 있는 것은 분류자를 구축하는 운영자가 라벨들(l) 및 피처 함수(f) 양쪽 모두에 기여하는 것이 허용되는 시나리오이다. 도 7은 분류 함수(710)를 피처화 함수 f(아이템 712)와 훈련 가능한 것(아이템 716)인 함수 h(아이템 714)의 합성으로서 표현하는 예시적인 정보 흐름(700)을 도시한다. 운영자는 분류 함수(710)에 영향을 미치기 위해 피처들(718) 및 라벨들(720) 양쪽 모두를 입력할 수 있다.
이전의 섹션들에서, 액티브 라벨링은 분류 공간을 탐색하고 개선하기 위한 절차로서 논의되었다. 다음은 액티브 라벨링에 상당하는 입력 측의 논의이다: "액티브 피처링".
B.
색맹
피처들의 자동 선택에 관련된 상당한 양의 문헌이 있다. 그것은 때때로 "피처 선택"이라고 지칭된다. 자동 피처 선택의 암시적 목표는 훈련 세트에 주어진 일반화를 개선하는 것이다. 본원에서 설명되는 바와 같은 목표는 다음과 같이 상이하다: 운영자에게는 피처 상당 라벨들에 기여하는 수단을 제공한다. 이는 인간들이 시맨틱 의미에 기여하게 하고 컴퓨터들이 스케일을 제공하게 하는 위에서 설명된 원칙을 추종하고 있다. 이전의 섹션에서, 에러들의 세 개의 클래스들은 모호성, 무지, 및 색맹으로 구분되었다. 모호성 에러들은 해결책(fixing)을 넘어서는 것이다 (그것들은 운영자 또는 문제의 고유 잡음으로부터 나온다). 무지 에러들은 라벨들을 가산함으로써 해결된다. 색맹 에러들은 시스템이 하나의 클래스의 맴버들과 상이한 클래스의 맴버들 간의 차이를 "보는" 것을 허용하는 피처들을 추가함으로써, 기계 학습 기술용어를 따르거나, 또는 "컬러 필터들"을 사용함으로써 해결된다.
피처링에 대한 인터페이스는 문제 특정적일 수도 있다. 예를 들면, 피처가 이미지 인식에서의 화소들의 함수, 쿼리 분류에서의 단어들의 함수, 또는 음성 인식에서의 켑스트럼(cepstral) 계수들의 함수일 수 있다. 운영자는 화소들, 켑스트럼들, 또는 단어 가방을 분류자를 구축하기 위해 이해하는 것이 필요하지 않다. 하지만 문제를 설정하는 것을 하는 누군가는 필요하다. 사용자들의 두 종류들이 그러므로 다음으로 구분된다:
o 데이터를 시스템에 업로드.
o 데이터를 훈련 알고리즘이 소비할 수 있는 피처들의 세트로 변환하는 일반적 피처화자(featurizer)를 제공.
o 데이터를 시스템에 의해 전개될 수 있는 무엇으로 변환하는 가시화자(visualizer)를 제공.
o 훈련 알고리즘을 선택하고 그것의 하이퍼-파라미터들을 요구된다면 설정.
일단 엔지니어가 문제를 설정하면, 운영자들은 다수의 분류자들 및 스키마하는 자들을 구축할 수 있다. 개시시간에, 새로운 분류자들의 입력들은 엔지니어 또는 시스템에 의해 제공된 일반적 피처(들)이다. 일단 몇몇 운영자들이 일부 분류자들을 구축 및 훈련하였다면, 그 분류자들은 피처들이 되게 동결된다. 위에서 설명된 바와 같이, 피처들은 불변이다. 이들 새로운 피처들은 그 다음에 더 높은 레벨 분류자들을 구축하기 위한 입력에 이용가능하게 되고, 따라서 에코-시스템을 생성한다.
운영자가 몇 개의 피처들을 선택한 다음 ALE 알고리즘에 의지하여 라벨들을 가산함으로써 분류자를 구축할 수 있다. 사실상, 기계 학습에서의 많은 시스템들이 피처들의 고정된 세트로부터 동작한다. 그러나, 한쪽으로 치우친 분포를 갖는 빅 데이터의 경우, 피처들이 필요할 선험적 관념(a-priori)을 알지 못한다. 새로운 피처들에 대한 필요는 탐색을 통해 스스로를 드러내 보일 가능성이 있다. 예를 들면, 요리 레시피 분류자를 구축하는 동안, 아프리카 레시피들에서 찾아진 재료들을 식별하는 피처를 갖는 것이 유용할 수도 있다. 운영자는 아프리카 레시피들의 존재와 그것들 특유의 재료들에 관해 그것들이 탐색을 통해 발견되기까지 알지 못할 수도 있다. 차 검출기를 구축할 때, 바퀴(또는 원형 형상) 검출기를 피처로서 갖는 것은 세그먼트화 문제를 훨씬 더 쉬워지게 할 것이다. 운영자는 자신이 분류자를 구축하는 것을 시도하기까지 이 부가적인 피처 없이는 문제가 너무 어려웠다는 것을 알지 못할 수도 있다. 이 제한을 해결하기 위해, 운영자는 피처들을 필요한 대로 추가하는 융통성을 가져야 한다. 액티브 피처링에서, 운영자는 분류자에 의해 만들어진 에러들을 검사하고, 분류자가 긍정의 부분들을 긍정 오류로부터 또는 반대로, 부정의 부분들을 부정 오류로부터 쉽게 구별하는 것을 가능하게 하는 피처들을 검색한다. 다르게 말하면, 운영자는 분류자의 부분에서 "색맹"을 찾는다. 일단 색맹이 식별되면, 운영자는 실명을 치유하기 위하여 "컬러 필터"를 제공하는 피처를 생성하는데 집중할 수 있다.
액티브 피처링 프로세스는 다음의 반복을 위해 운영자가 에러들을 검사하며, 피처들을 생성하며 및/또는 피처들을 편집/리파인하며, 시스템을 재훈련시키고, 라벨링된 예들을 재스코어링하는 루프이다. 그러나, 새로운 피처들의 생성은 종종 새로운 라벨들을 요구한다. 그래서 액티브 피처링 프로세스는 반복 액티브 피처링 액티브 라벨링 탐색(repeat active featuring active labeling exploration, RAFALE) 루프라고 본원에서 지칭되는 ALE와 액티브 피처링 양쪽 모두에 관계하는 큰 루프 내에 그 스스로가 삽입된다. 이는 표 2에서 요약되어 있다:
RAFALE | 액티브 피처링 | 피처 생성 |
반복: | 반복: | 반복: |
액티브 피처링 액티브 라벨링 탐색 |
에러들을 검사 피처들을 생성 및 추가(및/또는 기존 피처들을 생성 또는 리파인) 훈련 라벨링된 세트를 스코어링 |
기존 피처들을 검색 새로운 분류자를 생성 도메인 특정 피처들을 생성 |
표 2: RAFALE(Repeat Active Featuring Active Labeling Exploration) 루프
피처를 생성하기 위해, 운영자는 다음 3 개의 선택을 갖는다: 1) 시스템 피처 또는 (검색 엔진을 사용하여) 다른 운영자에 의해 생성된 피처를 찾음, 2) 소망의 피처를 구현하기 위해 주문 제작 분류자를 생성, 또는 3) 도메인 특정 피처를 생성. 제 1 선택은 커뮤니티의 파워를 활용한다. 제 2 선택은 통합된 도구를 사용하여 분류자를 빠르게 생성하는 능력을 활용한다. 이 능력은 일반적으로 이용 가능하지 않은데, 라벨링, 훈련, 스코어링, 및 피처링이 통상 상이한 도구들로 그리고 종종 상이한 사람들로 행해지기 때문이다. 제 3 선택은 도메인에 따라 달라진다. 단어들의 리스트들을 포함하는 아이템들에 대한 도메인 특정 피처들을 입력하기 위한 인터페이스가 아래에서 설명된다.
C.
단어들 및 사전들
기계 학습의 많은 애플리케이션들에서, 기본 피처들은 단어들인데, 그 단어들은 개개의 단어들, 단어들의 어간형(stemmed) 버전들(예컨대, 복수, 과게 시제 등을 나타내는 어형변화(inflection)가 제거된 단어들)뿐만 아니라 n-그램(n-gram)들(연속적인 단어들 또는 어간들의 시퀀스들)을 포함할 수도 있다. 종종, 선택의 표현은 단어 가방이다. 이 표현에서, 피처들은 일부 정규화(IDF: 역 문서 빈도(inverse document frequency))가 있는 문서에서의 각각의 단어의 빈도(TF: 용어 빈도)에 기초한다. 이들 피처들로 양호한 결과들을 얻는 것이 가능할 수 있지만, 개념들을 표현하고 일반화하는 능력이 부족하다. 예를 들면, 문서에서 혼다 및 도요타의 빈도들을 카운트하는 것이 가능하지만, 모든 자동차 브랜드들에 대해 일반화하는 피처들을 갖는 것이 바람직하다.
아래에서 설명되는 것은 분류 또는 엔티티 추출을 위한 피처들로서 사용되는 목적을 위해 개념들을 표현하는 사전들을 대화형으로 구축하는 도구이다. 개념들은 기계 학습 알고리즘에 의해 만들어진 에러들을 해결하기 위해 액티브 피처링 루프의 부분으로서 대화형으로 생성된다.
이 섹션에서, 데이터베이스에서의 아이템들은 단어들로 이루어진 문서들인 것으로 가정된다. 그러나, 본원에서 설명된 바와 같은 문서들 및 사전들의 개념들은 단어들의 사용으로 제한되지 않고, 다른 종류들의 데이터를 포함할 수도 있다. 문서 내부의 단어들이 상관성(inter-relationship)을 갖지 않고(단어 가방 모델), TF*IDF 벡터 표현은 기본 피처 벡터로서 사용된다는 가정이 또한 이루어진다. 사전들의 개념이 도입되기 전에, 이 표현은 명시적으로 설명될 필요가 있다.
C가 데이터베이스에서의 문서들의 콜렉션이고 T가 구축될 분류자에 관련되는 용어들의 세트이다. 예를 들면, T는 코퍼스(C)에서 나타나는 모든 단어들의 세트일 수 있다. 각각의 문서(d) 및 용어(t)에 대해, 용어 빈도 tf(t, d)는 컴퓨팅될 수 있는데, 그 용어 빈도는 문서의 길이에 의해 나누어진 d에서의 단어(t)의 발생 횟수이다. 직관적으로, 용어 카운트는 단어들의 시맨틱 공간에서의 방향을 나타낸다. 그것은 장황성(verbosity)에 대해 불변이 되는 문서의 길이에 의해 정규화된다. 모든 용어들은 동일한 양의 정보를 담고 있지 않다. 특히, 문(statement) "용어 t가 문서 d에서 발생한다"에 의해 전달되는 비트들의 수는 다음의 수학식에 의해 주어지며:
여기서 |C|는 C의 카디널리티(cardinality)이고 |{d∈C :t∈d}|는 용어(t)가 나타나는 문서들의 수이다. 이 양은 또한 역 문서 빈도라고 지칭된다. 각각의 문서(d)에 대해, 문서(d)의 tf*idf 피처 벡터 표현은 다음으로서 정의되고
x(d) = (tf(t,d) * idf{t,C))t∈T
다음의 두 개의 유용한 속성들을 갖는다: 그것은 문서의 길이에 대해 불변이고 각각의 단어 피처의 분산은 그것의 정보 콘텐츠에 비례한다. 표 3은 tf*idf 표현이 컴퓨팅되는 방법을 요약한다:
표 3: 각각의 문서에서의 각각의 단어의 카운트들
tf * idf 값은 카운트들을 문서 길이(마지막 열)로 나누고 그 결과에 역 문서 빈도(마지막 행)을 곱함으로써 컴퓨팅된다. 결과적인 행 벡터들은 각각의 문서의 피처 표현들이다.
로지스틱 회귀분석이 분류를 위해 사용되면, 가중치들을 정형화하는 것과 입력을 그것들의 분산을 조정하기 위해 재스케일링하지 않는 것이 바람직하다. 이는, 단어 공간에서, 문제가 매우 고차원적이고 및 아주 적은 라벨들이 있기 때문이다. 로지스틱 회귀분석의 경우, 분류 함수는 다음과 같으며:
여기서 x p 는 패턴(p)의 피처 표현이며, y p 는 분류자의 출력이고 i는 T의 용어들 전체에 걸친 인덱스이다. 목적 함수는 다음과 같으며:
여기서 l p 는 패턴(p)에 대한 라벨이고, λ는 정형화 파라미터이다. |T|가 라벨들의 수보다 더 큰 여러 차수들의 크기일 수도 있다는 것이 인식되어야 한다. 정형화자(regularizer)는 |w|2 또는 |w|일 수 있다. 정형화자들이 없었다면(즉, λ = 0), idf 정규화는 훈련 동안 w에 흡수될 수 있다.
주어진 사전에서의 각각의 단어에 그것 소유의 가중치가 주어지면, 시스템은 단어 가방에 더욱 대등해질 수 있다. 아이디어는 운영자가 시맨틱 의미를 캡처하는 피처들을 특정함으로써 귀중한 정보를 분류자에게 전달할 수 있다는 것이다. 운영자에게는 단어들을 작은 그룹들로 따로따로 출력하는 것이 허용되고 개개의 작은 그룹은 부가적인 정형화 제약조건들에 대해 중요할 수도 있는 공유된 가중치를 여전히 가질 수 있다. 사전에서의 모든 단어들이 동일한 파라미터를 공유한다면, 그 단어들의 시맨틱 또한 공유된다.
예를 들면, 자동차에 대한 분류자를 구축할 때, 피처가 모든 자동차 브랜드 이름들의 사전, 이를테면 {"Toyota", "Ford", "Peugeot", ...} 일 수 있다. 피처링의 다른 해석은 운영자가 모델의 파라미터들을 "묶는(tying)"다는 것이다. tf*idf 표현이 여전히 사용되고 있지만 사전 {"Toyota", "Ford", "Peugeot", ...}에서의 용어들에 대한 파라미터들은 공통의 값에 묶여 있다고 상상한다. 일반화 값은 즉각적이며, 즉, 사전이 희귀 자동차 브랜드들(예컨대, 마세라티(Maserati))을 포함하면, 훈련에서의 라벨링된 문서가 해당 브랜드의 자동차들에 대해 어떠한 언급도 하고 있지 않더라도, 분류자는 해당 자동차 브랜드에 관한 문서들에 대해 잘 수행할 수 있다. 예를 들어, 단어들 "혼다" 및 "마세라티" 양쪽 모두가 자동차 브랜드 사전에서 나타난다면 그리고 단어 "혼다"가 많은 훈련 예들에서 나타난다면, 시스템은 "마세라티"의 예들이 훈련 세트에서 나타나지 않더라도 "마세라티"에 대해 일반화할 수 있을 것이다.
사전에서의 단어당 가중치를 갖는 것과, 전체 사전에 대한 단일 가중치를 갖는 것 사이에 있는 시스템을 갖는 것이 가능하다. 이는 단어당 가중치를 갖게 하지만, 정형화 제약조건으로 사전 내의 가중치들을 제약함으로써 행해진다. 사전이 입력되자마자, 대응하는 가중치들은 공통의 공유 값을 갖는다(많은 경사도 하강 학습 알고리즘들이 가중치 공유 개념으로 쉽게 일반화된다). 용어 빈도 기여도의 idf 스케일링은 바람직한데, 적은 정보를 담고 있는 용어들이 공유된 가중치의 값에 대해 동일한 가중치를 갖지 않아야 하기 때문이다. 스케일링 후, 모든 파라미터(w j ) 기여도들이 비교 가능하다. 가중치 공유 제약조건은 완화될 수 있고 가중치들의 그룹들을 유사해지도록 유도할 수 있다. 하나의 예로서, 가중치들의 그룹을 그 가중치들의 평균에 가깝게 되도록 제약할 수도 있다. 그 경우에, 정형화자가 가중치들의 그룹을 그것들의 평균으로 묶는데 사용될 수도 있어서, 사전 내의 단어들의 가중치들은 그것들의 평균에서 너무 벗어나지 않도록 제약된다. 예시적인 정형화 제약조건은 다음의 형태를 가질 수 있으며:
여기서 E는 사전들의 세트이며, J c 는 사전(c)에서의 용어들에 대한 인덱스들의 세트이며, 는 J c 에 의해 인덱스된 용어들에 대한 파라미터들의 평균이고, γ는 정형화 파라미터이다. 이 설정에서, 공통 사전에 대응하는 가중치들은 정형화 제약조건에 의해 묶여 있다. γ의 큰 값에 대해, 위의 제약조건은 가중치 공유에 상당하는, 또는 사전당 하나의 가중치를 가짐에 상당하는 근접 균등(near equality)을 강하게 강요한다. 십중팔구, 정형화자(γ)는 λ보다 더 클 것인데, 운영자에 의해 전달되는 예비 지식이 대부분의 w i 가 작다는 예비 지식보다 훨씬 더 강하기 때문이다.
각각의 사전에 대한 가중치는 각각의 가중치를 양립 가능한 스케일로 유지하기 위하여 정형화 제약조건을 적용하기 전에 문서 빈도 또는 사전 사이즈의 함수로서 스케일링될 수 있다. 사실상, 이전의 예에서, 이는 단어 "혼다"가 그것의 지식을 정형화 제약조건을 통해 단어 "마세라티"에게 전달하는 것을 허용하지만, 가중치를 상이한 방향으로 당기는 충분한 "마세라티" 데이터가 있다면 단어 "마세라티"가 상이한 가중치를 갖는 것을 여전히 허용한다.
D.
대화형 개념 편집(액티브 개념화)
분류자를 생성하는 일 예로서, 목표가 "홈 페이지들"에 대해 다음의 분류자를 생성하는 것이라고 가정한다:
사전들은 이 순서로 생성될 수도 있다(그것은 도구가 구축되기까지 추측하기 어렵다):
네 개의 제 1 사전들은 긍정을 찾는 것(부정 오류들을 제거하는 것)을 돕는다. 다음의 두 개는 긍정 오류들의 수를 줄인다. 이 프로세스는 고도로 대화형이다. 분류자를 구축하는 일 없이 어떤 사전이 유용할 것인지를 알기가 어렵다. 사용자는 부고기사에 대한 또는 즉석 이벤트들에 대한 분류자를 생성할 것을 결정할 수도 있다. 이 프로세스는 재귀적이다. 즉석에서 생성된 피처들/분류자들은 양호하게 될 것이 요구되지 않는다. 유용하기 위해, 기회보다 더 낫게 되고 새로운 정보를 가져다 주는 것만 필요하다.
1.
쟁점들
사전 수가 많다면, 피처링은 "전문가 시스템들" 및 구식 "AI"의 전통에서 규칙과 예외를 생성하는 것과 유사하다고 생각할 수도 있다. 그러나, 고려될 수도 있는 다음의 세 가지가 있다:
o 첫째, 사전들은 단지 피처들 또는 필터들이다. 그것들이 결합되는 방법은 기계 학습 알고리즘들에 완전히 맡겨져 있다. 사용자의 관점에서, 복잡도의 폭발적 증가는 없다. 피처링 태스크는 단지 시스템에 긍정을 긍정 오류로부터 또는 부정을 부정 오류로부터 구별하는 수단을 제공하는 것이다. 첫 번째 또는 n번째 사전을 추가하는 복잡도는 동일하다. 운영자는 규칙들이 아니라 센서들을 제공하고 있다.
o 분류자들을 효율적으로 구축하는 것과 비효율적으로 구축하는 것 간의 차이는 시맨틱 의미의 측면에서 사전들을 "깨끗하게" 유지하는 것으로부터 나올 가능성이 있다. 예를 들면, 위의 홈 페이지 예에서, 홈 페이지 큐들의 사전과 그 페이지에서 주소가 있는지의 여부를 검출하는 사전을 섞는 것은 나쁜 아이디어일 것이다. 이는 합성성(compositionality)을 줄일 것이다. 수 개의 주소 용어들을 제 1 사전에 추가하는 것이 주소 사전을 갖지 않는 것보다 낫지만, 두 개의 시맨틱 의미들을 위한 두 개의 사전들은 훨씬 더 낫다. 이는 시스템이 그것들의 영향을 상이하게 가중하는 것을 허용하고 피처-사전들의 디버깅 및 재사용가능성을 훨씬 더 쉽게 한다. "센서들"은 가능한 한 직교하고 순수해야 한다. 깨끗한 사전들을 유지하는 것은 또한 그 사전들을 나중의 재사용에 더욱 적합하게 한다. 순수한 사전들은 다른 인간들이 이해하기가 더 쉽고 다른 분류 문제들에 도움이 될 가능성이 더 높다.
o 최적화는 비-파라메트릭적이다. 이는 교차 확증을 통해, 시스템의 용량이 이용 가능한 데이터의 양에 합치하도록 자동으로 조정되는 것을 의미한다. 그 시스템뿐만 아니라 단어 가방에 기초한 임의의 현재 사용중인 시스템이, 동일한 양의 데이터로 수행하여야 한다. 피처에 의해 제공된 부가적인 정보는 그것이 운영자가 수천 개의 라벨들을 입력하지 않게 한다면 매우 도움이 될 수 있다.
사전 편집은 단어 가방을 사용하는 임의의 시스템에 유용할 수 있다. 이는 단어들 간의 관계를 추출하기 어려운 데이터, 예컨대, 질의들, 광고 텍스트, 사용자 제품 설명, 또는 자유 흐름 텍스트에 대해 잘 작동할 수도 있다. 스키마 구조를 갖는 문서들, 이를테면 레시피들, 직업 설명, 제품들, 및 포럼들의 경우, 개인적인 정보와 단어들 간의 관계들은 중요하다. 이는 다음 섹션의 대상일 것이다.
사전들의 입력은 지루한 태스크이다. 예를 들면, 이전의 예에서의 이름과 성씨의 사전은 많은 엔트리들을 가질 것이다. 프리베이스(freebase)로부터 추출된 요리 재료들에 대한 사전은 이 명세서를 쓰는 시점에 1,709 개의 재료들을 가졌다. 다행히도, 사전들을 입력하는 프로세스는 자동화될 수 있다. 이는 다음의 서브섹션의 대상이다.
하나의 양태에서, 통합된 시스템이 훈련 패턴들을 디스플레이하는 수단을 갖는 컴포넌트, 훈련 컴포넌트, 스코어링 컴포넌트, 및 사전 편집 컴포넌트를 포함한다. 네 개의 컴포넌트들은 액티브 피처링 루프에서 사용된다. 사전 편집 컴포넌트는 운영자가 단어들의 리스트들 또는 n-그램들의 그룹에 의해 특징화되는 개념들을 편집하고 리파인하는 것을 허용하는 대화형 루프를 포함한다.
다른 양태에서, 사전에서의 각각의 단어 또는 n-그램이 자신 소유의 가중치를 갖는 사전 피처가 제공된다. 사전의 가중치들은 빈도 및 사전 사이즈의 함수에 의해 재스케일링될 수 있다. 재스케일링된 가중치들은 적은 훈련 데이터를 갖는 단어들의 가중치들을 더 많은 훈련 데이터를 갖는 단어들에 의해 결정된 디폴트 값을 향해 당기는 정형화 제약조건에 의해 묶여 있다.
다른 양태에서, 사전 인터페이스가 분류자 또는 엔티티 추출자의 피처들을 위해 제공된다. 그 인터페이스는 단어들 또는 n-그램들의 큰 리스트에 의해 정의된 개념들이, 긍정 또는 부정 단어 또는 n-그램 예들의 작은 리스트를 제공함으로써 대화형으로 특정되는 것을 허용한다. 각각의 반복에서, 개념 리스트는 입력을 사용함으로써 알고리즘들 및 편집의 콜렉션을 사용하여 자동으로 확장된다.
다른 양태에서, 사전 인터페이스가 분류자 또는 엔티티 추출자의 피처들을 위해 제공된다. 각각의 피처는 단어들 또는 n-그램들의 리스트로 이루어진다. 그 인터페이스는 운영자가 피처가 컴퓨팅되는 방법에 대한 옵션들을 특정하는 것을 허용한다. 다양한 옵션들의 대안들의 일반화 효과는 확증 세트 상에서 컴퓨팅되고 미리 검토된다.
2.
사전 생성
사전이 개념으로서 보여질 수 있다. 개념으로서, 그것은 일반화될 수 있다. 운영자가 사전에 대한 몇 개의 긍정적 예들을 타이핑할 때, 시스템은 가능한 일반화들에 대한 제안들을 제공할 수 있다. 일반화가 너무 공격적이면, 운영자는 부정적 예들을 추가함으로써 피드백을 제공할 수 있다. 이는 시스템을 표적화된 개념의 올바른 일반화를 향해 안내하는 긍정적 및 부정적 예들을 운영자가 제공하는 반복 프로세스가 된다. 이는 위에서 설명된 철학을 따르며, 즉, 운영자는 시맨틱 의미를 제공하고, 시스템은 그 의미를 리파인하기 위해 큰 스케일에서 컴퓨테이션을 제공한다. 이 섹션은 다음의 두 개의 부분들로 나누어진다: 액티브 개념화에 대한 사용자 인터페이스, 및 개념 일반화에 대한 알고리즘들의 콜렉션.
a.
액티브
개념화 인터페이스(
ACI
, Active Conceptualization Interface)
그 인터페이스의 목표는 사전들을 생성하기 위하여 운영자가 개념들을 시스템으로 전달하는 것을 돕는 것이다. 사전 생성 및 편집은 사용자가 긍정적 예들의 리스트를 제공하는 피드백 루프에서 행해질 수 있다. 도 8은 액티브 개념화 및 사전 편집과 함께 사용하기에 적합한 예시적 인터페이스(800)를 도시한다. 운영자가 새로고침 버튼(822)을 클릭할 때, 시스템은 제안 세트들(810)을 생성하여서, 각각의 제안 세트(810)는 사용자에 의해 입력된 단어들이 의미하는 개념을 일반화하는 것을 의미하는 새로운 단어 리스트가 된다. 각각의 제안 세트(810)는 상이한 알고리즘을 사용하여 생성된다. 사용자는 그 다음에 더 많은 단어들을 그것들을 타이핑함으로써, 또는 그것들을 제안된 리스트로부터 클릭 또는 드래깅함으로써 긍정적 예들(816) 또는 부정 예들(818)로서 추가할 수 있다.
제안 세트들(810)로부터의 단어들은 대응하는 추가 버튼(814)을 클릭함으로써 작업 세트(812)에 추가될 수도 있다. 제안 세트들(810)에서 클릭된 또는 선택된 단어들은 긍정들(816)로서 추가된다. 작업 세트(812)에서 선택된 단어들은 부정 세트(818)에 추가된다. 긍정들(816) 및 부정들(818)을 추가하는 다른 방법들, 이를테면 긍정들을 추가하기 위한 제안 세트 단어들(810)의 클릭과 부정들을 추가하기 위한 제안 세트 단어들(810)의 시프트 클릭(shift-click)이 또한 사용될 수도 있다. 큰 세트들의 경우, 운영자는 전체 제안 세트(810)를 작업 세트(812)로 복사할 수 있다. 제안 세트들(810)은 각각의 편집을 위해 재컴퓨팅된다. 완료 버튼(820)을 클릭하면 긍정들(816) 및 작업 세트(812)의 합집합이 새로운 사전으로서 제출된다. 대안으로, 지우기 버튼(824)의 클릭은 작업 세트(812)로부터 단어들을 지운다.
사전 편집 인터페이스는 그것들이 피처들로서 사용되는 방법을 제약하는 기계 학습 옵션들(예컨대, 체크 박스, 문턱값들)을 제시할 수 있다. 예를 들면, 사전 인터페이스가 다음에 대해 체크박스들 또는 대화 상자들을 가질 수 있다:
사전 옵션 인터페이스는 분류자 또는 엔티티 추출자를 옵션과 함께 또는 그러한 옵션 없이 훈련하고 그것의 성능을 확증 세트 상에서 측정함으로써 각각의 옵션의 일반화 효과를 미리 검토할 수 있다.
운영자가 완료할 때, 긍정 세트 및 작업 세트들의 합집합은 새로운 사전으로서 저장된다. 이 인터페이스는 시스템이 운영자에게 개념인 것으로 이해하는 것에 관한 즉각적인 피드백을 제공한다는 의미에서 매우 대화형이다. 운영자는 시스템의 해석에 반응하고 리파인할 수 있다.
단어들의 리스트에 의해 캡처되는 유효한 개념들을 생성하는 많은 방도들이 있다. 몇몇 포인트들은 다음과 같다:
제안 세트들은 다수의 성질들로 될 수 있다. 예를 들면, 하나는 미리 존재하는 사전들의 콜렉션으로부터 (웹 상에 찾아진 테이블들, 또는 프리베이스(Freebase)와 같은 데이터베이스에 기초하여) 나올 수 있다. 다른 하나는 문서들의 큰 데이터베이스에 기초한 워드들의 클러스터링으로부터 자동으로 도출된 시맨틱 개념들로부터 나올 수 있다. 세 번째 것은 (질의, URL) 쌍들 상의 클릭 그래프를 분석하는 것으로부터 나올 수 있다 (동일한 페이지 상의 클릭들을 생성하는 질의들이 아마도 관련되고 그것들의 단어들은 아마도 관련된 개념 내에 있다). 비록 제안 세트들이 매우 상이한 근원을 갖더라도, 그 세트들은 개념 편집을 위해 공통 인터페이스를 공유할 수 있다. 액티브 개념화에 대한 몇몇 알고리즘들은 아래에서 더 자세히 설명된다.
b.
액티브 개념화 알고리즘들
ACI는 운영자가 상이한 액티브 개념화 알고리즘들과 대화하는 것을 허용하는데 사용될 수 있다. 예를 들면 다음과 같다:
지식 베이스들: 프리베이스와 야고(Yago)는 많은 인간 입력식 사전들을 포함하는 지식 데이터베이스들의 예들이다. 긍정의 포함 및 부정의 배제에 대해 각각의 인간 입력식 사전을 테스트하는 것이 가능하다. 매칭 사전이 제안 세트이다.
클릭 그래프: 이 그래프는 질의들 및 웹 페이지들 간의 두 부분으로 된 그래프이며, 에지는 특정 웹 페이지가 대응하는 질의가 제출된 후 사용자에 의해 클릭되었음을 의미한다. 이는 질의들에 대해, 그리고 확장에 의해, 단어들에 대해 토폴로지를 유도한다. 예를 들면, 단어들의 세트가 질의들로서 조회될 수 있다. 이들 질의들 상의 클릭 이력은 질의들에 대해 그래프의 에지들을 추종함으로써 연관된 웹 페이지들 상의 클릭들의 확률 분포를 유도한다. 그 다음에 이들 페이지들 상에 클릭들을 생성할 수 있었던 질의들에 대한 확률을 유도할 수 있다. 유도된 분포의 최고의 (가장 높은 확률의) 질의들은 사전 제안으로서 사용될 수 있다.
링크 그래프: 하이퍼링크 그래프는 문서들을 그것들의 HTML 코드에 삽입된 하이퍼링크들을 통해 서로 연결되게 한다. 이는 제안된 클릭 그래프 기법과 유사한 방식으로 이용될 수 있는 다른 토폴로지를 제공한다.
웹 테이블들: 웹 상에서 찾아진 테이블들(또는 테이블들의 열들 또는 행들)의 분석이 의미론적으로 의미 있는 사전들의 리스트를 제공할 수 있다. 프리베이스와 유사한 알고리즘이 사전들을 제안하는데 사용될 수 있다.
이들 알고리즘들의 각각은 상이한 형태의 일반화를 제공한다. 운영자가 그 알고리즘들의 모두와 인터페이싱하는데 공통 인터페이스가 사용될 수 있다는 것은 행운이다. ACI는 운영자가 큰 사전들에 의해 구현되는 개념들을 비교적 적은 개입들로 입력하는 것을 허용한다.
3.
사전 다듬기(dictionary smoothing)
분류자를 정의하기 위해 사전들을 사용하는 것에 함께하는 하나의 쟁점은 사전이 다수의 관련 없는 콘텍스트들에서 발생하는 단어에 대해 불발(misifre)할 가능성이 있을 수도 있다는 것이다. 예를 들어, 영화들에 대한 사전이 웹 상에서 찾아진 영화들의 리스트를 입력함으로써 구축된다고 가정한다. 그러나, 그 리스트는 "It"이라 불리는 영화를 포함한다. "It"이라 불리는 영화와 함께하는 문제는 단어 "it"이 데이터베이스에서의 거의 모든 문서에서 나타날 수도 있다는 것이다. 이는 의도된 개념의 존재를 측정하는 사전의 능력에 상당히 영향을 줄 수도 있다. 다른 예로서, 사전이 "월들"에 대해 생성된다고 가정한다. 그것은 "May I help you"와 "I had dinner with April"과 같은 문장들 상에서 불발한다. 문제는 잘못된 문맥에서 단어가 불발하고 에러들을 도입한다는 것이다.
이러한 잠재적 불발은 사전 다듬기에 의해 해결될 수 있다. 사전 다듬기의 아이디어는 사전이 해당 단어 상에서 불발하는지의 여부의 예측을 시도하는데 특정 단어의 콘텍스트가 사용될 수도 있다는 것이다. 주어진 단어의 콘텍스트는 단어에 바로 선행하고 뒤따르는 얼마간의 수의 단어들을 포함한다. "월들"의 사전에 관해, 단어 "5월(May)"의 경우, 전체 코퍼스의 전체에 걸친 "may"의 모든 인스턴스들이 고려될 수도 있다. "may"의 각각의 인스턴스에 대해, 예를 들어, 단어 "may" 앞의 두 단어들 및 뒤의 두 단어들은 검사될 수 있다. 그들 네 개의 단어들에 기초하여, 중간에서의 단어("may")가 월인지의 여부에 관한 예측이 이루어질 수도 있다.
주어진 단어 앞의 두 단어들 및 뒤의 두 단어들을 사용하는 예를 계속하여, 다섯 개의 단어들의 모든 가능한 그룹을 코퍼스에서 찾는다고 가정한다. 그 코퍼스가 1억 페이지들을 포함하고 모든 페이지는 평균 2000 개의 단어들을 갖는다고 가정한다. 다섯 개의 단어들의 모든 그룹에 대해, 다른 네 개의 콘텍스트 단어들로부터 중간의 단어가 월인지의 여부를 예측할 수도 있다. 이는 큰 코퍼스 전체에 걸쳐 단어 발생들을 카운트함으로써 행해질 수도 있다. 각각의 단어에 대해, 중간 단어가 월의 사전에 속하는 다섯 단어들의 그룹에서 그 각각의 단어가 발생하는 횟수를 카운트할 수도 있다. 마찬가지로, 중간 단어가 월의 사전에 속하지 않는 다섯 단어들의 그룹에서 단어가 발생하는 횟수를 카운트할 수도 있다. 이들 카운트들로, 다섯 단어들의 그룹이 사전 단어를 포함할 확률을 네 개의 콘텍스트 단어들만을 찾음으로써 추정할 수도 있다.
예를 들어, "1998"은 월의 양호한 예측자라고 예측할 수도 있다. 그래서, 어구 "May 1998"은 사전이 "May"의 해당 발생에 발화(fire)해야 한다고 결정하는데 도움이 된다. 모든 네 자리 수가 월들의 양호한 예측자일 수도 있다. 그러나, 문장 "May I help you"에서, 단어 "I"는 (월이 아닌 것으로서의) "may"의 양호한 예측자일 수도 있지만, "2월"의 양호한 예측자가 아니며, 즉, "February I help you"는, 그렇다 하더라도, 종종 발생할 수도 있는 어구는 아니다.
덧붙여, 문제가 있는 단어들에 대해 시스템을 훈련하지 않을 것을 선택할 수도 있으며, 예컨대, 단어 "May"에 대해 시스템을 훈련하지 않는다. 그 경우, 시스템은 "may" 없이 소망의 개념을 예측하는 것만이 훈련되고, 그래서 "May I help you"에 대해 단어 "I"는 전혀 기여하지 않을 것이지만 "1998"은 기여할 것인데, "1998"의 콘텍스트에서 발생하는 다른 월들의 많은 예들이 있기 때문이다.
사전 다듬기를 설명하는 다른 방도는 단어 대체가능성, 즉, 사전에서의 다른 단어들이 주어진 단어에 대해 대체될 수 있는지의 여부를 조사하는 것이다. 텍스트 윈도우(즉, 주어진 단어의 콘텍스트)에서, 중간 단어가 사전 단어들의 일부에 의해 다르게 대체될 수 있는지의 여부를 결정할 수도 있다. 그 목적을 위해, 각각의 치환된 단어에 대해, 위에서 정의된 카운팅 기법, 또는 다른 언어 모델링 기법들 중 어느 하나를 사용하여, 중간 단어가 사전에 속할 확률 추정치를 검사할 수도 있다.
예를 들면, 자동차 브랜드 사전이 용어들인 Honda, Toyota, 및 Ford를 포함하고 문장 "President Ford came into Office in 1973"가 평가되고 있다고 가정한다. 사전 다듬기 없이, 사전은 "Ford"에 대해 불발할 것이다. 하지만 다른 자동차 브랜드들, 예컨대, "President Honda", 또는 "President Toyota"가 그 문장에서의 "Ford"를 대체한다면, 전체 코퍼스 내에서, "President Honda" 및 "President Toyota"라는 어구들은 발생하지 않거나, 또는 거의 발생하지 않는다고 결정할 수도 있고, 따라서 "President X"의 콘텍스트는 자동차 브랜드에 대해 매우 가능성이 낮다고 결정할 수 있다. 그 결과, 사전은 "President Ford"라는 어구에 더 이상 발화하지 않는데, 그 콘텍스트 내에서 사전에서의 다른 단어들이 "Ford"를 대체할 수 없기 때문이다. 이는 다수의 불발들을 제거한다.
사전 다듬기의 자세한 논의가 뒤따른다. 콘텍스트 및 사전의 개념들이 정의된 다음, 사전에 속한 단어들의 확률을 콘텍스트들의 함수로서 추정하는 것이 설명된다.
a.
콘텍스트
문서(a)와 포지션(p)이 주어지면, 단어 추출 함수가 다음으로서 정의되며
e: (a, p) → w
이는 문서(a)에서의 포지션(p)에 있는 단어를 반환한다. p에 대한 상대 포지션의 세트 B = (b0, ..., b l -1)가 주어지면, 콘텍스트 추출 함수(e B )는 다음으로서 정의되며:
e B : (a, p) → e(a, p + b 0), ..., e(a, p + b l -1)
여기서 e(a, p + b r )은 문서에서 포지션(p)에 대한 r'번째 오프셋(b r )에 있는 단어이다. 예를 들어, B = (-2, -1)의 경우, e B (a,p)는 문서(a)에서 포지션(p) 바로 앞의 두 개의 단어들을 반환한다. 문서(a)가 "The quick brown fox jumps over the lazy dog"이면, e (-2, -1)(a,4) = (brown, fox) 이다. B = (0)에 대해, e B = e임에 주의한다.
표기법: B = (b 0, ..., b l -1)은 순서화된 리스트를 표시하는데 사용된다. 순서화된 리스트들 간의 상등(equality)은 모든 엘리먼트들이 동일할 것과 그 순서가 준수되는 것을 요구한다. 그러나, b∈B에서, B는 세트 (b∈{b 0, ..., b l -1}) 처럼 취급된다. 표기 e i 는 e Bi 의 단축 형태로서 사용된다.
이는 관찰된 단어(w)가 문서(a)에서 포지션(p)의 콘텍스트(i 에 있다는 것을 의미한다. 이 서술부는 콘텍스트에서 단어(w)의 포지션이 중요하지 않다고 가정한다.
마찬가지로, 다음의 수학식
은 관찰된 단어들(w 0, ..., w l -1)이 (정확히) 문서(a)에서 포지션(p)의 콘텍스트(i)라는 것을 의미하는 것으로 정의된다. 컴퓨테이션을 단순화하기 위해, 다음 두 개의 가정들이 이루어진다: 콘텍스트 내의 포지션이 중요하지 않다고 그리고 콘텍스트 내의 각각의 단어의 존재가 다른 단어들의 존재와는 무관하다고 가정한다. 이들 가정들은 다음으로 이어진다:
b.
사전
사전 D = {d 0, ..., d k - 1}는 k 개 단어들의 세트로서 정의된다.
c.
확률
사전(D)와 m 개 콘텍스트 함수들(c i )의 세트가 주어지면, 다음을 컴퓨팅하는 것이 바람직하며:
이는, 단어들(o0, ..., o m - 1)이 콘텍스트(0, ..., m-1)에서 관찰되었다는 것을 고려한, 문서(a)에서 포지션(p)에 있는 단어가 사전(D) 내에 있을 확률이다. 표기를 단순화하기 위해, c r 이 에 대한 단축 형태로서 사용된다.
여기서:
여기서 o r = w 0, ..., w l -1이다. 그 결과는 다음이 되며:
여기서 서술부가 참이면 δ(predicate) = 1이고 그렇지 않으면 0이다.
카운트들은 다음으로 미리 컴퓨팅될 수 있으며:
이는 그러면 다음의 효율적인 컴퓨테이션을 허용하며:
K를 컴퓨팅하기 위해, 다음을 평가하는 것이 또한 필요하다:
다시, 다음과 같이 나이브 베이즈를 사용하며:
여기서:
여기서 o r = w 0, .., w l -1이다. 그 결과는 다음이 된다:
카운트들은 다음으로 미리 컴퓨팅될 수 있다:
CountWordContextAll(j,i)라는 양이 사전과는 무관함에 주의한다. 이는 CountWordContextNot(j,i)가 이 사전에 대해 테이블을 실제로 요구하지 않는다는 것을 의미한다(그것은 CountWordContext(j,i)로부터 즉석에서 컴퓨팅될 수 있다).
이는 그러면 다음의 효율적인 컴퓨테이션을 허용하며:
그리고 그것으로부터, 다음을 컴퓨팅할 수 있다:
i)
사전 단어 레벨들에서의 확률
단어가 사전 제공 콘텍스트의 주어진 단어일 확률을 컴퓨팅하는 것이 바람직할 수도 있으며:
여기서 w k 는 사전에서의 특정 단어이다.
여기서 서술부가 참이면 δ(predicate) = 1이고 그렇지 않으면 0이다.
카운트들은 다음으로 미리 컴퓨팅될 수 있으며:
이는 그러면 다음의 효율적인 컴퓨테이션을 허용하며:
K를 컴퓨팅하는 것은 또한 다음의 평가를 포함한다:
다시, 나이브 베이즈를 사용하며:
여기서:
여기서 o r = w 0, .., w l -1이다. 그 결과는 다음이 된다:
이를 위해, 다음의 양들이 필요하다:
CountWordContextAll(j,i)라는 양이 사전과는 무관함에 주의한다. 이는 CountWordContextKNot(k,j,i)가 이 사전에 대해 테이블을 실제로 요구하지 않는다는 것을 의미한다(그것은 CountWordContextK(k,j,i)로부터 즉석에서 컴퓨팅될 수 있다). 다음의 컴퓨테이션은 그러면 효율적으로 수행될 수 있다:
ii)
빼먹은 단어가 있을 확률
단어가 단어 w k 제공 콘텍스트를 뺀 사전 내에 있을 다음의 확률을 컴퓨팅하는 것이 바람직할 수도 있으며:
여기서 w k 는 사전에서의 특정 단어이다. e(a,p) = w k 이면, 위의 확률은 사전에서의 모든 다른 단어들의 확률을 반영한다. 예를 들면, "President Ford was 38th president of United States"라는 문장에서, 위의 확률은 "Ford"와는 상이한 사전에서의 모든 단어들로 훈련되었을 것이다. 사전이 {"Honda", "Ford", "Toyota"}이면, 그 확률은 매우 낮을 것인데, 많은 "President Honda" 또는 "President Toyota" 인스턴스들이 없어서이다. 그래서 확률은 문장에서의 "Ford"가 자동차 브랜드가 아님을 올바르게 예측할 것이며.
여기서 서술부가 참이면 δ(predicate) = 1이고 그렇지 않으면 0이다.
카운트들은 다음으로 미리 컴퓨팅될 수 있으며:
이는 그러면 다음의 효율적인 컴퓨테이션을 허용하며:
K를 컴퓨팅하는 것은 또한 다음의 평가를 요구한다:
다시, 나이브 베이즈를 사용하며:
여기서:
여기서 o r = w 0, .., w l -1이다. 그 결과는 다음이 된다:
이를 위해, 다음의 양들이 필요하다:
CountWordContextAll(j,i)라는 양이 사전에 독립적임에 주의한다. 이는 CountWordContextDictMinusKNot(k,j,i)가 이 사전에 대해 테이블을 실제로 요구하지 않는다는 것을 의미한다(그것은 CountWordContextK(k,j,i)로부터 즉석에서 컴퓨팅될 수 있다). 다음의 컴퓨테이션은 그러면 효율적으로 수행될 수 있다:
4.
피처 완성
피처 완성은 사전 다듬기에 대한 더욱 일반적인 접근법이다. 문서들을 자동으로 분류하는 학습 기법들은 라벨링된 훈련 인스턴스들의 세트로부터 분류자를 유추한다. 유추된 분류자는 입력 피처들의 세트, 즉, 문서를 기술하는 측정들을 취하고, 클래스 라벨을 출력하는 함수이다. 더 많이 라벨링된 훈련 인스턴스들을 획득함으로써, 또는 양호한 피처들에 의존함으로써 중 어느 하나로, 두 개의 대안적 경로들을 추종하는 분류자의 정확도를 주로 개선할 수 있다. 피처 완성은 제 2 접근법을 지향하고 양호한 피처들의 설계를 용이하게 하는 것을 겨냥한다.
피처가 문서의 원시 표현(예컨대, 텍스트에 대한 문자들의 시퀀스, 이미지들에 대한 화소들의 지도...)을 분류자가 의존하는 중간 표현(예컨대, 주어진 단어의 발생 횟수 또는 이미지에서의 특정 컬러의 존재 횟수)으로 매핑하는 함수이다. 대부분의 피처들은 분류자가 의존할 수 있는 측정들의 유형들에 관한 간단한 인간 직관으로부터 구축된다(예컨대, 이미지들에서의 얼굴들을 검출하는 분류자가 피부색의 존재를 피처로서 사용할 수 있다). 그러나, 문서 표현을 매핑하는 함수로의 직관의 변환은 복잡하며 불완전한 태스크이다.
피처 완성은 이 변환 프로세스를 용이하게 한다. 그것은 입력으로서 인간에 의해 주어진 초기 피처를 취하고 첫 번째 것을 보상하는 상보적 피처를 제공하여서, 양쪽 모두의 피처들의 조합은 초기 직관 측정에 가깝다. 그 목적을 위해, 미라벨링된 문서들의 큰 데이터세트에 의존한다. 미라벨링된 문서들의 원시 표현은 초기 피처가 사용하는 부분(표현 A)과 나머지(표현 B)로 나누어진다. 미라벨링된 세트에 대해 쌍을 이룬 표현들의 이 세트가 주어지면, 학습 알고리즘이 표현 B를 취하는 함수를 유추하기 위해 적용되고 동일한 문서의 파트 A 상에서 초기 피처의 출력을 유추한다. 이 함수는 상보적 피처인데, 그것이 초기 피처와 유사하게 거동하지만 원시 표현의 상보적 부분(즉, 표현 B)에 의존해서이다. 초기 피처 및 상보적 피처의 조합은 초기 직관에 더 가까울 수도 있는데 그것이 초기 피처 구현예가 이용하기 위해 관리하지 못하는 문서의 나머지를 사용해서이다. 두 개의 피처들의 조합은 또한 노이즈에 대해 더욱 강건한데, 손상(corruptions)이 표현 A 및 표현 B에 동일한 방식으로 영향을 줄 가능성이 낮아서이다.
분류자가 초기 피처와 그것의 상보적 대응물을 결합시키는 방법을 결정한다는 것에 주의해야 한다. 이는 상보적 피처가 (초기 피처가 이미 고품질이었으므로) 적은 영향을 주어야 하는지 또는 (초기 피처가 더 좋지 못한 품질이었으므로) 더 많은 영향을 주어야 하는지를 학습 알고리즘이 사용자를 위해 결정한다는 것을 의미한다.
하나의 양태에서, 시스템과 방법이 상보적 피처들을 구축하기 위해 제공된다. 각각의 상보적 피처가 초기 피처 및 미라벨링된 데이터의 큰 세트로부터 구축된다. 상보적 피처가, 초기 피처가 사용되고 있지 않은 원시 표현의 부분을 입력으로서 취하는 함수이다. 그것은 미라벨링된 데이터 전체에 걸쳐 이 상보적 표현으로부터 초기 피처의 출력을 예측하는 것을 시도함으로써 구축된다.
다른 양태에서, 그 시스템 및 방법은 하나 이상의 부가적인 피처들, 이를테면 초기 피처가 텍스트 스트림의 각각의 포지션에서 단어들 또는 n-그램들(단어들의 시퀀스)의 이접의 존재를 측정하는 한편, 상보적 피처 입력이 중심 단어들이 제거되었던 고려되는 포지션 주위의 텍스트 윈도우로 이루어지는 경우; 초기 피처가 텍스트에서의 일치 포지션을 예측하기 위해 문자열들을 통해 동작하는 정규 표현식인 한편, 상보적 피처 입력이 중심 단어들이 제거되었던 고려되는 포지션 주위의 텍스트 윈도우로 이루어지는 경우; 또는 초기 피처가 큰 뉴클레오티드 서열(예컨대, DNA)의 각각의 포지션에서 짧은 뉴클레오티드 서열들의 이접의 존재를 측정하는 한편, 상보적 피처 입력이 중심 뉴클레오티드들이 제거되었던 고려되는 포지션 주위의 적은 수의 뉴클레오티드들의 윈도우로 이루어지는 경우를 포함할 수도 있다.
다음의 논의는 피처 완성을 위한 예시적인 알고리즘들을 설명한다. 피처 완성은 초기 피처와 큰 미라벨링된 데이터세트로 시작한다. 상보적 피처가 이들 입력들로부터 구축된다. 일단 구축되면, 이 상보적 피처는 그다음에 감독된 학습 설정에서의 초기 피처와 연계하여 사용될 수 있다.
a.
정의들
데이터세트가 아이템들의 세트이다. 예를 들어, 데이터 세트가 웹 페이지들의 콜렉션, 질의들의 콜렉션, 단어 문서들의 콜렉션, 분자들의 콜렉션, 유전자들의 콜렉션 등일 수 있다. 각각의 아이템은 그것의 원시 표현에 의해 표현된다. 이 표현은 아이템 상에 이루어진 측정들의 세트이다. 측정결과들은 웹 페이지를 가리키는 링크들의 수와 같은 고정된 길이, 또는 가능한 주석들(예컨대, 굵게, 기울임꼴, 테이블 포지션, 메타데이터 등)으로, 각각의 단어를 표현하는 토큰들의 리스트와 같은 가변 길이들일 수 있다. 원시 표현의 목적은 정보가 관련되거나 또는 무관한 선험적 관념을 파악하는 일 없이 아이템에 관한 모든 정보를 컴퓨터 판독가능 형태로 캡처하는 것이다. 피처 표현이 원시 표현의 함수인데, 그것은 분류, 추출, 회귀분석, 랭킹 등과 같은 아이템에 대한 태스크를 수행하기 위한 기계 학습 알고리즘에 관련되는 정보를 캡처한다. 피처 표현은 통상 원시 표현으로부터 많은 정보를 버리는데, 원시 표현 공간이 기계 학습 알고리즘이 작은 수의 훈련 예들 및 유한한 컴퓨테이션 시간으로 적절히 수행하기에는 너무나 광대하기 때문이다.
초기 피처 표현(f)은 시작하는 피처 표현이다. 그것은 아이템의 원시 표현의 부분을 취하고 값 또는 값들의 벡터를 컴퓨팅한다. 값의 일 예가 아이템의 길이, 특정 서브-컴포넌트가 아이템에 존재하는 횟수 등일 수 있다. 벡터 값이 아이템 전체에 걸쳐 윈도우를 미끄러뜨리고 그 윈도우를 통해 함수를 컴퓨팅한 결과일 수 있다. 예를 들면, 텍스트의 윈도우의 경우, 초기 피처는 다음일 수 있다
o 주어진 리스트로부터의 임의의 단어가 윈도우의 중앙에서 나타나는지의 여부를 표현하는 이진 값,
o 윈도우에서의 동사의 존재 또는 부재를 표현하는 이진 값,
o 형용사가 뒤따르는 명사의 존재 또는 부재를 표현하는 이진 값,
o 윈도우에서의 주어진 단어의 발생 횟수 등을 카운팅하는 정수 피처
상보적 피처(g)가 또한 피처 표현이다. 그것은 아이템의 원시 표현의 상이한 부분을 취하고 값 또는 값들의 벡터를 예측한다. 그것은 다음의 섹션에서 정의된 알고리즘에 의존하여 구축된다.
이 논의는 아이템의 원시 표현에서의 두 개의 부분들을 구분한다. 표현 A는 초기 피처가 사용하는 부분을 지칭한다. 표현 B는 상보적 피처가 사용하는 부분을 지칭한다. 양쪽 모두의 부분들이 겹칠 수도 또는 겹치지 않을 수도 있음에 주의한다.
b.
상보적 피처를 구축하는 알고리즘들
i)
일반 알고리즘(BuildComplementary)
이 알고리즘은 부가적인 피처 함수(g)를 컴퓨팅한다. 그것은 데이터세트(D)와 함수(f)를 사용하여 g에 대한 훈련 예들로서 (입력, 타겟들) 쌍들을 생성한다. 그것은 그 다음에 훈련 알고리즘을 사용하여 g를 훈련시킨다. 그 결과는 새로운 피처 함수(g)인데, 그것은 f를 보완하는데 사용될 수 있다.
o 세트를 비우기 위해 상보적 피처 훈련 세트(P)를 초기화하며
o D에서의 각각의 아이템 i에 대해
■ ai(i에 대한 표현 A)를 추출하고
■ 초기 피처 f(ai)의 출력을 컴퓨팅하며
■ bi(i에 대한 표현 B)를 추출하며
■ (bi, f(ai))를 P에 추가한다. 이 (입력, 타겟) 쌍은 함수 g에 대한 훈련 예이다.
o g = SupervisedLearningAlgorithm(P)
o g를 반환한다
그 피처들이 미끄러지는 윈도우들에 대해 컴퓨팅되면, 그 알고리즘은 이와 같이 수정될 수 있으며:
o 세트를 비우기 위해 상보적 피처 훈련 세트(P)를 초기화하며
o D에서의 각각의 아이템 i에 대해
■ 아이템에서의 각각의 포지션(p)에 대해
o g = SupervisedLearningAlgorithm(P)
o g를 반환한다
ii)
이진 사건에 대한 전문화
f가 이진 피처이고 표현 B가 n 개 이진 측정들의 세트라고 가정한다. 이는 임의의 아이템 i에 대해, f(ai)가 0 또는 1 중 어느 하나인 한편, bi는 각각의 bij가 0 또는 1인 벡터 (bi1, ..., bin)로서 표시될 수 있음을 의미한다. P로부터의 다음의 카운트들, 즉, f(ai)=α 및 bij=β가 되도록 P에서의 쌍들 (bi, f(ai)의 수를 나타내는 N(j,α,β)에 의존하는 감독된 학습 알고리즘들의 클래스를 고려한다. 이 경우, 상보적 피처 구축 알고리즘은 다음으로서 다시 쓰여질 수 있으며
o j = 1..n, α = 0..1, β = 0..1에 대해 N(j,α,β)를 영으로 초기화하며
o D에서의 각각의 아이템 i에 대해
■ ai(i에 대한 표현 A)를 추출하고
■ 초기 피처 f(ai)의 출력을 예측하며
■ bi(i에 대한 표현 B)를 추출하며
■ j = 1..n에 대해 N(j, f(ai), bij)를 증가시키며
o g = SupervisedLearningAlgorithm(N)
o g를 반환한다
c.
분류를 위한 상보적 피처들
본원에서 사용되는 분류는 입력 아이템이 주어지면 클래스 라벨을 예측하는 태스크이다. 그 목적을 위해, 라벨링된 아이템들, 즉, 올바른 클래스가 인간 라벨러에 의해 식별된 아이템들의 세트로부터의 클래스 라벨로 입력 피처 표현을 매핑하는 함수를 자동으로 유추할 수 있는 감독된 학습 알고리즘의 사용이 이루어진다. 라벨 아이템 (x,y)이 표시되며, 여기서 x는 그것의 원시 표현(x)을 표시하고 y는 그것의 라벨을 표시한다.
다음의 알고리즘은 라벨링된 아이템들의 세트, 미라벨링된 데이터세트 및 초기 피처들(f1, ..., fn)의 세트를 취한다. 그것은 각각의 피처를 보완하고 초기 피처 및 그것의 상보적 피처 양쪽 모두에 의존하는 분류자를 학습시킨다.
o 각각의 초기 피처(fi)에 대해,
■ 그것의 상보물을 미라벨링된 데이터로부터 정의하며
gi = BuildComplementary(fi, U)
o 세트를 비우기 위해 쌍 세트(P)를 초기화하며
o L에서의 각각의 라벨링된 아이템 (x,y)에 대해,
■ 초기 피처들 및 그것의 상보적 피처들을 컴퓨팅하며
V(x) = f1(x), ..., fn(x), gl(x), ..., gn(x)
■ (v(x), y)를 P에 추가
o C = SupervisedLearningAlgorithm(P)
o Rg1, ..., gn 및 C를 반환한다
일 예로서, 표 4에서의 다음의 문서 콜렉션을 고려한다:
문서 ID | 콘텐츠 |
0 | "cut off date is May 18 2012"; |
1 | "Posted Thursday, May 24, 2012 at 10"; |
2 | "Published on February 18 2001"; |
3 | "Customers Viewing This Page May Be Interested in"; |
4 | "Posted Thursday, February 24 2012 at 10"; |
5 | "He bought 24 candles"; |
6 | "May I suggest that you read"; |
7 | "Beatles - Let It Be - Lyrics" |
초기 피처는 다음으로 가정된다: 단어가 세트 {"February", "May"}에 속한다. 초기 피처가 캡처하려고 시도하는 개념은 월의 개념이다. 유감스럽게도, 그것은 문서 3 및 문서 6에서 잘 작동하지 않을 것인데, "May"의 그들 특정 2 개의 인스턴스들이 월을 지칭하고 있지 않더라도 그 피처가 발화될 것이기 때문이다. 초기 피처에 따라 달라지는 임의의 학습 알고리즘은 그러므로 피처의 "불발"에 의해 불리하게 될 것이다.
이 문제를 보상하기 위해, 간단한 상보적 피처가 구축될 수도 있다. 윈도우들에 관하여, 위에서 설명된 일반 알고리즘 "BuildComplementary"를 참조하시오. 형식적으로, 초기 표현(a i,p )은 포지션 p를 중심에 둔 아이템 i에 대해 길이 1 (단일 단어)의 고정 길이 윈도우이다. 제 2 표현(b i,p )은 또한 길이 1의 고정 길이 윈도우이지만, 그것은 포지션 p+1의 단어를 중심에 두고 있다. 이는 윈도우는 본원에서 "콘텍스트" 윈도우라고 지칭된다.
이 예에서, 상보적 피처(g)는 월의 개념을 양호하게 예측하는 것을 시도하고 있다. 이 피처를 구축하기 위해, 매우 단순한 베이지안(Bayesian) 알고리즘이 g를 컴퓨팅하는 학습 알고리즘으로서 사용된다. 함수 g는 다음으로서 정의되며:
여기서 단어 w는 g가 평가되는 포지션 p + 1로부터 읽혀진다. 이 경우, 그것은 표현 b i,p 를 포지션 p 주위에 있는 것으로서 생각하는데 도움이 된다.
g에 대한 입력으로서 포지션 p + 1"에서의 단어보다는 다른 표현들이 사용될 수 있고, 임의의 다른 기계 학습 알고리즘이 f의 값들을 모방하기 위해 g를 훈련하는데 사용될 수 있음에 주의한다. 이 경우, 베이지안 모델이 사용되는데, g의 닫힌 형식 버전이 주어질 수 있고 명시적 기계 학습 알고리즘을 제공함으로써 프로세스를 분명히 설명해 준다. 베이즈의 규칙을 사용하여, 다음으로 쓸 수 있다:
일 예로서, g는 제 2 문서에 대해 포지션 3에서 컴퓨팅될 것이다(w = "24"). 코퍼스를 조사하여, P(word in Dict) = 6/54=1/9을 유추할 수 있는데, 54 개의 단어들이 코퍼스에 있고 이들 중 여섯 개가 사전에 있기 때문이다. May의 제 2 인스턴스(문서 1에서임)에 대해,
이는 단어의 여섯 개의 인스턴스들이 사전에 있고 이들 인스턴스들 중 두 개에서, 다음 단어는 "24"이다. P(following word is X)를 컴퓨팅하는 것은 다음을 실현함으로써 행해진다:
이는 디음으로 이어진다
또는
그리고 최종적으로 다음이 된다:
이것이 모든 인스턴스들에 대해 행해진다면, 그 결과는 다음이 된다:
문서 0: P("May" in Dict|following word is "18") = 1.0
문서 1: P("May"in Dict|following word is "24".) = 0.6666
문서 2: P("February" in Dict|following word is "18") = 1.0
문서 3: P("May"in Dict|following word is "Be") = 0.5
문서 4: P("February"in Dict|following word is "24".) = 0.6666
문서 5: P("May"in Dict|following word is "I") = 1.0
이 상보적 피처가 더 나은데, 그것이 0.6의 문턱값을 사용한다면, 문서 3에서의 May는 동사이고 월이 아님이 검출될 것이기 때문임을 알 수 있다. 하지만 그것이 완전하지 않은데 문서 5에서의 May는 또한 월이 아니라 동사임을 검출하는데 실패하기 때문이다.
아래는 더 복잡한 콘텍스트 함수가 문서들의 큰 코퍼스(500,000 웹 페이지들) 상에서 컴퓨팅되었던 일 예이다. 일차 기능(primary function)은 하나의 단어를 살피고 단어가 ("January", "February", ..., "December")에 속한다면 1이고 그렇지 않으면 0이다. 상보적 피처는 앞의 두 단어들과 뒤의 두 단어들을 살피고 나이브 베이즈를 사용하여 사전에 있을 확률을 컴퓨팅한다. 이를 위해, "리브 원 아웃(leave one out)"이라고 본원에서 지칭되는 위의 알고리즘의 변형이 사용된다. 이 버전에서, 특정 단어에 대해 사용되는 함수(g)는 그 단어에 의해 정의되는 인스턴스들을 제외한 데이터 세트의 모든 인스턴스들 상에서 훈련된다.
이는 유용한데, 단어가 (예컨대, 월 또는 동사가 될 수 있는 May처럼) 이중 의미를 가질 때, 그 단어는 자신 소유의 이중 의미를 제외하는 인스턴스들만으로 훈련될 수도 있기 때문이다. May의 이중 의미는 다른 월들을 잠재적으로 오염되게 할 수 있지만, 종종 문제가 없는데, f = 1 인 상이한 경우들에 대해 이중 의미에 대한 콘텍스트는 종종 상관되지 않기 때문이다. 예를 들면 g(February,.)가 February의 모든 인스턴스들을 제외하지만 May를 포함한 모든 다른 월들을 포함하는 세트로 훈련된다면, "May I help you?"과 같은 나쁜 경우들은 콘텍스트 "I"가 February에 대해 상당히 가능성이 낮을 것이기 때문에("February I help you?") February 모델에 손상을 거의 주지 않을 것이다.
아래의 표 5에서의 열거물은 데이터 세트로부터 랜덤으로 취해지고, 상보적 피처(g)의 값에 의해 정렬된 100 개의 인스턴스 예들을 도시한다. 그 값은 표제 "Prob"로 시작하는 열에서 도시된다. 다음 4 개의 열들은 (포지션 0에 있는 May를 기준으로 한) 포지션 -2, -1, +1 +2에서의 "증거"이다. 각각의 증거는 다음으로서 컴퓨팅될 수 있다:
다음의 열 라벨은 "개념" 값 또는 특정 발생이 실제로 월인지의 여부이다. 이 값은 평가의 목적만으로 손으로 계산된다. 표 5에서의 리스트의 검사는 초기 피처가 21% 에러 레이트를 생성할 것임을 보여준다. 그 반면, p=0.0003의 문턱값을 사용하는 상보적 피처는 2% 에러 레이트만을 가질 것이다.
V.
세그먼트화
및
스키마화
A.
세그먼트들
구성에 의해, 단어 가방 표현은 단어들 간의 모든 관계들을 무시한다. 이는 제한일 수도 있는데 정보의 순서화 및 그룹화가 가치 있을 수 있기 때문이다. 예를 들면, 포럼 웹 페이지를 개개의 포스트들의 시퀀스로 분해하는 것은 두 개의 제품들을 비교하는 포스트들을 찾는데 유용할 수 있다. 단어 가방 표현에서, 두 개의 제품들을 언급하는 두 개의 포스트들이 동일한 페이지에서 나타날 때마다 맞출 수 있을 것이다. 스키마를 개개의 필드들로 분해하는 것은 필드 표적 검색 및 피버팅(pivoting)을 허용한다. 이는 서빙당 500 미만의 칼로리와 20 분 아래의 조리 시간을 갖는 레시피들을 찾는데 유용할 수 있다.
이들 능력들을 가능하게 하기 위해, 각각의 아이템이 순서화된 토큰 시퀀스로 이루어진다고 가정한다. 이 토큰 기반 표현은 단어 가방보다 훨씬 풍부하다. 토큰들의 포지션들은 토큰들 간의 순서화 및 근접 메트릭을 유발한다. 두 개의 토큰들 간의 거리는 그것들의 포지션들 간의 차이 절대값(absolute difference)이다. (이 섹션에서, 일차원 토폴로지가 간소함을 위해 가정된다. 이차원 토폴로지가 가능하지만 더욱 복잡하다(세그먼트들은 직사각형들에 의해 대체된다.)) 세그먼트가 문서에서의 포지션들의 쌍 (b,e)로서 정의된다. 제 1 포지션 b(시작에 대한 것임)가 세그먼트의 제 1 토큰를 가리킨다. 제 2 포지션 e(종료에 대한 것임)가 세그먼트 외부의 제 1 토큰을 가리킨다. 각각의 세그먼트는 문서 내부의 인접한 토큰들의 그룹을 특징화한다. 문서 세그멘테이션(segmentation)이 k 개의 서로소(disjoint) 세그먼트들의 콜렉션(s 0 , ..., s k -1)이다. 더 형식적으로, n 개 토큰들의 문서의 가능한 세그멘테이션들의 세트는 다음에 의해 정의된다:
피처 f j (i,d)가 토큰 포지션(i)의 각각을 통해 정의된 문서(d)의 벡터 함수이다. 문서의 피처화는 f(d) = (f 0 (.,d), ..., f J -1(.,d))로서 정의되며, 여기서 J는 개개의 피처들의 수이다. 포지션 i에서의 피처 값이 전체 문서에 따라 달라질 수도 있음에 주의한다. 이 피처 정의는 글로벌 피처들(모든 토큰들에 걸쳐 일정함), 토큰 피처들(포지션 i에서의 값이 그 포지션에 있는 토큰에만 의존하는 피처들), 또는 트렐리스(이는 이 섹션에서 나중에 소개될 것임)를 포괄하기에 충분한 일반적인 것이다. 세그먼트 분류자(h)가 다음의 확률을 컴퓨팅하는 함수이며:
h: d, s, w→ h(f(d), s, w)
여기서 d는 원래의 데이터이며, f(d)는 토큰 데이터의 피처화물이며, s는 토큰들에 걸친 세그멘테이션이고, w는 훈련 가능한 파라미터 벡터이다. 이상적으로, 세그먼트 분류자는 다음으로 검증해야 한다:
도 9는 거리 주소의 예시적인 세그멘테이션(900)을 도시한다. 도 9의 상단 부분은 데이터(910)를 시각화한 것(웹 페이지의 부분)이다. 그 아래는 동일한 데이터의 토큰 표현(912)이며, 그 밑에는 다음의 거리 주소 세그멘테이션(914)이 있다: s=((4,15), (21,34), (40,53)).
거리 주소 세그멘테이션은 "거리 주소"로서 라벨링된 3 개의 세그먼트들(914)을 포함한다 (그러나, 세 번째 세그먼트는 페이지 상의 공간 제약 때문에 도시되어 있지 않다). 식당 이름 세그멘테이션이 ((0,3), (17,20), (36,39))를 반환할 수 있다. 이상적으로 거리 주소 세그먼트 분류자가 s = (4,15), (21,34), (40,53))에 대해 h(f(d), s, w) = 1을 그리고 s의 임의의 다른 값에 대해 0을 반환할 것이다. 이는 타겟 신호, 또는 세그먼트 라벨일 수 있다.
B.
모듈화(modularity) 및 트렐리스
스키마들은 재귀 구조를 갖는다. 스키마의 필드 자체가 스키마일 수 있다. 예를 들어, StreetAddress 스키마가 다음 5 개의 서브스키마들로 만들어질 수 있다:
o StreetAddress
o Street
o City
o State
o Zip code
o Country
본원에서 정의된 바와 같이, 모듈화 제약조건은 세그먼터들을 그것들이 사용될 수 있는 콘텍스트와는 독립적으로 구축하는 능력이다. 모듈성의 이점은 일단 세그먼터가 구축되면, 그것은 (분류자의 피처들과 유사하게) 하단 패션에서 더 높은 레벨 세그먼터에 대한 피처로서 사용될 수 있다. 미리 설명된 바와 같이, 피처들은 불변이도록 제약된다. 이는 일단 세그먼터가 구축되면, 그것이 상황적 정보를 이용하여 더 높은 레벨 세그먼터 내부에서 재훈련되지 않을 것임을 의미한다. 이것은 처음에 심각한 제한으로 나타난다. 예를 들면, 거리 추출자가 콘텍스트에 관해 알았다면 훨씬 더 낫게 일을 하였을 것이다. "Smith Lane, 1234"가 거리 주소 또는 이름인가? 더 낮은 레벨 세그먼터가 무엇이 거리이고 무엇이 거리가 아닌지를 결정하면, 더 높은 레벨 주소 세그먼터는 잘 수행될 가능성이 높지 않다.
트렐리스: 이 문제를 우회하기 위해, 세그먼터가 세그멘테이션이 아니라 트렐리스를 반환한다는 제약조건이 부과된다. 트렐리스가 각각의 토큰의 상태들 간의 전이 그래프이다. 도 10은 세그먼터(1024)의 트렐리스 표현(1000)을 도시한다. 주어진 엔티티 추출자에 대해, 각각의 토큰(1010)이 다음 3 가지 상태를 갖는다: 정크(1012)(엔티티 검출되지 않음), 시작(1014)(엔티티의 제 1 토큰), 및 계속(1016) (엔티티의 후속 토큰들(1010)). 에지들(1018)은 하나의 토큰(1010)으로부터 다음 토큰으로의 전이 확률이다. 세그멘테이션이 문서의 시작부분부터 문서의 끝까지의 가장 가능성 있는 경로이다. 전이 확률들은 토큰 피처들의 윈도우 전체에 걸친 콘볼루션 함수이다. 를 토큰 i의 상태 s1와 토큰 i + 1의 상태 s2 간의 전이 확률이라 하자. 그러면
여기서 g는 고정 훈련가능 함수이며, f(d) i 는 i를 중앙에 둔 토큰 피처화 윈도우이고, 는 각각의 전이(s1, s2)에 대한 훈련가능 파라미터들의 세트이다. 위에서 설명된 바와 같이, 시작 상태(1014)와 계속 상태(1016)는 세그먼트가 검출된 상태들이고, 상태 전이 에지들(1018)은 전이의 확률을 컴퓨팅하는 토큰 피처들(1020)의 함수들이다. 다른 제약조건들이 없는 데서, 세그멘테이션은 최적의 전이 경로(1022)(굵은 실선)이다.
트렐리스 표현의 장점은 그것이 낮은 레벨 세그먼터가 더 높은 레벨 세그먼터에게 모든 가능한 세그멘테이션의 확률을 전달하는 것을 허용한다는 것이다. 다른 제약조건들이 없는 데서, 디폴트 세그멘테이션은 트렐리스를 횡단하는 최적의 경로이다. 이는 O(n) 단계들에서 동적 프로그래밍을 사용하여 컴퓨팅될 수 있다. 낮은 레벨 세그멘테이션이 높은 레벨 세그먼터에 의해 사용될 때, 더 높은 레벨 세그먼터는 자신의 세그멘테이션을 출력한 다음, 제약조건들을 따르는 최적의 전이 경로를 찾음으로써 최적의 더 낮은 레벨 세그멘테이션을 찾을 수 있다. 예를 들면, 주소 세그먼터의 경우, 서브세그먼트들 (street, city, Zip code, state, 및 country)는 주소 경계들을 가로지를 수 없고(부모 제약조건) 주어진 토큰이 서브-세그먼트들 중 하나에만 속할 수 있다(동기(sibling) 제약조건). 다르게 말하면, 서브-세그먼터들은 그것들 소유의 세그먼트에 대한 최종 결정들을 하지 않는다. 그것들은 결정이 이루어진 레벨 위의 레벨에 대해 각각의 가능한 세그멘테이션에 대한 확률을 제공한다. 높은 레벨 세그멘테이션을 컴퓨팅하는 것은 상향식 프로세스이다. 그것에는 각각의 레벨에서의 새로운 세그멘테이션이 현재의 트렐리스와 부모 및 동기로부터의 제약조건들을 사용하여 컴퓨팅되는 필드 채움 과정(또는 백(back)-세그먼트화)이 뒤따른다.
각각의 서브-세그먼터의 경우, 가능한 세그멘테이션들 및 그것들의 대응 확률의 총 수는 n 개의 토큰들에 대해 O(2n)이다. 다행히도, 트렐리스 표현은 그 모든 정보를 O(n) 공간 내에 담고 있다. 특정 트렐리스로부터 세그멘테이션의 확률을 컴퓨팅하기 위해, 각각의 토큰이 3 가지 상태들 중 어느 것에 있는지를 단순히 결정하고 트렐리스 상의 대응 경로를 추종하면서 모든 에지들을 합산할 수도 있다.
트렐리스가 더 높은 레벨 세그먼터를 훈련하기 위한 피처로서 사용될 때, 그 트렐리스는 토큰 피처가 된다(모든 에지 값이 그것 좌측의 토큰에 연관된다).
C.
세그먼트들 라벨링
세그먼트들의 라벨링은 극히 지루할 수 있다. 문서에서의 각각의 단어는 라벨을 요구한다. 트렐리스 구조는 대화형 세그먼트 라벨링을 허용한다. 트렐리스의 주요 특징은 그것이 상태들 상의 제약조건들을 따르는 최적의 경로에 대한 검색을 가능하게 한다는 것이다. 디폴트 세그먼트화는 제약조건들 없이 최적의 트렐리스 경로로부터 나온다. 이 세그먼트화는 디폴트 라벨들을 각각의 시각적 토큰에 배정할 수 있다. 라벨들은 대응 토큰들의 시각적 표현들(예컨대, 단어들)을 그 대응 토큰들이 시작 상태 또는 계속 상태 중 어느 하나에 있을 때 강조표시함으로써 운영자에게 가시적이 될 수 있다.
시각적 토큰(예컨대, 단어)의 경계 상자 상의 각각의 클릭은 토큰의 상태를 토글링한다. 시작과 계속 간의 구별은 상당히 미묘한 것이며; 그 구별은 긴 세그먼트와 두 개의 인접 세그먼트들 간의 구별을 허용한다. 이는 UX 도전과제이다. 일단 시각적 토큰이 클릭되었다면, 그 토큰은 제약된다. 결코 클릭되지 않은 토큰들은 제약되지 않는다. 시각적 토큰 상의 모든 운영자 클릭에 대해, 제약조건은 추가/변경/제거되었다. 이는 새로운 결과적인 최적 경로를 O(n) 단계들에서 찾기 위해 트렐리스 상의 동적 프로그래밍 최적화를 트리거한다. 이는 남아 있는 비제약된 토큰들의 디폴트 라벨들을 변경 가능하게 할 것이다. 다르게 말하면, 시스템은 운영자 제약조건들이 주어진다고 하면 최상의 솔루션을 항상 디스플레이하기 위해 운영자와 협업하고 있다. 예를 들면, 누락된 주소 상의 어느 곳인가를 클릭하면 올바르게 전체 주소를 세그먼트로서 라벨링되도록 트리거할 가능성이 높다. 이는 주소 토큰 중 임의의 것이 주소 세그먼트의 부분이라면 인접한 토큰들이 주소의 부분이 될 공산(likelihood)들이 크게 증가하기 때문이다. 최적의 트렐리스 경로가 모든 클릭에 대해 컴퓨팅되면, 토큰들은 논리 그룹들에서 뒤집히는 경향이 있다. 이는 세그먼트들의 라벨링을 덜 지루하게 하고 적은 손과 눈의 협응(hand-eye coordination)을 요구한다. 모든 클릭이 제약조건이 추가되게 하기 때문에 모든 클릭은 순방향 진행임에 주의한다. 시각적 토큰들이 그것들의 값들을 디폴트로 가지고 있다는 것과 무엇이 그것들의 값들을 라벨링에 의해 갖는지를 나타내는 시각적 단서(clue)가 제공될 수도 있다.
신뢰도: 분류 라벨들과 유사하게, 정확도를 라벨링하는 중요도를 중요시하지 않는 것이 바람직할 수도 있다. 운영자가 낮은 신뢰도를 갖는 세그먼트들 또는 누락된 세그먼트들만을 조사하고 이것들을 먼저 라벨링할 것이 바람직하다. 관심 있는 UX 도전과제가 다음이다: 신뢰도가 어떻게 디스플레이되어야 하는가?
몇 개의 식별된 세그먼트들이 있는 문서가 주어진다고 하면, 낮은 신뢰도 세그먼트들은 시각적으로 튀어 나와서 운영자는 이것들에 집중하며, 결정을 하고, 전체 문서를 읽는 일 없이 새로운 라벨들을 제출할 수 있다. 이는 누락된 세그먼트들에 대해 훨씬 더 바람직하다. 주어진 문서 상에서, 세그먼트에 대한 가장 가능성 있는 후보는 운영자가 이것들에 집중하고 적절한 액션을 취할 수 있도록 시각적으로 튀어 나와야 한다. 낮은 신뢰도 후보들이 없다면, 운영자는 전체 문서를 그것을 읽지 않고 무시할 수 있어야 한다.
세그먼트 신뢰도를 디스플레이하는 것은 사소한 일이 아니다. O(2 n ) 개의 가능한 세그멘테이션이 있다. 토큰 레벨에서 신뢰도를 디스플레이하는 것은 오해의 소지가 있을 수 있고 페이지는 흑백점이 섞인 모양(salt and pepper)처럼 보일 수 있다. 예를 들면, 모든 수 또는 인스턴스의 단어 "main"이 누락된 주소에 대한 후보일 수 있다.
이 문제는 트렐리스 표현을 거슬러 올라감으로써 해결된다. 디폴트 경로는 문서 레벨에서 경로 스코어를 제공한다. 이 스코어를 디폴트 최적 경로 스코어(default optimal path score), 또는 DOPS라고 지칭한다. 이 글로벌 스코어는 토큰 레벨에서 의미가 없다. 토큰이 클릭되면, 그것의 라벨은 변경되고 제약조건이 주어진 새로운 최적 경로는 상이한 스코어를 제공한다. 제악된 최적 경로 스코어에 대해, 이 새로운 스코어를 COPS(token)이라고 지칭한다. 이 새로운 스코어 그것만으로는 토큰 레벨에서 의미가 없다. 그러나, 다음의 차이
Conf(token) = DOPC - COPS(token)
는 주어진 토큰의 라벨을 뒤집는 효과의 시스템 추정치이다. 그 차이가 0에 가깝다면, 시스템은 올바른 라벨을 갖는다고 확신하지 못한다(그것을 뒤집는 것이 효과가 없다). 다음에 주의하는데
0 ≤ Conf(token) ≤ 1
경로 스코어들이 확률들이고 DOPC는 상태가 제약되지 않을 때의 최적의 경로이기 때문이다. 스코어가 0에 가깝다면, 시스템은 대응 토큰이 세그먼트에 속하는지의 여부를 확신하지 못한다. UX 관점에서, 신뢰도는 토큰 레벨에서 색별(color-code)될 수 있거나, 또는 K가 신뢰도 문턱값인 Conf(token) ≤ K를 검증하는 낮은 신뢰도 토큰들이 강조표시될 수 있다. 라벨들이 그룹들에서 뒤집히는 경향이 있으므로, 인접 토큰들은 동일한 스코어 차이들을 가능성이 있고, 그래서 하나의 라벨이 변경될 때 운영자에게 어떤 토큰들이 함께 뒤집힐 것인지를 표시하는 것이 가능하다. 운영자가 낮은 신뢰도 세그먼트들(또는 낮은 신뢰도 아닌 세그먼트들)을 단지 살펴봄으로써 문서를 라벨링할 수도 있고 전체 문서를 읽는 일 없이 이들 세그먼트들에 대해서만 액션을 취할 수도 있다는 것은 적어도 타당한 것 같다. 이는 세그먼트 라벨링 비용의 상당한 감소이다.
제약조건이 주어진 최적의 경로는 동적 프로그래밍을 사용하여 O(n)에서 컴퓨팅된다. Conf(token)이 모든 토큰에 대해 컴퓨팅된다면, 나이브 구현예는 O(n 2) 단계들을 소비할 것이다. 문서가 100,000 개의 토큰들을 갖는다면, 이는 문제가 될 수 있다. 다행히도, 전체 함수 Conf(token)은 O(n)에서 컴퓨팅될 수 있다. 트릭은 두 개의 동적 프로그래밍 과정들을, 각각의 방향에서 하나씩 행하여, 양 방향들에서 현재 토큰부터 문서의 끝까지 최적의 경로를 컴퓨팅하는 것이다. 이들 과정들의 양쪽 모두는 O(n)에서 행해진다. Conf(token)의 양은 단순히 두 개의 절반 경로들의 스코어들의 합이다.
세그먼트를 가질 가능성이 가장 높은 문서들을 찾기 위해, 세그먼트 분류자는 다음의 동작으로 정규 분류자(regular classifier)로 전환될 수 있다:
다르게 말하면, h'은 적어도 하나의 세그먼트를 포함하는 모든 세그멘테이션들의 확률들의 합이다. 그것은 적어도 하나의 세그먼트가 페이지 상에 있을 확률을 반환한다.
VI.
세그먼트 추출
세그먼트 추출(엔티티 추출 또는 EE로도 알려짐)은 주어진 개념에 대응하는 토큰 세그먼트들을 문서 내에서 식별하는 프로세스이다. 일 예로서, 사용자가 자신이 지도 상에서 빠르게 검색할 수 있도록 주소들 및 그것들의 구성 부분들(city, state 등)을 웹 페이지로부터 자동으로 추출함에 관심 있어 한다고 가정한다. 도 11은 주소(1112)를 라벨들(1114)과 웹 페이지로부터 추출된 주소의 대응하는 구성 부분들(1116)과 함께 포함하는 웹 페이지(1110)의 단순화된 표현을 묘사한다.
세그먼트 추출에 대한 통계적 방법들은 문서를 디코딩하는데 사용될 수 있는 유한 상태 기계(FSM)를 구축하기 위해 훈련 데이터를 통상 사용한다. 주소들을 추출하기 위한 일 예의 유한 상태 기계가 도 12에 도시되어 있다. 노드들(1210, 1212, 및 1214)은 FSM의 상태들이고, 에지들(1216, 1218, 1220, 1222, 1224, 및 1226)은 상태들 간의 전이들이다. 각각의 파선형 전이(1218 및 1216)가 문서 토큰을 "소모"하고 그 문서 토큰을 주소의 부분인 것으로 서 라벨링하는 한편, 각각의 점 모양 에지(1214 및 1224)는 토큰을 소모하고 그 토큰을 주소의 부분이 아닌 것으로 라벨링한다. 실선 에지들은 임의의 토큰들을 소모하지 않는 엡실론 전이(epsilon transition)들이다.
문서가 주어진다고 하면, FSM은 "작동되어", 도 13에 예시된 바와 같이, 문서에서 경로 확률들을 계산하는데 사용될 수 있는 대응 트렐리스 를 생성한다. 도 13은 트렐리스(1310), 에지들(1312), 노드들(1314), 및 문서 토큰들(1316)을 포함한다. 명료함을 위해, 에지들 및 노드들의 일부만이 라벨링된다. 도 13은 각각의 토큰(1316)이 그 토큰에 대한 가능한 경로들 아래에 정렬되어 있음을 묘사한다.
트렐리스(1310)에서의 각각의 에지(1312)는 문서에서의 피처들의 함수인 가중치를 갖는다. 표준 디코딩 알고리즘들(예컨대, 비터비(Viterbi))을 사용하여, 트렐리스(1310)를 통해 최고 가중치 경로를 식별하고 토큰들(1316) 및 전이들(에지들)(1312)의 대응 라벨링을 출력할 수 있다. 임의의 주어진 경로의 확률이 추출될 수 있도록 가중치 함수를 또한 훈련할 수 있다.
에지 가중 함수들은 통상, 관심 있는 에지 "근처"에 있는 토큰 피처들의 함수들이지만, 이것이 요건은 아니다. 논의 하의 예에서, 그리고 도 14를 참조하여, 토큰 피처들(1410)로서 묘사되는 두 개의 토큰 피처들, 즉, IsNumber 및 IsStreetType이 있다고 가정한다. IsNumber 이것은 토큰(1412)이 숫자("1401" 및 "THIRD")에 대응하면 1이고, IsStreetType 이것은 거리들의 유형들("STREET", "ST", "AVENUE", "AVE")에 대응하는 토큰들(1412)에 대해 1이다. 그러면 각각의 토큰(1412)은, 도 14에 예시된 바와 같이, 차원 2의 대응하는 피처 벡터(1414)를 갖는다.
도 13을 다시 참조하여, 트렐리스(1310)에서의 실선 "수평" 에지에 대한 에지-가중치 함수를 고려한다. 이 함수는 다음과 같이 전이 전의 토큰과 전이 후의 토큰의 피처들을 조사할 수 있다:
파라미터들(θ i )은 훈련 세트 상의 몇몇 손실 함수(loss function)를 최대화하도록 훈련된다. 훈련 세트는 트렐리스를 따르는 경로들에 대응하는 라벨들을 통상 포함한다. 직관적으로, 훈련 알고리즘들은 훈련 데이터에서의 라벨링된 경로들이 비-라벨링된(non-labeled) 경로들보다 더 높은 총 가중치를 갖도록 기중치 함수들을 학습시킬 것을 시도한다.
훈련 데이터는 단일 경로를 유일하게 식별하는 일 없이 트렐리스를 통해 허용된 경로 세트 상에서 제약조건들을 또한 특정할 수 있다. 위에서 설명된 예에서, "1401", "THIRD", 및 "AVENUE"가 모두 주소 토큰들임을 나타내는 라벨을 가질 수 있으며; 트렐리스의 구조 때문에, 이는 경로를 유일하게 식별하지 않지만, 대신 그 경로를 중간의 세 개의 토큰들에 대해 파선형 토큰 소모 에지들로 제한한다.
A.
계층적
상태 기계
대부분의 세그먼트-추출 도메인들에서, 관심 있는 개념들은 계층적이다. 주소 예에서, 주소가 거리와 같은 하위 개념들을 갖고, 거리도 마찬가지로 하위 개념들을 가질 수 있다. 이러한 도메인은, 루트 노드(root node)가 관심 있는 개념을 표현하고, 자식 노드(children node)들이 상호 배타적인 서브-컴포넌트들에 대응하며; 상호 배타적인은 단일 토큰이 기껏해야 서브-컴포넌트들 중 하나에 속할 수 있다는(따라서, "Third"는 거리의 일부분 또는 우편 번호(zip code)의 일부분일 수 있지만, 양쪽 모두의 일부분일 수는 없다는) 것을 의미하는, "개념 계층구조"로서 표현될 수 있다.
유한 상태 기계들은 표현을 단순화하기 위해 다수의 상이한 방도들로 계층적으로 특정될 수 있다. FSM이 모듈들을 사용하여 재귀적으로 정의되며; 모듈 내의 전이들이 "일반" 상태 전이들에 대응할 수 있거나, 또는 그것들이 서브-모듈들 속으로의 전이들을 지칭할 수 있는 계층적 유한 상태 기계(hierarchical finite state machine, HFSM)를 고려한다.
일 예로서, 도 15는 두 개의 모듈들을 도시한다. 좌측의 모듈 "X"(1510)는 모듈 "Y"(1514)로 전이하는 "mY"로 라벨링된 모듈 에지들(1512)과, 토큰을 소모하는 일반 전이 에지인 전이 에지 "tX"(1516)를 포함한다. 모듈 Y(114)는 토큰을 소모하는 일반 전이 에지 "tY"(1518)와 어떠한 토큰들도 소모하지 않는 일반 전이 에지(1520)를 갖는다. 모듈 에지들(1512)을 서브 모듈들로 재귀적으로 대체함으로써, 도 16에 묘사된 FSM(1600)에서 예시된 바와 같이, 표준 대응 FSM을 복원한다. FSM(1600)은 전이 에지들 "tY"(1610), 전이 에지 "tX"(1612), 및 전이 에지들(1614)을 포함하는데, 그것들은 도 15의 전이 에지 "tX"(1516), 전이 에지 "tY"(1518), 및 전이 에지(1520)에 각각 대응한다.
B.
세그먼트 추출 모델들 대화형으로 구축
도메인에 대한 세그먼트-추출 시스템을 구축하기 위해, 기계 학습 전문가에게는 통상 (1) 기초를 이루는 유한 상태 기계의 구조를 정의하며, (2) 각각의 에지 주위의 고려하는 "윈도우"의 사이즈를 튜닝하는 것을 요구하는 에지들에 대한 피처 함수들뿐만 아니라 어떤 피처들을 사용할지를 정의하고, (3) 결과적인 모델을 애플리케이션의 성능 요건들에 부합하도록 튜닝하는 것이 필요하다. 또한, 기계 학습 전문가는 보통 고정 라벨링된 훈련 세트 및 테스트 세트로 시작한다. 아래에서 설명되는 것은 도메인 전문가가 기계 학습 전문가의 필요 없이 엔티티 추출 모델들을 구축하는 것을 허용하는 시스템이다.
세그먼트 추출자들을 구축하기 위한 대화형 시스템은, 토큰이 특정 세그먼트에 속하는지의 여부를 좌우하는 제약조건들을 사용자가 특정하게 하는 수단, 및 이들 제약조건들을 라벨들을 저장하는 수단(라벨링 능력); 최근 사용자 입력, 현재 문서 정보, 및 훈련가능 함수를 사용하여 가장 타당한 듯한 세그먼트들을 시스템이 대화형으로 재컴퓨팅 및 디스플레이하게 하는 수단(재훈련 없는, 라벨들의 대화형 전파); 모든 이전의 입력 라벨들을 사용하여 시스템이 훈련가능 함수를 훈련하게 하는 수단(기계 학습 요구된, 느린 비-대화형 훈련); 및 훈련가능 함수에 의해 컴퓨팅된 스코어에 기초하여 어떤 예를 다음으로 라벨링할지를 시스템이 자동으로 선택하게 하는 수단(액티브 라벨링)을 포함할 수도 있다.
C.
개념 계층구조
본원에서 설명되는 기술로, 도메인 전문가들은 관심 있는 도메인에 대응하는 개념 계층구조 대화형으로 제공할 수 있다. 주소 예에서, 주소를 그것의 구성 부분들로 분해할 수 있기 위해 기계 학습 전문가가 필요하지 않다. 도메인 전문가가 개념 계층구조를 특정하게 하는 것을 허용하는 사용자 인터페이스를 제공한 다음, 모듈들 내의 디폴트 구조를 사용하는 것에 의해 그 계층구조를 HFSM으로 변경함으로써, 및/또는 후보 구조들 중에서 선택하기 위해 라벨링된 데이터를 사용함으로써, 복잡정교한 추출 모델들이 도메인 전문가가 상태 기계들을 알거나 또는 그 기계들에 관심을 가지는 일 없이 구축될 수 있다.
더욱이, 도메인 전문가 사용하는 "언어"는 그 전문가가 기계 내에 부가적인 제약조건들 허용하도록 확장될 수 있다. 예를 들어, 도메인 전문가는 주소가 기껏해야 하나의 우편 번호를 포함할 수 있다고, 또는 임의의 주소가 존재하는 거리 부분을 가져야만 한다고 말하기 원할 수도 있다.
덧붙여, 도메인 전문가가 일부 개념에 대한 추출자를 구축한 다음, 다른 태스크에 대한 하위 개념으로서 "그것을 연결"할 수 있다. 이는 이전에 훈련된 HFSM에 대응하는 모듈들을 HFSM 내에 갖는 것에 해당한다. 그 예에서, 누군가가 주소들의 콘텍스트 외부에 우편 번호 추출자를 구축할 수 있다. 그 다음에, 주소들에 대한 개념 계층구조를 특정할 때, 사람은 우편 번호 하위 개념이 이전의 개념에 대응한다고 말할 수 있다. 이러한 "연결(plug in)"을 할 때, 하위기계(submachine)의 가중치들을 동결할 것을 결정할 수도 있어서 그 가중치들은 새로운 도메인에서 훈련될 것이 필요하지 않다.
세그먼트 추출자들을 구축하기 위한 대화형 시스템이, 사용자가 개념 계층구조를 대화형으로 특정하는 것을 허용하는 사용자 인터페이스 중 하나 이상을 포함할 수도 있고, 계층적 상태 기계에 관한 다른 정보가 사용자에 의해 제공되지 않을 수도 있고, 시스템은 디폴트 전략들 및/또는 모델-선택 전략들을 사용하여 계층적 상태 기계의 사양을 완성한다. 세그먼트 추출자들을 구축하기 위한 대화형 시스템은, 사용자가 개념 계층구조와 계층적 상태 기계에 대한 제약조건들로 해석하는 도메인에 관한 하나 이상의 부가적인 제약조건들을 제공할 수 있도록 될 수도 있고, 또한 하위 개념 인스턴스가 그것의 부모 개념의 인스턴스에서 기껏해야 한번 발생할 수 있다는 것이 부가적인 제약조건이 되도록 할 수도 있다(예컨대, 주소가 기껏해야 하나의 우편 번호를 포함할 수 있다). 하위 개념 인스턴스가 그것의 부모 개념의 인스턴스에서 적어도 한번 나타나야만 한다(예컨대, 주소가 주(state)를 포함해야만 한다), 하위 개념들에 걸친 부분적 순서(예컨대, 도시(city)는 주소에서 주에 앞서야만 한다), 및 두 개의 동기 하위 개념들이 그것들의 부모 개념의 인스턴스에서 양쪽 모두 나타날 수 없다(주소가 미국 우편 번호와 캐나다 우편 번호를 포함할 수 없다)는 것을 포함하는 부가적인 제약조건들이 또한 있을 수도 있다.
세그먼트 추출자들을 구축하기 위한 대화형 시스템이 개념들에 대한 이전의 구축 모델들이 재사용될 수 있도록 또한 될 수도 있다(예컨대, 누군가가 우편 번호 추출자를 구축하고 당신은 당신의 주소 추출자의 콘텍스트에서 그 동일한 추출자를 사용하기 원함을 시스템에게 말할 수 있다). 재사용 추출자의 파라미터들은 모듈 내에 포함된 에지들에 대해 동결(즉, 에지 가중 함수들이 고정)되지만 전이 에지들을 그 모듈에 대해 들여 보내고 내보내는 에지 가중 함수들이 콘텍스트에 대해 훈련되는 경우가 또한 구축될 수도 있다.
D.
라벨 모듈화/이진 라벨링
주소와 같은 계층적 개념을 라벨링할 때, 모든 문서에 대해 주소의 모든 구성 부분들을 라벨링하는 것은 지루할 수 있다. 도메인 사용자가 한 번에 계층구조에서의 하나의 노드("주소" 또는 "우편 번호")에 집중하여, 많은 문서들을 빠르게 라벨링하는 것이 훨씬 더 쉽다.
라벨 모듈화는 라벨링에 관해 본원에서 사용되는 바와 같이, 라벨러 초점, 즉, 한 번에 하나의 모듈에 대해 라벨링/최적화하는 능력을 지칭한다. 모든 모듈들이 HFSM에서 서로 연결되기 때문에, 하나의 모듈에 대한 개선 및 라벨들은 동시에 다른 모듈들을 개선시킬 수 있으며; 라벨 모듈화는 사용자 초점의 모듈화를 의미하도록 구체적으로 사용된다는 것에 주의한다.
본원에서 사용되는 바와 같이, HFSM에서의 모듈이 사용자에 의해 끌어내어질 라벨들이 모듈들 상의 "in" 또는 "out" 라벨들에 의해 특징화된다면 이진적(binary)이라고 말해진다. 특히, "in" 라벨링된 토큰이, 그 토큰을 "소모하는" 에지가 주어진 모듈 또는 그것의 자손들 중 하나에 포함되어야만 한다(예컨대, 토큰이 "주소"로 라벨링되면, 그것은 그것의 자식 개념들 또는 암시적 "Address:other" 중 어느 하나일 수 있다)는 제한이다. 마찬가지로, "out" 라벨링된 토큰이 토큰을 "소모하는" 에지가 주어진 모듈 또는 그것의 자손들 중 임의의 것 내에 포함될 수 없다는 제한이다.
비이진 HFSM이 부가적인 라벨들이 이용 가능한 것일 수 있다. 예를 들어, "거리" 모듈이 서브-모듈들에 대응하지 않는 다음의 두 개의 별개의 라벨들을 소모하였다고 가정한다: Street1 및 Street2. 그러면 라벨링 도구는 토큰이 어떤 유형의 거리인지를 사용자로부터 끌어낼 수도 있다. 물론, 이는 IsStreet1 및 IsStreet2의 동등한 이진 라벨링으로 변환될 수 있다.
HFSM에서의 각각의 모듈이 이진적일 때, 이진 라벨링 도구가 모듈당 단위로 HFSM에 대한 라벨들을 끌어내는데 사용될 수 있다. 도 17은 주소들의 이진 라벨링을 위한 시스템의 예시적인 스크린 샷(1700)을 묘사한다.
루트 노드(1712)("Address")와 세 자식(1714)("Street", "City", 및 "Zip Code")을 갖는 개념 계층구조(1710)가 좌측에 도시된다. 묘사된 바와 같이, 사용자는 선택된 루트 노드(1712)를 갖는다. 대응하는 HFSM에서는, 기계가 세 자식에 속하지 않는 주소 토큰들을 받아 들이는 것을 허용하는 사용자에게 명시적으로 도시되지 않은 자식 개념 "Address:Other"(이를테면 구두점, 충전제 텍스트 등)가 있다. 검색 결과로서 반환되는 웹 페이지(1716)가 우측에 디스플레이된다. 주소의 부분인 페이지(1716) 상의 토큰들을 라벨링하기 위해, 루트 노드(1712)를 처음 선택하고서, 사용자는 첫 번째 토큰(1718)("15710 NE 24TH ST. SUITE E")을 클릭하고 주소의 마지막 토큰(1720)("98008")까지 드래그하여, 전체 주소 부분을 선택한다. 도 18은 도 17로부터의 검색 결과들의 부분을 묘사하고, 전체가 검색 결과들(1800)이라고 지칭된다. 도 18은 전체 주소 부분(1810)의 사용자 선택을 도시한다.
주소의 부분인 토큰들을 아는 것이 어떤 토큰들이 Street, City 또는 Zip Code인지에 관해 명시적 라벨들을 제공하지 않는다는 것에 주의한다. 사용자는 그 다음에 도 17의 제출 버튼(1722)을 클릭하고, 새로운 문서가 도시된다. 도시된 새로운 문서는 사용자가 (예컨대, "98008"을 포함하는 페이지들을) 제공했던 명시적 검색 용어에, 또는 현존 모델을 사용하는 액티브 학습 알고리즘(아래 참조)에 기초할 수도 있다.
다수의 문서들을 라벨링한 후, 시스템은 주소들을 "프리 라벨"링하는데 사용될 수 있는 모델을 훈련시킨다. 더욱이, 프리 라벨은 라벨들을 빠르게 끌어내기 위해 제약조건들을 고려할 수 있으며; 제안된 라벨이 올바르지 않으면, 사용자는 잘못된 라벨을 갖는 단일 토큰 상을 클릭할 수 있고, 이 제약조건은 문서에서의 다른 토큰들로 "전파(propagate)"될 수 있다.
사용자는 개념 계층구조에서의 대응 노드, 이를테면 "Street", "City", 또는 "Zip Code"를 클릭함으로써 어떤 개념을 라벨링할 것인지를 변경할 수 있다. 따라서, 사용자가 다음 도시들을 라벨링하기를 원한다면, 도 19에 묘사된 바와 같이, 도시 노드를 클릭하고 문서들 상의 주소들 내의 도시들을 라벨링하는 것을 진행할 수 있다. 도 19는 도 17의 그것에 맞먹는 주소들의 이진 라벨링을 위한 시스템의 예시적인 스크린 샷(1900)을 묘사하고, 전체가 스크린 샷(1900)으로서 일반적으로 지칭된다.
루트 노드(1912)("Address")와 세 자식 노드들, 즉, 자식 노드(1914) ("Street"), 자식 노드(1916)("City"), 및 자식 노드(1918)("Zip Code")를 갖는 개념 계층구조(1910)가 좌측에 도시된다. 묘사된 바와 같이, 사용자는 선택된 "City" 노드(1916)를 갖는다. 검색 결과로서 반환되는 웹 페이지(1920)가 우측에 디스플레이된다. 묘사된 바와 같이, 사용자는 토큰(1922)("BELLEVUE")을 도시로서 선택하였다. 스크린숏(1900)의 부분에 맞먹는 예시적인 스크린 샷(2000)을 묘사하는 도 20을 참조하여, 사용자가 토큰들을 "City"인 것으로서 라벨링할 때, 이는 그 토큰들이 주소의 부분임을 의미한다는 것에 주의한다. 사용자가 라벨을 제출하기 전에 도시로부터 주소로 변경하면, 그 사용자는, 도 20에 예시된 바와 같이, 자신의 도시 라벨이 주소 라벨을 의미하였음을 알 수 있을 것이다. 루트노드(2010)("Address")가 이제 선택되어 "Address"의 라벨에 연관됨을 나타내는 토큰(2012)("Bellevue")은 선택된 채로 남아 있다.
세그먼트 추출자들을 구축하기 위한 대화형 시스템이 도메인 전문가가 개념 계층구조에서의 노드들에 연관된 이진(in/out) 라벨들을 제공하는 것을 허용할 수도 있다.
E.
세그먼트 추출 모델과 피처들로서의 분류 모델
일단 엔티티 추출 모델이 구축되었다면, 그 모델은 다른 엔티티 추출자에서의 에지 가중 함수들에 입력으로서 사용될 수 있다. 예를 들어, EE 모델을 사용하여, 문서에서의 각각의 토큰에 대해, 토큰이 주소의 부분일 확률을 예측할 수 있다. 이 확률, 그 확률의 또는 일부 함수는, 그 다음에 토큰 피처 값들 중 하나로서 다른 "표준" 피처 값들과 함께 사용될 수 있다.
엔티티 추출 모델들은 분류 모델들에 대한 문서-레벨 피처들을 생성하는데 또한 사용될 수 있다. 예를 들어, 주소가 페이지 상에 확률 > 0.5로 존재하는 피처를 갖는 레스토랑-페이지 분류자를 구축할 수 있다. 엔티티 추출 모델들은 분류 모델들을 피처들로서 또한 사용할 수 있다. 세그먼트 추출자들을 구축하기 위한 대화형 시스템이 세그먼트-추출 모델에 대한 입력 피처들을 생성하기 위해 세그먼트-추출 모델들을 미리 구축하고 및/또는 분류 모델들을 미리 구축할 수도 있다.
F.
세그먼트 추출 검토 패널
세그먼트-추출 모델이 구축되었을 때, 그 모델이 사용자가 이미 라벨링했던 문서에 대해 예측하는 방법을 아는 것이 유용하다. 예측된 라벨들 및 실제 라벨들 간의 불일치들이 라벨링 에러들을 나타낼 수 있거나 또는 추가할 새로운 피처들을 제안할 수 있다. 도 21은, 날짜들을 식별하는 추출 문제를 사용하여, 이것을 하는 검토 패널의 예시적인 스크린 샷(2100)을 도시한다. 도 21은 문서 텍스트(2110), 토큰(2112)("02/21/07"), 토큰(2114)("JANUARY"), 및 토큰(2116)("BY")를 포함한다. 사용자 식별된 라벨이 토큰(2112) 아래의 밑줄(2118)에 의해 표시된다. 모델 예측물들(2120)이 토큰들(2112, 2114, 및 2116) 위에 놓인 직사각형의 상부의 세 개의 변(side)들에 의해 표시된다. 도 21에 도시된 바와 같이, 모델은 "02/21/07"를 날짜로서 올바르게 식별하였지만, "JANUARY BY"를 날짜로서 틀리게 라벨링하였다. 비록 "JANUARY"가 월이지만, 도시된 콘텍스트에서, 그것은 실제 날짜의 부분이 아니다.
도 22는, 사용자가 라벨링한 문서에서의 모델 예측의 예시적인 스크린 샷을 도시하는 것인데, 그 모델이 토큰(2210)("JULY 23")을 올바르게 식별하였지만, 날짜인 토큰(2212)("7-23-12")을 누락한 상황을 묘사한다.
세그먼트 추출자들을 구축하기 위한 대화형 시스템이 현존 모델의 예측물들이 있는 라벨들을 동시에 검토하는 인터페이스를 가질 수도 있다.
G.
미니-문서들
웹 페이지들 또는 서적의 장들과 같은 문서들은 매우 길 수 있다. 그 결과, "문서 라벨링"은 단순히 지루할 수 있는데 라벨러가 전체 문서를 스캔할 필요가 있기 때문이다. 이 문제를 완화하기 위해, 문서들은 라벨링되어 있는 세그먼트의 콘텍스트를 잃어버리는 일 없이 더욱 관리 가능한 서브-문서들로 세그먼트화될 수 있다. 예시적인 라벨링 도구의 스크린 샷(2300)을 도시하는 도 23에 관해, 중간의 "밝은" 직사각형으로 이루어진 미니독(minidoc)(2310)이라고 지칭되는 문서의 강조표시된 부분이 묘사되어 있다. 미니독(2310) 주위의 콘텍스트는 라벨러에게 가시적이지만, 하나의 실시형태에서, 사용자가 라벨을 제출할 때, 미니독(2310) 내의 텍스트의 부분(들)만이 시스템에 제출된다. 사용자는 미니독(2310)의 사이즈를 그것의 경계들을 클릭-드래그함으로써 변경시킬 수 있다. 대안으로, 사용자가 미니독(2310) 외부의 텍스트의 세그먼트를 라벨링하면, 미니독(2310)은 그 텍스트를 포함하도록 확장될 수 있다.
미니독이 다수의 방법들로 초기화될 수도 있다. 예를 들어, 현존 모델이 주어진다고 하면, 가능성 있는(또는 아마도 불확실한) 관심 있는 주소를 식별한 다음, 그 토큰 세그먼트를 포함하는 미니독을 정의할 수 있다. 세그먼트 추출자들을 구축하기 위한 대화형 시스템이 세그먼트 입력 문서를 더 작은 서브-문서들로 세그먼트화할 수도 있다. 덧붙여, 서브-문서들은 미리 존재하는 세그먼트-추출 모델에 기초하여 또는 특정 토큰들 또는 토큰 피처들에의 근접도(proximity)에 기초하여 자동으로 초기화될 수도 있다.
Claims (10)
- 기계 학습 시스템(machine learning system)에 대한 사용자에 의한 세그먼트 추출 방법에 있어서,
데이터 아이템들의 세트 ― 각각의 데이터 아이템은 복수의 토큰(token)들을 포함함― 를 저장하는 단계;
데이터 아이템 내의 세그먼트 ― 상기 세그먼트는 토큰들의 그룹을 포함함 ― 를 개념의 예로서 식별하기 위해 훈련 가능한 세그먼트 추출자(segment extractor)를 제공하는 단계;
사용자 인터페이스 상에 상기 개념을 표현하는 개념 계층구조 ― 상기 개념 계층구조는 상기 개념의 구성 부분들인 계층적 하위 개념들을 포함하고, 상기 하위 개념들 중 하나 이상의 하위 개념들은 상기 데이터 아이템 내의 토큰들을 선택된 하위 개념의 예들로서 라벨링하기 위해 사용자 선택가능함 ― 를 제시하는 단계;
상기 개념 계층구조에서의 하위 개념의 사용자 선택을 수신하는 단계;
상기 복수의 데이터 아이템들로부터 상기 개념 계층구조에 연관된 상기 개념의 예 ― 상기 예는 제 1 데이터 아이템에서의 상기 토큰들 중 하나 이상의 토큰들에 의해 표현됨 ― 를 포함할 것으로 예측되는 상기 제 1 데이터 아이템을 선택하기 위해 상기 세그먼트 추출자를 이용하는 단계;
상기 제 1 데이터 아이템을 디스플레이하는 단계 ― 상기 제 1 데이터 아이템을 디스플레이하는 단계는, 하나 이상의 토큰들의 제 1 세트를 상기 선택된 하위 개념의 예측된 긍정적 예들로서 식별하는 하나 이상의 프리 라벨(pre-label)들의 제 1 세트를 제시하는 단계를 포함함 ― ;
제 1 토큰을 상기 선택된 하위 개념의 긍정적 또는 부정적 예로서 라벨링하는, 디스플레이된 제 2 데이터 아이템에서의 상기 제 1 토큰의 사용자 선택을 수신하는 단계;
상기 하나 이상의 프리 라벨들의 제 1 세트를, 하나 이상의 토큰들의 제 2 세트를 상기 선택된 하위 개념의 예측된 긍정적 예들로서 식별하는 하나 이상의 프리 라벨들의 제 2 세트로 대체하는 단계; 및
적어도 상기 선택된 하위 개념의 예로서의 상기 제 1 토큰의 상기 라벨링에 기초하여, 상기 세그먼트 추출자를 훈련시키는 단계
를 포함하는, 기계 학습 시스템에 대한 사용자에 의한 세그먼트 추출 방법. - 제 1 항에 있어서,
상기 복수의 데이터 아이템들로부터 제 2 데이터 아이템 ― 상기 제 2 데이터 아이템은 사용자 제공 검색 질의에 의해 선택됨 ― 을 디스플레이하는 단계;
제 2 토큰을 상기 선택된 하위 개념의 예로서 라벨링하는, 디스플레이된 제 2 데이터 아이템에서의 상기 제 2 토큰의 사용자 선택을 수신하는 단계; 및
적어도 상기 선택된 하위 개념의 예로서의 상기 제 2 토큰의 상기 라벨링에 기초하여, 상기 세그먼트 추출자를 훈련시키는 단계
를 더 포함하는, 기계 학습 시스템에 대한 사용자에 의한 세그먼트 추출 방법. - 제 1 항에 있어서,
상기 세그먼트 추출자는 상기 세그먼트 내의 토큰들을 상기 개념의 구성 부분들에 대응하는 하위 개념들의 예들로서 식별하기 위해 훈련 가능한 것인, 기계 학습 시스템에 대한 사용자에 의한 세그먼트 추출 방법. - 제 1 항에 있어서,
상기 방법은, 디스플레이된 상기 제 1 데이터 아이템 또는 디스플레이된 상기 제 2 데이터 아이템 중 적어도 하나를 섹션들로 분할하는 단계와 상기 개념의 상기 예를 포함하는 섹션을 표시하는 단계를 더 포함하며,
선택된 상기 제 1 토큰 또는 선택된 상기 제 2 토큰 중 적어도 하나는 표시된 상기 섹션 내에 있고, 표시된 상기 섹션 외부의 토큰들은 상기 세그먼트 추출자를 훈련하기 위해 이용되지 않는 것인, 기계 학습 시스템에 대한 사용자에 의한 세그먼트 추출 방법. - 제 4 항에 있어서,
표시된 상기 섹션은 사용자에 의해 사이즈 재조정 가능한 것인, 기계 학습 시스템에 대한 사용자에 의한 세그먼트 추출 방법. - 제 1 항에 있어서,
상기 하나 이상의 프리 라벨들의 제 2 세트는 상기 하나 이상의 토큰들을 상기 선택된 하위 개념의 긍정적 또는 부정적 예들로서 라벨링한 상기 사용자 입력으로부터 결정된 제약조건에 기초하여 식별되고,
상기 하나 이상의 프리 라벨들의 제 1 세트를 상기 하나 이상의 프리 라벨들의 제 2 세트로 대체하는 단계는 제 2 토큰의 라벨링에 기초하여 상기 세그먼트 추출자를 훈련하기 전에 일어나는 것인, 기계 학습 시스템에 대한 사용자에 의한 세그먼트 추출 방법. - 실행될 때, 기계 학습 시스템에 대한 사용자에 의한 세그먼트 추출 방법을 용이하게 하는 컴퓨터 사용가능 명령어들을 포함한 하나 이상의 컴퓨터 저장 매체들에 있어서,
상기 방법은,
데이터 아이템들의 세트 ― 각각의 데이터 아이템은 복수의 토큰들을 포함함― 를 저장하는 단계;
데이터 아이템 내의 세그먼트 ― 상기 세그먼트는 토큰들의 그룹을 포함함 ― 를 개념의 예로서 식별하기 위해 훈련 가능한 세그먼트 추출자를 제공하는 단계;
사용자 인터페이스 상에 상기 개념에 연관된 개념 계층구조 ― 상기 개념 계층구조는 상기 개념의 구성 부분들인 계층적 하위 개념들을 포함하고, 상기 하위 개념들 중 하나 이상의 하위 개념들은 상기 데이터 아이템 내의 토큰들을 선택된 상기 하위 개념의 예들로서 라벨링하기 위해 사용자 선택가능함 ― 를 제시하는 단계;
상기 개념 계층구조에서의 제 1 하위 개념의 사용자 선택을 수신하는 단계;
상기 개념 계층구조에 연관된 상기 개념의 예를 포함할 것으로 예측되는, 복수의 데이터 아이템들로부터의 데이터 아이템 ― 상기 데이터 아이템은 상기 세그먼트 추출자에 의하여 선택되며, 상기 예는 상기 데이터 아이템에서의 상기 토큰들 중 하나 이상에 의해 표현되고, 디스플레이된 상기 데이터 아이템은 하나 이상의 토큰들의 제 1 세트를 선택된 상기 하위 개념의 예측된 긍정적 예들로서 식별하는 프리 라벨링을 포함함 ― 을 디스플레이하는 단계;
제 1 토큰을 선택된 제 1 하위 개념의 긍정적 또는 부정적 예로서 라벨링하는, 디스플레이된 데이터 아이템에서의 상기 제 1 토큰의 사용자 선택을 수신하는 단계;
상기 제 1 토큰의 상기 사용자 선택에 기초하여 상기 프리 라벨링을 재구성하는 단계 ― 재구성된 상기 프리 라벨링은 토큰들의 상이한 세트를 선택된 상기 하위 개념의 예측된 긍정적 예들로서 식별함 ― ;
상기 개념 계층구조에서의 제 2 하위 개념의 사용자 선택을 수신하는 단계;
제 2 토큰을 선택된 상기 제 2 하위 개념의 긍정적 예로서 라벨링하는, 디스플레이된 데이터 아이템에서의 상기 제 2 토큰의 사용자 선택을 수신하는 단계; 및
적어도 상기 제 1 토큰 및 상기 제 2 토큰의 상기 라벨링에 기초하여, 상기 세그먼트 추출자를 훈련시키는 단계
를 포함하는, 컴퓨터 저장 매체들. - 제 7 항에 있어서,
상기 세그먼트 추출자는 상기 세그먼트 내의 토큰들을 상기 개념의 구성 부분들인 하위 개념들의 예들로서 식별하기 위해 훈련가능한 것인, 컴퓨터 저장 매체들. - 제 7 항에 있어서,
상기 방법은,
프리 라벨링된 토큰을 선택된 제 1 하위 개념의 부정적 예로서 라벨링하는 상기 프리 라벨링된 토큰의 사용자 선택을 수신하는 단계; 및
적어도 상기 제 1 토큰 및 상기 제 2 토큰의 긍정적인 예들로서의 라벨링 및 상기 프리 라벨링된 토큰의 부정적 예로서의 라벨링에 기초하여, 상기 세그먼트 추출자를 훈련시키는 단계
를 더 포함하는, 컴퓨터 저장 매체들. - 제 7 항에 있어서,
상기 방법은,
상기 세그먼트 추출자의 훈련 시, 상기 사용자에 의해 이전에 라벨링된 데이터 아이템에서 상기 개념의 예를 예측하기 위해 상기 세그먼트 추출자를 이용하는 단계;
상기 이전에 라벨링된 데이터 아이템을 디스플레이하는 단계; 및
사용자 제공 라벨들과 상기 예측된 예의 비교를 제시하는 단계
를 더 포함하며,
상기 비교를 제시하는 단계는, A) 상기 데이터 아이템에서의 상기 사용자 제공 라벨들을 디스플레이하는 단계 및 B) 상기 예측된 예를 표시하는 프리 라벨들을 디스플레이하는 단계를 포함하고, 상기 프리 라벨들은 상기 사용자 제공 라벨들과 구별가능한 것인, 컴퓨터 저장 매체들.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361845844P | 2013-07-12 | 2013-07-12 | |
US61/845,844 | 2013-07-12 | ||
US14/075,713 | 2013-11-08 | ||
US14/075,713 US9489373B2 (en) | 2013-07-12 | 2013-11-08 | Interactive segment extraction in computer-human interactive learning |
PCT/US2014/045639 WO2015006254A2 (en) | 2013-07-12 | 2014-07-08 | Interactive segment extraction in computer-human interactive learning |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160030996A true KR20160030996A (ko) | 2016-03-21 |
KR102271781B1 KR102271781B1 (ko) | 2021-06-30 |
Family
ID=52277796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167003639A KR102271781B1 (ko) | 2013-07-12 | 2014-07-08 | 컴퓨터-인간 대화형 학습에서의 대화형 세그먼트 추출 |
Country Status (5)
Country | Link |
---|---|
US (9) | US9430460B2 (ko) |
EP (5) | EP3020005B1 (ko) |
KR (1) | KR102271781B1 (ko) |
CN (4) | CN105393264B (ko) |
WO (5) | WO2015006254A2 (ko) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180089011A (ko) | 2017-01-31 | 2018-08-08 | 강태준 | 고유 값 구조의 빅 데이터 기반의 언어 탐색 시스템 |
KR20190038900A (ko) * | 2016-08-12 | 2019-04-09 | 매직 립, 인코포레이티드 | 단어 흐름 주석 |
KR20190087394A (ko) | 2019-07-18 | 2019-07-24 | 강태준 | 고유 값 구조의 빅 데이터 기반의 언어 탐색 시스템 |
KR20190142375A (ko) * | 2017-08-30 | 2019-12-26 | 구글 엘엘씨 | 인간참여형(human-in-the-loop) 인터랙티브 모델 훈련 |
WO2020018392A1 (en) * | 2018-07-16 | 2020-01-23 | Cerebri AI Inc. | Monitoring and controlling continuous stochastic processes based on events in time series data |
KR20210033782A (ko) * | 2019-09-19 | 2021-03-29 | 에스케이텔레콤 주식회사 | 확장성 및 강인성을 갖는 대화 시스템 및 방법 |
KR20210068319A (ko) * | 2019-11-27 | 2021-06-09 | 구글 엘엘씨 | 폐쇄 데이터를 이용하는 개인화된 데이터 모델 |
US11449931B2 (en) | 2017-03-10 | 2022-09-20 | Cerebri AI Inc. | Dynamic business governance based on events |
US12039016B2 (en) | 2017-07-31 | 2024-07-16 | Samsung Electronics Co., Ltd. | Method and apparatus for generating training data to train student model using teacher model |
Families Citing this family (200)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US7818176B2 (en) | 2007-02-06 | 2010-10-19 | Voicebox Technologies, Inc. | System and method for selecting and presenting advertisements based on natural language processing of voice-based input |
US8140335B2 (en) | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
US10565229B2 (en) | 2018-05-24 | 2020-02-18 | People.ai, Inc. | Systems and methods for matching electronic activities directly to record objects of systems of record |
US11195213B2 (en) | 2010-09-01 | 2021-12-07 | Apixio, Inc. | Method of optimizing patient-related outcomes |
US11544652B2 (en) | 2010-09-01 | 2023-01-03 | Apixio, Inc. | Systems and methods for enhancing workflow efficiency in a healthcare management system |
US11481411B2 (en) * | 2010-09-01 | 2022-10-25 | Apixio, Inc. | Systems and methods for automated generation classifiers |
US11694239B2 (en) | 2010-09-01 | 2023-07-04 | Apixio, Inc. | Method of optimizing patient-related outcomes |
US11610653B2 (en) | 2010-09-01 | 2023-03-21 | Apixio, Inc. | Systems and methods for improved optical character recognition of health records |
US20130262144A1 (en) | 2010-09-01 | 2013-10-03 | Imran N. Chaudhri | Systems and Methods for Patient Retention in Network Through Referral Analytics |
US9430460B2 (en) | 2013-07-12 | 2016-08-30 | Microsoft Technology Licensing, Llc | Active featuring in computer-human interactive learning |
BR112016002229A2 (pt) * | 2013-08-09 | 2017-08-01 | Behavioral Recognition Sys Inc | sistema de reconhecimento de comportamento neurolinguístico cognitivo para fusão de dados de multissensor |
US10535014B2 (en) * | 2014-03-10 | 2020-01-14 | California Institute Of Technology | Alternative training distribution data in machine learning |
US10558935B2 (en) | 2013-11-22 | 2020-02-11 | California Institute Of Technology | Weight benefit evaluator for training data |
KR20150081981A (ko) * | 2014-01-07 | 2015-07-15 | 삼성전자주식회사 | 회의 내용 구조화 장치 및 방법 |
US9886669B2 (en) * | 2014-02-26 | 2018-02-06 | Microsoft Technology Licensing, Llc | Interactive visualization of machine-learning performance |
US20150309987A1 (en) * | 2014-04-29 | 2015-10-29 | Google Inc. | Classification of Offensive Words |
US20150363687A1 (en) * | 2014-06-13 | 2015-12-17 | International Business Machines Corporation | Managing software bundling using an artificial neural network |
US9547471B2 (en) | 2014-07-03 | 2017-01-17 | Microsoft Technology Licensing, Llc | Generating computer responses to social conversational inputs |
US9922290B2 (en) * | 2014-08-12 | 2018-03-20 | Microsoft Technology Licensing, Llc | Entity resolution incorporating data from various data sources which uses tokens and normalizes records |
CN107003996A (zh) | 2014-09-16 | 2017-08-01 | 声钰科技 | 语音商务 |
WO2016044321A1 (en) | 2014-09-16 | 2016-03-24 | Min Tang | Integration of domain information into state transitions of a finite state transducer for natural language processing |
CN107003999B (zh) | 2014-10-15 | 2020-08-21 | 声钰科技 | 对用户的在先自然语言输入的后续响应的系统和方法 |
US10614799B2 (en) | 2014-11-26 | 2020-04-07 | Voicebox Technologies Corporation | System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance |
US10431214B2 (en) * | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
US9836450B2 (en) * | 2014-12-09 | 2017-12-05 | Sansa AI Inc. | Methods and systems for providing universal portability in machine learning |
US20160162467A1 (en) * | 2014-12-09 | 2016-06-09 | Idibon, Inc. | Methods and systems for language-agnostic machine learning in natural language processing using feature extraction |
US10460720B2 (en) | 2015-01-03 | 2019-10-29 | Microsoft Technology Licensing, Llc. | Generation of language understanding systems and methods |
CN107924384A (zh) * | 2015-03-11 | 2018-04-17 | 阿雅斯迪公司 | 用于使用预测学习模型预测结果的系统和方法 |
US10713594B2 (en) * | 2015-03-20 | 2020-07-14 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing machine learning model training and deployment with a rollback mechanism |
US10902197B1 (en) * | 2015-03-30 | 2021-01-26 | Audible, Inc | Vocabulary determination and vocabulary-based content recommendations |
US10635722B2 (en) * | 2015-04-20 | 2020-04-28 | Ogy Docs, Inc. | Method of distributed management of electronic documents of title (EDT) and system thereof |
US10977573B1 (en) | 2015-05-07 | 2021-04-13 | Google Llc | Distantly supervised wrapper induction for semi-structured documents |
US20160364733A1 (en) * | 2015-06-09 | 2016-12-15 | International Business Machines Corporation | Attitude Inference |
US10402435B2 (en) | 2015-06-30 | 2019-09-03 | Microsoft Technology Licensing, Llc | Utilizing semantic hierarchies to process free-form text |
JP6544131B2 (ja) * | 2015-08-14 | 2019-07-17 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
US9699205B2 (en) | 2015-08-31 | 2017-07-04 | Splunk Inc. | Network security system |
US9704054B1 (en) * | 2015-09-30 | 2017-07-11 | Amazon Technologies, Inc. | Cluster-trained machine learning for image processing |
US10089578B2 (en) * | 2015-10-23 | 2018-10-02 | Spotify Ab | Automatic prediction of acoustic attributes from an audio signal |
WO2017073373A1 (ja) * | 2015-10-30 | 2017-05-04 | 株式会社モルフォ | 学習システム、学習装置、学習方法、学習プログラム、教師データ作成装置、教師データ作成方法、教師データ作成プログラム、端末装置及び閾値変更装置 |
US11222074B2 (en) * | 2015-11-25 | 2022-01-11 | Teamifier, Inc. | Methods for the augmentation, exploration, and maintenance of project hierarchies |
WO2017096312A1 (en) * | 2015-12-04 | 2017-06-08 | Google Inc. | Regularization of machine learning models |
US11533240B2 (en) * | 2016-01-15 | 2022-12-20 | Microsoft Technology Licensing, Llc | Automatic recommendations for deployments in a data center |
US10691999B2 (en) * | 2016-03-16 | 2020-06-23 | Maluuba Inc. | Parallel-hierarchical model for machine comprehension on small data |
JP6605997B2 (ja) * | 2016-03-17 | 2019-11-13 | 株式会社東芝 | 学習装置、学習方法及びプログラム |
US11062236B2 (en) * | 2016-03-24 | 2021-07-13 | Accenture Global Solutions Limited | Self-learning analytical attribute and clustering segmentation system |
US11249710B2 (en) * | 2016-03-31 | 2022-02-15 | Splunk Inc. | Technology add-on control console |
US10789545B2 (en) * | 2016-04-14 | 2020-09-29 | Oath Inc. | Method and system for distributed machine learning |
US10370763B2 (en) * | 2016-04-18 | 2019-08-06 | Tokyo Electron Limited | Plasma processing apparatus |
US10146859B2 (en) | 2016-05-13 | 2018-12-04 | General Electric Company | System and method for entity recognition and linking |
US10628522B2 (en) * | 2016-06-27 | 2020-04-21 | International Business Machines Corporation | Creating rules and dictionaries in a cyclical pattern matching process |
US9984471B2 (en) * | 2016-07-26 | 2018-05-29 | Intuit Inc. | Label and field identification without optical character recognition (OCR) |
WO2018023106A1 (en) | 2016-07-29 | 2018-02-01 | Erik SWART | System and method of disambiguating natural language processing requests |
RU2635902C1 (ru) * | 2016-08-05 | 2017-11-16 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система отбора обучающих признаков для алгоритма машинного обучения |
US10460256B2 (en) * | 2016-08-09 | 2019-10-29 | Microsot Technology Licensing, LLC | Interactive performance visualization of multi-class classifier |
US10608972B1 (en) | 2016-08-23 | 2020-03-31 | Microsoft Technology Licensing, Llc | Messaging service integration with deduplicator |
CN106447503A (zh) * | 2016-08-30 | 2017-02-22 | 广州智索信息科技有限公司 | 一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法 |
US10460257B2 (en) * | 2016-09-08 | 2019-10-29 | Conduent Business Services, Llc | Method and system for training a target domain classifier to label text segments |
US20180089316A1 (en) * | 2016-09-26 | 2018-03-29 | Twiggle Ltd. | Seamless integration of modules for search enhancement |
US10067965B2 (en) | 2016-09-26 | 2018-09-04 | Twiggle Ltd. | Hierarchic model and natural language analyzer |
US10051344B2 (en) | 2016-09-27 | 2018-08-14 | Clarifai, Inc. | Prediction model training via live stream concept association |
IL248306B (en) | 2016-10-10 | 2019-12-31 | Verint Systems Ltd | System and method for creating data sets for learning to recognize user actions |
US20190205792A1 (en) * | 2016-11-02 | 2019-07-04 | Intel Corporation | Automated generation of workflows |
CN109923560A (zh) * | 2016-11-04 | 2019-06-21 | 谷歌有限责任公司 | 使用变分信息瓶颈来训练神经网络 |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
EP3336774B1 (en) * | 2016-12-13 | 2020-11-25 | Axis AB | Method, computer program product and device for training a neural network |
US10679008B2 (en) * | 2016-12-16 | 2020-06-09 | Microsoft Technology Licensing, Llc | Knowledge base for analysis of text |
CA3052113A1 (en) * | 2017-01-31 | 2018-08-09 | Mocsy Inc. | Information extraction from documents |
US10896370B2 (en) * | 2017-03-03 | 2021-01-19 | International Business Machines Corporation | Triage of training data for acceleration of large-scale machine learning |
IL250948B (en) * | 2017-03-05 | 2021-04-29 | Verint Systems Ltd | A system and method for using transfer learning to identify user actions |
US10089742B1 (en) * | 2017-03-14 | 2018-10-02 | Adobe Systems Incorporated | Automatically segmenting images based on natural language phrases |
US10747784B2 (en) | 2017-04-07 | 2020-08-18 | Visa International Service Association | Identifying reason codes from gradient boosting machines |
US10740860B2 (en) | 2017-04-11 | 2020-08-11 | International Business Machines Corporation | Humanitarian crisis analysis using secondary information gathered by a focused web crawler |
US11880746B1 (en) * | 2017-04-26 | 2024-01-23 | Hrb Innovations, Inc. | Interface for artificial intelligence training |
US11030394B1 (en) * | 2017-05-04 | 2021-06-08 | Amazon Technologies, Inc. | Neural models for keyphrase extraction |
US11461643B2 (en) | 2017-05-09 | 2022-10-04 | Sri International | Deep adaptive semantic logic network |
CN107219760B (zh) * | 2017-05-23 | 2019-12-27 | 西北工业大学 | 一种多属性约束模糊推理的uuv协调控制模块建模方法 |
CN107256428B (zh) * | 2017-05-25 | 2022-11-18 | 腾讯科技(深圳)有限公司 | 数据处理方法、数据处理装置、存储设备及网络设备 |
US11468286B2 (en) * | 2017-05-30 | 2022-10-11 | Leica Microsystems Cms Gmbh | Prediction guided sequential data learning method |
US10510336B2 (en) * | 2017-06-12 | 2019-12-17 | International Business Machines Corporation | Method, apparatus, and system for conflict detection and resolution for competing intent classifiers in modular conversation system |
EP3432155A1 (en) * | 2017-07-17 | 2019-01-23 | Siemens Aktiengesellschaft | Method and system for automatic discovery of topics and trends over time |
CN110019770A (zh) * | 2017-07-24 | 2019-07-16 | 华为技术有限公司 | 训练分类模型的方法与装置 |
US20180365556A1 (en) | 2017-07-31 | 2018-12-20 | Seematics Systems Ltd | System and method for generating and using descriptors of artificial neural networks |
US10565444B2 (en) * | 2017-09-07 | 2020-02-18 | International Business Machines Corporation | Using visual features to identify document sections |
CN107610692B (zh) * | 2017-09-22 | 2020-07-21 | 杭州电子科技大学 | 基于神经网络堆叠自编码器多特征融合的声音识别方法 |
CN109683773B (zh) * | 2017-10-19 | 2021-01-22 | 北京国双科技有限公司 | 语料标注方法和装置 |
US10860670B2 (en) * | 2017-10-30 | 2020-12-08 | Microsoft Technology Licensing, Llc | Factored model for search results and communications based on search results |
US11295232B2 (en) * | 2017-10-30 | 2022-04-05 | Microsoft Technology Licensing, Llc | Learning the structure of hierarchical extraction models |
CN107908722B (zh) * | 2017-11-14 | 2021-10-12 | 华东师范大学 | 基于距离的逆向k排名查询方法 |
CN107798390B (zh) | 2017-11-22 | 2023-03-21 | 创新先进技术有限公司 | 一种机器学习模型的训练方法、装置以及电子设备 |
US20190042934A1 (en) | 2017-12-01 | 2019-02-07 | Meenakshi Arunachalam | Methods and apparatus for distributed training of a neural network |
US10209974B1 (en) | 2017-12-04 | 2019-02-19 | Banjo, Inc | Automated model management methods |
US11403337B2 (en) * | 2017-12-05 | 2022-08-02 | Google Llc | Identifying videos with inappropriate content by processing search logs |
US11308128B2 (en) | 2017-12-11 | 2022-04-19 | International Business Machines Corporation | Refining classification results based on glossary relationships |
WO2019122271A1 (en) | 2017-12-20 | 2019-06-27 | Alpvision S.A. | Authentication machine learning from multiple digital representations |
US10789460B1 (en) * | 2018-01-24 | 2020-09-29 | The Boston Consulting Group, Inc. | Methods and systems for screening documents |
CN108154198B (zh) * | 2018-01-25 | 2021-07-13 | 北京百度网讯科技有限公司 | 知识库实体归一方法、系统、终端和计算机可读存储介质 |
US11270211B2 (en) * | 2018-02-05 | 2022-03-08 | Microsoft Technology Licensing, Llc | Interactive semantic data exploration for error discovery |
CN110162766B (zh) * | 2018-02-12 | 2023-03-24 | 深圳市腾讯计算机系统有限公司 | 词向量更新方法和装置 |
US10140553B1 (en) | 2018-03-08 | 2018-11-27 | Capital One Services, Llc | Machine learning artificial intelligence system for identifying vehicles |
US11270159B1 (en) * | 2018-03-19 | 2022-03-08 | Meta Platforms, Inc. | Training content selection models with reduced bias |
US11568863B1 (en) * | 2018-03-23 | 2023-01-31 | Amazon Technologies, Inc. | Skill shortlister for natural language processing |
RU2701995C2 (ru) * | 2018-03-23 | 2019-10-02 | Общество с ограниченной ответственностью "Аби Продакшн" | Автоматическое определение набора категорий для классификации документа |
US11636287B2 (en) * | 2018-03-28 | 2023-04-25 | Intuit Inc. | Learning form-based information classification |
AU2018202382A1 (en) * | 2018-04-04 | 2019-10-24 | ADEVI lP HOLDING COMPANY PTY LTD | Methods and systems for resolving user interface features, and related applications |
CN108536861B (zh) * | 2018-04-19 | 2022-03-18 | 中国科学院重庆绿色智能技术研究院 | 一种医疗指南的交互式培训方法及其系统 |
US11436496B2 (en) * | 2018-04-20 | 2022-09-06 | Google Llc | Systems and methods for regularizing neural networks |
US20190354851A1 (en) * | 2018-05-17 | 2019-11-21 | International Business Machines Corporation | Construction of a machine learning model for structured inputs |
US11074303B2 (en) * | 2018-05-21 | 2021-07-27 | Hcl Technologies Limited | System and method for automatically summarizing documents pertaining to a predefined domain |
US11463441B2 (en) | 2018-05-24 | 2022-10-04 | People.ai, Inc. | Systems and methods for managing the generation or deletion of record objects based on electronic activities and communication policies |
US11924297B2 (en) | 2018-05-24 | 2024-03-05 | People.ai, Inc. | Systems and methods for generating a filtered data set |
US11531934B2 (en) * | 2018-05-31 | 2022-12-20 | Kyndryl, Inc. | Machine learning (ML) modeling by DNA computing |
WO2019232471A1 (en) * | 2018-06-01 | 2019-12-05 | Nami Ml Inc. | Machine learning at edge devices based on distributed feedback |
US10747530B2 (en) * | 2018-06-12 | 2020-08-18 | Servicenow, Inc. | Mission-based developer certification system and method |
US11875230B1 (en) * | 2018-06-14 | 2024-01-16 | Amazon Technologies, Inc. | Artificial intelligence system with intuitive interactive interfaces for guided labeling of training data for machine learning models |
US10558713B2 (en) * | 2018-07-13 | 2020-02-11 | ResponsiML Ltd | Method of tuning a computer system |
US11188035B2 (en) * | 2018-07-19 | 2021-11-30 | International Business Machines Corporation | Continuous control of attention for a deep learning network |
US11741398B2 (en) * | 2018-08-03 | 2023-08-29 | Samsung Electronics Co., Ltd. | Multi-layered machine learning system to support ensemble learning |
IL260986B (en) | 2018-08-05 | 2021-09-30 | Verint Systems Ltd | A system and method for using a user action log to study encrypted traffic classification |
CN110858210B (zh) * | 2018-08-17 | 2023-11-21 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
JP7263712B2 (ja) * | 2018-08-23 | 2023-04-25 | 富士通株式会社 | 制御方法,情報処理装置および制御プログラム |
US11321629B1 (en) * | 2018-09-26 | 2022-05-03 | Intuit Inc. | System and method for labeling machine learning inputs |
US11880396B2 (en) * | 2018-10-08 | 2024-01-23 | Arctic Alliance Europe Oy | Method and system to perform text-based search among plurality of documents |
EP3871154A4 (en) * | 2018-10-23 | 2022-11-09 | The Board of Trustees of the Leland Stanford Junior University | SYSTEMS AND METHODS FOR ACTIVE TRANSFER LEARNING WITH DEEP FEATURIZATION |
JP6799152B1 (ja) | 2018-10-24 | 2020-12-09 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | クリックグラフ上のベクトル伝播モデルに基づくインテリジェントなカスタマーサービス |
CN109645993A (zh) * | 2018-11-13 | 2019-04-19 | 天津大学 | 一种提高跨个体脑-机接口识别性能的主动学习法 |
CN109542649A (zh) * | 2018-11-23 | 2019-03-29 | 于兴虎 | 一种在视觉伺服系统下的跨语言快速共享图像内存的方法 |
CN111325022B (zh) * | 2018-11-28 | 2023-11-03 | 北京京东振世信息技术有限公司 | 识别层级地址的方法和装置 |
US11521067B2 (en) | 2018-11-30 | 2022-12-06 | International Business Machines Corporation | Decentralized distributed deep learning |
US10311334B1 (en) * | 2018-12-07 | 2019-06-04 | Capital One Services, Llc | Learning to process images depicting faces without leveraging sensitive attributes in deep learning models |
US10353940B1 (en) * | 2018-12-11 | 2019-07-16 | Rina Systems, Llc. | Enhancement of search results |
US11237713B2 (en) * | 2019-01-21 | 2022-02-01 | International Business Machines Corporation | Graphical user interface based feature extraction application for machine learning and cognitive models |
JP7261022B2 (ja) * | 2019-01-30 | 2023-04-19 | キヤノン株式会社 | 情報処理システム、端末装置及びその制御方法、プログラム、記憶媒体 |
US10999295B2 (en) | 2019-03-20 | 2021-05-04 | Verint Systems Ltd. | System and method for de-anonymizing actions and messages on networks |
CN109992778B (zh) * | 2019-03-26 | 2022-12-13 | 深圳八爪网络科技有限公司 | 基于机器学习的简历文档判别方法及装置 |
US11494615B2 (en) * | 2019-03-28 | 2022-11-08 | Baidu Usa Llc | Systems and methods for deep skip-gram network based text classification |
WO2020205861A1 (en) * | 2019-04-03 | 2020-10-08 | Singularity Systems Inc. | Hierarchical machine learning architecture including master engine supported by distributed light-weight real-time edge engines |
CN110008475A (zh) * | 2019-04-10 | 2019-07-12 | 出门问问信息科技有限公司 | 分词处理方法、装置、设备及存储介质 |
US11221837B2 (en) * | 2019-04-11 | 2022-01-11 | Microsoft Technology Licensing, Llc | Creating and deploying packages to devices in a fleet based on operations derived from a machine learning model |
US11029936B2 (en) | 2019-04-11 | 2021-06-08 | Microsoft Technology Licensing, Llc | Deploying packages to devices in a fleet in stages |
US11270077B2 (en) * | 2019-05-13 | 2022-03-08 | International Business Machines Corporation | Routing text classifications within a cross-domain conversational service |
US11281999B2 (en) * | 2019-05-14 | 2022-03-22 | International Business Machines Corporation Armonk, New York | Predictive accuracy of classifiers using balanced training sets |
US11003442B2 (en) | 2019-05-14 | 2021-05-11 | Fujitsu Limited | Application programming interface documentation annotation |
US11551437B2 (en) | 2019-05-29 | 2023-01-10 | International Business Machines Corporation | Collaborative information extraction |
US11556810B2 (en) * | 2019-07-11 | 2023-01-17 | International Business Machines Corporation | Estimating feasibility and effort for a machine learning solution |
US11132500B2 (en) | 2019-07-31 | 2021-09-28 | International Business Machines Corporation | Annotation task instruction generation |
US11409772B2 (en) * | 2019-08-05 | 2022-08-09 | International Business Machines Corporation | Active learning for data matching |
US11663275B2 (en) | 2019-08-05 | 2023-05-30 | International Business Machines Corporation | Method for dynamic data blocking in a database system |
AU2020326435B2 (en) | 2019-08-05 | 2023-09-28 | Ai21 Labs | Systems and methods of controllable natural language generation |
GB201911760D0 (en) | 2019-08-16 | 2019-10-02 | Eigen Tech Ltd | Training and applying structured data extraction models |
CN112447173A (zh) * | 2019-08-16 | 2021-03-05 | 阿里巴巴集团控股有限公司 | 语音交互方法、装置及计算机存储介质 |
US11681873B2 (en) * | 2019-09-11 | 2023-06-20 | International Business Machines Corporation | Creating an executable process from a text description written in a natural language |
US11741168B1 (en) * | 2019-09-30 | 2023-08-29 | Amazon Technologies, Inc. | Multi-label document classification for documents from disjoint class sets |
US20210110298A1 (en) * | 2019-10-15 | 2021-04-15 | Kinaxis Inc. | Interactive machine learning |
US11526899B2 (en) | 2019-10-11 | 2022-12-13 | Kinaxis Inc. | Systems and methods for dynamic demand sensing |
US11886514B2 (en) | 2019-10-11 | 2024-01-30 | Kinaxis Inc. | Machine learning segmentation methods and systems |
US20210133631A1 (en) * | 2019-10-30 | 2021-05-06 | Alectio, Inc. | Computer method and system for auto-tuning and optimization of an active learning process |
US11380306B2 (en) * | 2019-10-31 | 2022-07-05 | International Business Machines Corporation | Iterative intent building utilizing dynamic scheduling of batch utterance expansion methods |
US11966819B2 (en) | 2019-12-04 | 2024-04-23 | International Business Machines Corporation | Training classifiers in machine learning |
GB2590898A (en) * | 2019-12-06 | 2021-07-14 | Aistemos Ltd | Method for building an AI training set |
US11256754B2 (en) * | 2019-12-09 | 2022-02-22 | Salesforce.Com, Inc. | Systems and methods for generating natural language processing training samples with inflectional perturbations |
CN111060107B (zh) * | 2019-12-30 | 2022-02-22 | 中国人民解放军国防科技大学 | 一种欺骗路径评价方法及装置 |
CN111210023B (zh) * | 2020-01-13 | 2023-04-11 | 哈尔滨工业大学 | 数据集分类学习算法自动选择系统及方法 |
US11669753B1 (en) | 2020-01-14 | 2023-06-06 | Amazon Technologies, Inc. | Artificial intelligence system providing interactive model interpretation and enhancement tools |
US11727285B2 (en) | 2020-01-31 | 2023-08-15 | Servicenow Canada Inc. | Method and server for managing a dataset in the context of artificial intelligence |
US11537886B2 (en) | 2020-01-31 | 2022-12-27 | Servicenow Canada Inc. | Method and server for optimizing hyperparameter tuples for training production-grade artificial intelligence (AI) |
TWI832032B (zh) * | 2020-02-07 | 2024-02-11 | 台達電子工業股份有限公司 | 透過問答生成訓練資料的系統及其方法 |
US11645461B2 (en) * | 2020-02-10 | 2023-05-09 | International Business Machines Corporation | User-centric optimization for interactive dictionary expansion |
TWI745878B (zh) * | 2020-03-05 | 2021-11-11 | 宏碁股份有限公司 | 聊天機器人系統及聊天機器人模型訓練方法 |
US11977603B1 (en) | 2020-03-06 | 2024-05-07 | Wells Fargo Bank, N.A. | Iteratively trained machine learning models for evaluations of internal consistency |
US20210279606A1 (en) * | 2020-03-09 | 2021-09-09 | Samsung Electronics Co., Ltd. | Automatic detection and association of new attributes with entities in knowledge bases |
US11694061B2 (en) | 2020-03-10 | 2023-07-04 | Sri International | Neural-symbolic computing |
US20210304039A1 (en) * | 2020-03-24 | 2021-09-30 | Hitachi, Ltd. | Method for calculating the importance of features in iterative multi-label models to improve explainability |
CN111209377B (zh) * | 2020-04-23 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 基于深度学习的文本处理方法、装置、设备及介质 |
US20210383304A1 (en) * | 2020-06-05 | 2021-12-09 | Jpmorgan Chase Bank, N.A. | Method and apparatus for improving risk profile for information technology change management system |
WO2021260611A1 (en) * | 2020-06-24 | 2021-12-30 | Seroussi Joseph | Systems and methods for generating emotionally-enhanced transcription and data visualization of text |
US11875233B2 (en) | 2020-07-10 | 2024-01-16 | Microsoft Technology Licensing, Llc | Automatic recognition of entities related to cloud incidents |
US11074412B1 (en) * | 2020-07-25 | 2021-07-27 | Sas Institute Inc. | Machine learning classification system |
CN111695884B (zh) * | 2020-08-17 | 2020-11-20 | 广东新视野信息科技股份有限公司 | 一种基于智慧工地的物联网大数据可视化方法及系统 |
US11341354B1 (en) * | 2020-09-30 | 2022-05-24 | States Title, Inc. | Using serial machine learning models to extract data from electronic documents |
US11900289B1 (en) | 2020-10-30 | 2024-02-13 | Wells Fargo Bank, N.A. | Structuring unstructured data via optical character recognition and analysis |
CN112307343B (zh) * | 2020-11-05 | 2023-04-07 | 重庆邮电大学 | 基于双层迭代补偿和全貌表示的跨电商书城用户对齐方法 |
US20220147547A1 (en) * | 2020-11-12 | 2022-05-12 | International Business Machines Corporation | Analogy based recognition |
CN112101330B (zh) * | 2020-11-20 | 2021-04-30 | 北京沃东天骏信息技术有限公司 | 图像处理方法、装置、电子设备以及存储介质 |
US11675978B2 (en) * | 2021-01-06 | 2023-06-13 | International Business Machines Corporation | Entity recognition based on multi-task learning and self-consistent verification |
US11989677B2 (en) * | 2021-02-18 | 2024-05-21 | Vianai Systems, Inc. | Framework for early warning of domain-specific events |
CN113761215A (zh) * | 2021-03-25 | 2021-12-07 | 中科天玑数据科技股份有限公司 | 一种基于反馈自学习的动态字典库生成方法 |
US11620319B2 (en) | 2021-05-13 | 2023-04-04 | Capital One Services, Llc | Search platform for unstructured interaction summaries |
US12124806B2 (en) * | 2021-10-05 | 2024-10-22 | UiPath, Inc. | Semantic matching between a source screen or source data and a target screen using semantic artificial intelligence |
US12112561B2 (en) | 2021-11-23 | 2024-10-08 | Figma, Inc. | Interactive visual representation of semantically related extracted data |
US11573986B1 (en) * | 2022-02-09 | 2023-02-07 | My Job Matcher, Inc. | Apparatuses and methods for the collection and storage of user identifiers |
US11886512B2 (en) * | 2022-05-07 | 2024-01-30 | Fair Isaac Corporation | Interpretable feature discovery with grammar-based bayesian optimization |
US20230409610A1 (en) * | 2022-06-21 | 2023-12-21 | Oracle International Corporation | Method, product, and system to provide a parser for property graph queries with precise error reporting and auto-completion based on information from property graph schemas |
US20240029132A1 (en) * | 2022-07-19 | 2024-01-25 | Maplebear Inc. (Dba Instacart) | Attribute schema augmentation with related categories |
US20240143936A1 (en) * | 2022-10-31 | 2024-05-02 | Zoom Video Communications, Inc. | Intelligent prediction of next step sentences from a communication session |
CN116910186B (zh) * | 2023-09-12 | 2023-11-21 | 南京信息工程大学 | 一种文本索引模型构建方法、索引方法、系统和终端 |
CN117556100A (zh) * | 2023-11-23 | 2024-02-13 | 深圳市大数据研究院 | 审核标签配置策略生成方法、装置、设备及存储介质 |
CN118094445B (zh) * | 2024-04-23 | 2024-08-23 | 科大讯飞股份有限公司 | 基于大模型的人机交互方法、装置、设备及程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827125B1 (en) * | 2006-06-01 | 2010-11-02 | Trovix, Inc. | Learning based on feedback for contextual personalized information retrieval |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098034A (en) * | 1996-03-18 | 2000-08-01 | Expert Ease Development, Ltd. | Method for standardizing phrasing in a document |
US6505207B1 (en) | 2000-04-25 | 2003-01-07 | International Business Machines Corporation | Methods and apparatus for performing dimensionality reduction in a supervised application domain |
US20030079184A1 (en) | 2000-05-05 | 2003-04-24 | International Business Machines Corporation | Dynamic image storage using domain-specific compression |
US20020099730A1 (en) | 2000-05-12 | 2002-07-25 | Applied Psychology Research Limited | Automatic text classification system |
US8396859B2 (en) | 2000-06-26 | 2013-03-12 | Oracle International Corporation | Subject matter context search engine |
US7624074B2 (en) | 2000-08-07 | 2009-11-24 | Health Discovery Corporation | Methods for feature selection in a learning machine |
US20020164070A1 (en) * | 2001-03-14 | 2002-11-07 | Kuhner Mark B. | Automatic algorithm generation |
BR0210589A (pt) | 2001-06-22 | 2005-04-26 | Nosa Omoigui | Sistema e método para a recuperação, o gerenciamento, a entrega e a apresentação do conhecimento |
JP4065936B2 (ja) | 2001-10-09 | 2008-03-26 | 独立行政法人情報通信研究機構 | 機械学習法を用いた言語解析処理システムおよび機械学習法を用いた言語省略解析処理システム |
CN1290036C (zh) | 2002-12-30 | 2006-12-13 | 国际商业机器公司 | 根据机器可读词典建立概念知识的计算机系统及方法 |
CA2555280A1 (en) | 2003-02-14 | 2004-09-02 | Nervana, Inc. | Semantic knowledge retrieval management and presentation |
CA2536262A1 (en) | 2003-08-21 | 2005-03-03 | Idilia Inc. | System and method for processing text utilizing a suite of disambiguation techniques |
US20050171760A1 (en) | 2003-10-08 | 2005-08-04 | Marc Tinkler | Visual thesaurus |
JP4428036B2 (ja) | 2003-12-02 | 2010-03-10 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに、情報処理システムおよび方法 |
US7478033B2 (en) | 2004-03-16 | 2009-01-13 | Google Inc. | Systems and methods for translating Chinese pinyin to Chinese characters |
GB0406451D0 (en) | 2004-03-23 | 2004-04-28 | Patel Sanjay | Keyboards |
US7529657B2 (en) | 2004-09-24 | 2009-05-05 | Microsoft Corporation | Configurable parameters for grammar authoring for speech recognition and natural language understanding |
US20060069678A1 (en) | 2004-09-30 | 2006-03-30 | Wu Chou | Method and apparatus for text classification using minimum classification error to train generalized linear classifier |
EP1794687A1 (en) * | 2004-09-30 | 2007-06-13 | British Telecommunications Public Limited Company | Information retrieval |
US7848566B2 (en) | 2004-10-22 | 2010-12-07 | Carnegie Mellon University | Object recognizer and detector for two-dimensional images using bayesian network based classifier |
JP4697670B2 (ja) | 2005-01-05 | 2011-06-08 | 日本電気株式会社 | 識別用データ学習システム、学習装置、識別装置及び学習方法 |
US20060218156A1 (en) * | 2005-02-22 | 2006-09-28 | Diane Schechinger | Schechinger/Fennell System and method for filtering search results by utilizing user-selected parametric values from a self-defined drop-down list on a website" |
US7593904B1 (en) | 2005-06-30 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Effecting action to address an issue associated with a category based on information that enables ranking of categories |
US7930353B2 (en) | 2005-07-29 | 2011-04-19 | Microsoft Corporation | Trees of classifiers for detecting email spam |
US8326629B2 (en) * | 2005-11-22 | 2012-12-04 | Nuance Communications, Inc. | Dynamically changing voice attributes during speech synthesis based upon parameter differentiation for dialog contexts |
US8429184B2 (en) | 2005-12-05 | 2013-04-23 | Collarity Inc. | Generation of refinement terms for search queries |
US7681147B2 (en) * | 2005-12-13 | 2010-03-16 | Yahoo! Inc. | System for determining probable meanings of inputted words |
US7729901B2 (en) | 2005-12-13 | 2010-06-01 | Yahoo! Inc. | System for classifying words |
US9135238B2 (en) | 2006-03-31 | 2015-09-15 | Google Inc. | Disambiguation of named entities |
US8943080B2 (en) | 2006-04-07 | 2015-01-27 | University Of Southern California | Systems and methods for identifying parallel documents and sentence fragments in multilingual document collections |
CN100472524C (zh) | 2006-06-26 | 2009-03-25 | 腾讯科技(深圳)有限公司 | 一种中文词库更新系统及方法 |
US7756799B2 (en) | 2006-10-27 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Feature selection based on partial ordered set of classifiers |
US7650317B2 (en) | 2006-12-06 | 2010-01-19 | Microsoft Corporation | Active learning framework for automatic field extraction from network traffic |
US8160977B2 (en) | 2006-12-11 | 2012-04-17 | Poulin Christian D | Collaborative predictive model building |
ES2583003T3 (es) * | 2007-05-01 | 2016-09-16 | University Of Miami | Un biomarcador transcriptómico de miocarditis |
US8027964B2 (en) * | 2007-07-13 | 2011-09-27 | Medio Systems, Inc. | Personalized query completion suggestion |
US7987188B2 (en) | 2007-08-23 | 2011-07-26 | Google Inc. | Domain-specific sentiment classification |
US8463593B2 (en) * | 2007-08-31 | 2013-06-11 | Microsoft Corporation | Natural language hypernym weighting for word sense disambiguation |
US8086549B2 (en) | 2007-11-09 | 2011-12-27 | Microsoft Corporation | Multi-label active learning |
US8175992B2 (en) | 2008-03-17 | 2012-05-08 | Intelliscience Corporation | Methods and systems for compound feature creation, processing, and identification in conjunction with a data analysis and feature recognition system wherein hit weights are summed |
US8060456B2 (en) | 2008-10-01 | 2011-11-15 | Microsoft Corporation | Training a search result ranker with automatically-generated samples |
WO2010075408A1 (en) | 2008-12-22 | 2010-07-01 | The Trustees Of Columbia University In The City Of New York | System and method for annotating and searching media |
US8145636B1 (en) | 2009-03-13 | 2012-03-27 | Google Inc. | Classifying text into hierarchical categories |
US9189472B2 (en) * | 2009-03-30 | 2015-11-17 | Touchtype Limited | System and method for inputting text into small screen devices |
US9336299B2 (en) | 2009-04-20 | 2016-05-10 | Microsoft Technology Licensing, Llc | Acquisition of semantic class lexicons for query tagging |
US20100306249A1 (en) | 2009-05-27 | 2010-12-02 | James Hill | Social network systems and methods |
US20120278308A1 (en) * | 2009-12-30 | 2012-11-01 | Google Inc. | Custom search query suggestion tools |
WO2011085562A1 (en) | 2010-01-18 | 2011-07-21 | Hewlett-Packard Development Company, L.P. | System and method for automatically extracting metadata from unstructured electronic documents |
US8401282B2 (en) | 2010-03-26 | 2013-03-19 | Mitsubishi Electric Research Laboratories, Inc. | Method for training multi-class classifiers with active selection and binary feedback |
US20120158623A1 (en) | 2010-12-21 | 2012-06-21 | Microsoft Corporation | Visualizing machine learning accuracy |
US8463688B2 (en) | 2011-04-04 | 2013-06-11 | Investlab Technology Limited | Researching exchange-listed products using sentiment |
US8774515B2 (en) | 2011-04-20 | 2014-07-08 | Xerox Corporation | Learning structured prediction models for interactive image labeling |
US8676730B2 (en) | 2011-07-11 | 2014-03-18 | Accenture Global Services Limited | Sentiment classifiers based on feature extraction |
US8595269B2 (en) * | 2011-09-02 | 2013-11-26 | Infosys Limited | Managing classification hierarchies in master data management environments |
US8873813B2 (en) | 2012-09-17 | 2014-10-28 | Z Advanced Computing, Inc. | Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities |
US8930289B2 (en) | 2012-02-08 | 2015-01-06 | Microsoft Corporation | Estimation of predictive accuracy gains from added features |
CA2865187C (en) | 2012-05-15 | 2015-09-22 | Whyz Technologies Limited | Method and system relating to salient content extraction for electronic content |
CN102855301A (zh) | 2012-08-20 | 2013-01-02 | 中山大学 | 稀疏模糊c均值聚类方法 |
CN102930301B (zh) | 2012-10-16 | 2015-05-20 | 西安电子科技大学 | 基于特征权重学习与核稀疏表示的图像分类方法 |
US9047274B2 (en) * | 2013-01-21 | 2015-06-02 | Xerox Corporation | Machine translation-driven authoring system and method |
US9430460B2 (en) | 2013-07-12 | 2016-08-30 | Microsoft Technology Licensing, Llc | Active featuring in computer-human interactive learning |
-
2013
- 2013-11-08 US US14/075,708 patent/US9430460B2/en active Active
- 2013-11-08 US US14/075,679 patent/US10372815B2/en active Active
- 2013-11-08 US US14/075,713 patent/US9489373B2/en active Active
- 2013-11-08 US US14/075,701 patent/US9355088B2/en not_active Expired - Fee Related
- 2013-11-08 US US14/075,690 patent/US9582490B2/en active Active
-
2014
- 2014-07-08 WO PCT/US2014/045639 patent/WO2015006254A2/en active Application Filing
- 2014-07-08 EP EP14745024.1A patent/EP3020005B1/en active Active
- 2014-07-08 CN CN201480039808.9A patent/CN105393264B/zh active Active
- 2014-07-08 EP EP20184547.6A patent/EP3742357A1/en active Pending
- 2014-07-08 CN CN201480039813.XA patent/CN105393265B/zh active Active
- 2014-07-08 EP EP14745285.8A patent/EP3020006B1/en active Active
- 2014-07-08 KR KR1020167003639A patent/KR102271781B1/ko active IP Right Grant
- 2014-07-08 WO PCT/US2014/045638 patent/WO2015006253A1/en active Application Filing
- 2014-07-11 WO PCT/US2014/046258 patent/WO2015006632A2/en active Application Filing
- 2014-07-11 CN CN201480039790.2A patent/CN105393263B/zh active Active
- 2014-07-11 CN CN201480039782.8A patent/CN105378764B/zh active Active
- 2014-07-11 WO PCT/US2014/046257 patent/WO2015006631A2/en active Application Filing
- 2014-07-11 EP EP14745314.6A patent/EP3020008A2/en not_active Withdrawn
- 2014-07-11 WO PCT/US2014/046256 patent/WO2015006630A2/en active Application Filing
- 2014-07-11 EP EP14745312.0A patent/EP3020007A2/en not_active Ceased
-
2016
- 2016-04-21 US US15/135,266 patent/US9779081B2/en active Active
- 2016-07-13 US US15/209,163 patent/US11023677B2/en active Active
-
2019
- 2019-03-19 US US16/358,261 patent/US20190213252A1/en not_active Abandoned
-
2023
- 2023-12-01 US US18/527,104 patent/US20240135098A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827125B1 (en) * | 2006-06-01 | 2010-11-02 | Trovix, Inc. | Learning based on feedback for contextual personalized information retrieval |
Non-Patent Citations (3)
Title |
---|
"An analysis of active learning strategies for sequence labeling tasks", PROCEEDINGS OF THE CONFERENCE ON EMPIRICAL METHODS IN NATURAL LANGUAGE PROCESSING(pp. 1070-1079), 31 October 2008 * |
"Extracting Ontology Hierarchies From Text", The 23rd International Conference on Software Engineering and Knowledge Engineering, 9 July 2011 * |
"User-Centred Ontology Learning for Knowledge Management", LECTURE NOTES IN COMPUTER SCIENCE vol. 2553(pp. 203-207), 31 January 2002 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190038900A (ko) * | 2016-08-12 | 2019-04-09 | 매직 립, 인코포레이티드 | 단어 흐름 주석 |
US11423909B2 (en) | 2016-08-12 | 2022-08-23 | Magic Leap, Inc. | Word flow annotation |
KR20180089011A (ko) | 2017-01-31 | 2018-08-08 | 강태준 | 고유 값 구조의 빅 데이터 기반의 언어 탐색 시스템 |
US11449931B2 (en) | 2017-03-10 | 2022-09-20 | Cerebri AI Inc. | Dynamic business governance based on events |
US12039016B2 (en) | 2017-07-31 | 2024-07-16 | Samsung Electronics Co., Ltd. | Method and apparatus for generating training data to train student model using teacher model |
KR20190142375A (ko) * | 2017-08-30 | 2019-12-26 | 구글 엘엘씨 | 인간참여형(human-in-the-loop) 인터랙티브 모델 훈련 |
WO2020018392A1 (en) * | 2018-07-16 | 2020-01-23 | Cerebri AI Inc. | Monitoring and controlling continuous stochastic processes based on events in time series data |
KR20190087394A (ko) | 2019-07-18 | 2019-07-24 | 강태준 | 고유 값 구조의 빅 데이터 기반의 언어 탐색 시스템 |
KR20210033782A (ko) * | 2019-09-19 | 2021-03-29 | 에스케이텔레콤 주식회사 | 확장성 및 강인성을 갖는 대화 시스템 및 방법 |
KR20210089626A (ko) * | 2019-09-19 | 2021-07-16 | 에스케이텔레콤 주식회사 | 확장성 및 강인성을 갖는 대화 시스템 및 방법 |
KR20210068319A (ko) * | 2019-11-27 | 2021-06-09 | 구글 엘엘씨 | 폐쇄 데이터를 이용하는 개인화된 데이터 모델 |
US12079307B2 (en) | 2019-11-27 | 2024-09-03 | Google Llc | Personalized data model utilizing closed data |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240135098A1 (en) | Interactive concept editing in computer-human interactive learning | |
US10496683B2 (en) | Automatically linking text to concepts in a knowledge base | |
US10572521B2 (en) | Automatic new concept definition | |
US10503762B2 (en) | System for searching, recommending, and exploring documents through conceptual associations | |
US9734196B2 (en) | User interface for summarizing the relevance of a document to a query | |
US9805139B2 (en) | Computing the relevance of a document to concepts not specified in the document | |
US9703858B2 (en) | Inverted table for storing and querying conceptual indices | |
WO2016009321A1 (en) | System for searching, recommending, and exploring documents through conceptual associations and inverted table for storing and querying conceptual indices | |
Li | A systematic study of multi-level query understanding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |