KR20160053905A - 기계학습에 기초한 자동 태스크 분류 방법 - Google Patents

기계학습에 기초한 자동 태스크 분류 방법 Download PDF

Info

Publication number
KR20160053905A
KR20160053905A KR1020167001061A KR20167001061A KR20160053905A KR 20160053905 A KR20160053905 A KR 20160053905A KR 1020167001061 A KR1020167001061 A KR 1020167001061A KR 20167001061 A KR20167001061 A KR 20167001061A KR 20160053905 A KR20160053905 A KR 20160053905A
Authority
KR
South Korea
Prior art keywords
task
user
request
training
category
Prior art date
Application number
KR1020167001061A
Other languages
English (en)
Other versions
KR101770527B1 (ko
Inventor
형식 신
로날드 수지탄
사얀데브 무커지
홍-펭 인
양 순
요시카즈 아키나가
페로 수바식
Original Assignee
가부시키가이샤 엔티티 도코모
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 엔티티 도코모 filed Critical 가부시키가이샤 엔티티 도코모
Publication of KR20160053905A publication Critical patent/KR20160053905A/ko
Application granted granted Critical
Publication of KR101770527B1 publication Critical patent/KR101770527B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • G06F15/18
    • G06F17/30654
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N99/005
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering
    • G10L2015/0633Creating reference templates; Clustering using lexical or orthographic knowledge sources

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

다음의 사용자 요청에 대해 태스크 카테고리들 중 유력한 하나를 결정하기 위해 다음의 사용자 요청에 적용될 수 있는 태스크 분류기 모델을 개발하기 위해 기계학습 알고리즘으로 복수의 태스크 카테고리들 각각에서 사람이 생성한 요청들의 훈련 데이터베이스를 처리하는 시스템 및 방법이 제공된다.

Description

기계학습에 기초한 자동 태스크 분류 방법{AUTOMATIC TASK CLASSIFICATION BASED UPON MACHINE LEARNING}
관련 출원
이 출원은 2013년 11월 27일자 출원된 미국 가출원 제61/909,992호의 우선권 이익을 주장하며, 상기 특허문헌의 내용은 그 전체가 참조에 의해 여기에 포함된다.
기술분야
본 발명은 일반적으로는 개인비서(personal assistant) 애플리케이션에 관한 것이고, 더욱 구체적으로는 기계학습에 기초한 사용자 요청의 처리에 관한 것이다.
사용자의 텍스트 또는 자연어 요청에 대해 대응하는 태스크(task)를 수행함으로써 응답하는 다양한 개인비서 소프트웨어 애플리케이션이 개발되어 있다. 예를 들면, 스마트폰 사용자에 의해 액세스된 개인비서 애플리케이션은 전화번호를 검색하여, 전화를 걸거나, 레스토랑을 찾거나, 이메일을 작성하여 보내거나, 일정을 추가하는 등을 수행한다. 그와 관련하여, 특정 사용자는 주어진 태스크를 위한 요청을 종종 다른 사용자와 다르게 표현할 것이다. 그와 같은 편차(variation)는 인간의 상호작용에 있어서 필연적이다. 이러한 가변성으로 인해, 종래의 개인비서 소프트웨어 애플리케이션들은 사용자의 원하는 요청을 적절히 실행하는데 있어서 통상적으로 오류가 발생하기 쉽다. 또한, 그러한 애플리케이션은 즉흥적(ad hoc)일 수 있으며 따라서 다양한 언어에 적용하기 어렵다.
따라서, 사용자에 의해 요구된 태스크를 분류하여 실행함에 있어서 더욱 정확하고 언어에 독립적인 개선된 시스템에 대한 필요가 당해 기술분야에 존재한다.
태스크 분류 및 실행에 있어서 개선된 정확성을 제공하기 위해, 태스크 분류를 위해 기계학습 알고리즘을 이용하는 시스템 및 방법이 제공된다. 복수의 태스크 카테고리 내에서 사용자들이 요청을 어떻게 표현하는지에 대하여 다양한 사용자들로부터 훈련 데이터베이스가 생성된다. 충분히 많은 수의 사용자를 조사함으로써, 개별 사용자들이 주어진 원하는 태스크를 어떻게 표현하는지의 자연적인 편차가 적당히 샘플링된다. 예를 들면, 엄마와 같은 특정 상대방에게 전화를 거는 태스크에 대하여, 한 사용자는 "Call mom"으로 표현할 수 있지만 다른 사용자는 "Please call mom" 또는 "Call mother"로 표현할 수 있다. 주어진 태스크가 다른 사용자들에 의해 어떻게 표현되는지에 대한 이러한 편차를 특징짓기 위해 비교적 큰 훈련 데이터베이스가 예를 들면 크라우드 소싱(crowd sourcing)을 통해 생성될 수 있다. 그 결과 생성된 훈련 데이터베이스는 복수의 태스크 카테고리로부터 특정 태스크를 요청함에 있어서 수천의 사용자들의 응답을 포함할 수 있다. 사용자가 특정 태스크를 의도하고 있었다는 것을 선험적으로 알기 때문에, 그 결과 생성된 사용자 요청은 그 분류에 있어서 모호함이 없다. 따라서 상기 훈련 데이터베이스는 다양한 사용자 요청들의 엄청나게 많은 예를 가질 수 있으며, 그것들 모두는 각자의 적합한 태스크 카테고리로 편성된다.
그러면 그와 같은 고품질 훈련 데이터베이스는 다양한 기계학습 알고리즘을 통해 이용될 수 있다. 예를 들면, 각각의 데이터베이스 사용자 요청은 피처 벡터(feature vector) 또는 다른 기계적 표현으로 변환될 수 있다. 따라서 상기 훈련 데이터베이스는 각각의 태스크 카테고리를 위한 다양한 피처 벡터를 포함할 수 있으며, 각각의 피처 벡터는 주어진 훈련 데이터베이스 사용자의 요청에 대응한다. 각각의 피처 벡터의 차원성은 원하는 복잡도에 종속한다. 예를 들면, 주어진 사용자의 요청 내의 각각의 고유 단어(또는 구)는 피처 벡터 차원에 대응할 수 있다. 각각의 피처 벡터 차원을 위한 가중치는 대응하는 단어 또는 구가 대응하는 사용자의 요청에서 몇 차례 일어나는지에 종속할 수 있다. 대안으로, 상기 가중치는, 가중치 부여가 단지 주어진 단어 또는 구가 사용자 요청에 있었는지 여부에만 종속하는, 이원적(binary)일 수 있다. 그 다음, 그 결과 생성된 피처 벡터는 각각의 태스크에 대한 다양한 사용자 요청이 피처 벡터 공간에서 어떻게 군집화(clustering)되는지의 태스크 분류기 모델을 결정하기 위해 지원 벡터 머신(SVM: support vector machine)과 같은 기계학습 알고리즘을 훈련시키기 위해 사용될 수 있다.
태스크 분류 모델을 개발하기 위해 다양한 태스크에 대해 사람이 생성한 요청들의 고품질 훈련 데이터베이스를 통한 이러한 선험적인 기계학습이 주어지면, 추가의 사용자 요청이 태스크 분류기 모델에 따라 실시간으로 확실하게 분류될 수 있다. 다시 말하면, 수신된 사용자 요청은 (자연어 입력의 경우에) 용이하게 텍스트로 변환되며, 대응하는 텍스트는 피처 벡터로 변환되어 미리 결정된 태스크 분류기 모델에 따라 태스크 카테고리들 중 예상된 하나로 분류된다. 이 프로세스는 태스크 분류의 정확성을 증가시킬 뿐만 아니라 언어 독립적이다. 즉 해당하는 언어들에서의 사용자 요청을 수용하도록 상기 프로세스를 확장하기 위해서 단지 다른 언어들에서의 훈련 데이터베이스를 수집하면 된다.
태스크 실행의 정확성을 증가시키기 위해, 사용자의 요청은 예상된 태스크의 정체(identity)에 기초하여 추가로 처리되어 그것의 특정한 쿼리들(queries)(만일 있다면)이 결정될 수 있다. 그와 관련하여, 각각의 태스크 카테고리는 다양한 쿼리 카테고리와 관련될 수 있다. 예를 들면, 사용자 요청이 "레스토랑 검색" 태스크 카테고리로 분류되었다고 가정한다. 이 태스크 분류는 "레스토랑 유형"(예컨대, Italian 또는 Chinese) 및 "레스토랑 위치"(예컨대, Palo Alto)와 같은 다양한 쿼리 클래스와 관련될 수 있다. 주어진 사용자 요청에서의 쿼리 클래스에 대한 구체적인 예시는 "쿼리"로서 표시될 것이다. 예를 들면, "Find a good Italian Restaurant in Palo Alto"의 사용자 요청은 요리 쿼리(Italian) 및 위치 쿼리(Palo Alto)를 추출하도록 처리될 수 있다. 쿼리 추출의 정확성을 증가시키기 위해, 쿼리 클래스 및 대응하는 가능한 쿼리들의 사전 개발될 수 있다. 예를 들면, 상기 사전은 위치 쿼리 카테고리에 각각의 가능한 위치에 대한 입력항목(entry)을 포함할 수 있다. 그러면 상기 쿼리 추출은 사용자의 요청에서 매칭되는 사전 입력항목들을 확인하는 것을 포함할 수 있으며, 그것은 그 다음 상기 사전의 대응하는 쿼리와 즉시 관련된다.
태스크 실행 모듈은 적절한 애플리케이션 프로그래밍 인터페이스(API)를 호출함으로써 예상된 태스크 및 임의의 관련된 쿼리들을 사용할 수 있다. 예를 들면, 레스토랑 검색 태스크는 레스토랑 검색을 서비스하는 "Yelp"와 같은 외부 검색 제공자를 사용하여 가장 잘 수행될 수도 있다. 한편, 만일 상기 예상된 태스크가 통화 개시라면, 관련된 쿼리는 사용자의 휴대용 장치 내 휴대전화 기능을 위해 상기 API를 통해 전송될 수 있을 것이다.
여기에 개시된 시스템 및 방법의 추가의 기능들 및 이점들은 다음의 상세한 설명을 통해 더욱 잘 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 사용자 요청을 실행하기 위한 시스템의 블럭도이다.
도 2는 태스크 분류 이후 사용자 요청으로부터 쿼리 추출을 도시한다.
도 3은 도 1의 시스템 내 태스크 분류 모듈에 대한 더 상세한 블럭도이다.
도 4는 도 3의 태스크 분류 모듈에 의해 사용되는 태스크 분류기 모델을 생성하기 위한 모듈들을 도시한다.
도 5는 도 1의 시스템 내 쿼리 추출 모듈에 대한 더 상세한 블럭도이다.
도 6은 도 1의 시스템 내 태스크 실행 모듈들에 대한 더 상세한 블럭도이다.
도 7은 본 발명의 일 실시예에 따른 사용자 요청을 실행하도록 구성된 컴퓨터 시스템을 도시한다.
본 발명의 실시예들과 그것들의 이점은 아래의 상세한 설명을 참조함으로써 가장 잘 이해된다. 도면들 중 하나 이상에서 도시된 같은 요소들을 확인하기 위해 같은 참조번호들이 사용되었다.
아래에서 제시된 상세한 설명은 첨부한 도면들과 함께 다양한 구성들의 설명으로서 의도되며, 여기서 설명된 개념들이 실행될 수 있는 유일한 구성을 나타내는 것을 의도하지 않는다. 상세한 설명은 다양한 개념들의 완전한 이해를 제공할 목적으로 구체적인 상세를 포함한다. 그러나 이 개념들은 이러한 구체적인 상세 없이도 실행될 수 있음은 당해 기술분야의 통상의 기술자에게는 명백할 것이다. 어떤 실시예에서는, 그와 같은 개념을 불명료하게 하는 것을 피하기 위해 기존의 구조체들 및 구성요소들이 블럭도 내에 도시되어 있다.
개인비서 애플리케이션에 의해 사용자 요청의 실행을 위한 더 큰 정확성을 제공하기 위해, 한 세트의 태스크에 대해 미리 기록된 사용자 요청들의 훈련 데이터베이스에 기초한 기계학습 알고리즘을 통해 태스크 분류기가 훈련된다. 예를 들면, 다수의 태스크에 대해 사람이 생성한 요청을 포함하는 훈련 데이터베이스을 생성하기 위해 크라우드 소싱이 사용될 수 있다. 그 점에 있어서, 특정 사용자는 주어진 태스크에 대한 요청을 다른 사용자의 말투(phrasings)와 다르게 종종 표현할 것이다. 그와 같은 편차는 인간의 상호작용에 있어서 필연적인 것이다. 이러한 가변성으로 인해, 종래의 개인비서 소프트웨어 애플리케이션들은 사용자의 원하는 요청을 적절히 실행함에 있어서 오류가 발생하기 쉽다. 시간이 경과함에 따라, 그와 같은 종래의 개인비서 애플리케이션들은 적절한 태스크가 실행되도록 사용자에 의해 수정됨으로써 그것들의 실수로부터 학습할 수 있다. 그러나 시간의 경과에 따른 그와 같은 학습은 사용자에게는 매우 실망스러울 수 있으므로 사용자는 자신의 의도를 실행함에 있어서 피할수 없는 실수들을 수정하기 위해 필요한 시간을 소비하기보다는 개인비서 애플리케이션을 사용하는 것을 중단한다.
이와 비교하여, 여기서 개시된 시스템 및 방법들은 사용자가 정확한 결과를 얻기 위해 훈련 장애물을 극복할 필요가 없도록 사용자 요청에 대해 대응하는 태스크들을 예측하기 위해 훈련 데이터베이스를 통해 훈련된 태스크 분류기를 사용한다. 또한, 확인된 태스크는 그 다음에 사용자 요청으로부터 쿼리 및 대응하는 쿼리 카테고리 또는 클래스를 추출하기 위해 이용될 수 있다. 여기에서 사용된, 사용자 요청으로부터의 쿼리 추출과 관련된 용어 "쿼리"는 주어진 태스크의 특정한 파라미터들을 지칭한다. 상기 태스크에 기초하여, 이 파라미터들은 클래스들로 편성될 수 있다. 예를 들면, 레스토랑 검색은 사용자가 원하는 요리의 유형과 원하는 위치를 통상 확인할 것이다. 요리 유형 및 원하는 위치는 각각의 쿼리 클래스를 포함한다. 상기 "쿼리"는 그 다음 각각의 쿼리 클래스의 특정한 구체예를 포함할 것이다. 예를 들면, "Find a good Italian Restaurant in Palto Alto"의 사용자 요청은 요리 유형으로 "Italian"의 쿼리를 그리고 원하는 위치로 "Palo Alto"를 가질 수 있다. 이러한 쿼리 추출의 정확성은 예상된 태스크에 응답하여 수행됨으로써 크게 강화될 수 있다. 쿼리 추출과 관련하여, 각각의 태스크 카테고리는 가능한 쿼리들 및 그것들의 대응하는 쿼리 카테고리들의 사전과 연관지어질 수 있다. 일단 사용자 요청이 특정의 예상된 태스크로 분류되었다면, 그 사용자 요청은 임의의 쿼리들 및 대응하는 쿼리 클래스들을 위한 매칭을 확인하기 위해 그 태스크를 위한 대응하는 사전과 비교될 것이다.
태스크 실행 모듈은 그 다음에 사용자의 요청을 실행하기 위해 상기 예상된 태스크의 확인 및 대응하는 쿼리들을 사용할 것이다. 예를 들면, 태스크 실행 모듈은 쿼리들을 대응하는 API에 전송하기 위해 상기 예상된 태스크를 사용할 것이다. API의 선택에 관계없이, 태스크 실행 결과는 종래의 방법에 비해 현저하게 정확하다. 이제 몇몇 실시예를 설명할 것이다.
실시예들
이제 도면들을 참조하면, 도 1은 예를 들어 자연어 입력(110)을 통해 수신된 것과 같은 사용자 요청을 실행하는 예시적 시스템(100)을 도시한다. 시스템(100)은 사용자가 원하는 대응하는 태스크를 예측하기 위해 자연어 입력(110)에 의해 표현된 것과 같은 사용자 요청을 처리하는 기능을 한다. 시스템(100)은 사용자의 요청을 한 세트의 잠재적인 태스크 카테고리들로부터 선택된 주어진 태스크에 대응하는 것으로 분류하도록 쉽게 구성된다. 시스템(100)에 의해 서비스되는 잠재적인 태스크들의 세트의 크기는, 본 명세서에 추가로 설명되는 바와 같이, 단지 설계상의 선택이다. 따라서 이것은 시스템(100)이 쉽게 확장 가능할 때 특히 유리 유리하다. 또한, 본 명세서에서 추가로 설명되는 바와 같이, 시스템(100)은 영어 외의 다른 언어들에도 쉽게 적응된다.
자연어 입력 텍스트 변환 모듈(120)은 사용자의 자연어 입력(110)을 텍스트 입력(130)으로 변환한다. 대안으로, 사용자는 (구술된) 자연어 입력(110)을 제공하는 것에 반대로 텍스트 입력(130)을 직접 제공할 수 있다. 태스크 분류기 모듈(140)은 사용자의 원하는 태스크를 예측하기 위해 텍스트 입력(130)을 처리하며, 이것은 아래에서 추가로 설명될 것이다. 태스크 분류기 모듈(140)에 의해 결정된 예측 태스크에 기초하여, 쿼리 추출기 모듈(150)은 쿼리들 및 대응하는 쿼리 클래스들을 추출하기 위해 텍스트 입력(130)을 처리한다. 예시적 쿼리 추출(220)이 도 2에 도시되어 있다. 이 경우에, "Find a good Italian Restaurant in Palo Alto"의 사용자 요청은 도 1의 태스크 분류기 모듈(140)에 의해 레스토랑 검색 태스크로 분류되었다. 레스토랑 검색 태스크는 두 개의 쿼리 클래스, 즉 레스토랑 타입 및 위치를 포함한다. 시스템(100)의 쿼리 추출기(150)는 사용자 요청을 분석하여 각각의 쿼리 클래스의 구체예를 확인한다. 다시 말해서, 쿼리 추출기(150)는 각각의 쿼리 클래스에 대해 대응하는 쿼리를 확인한다. 도 2의 예에서, 결과적인 쿼리(220)는 "Italian Restaurant"과 "Palo Alto"이다. 다시 도 1을 참조하면, 태스크 실행 인터페이스 모듈(160)은 태스크 실행 모듈(170)의 API와 같은 적절한 태스크 실행 인터페이스를 선택하기 위해 상기 예상된 태스크를 사용한다.
이제 시스템(100) 내의 다양한 모듈들의 동작을 더욱 상세히 설명할 것이다. 도 3에는 태스크 분류기 모듈(140)에 대한 확대된 블럭도가 도시되어 있다. 모듈(140) 내의 피처 추출기 모듈(130)은 텍스트 입력(130)을 처리하여 피처 벡터(320)를 추출한다. 이 추출은 도 4의 훈련 데이터 세트(400)에 대해서도 수행된다. 훈련 데이터 세트(400)는 다양한 태스크 카테고리들 또는 분류들에 대하여 다수의 미리-수집된 사용자 요청들을 포함한다. 도 4의 실시예에서, 32개의 태스크 분류가 있다. 각각의 태스크에 대한 사용자 요청은 동일한 태스크 ID가 할당되며, 상기 ID는 정수로 구성될 수 있다. 예를 들면, 훈련 데이터 세트(400)는 표 1에 제시된 태스크들을 포함할 수 있다.
교통 지도 날씨 음악 영화 사진 SNS 뉴스
게임 레스토랑 레시피 쇼핑 여행 위키피디아
병원 정보 전화 이메일 카메라 일정확인 일정 메모
타이머 알람 음악재생기 인사하기 칭찬 비방 지루함 사랑
태스크 카테고리들의 개수는 대안의 실시예에서 쉽게 변경될 수 있음을 이해할 것이다. 훈련 데이터 세트(400)는 크라우드 소싱, 다른 자연어로 기존 훈련 데이터의 번역, 웹사이트 크롤링(crawing), 또는 다른 적합한 방법들에 의해 생성될 수 있다. 크라우드 소싱 실시예에서, 익명 사용자인 사람은 표 1의 태스크들과 같은 다양한 태스크들에 대해 자신들의 말투에 대한 질문에 답한다. 사용자들은 예컨대 자연어 응답들을 통해서 질문들에 답을 하며 그 응답들은 그 다음에 훈련 데이터베이스를 구축하기 위해 입력 텍스트로 변환되며, 상기 훈련 데이터베이스는 훈련 데이터 세트(400)를 형성하기 위해 추출된 그것의 피처 벡터를 가질 수 있다. 피처 추출 이전에 입력 텍스트의 예시적 훈련 데이터베이스가 표 2에 제시되어 있다.
레스토랑 검색 근처에 괜찮은 버거 가게는 어디인가?
... ...
전화통화 엄마와 전화통화
... ...
전화통화 Joe와 전화통화
텍스트 입력과 대응하는 태스크들의 예시적 훈련 데이터베이스에서, 가능한 태스크 카테고리들은 "레스토랑 검색" 태스크 카테고리 및 "전화통화" 태스크 카테고리를 포함할 수 있다. 레스토랑 검색을 위한 예시적 텍스트는 "Where is a nice burger place nearby"이다. 훈련 데이터베이스는 사람 사용자들에 의해 생성된 수많은 그러한 예시적인 레스토랑 검색들을 포함하도록 쉽게 확대될 수 있다. 다른 태스크들도 역시 사람 사용자들에 의해 생성된 수천 개의 예시적 텍스트들에 의해 표현될 수 있다. 표 2에서, "전화통화" 태스크는 "Call Mom"과 "Call Joe"의 예시적 텍스트 두 개를 포함한다. 일반적으로, 훈련 데이터베이스에 더 많은 텍스트가 입력될수록, 여기서 개시되는 기계학습 알고리즘이 그와 같은 각각의 예로부터 학습하기에 더 좋다. 태스크들은 선험적으로 이미 확인되었기 때문에, 훈련 데이터베이스 내 각각의 데이터는 태스크 이름(태스크 ID)과 사람 사용자에 의해 생성된 대응하는 텍스트 입력을 포함한다. "교통"과 같은 주어진 카테고리에 대한 훈련 데이터 세트(400) 내 모든 사용자 요청들은 동일한 태스크 ID가 주어진다. 대응하는 사용자 요청을 위한 텍스트는 피처 추출 모듈(310) 또는 그것의 등가물에 의해 훈련 피처 벡터로 변환된다. 일 실시예에서, 훈련 데이터 세트(400) 내의 각각의 다른 단어는 2진 값에 의해 표현된 피처에 대응한다. 만일 텍스트 입력이 특정한 단어를 가지면, 이 단어에 대한 피처에 대응하는 2진 값이 1로 설정된다. 또한, 각각의 상이한 N-그램(gram), 즉 사용자 요청 내 N개 단어로 구성되는 구에도 2진 값이 할당될 수 있다. 훈련 피처 벡터들에 대해 그 결과로 생성된 피처 벡터 공간은 따라서 숫자 M의 차원을 가질 것이며, 여기서 M은 훈련 데이터 세트(400) 내에서 발견된 N-그램들과 모든 다른 단어들의 합과 같다. 일 실시예에서, 결과적인 복잡성을 낮추기 위해 개별 단어들에 추가하여 바이-그램(2개의 연속 단어)만이 개별 피처들에 할당된다. 주의할 것은, 훈련 피처 벡터들을 생성하기 위해 TF-IDF(term frequency-inverse document frequency)와 같은 다른 가중치 스킴들이 이용될 수 있다. 예를 들면, 도 4의 훈련 데이터 세트(400) 내의 훈련 피처 벡터들은 그것들의 다양한 차원들에 대해 정수아닌 계수를 가진다.
훈련 데이터 세트(400) 내의 훈련 피처 벡터들은 텍스트 입력(130)에서 사용될 수 있는 피처들(개별 단어들 및 N-그램들)의 사전을 구성하기 위해 고려될 수 있다. 다시 도 3을 참조하면, 피처 추출 모듈(310)은 훈련 데이터 세트(400) 내의 훈련 피처 벡터들은 구축하기 위해 사용된 임의의 피처들(개별 단어들 및 임의 적용 가능한 N-그램들)을 위해, 사용자의 텍스트 입력(130)을 분석한다. 훈련 데이터 세트(400) 내에서 발생한 것과 매칭되지 않는 단어들 및 N-그램들은 무시될 수 있다. 일 실시예에서, 텍스트 입력(130) 내의 각각의 매칭 피처는 1의 2진 가중치가 주어지지만 그와 같은 가중치 부여는 전술한 것과 같이 수정될 수 있다. 결과로서 생성된 피처 벡터(320)는 그 다음에 훈련 데이터 세트(400)의 구축에서 사용된 태스크들의 세트로부터 예측 태스크(350)를 제공하기 위해, 훈련 데이터 세트(400)로부터 추출된 태스크 분류기 모델(340)에 따라 태스크 분류기 서브-모듈(330)에 의해 처리될 것이다.
도 4를 다시 참조하면, 트레이너 모듈(410)에 의해 구현된 것과 같은 기계학습 알고리즘은 태스크 분류기 모델(340)을 생성하기 위해 훈련 데이터 세트(400) 내의 훈련 피처 벡터들을 처리한다. 지원 벡터 머신(SVM) 또는 나이브 베이즈 분류기(naive Bayes classifier)와 같은 기계학습 훈련 모듈(410)에 의해 구현될 수 있는 선별된 적당한 기계학습 알고리즘들이 존재한다. 특정한 기계학습 알고리즘에 기초하여, 훈련 모델(410)에 의해 생성된 태스크 분류기 모델(340)은 태스크 분류기 서브-모듈(330)이 피처 벡터(320)에 대해 유력한 예측 태스크(350)를 결정하는 것을 가능하게 한다. 그와 관련하여, 주어진 태스크에 대한 훈련 피처 벡터들은 상기 다양한 피처들에 의해 생성된 벡터 공간에서 군집화되는 경향이 있을 것이다. 이 군집화에 기초하여, 태스크 분류기 서브-모듈(330)은 그 다음에, 만일 피처 벡터(320)가 훈련 데이터 세트(400)를 구축하기 위해 사용된 원래의 훈련 피처 벡터들의 일부라면 피처 벡터(320)가 속했을 유력한 태스크 카테고리를 결정할 수 있다.
훈련 피처 벡터에 의한 이러한 선험적 기계학습은, 피처 벡터들이 단어들이 아니라 수학적 실체들이라는 점에서, 사용자들에 의해 구술된 언어에 전적으로 독립적이다. 따라서 적절한 태스크 분류기 모델을 구축하기 위해 단지 대응하는 훈련 데이터 세트를 생성함으로써 시스템(100)을 다른 언어들로 확대하는 것은 간단하다. 따라서 주어진 사용자 시장을 위해 사용된 특정 언어에 관계없이, 여기서 개시된 정확한 태스크 분류를 유익하게 즐길 수 있을 것이다. 이 태스크 분류는 종래의 개인비서 애플리케이션에서 사용된 즉흥적인 기술들보다 더 정확할 뿐만 아니라 결과물인 태스크 분류는 또한 쿼리 추출을 더욱 정확하게 만든다.
도 5에는 쿼리 추출기 모듈(150)이 더 상세히 도시되어 있다. 각각의 태스크에 관하여, 일부 태스크는 관련된 쿼리를 갖지 않을 수 있음을 주목해야 한다. 예를 들면, 지루함 태스크는 시스템(100)으로부터 농담을 듣기를 원하는 사용자와 관련이 있다. 일 실시예에서, 태스크 분류기 모델(140)에 의한 확인 외에 지루함 태스크의 추가 분류는 존재하지 않는다. 그러나 전화통화 태스크와 같은 다른 태스크들은 그렇지 않다. 즉 시스템(100)은 주어진 사용자 요청이 전화통화 태스크에 대응하는지 단지 확인하는 것 이상을 하여야 하며, 이는 수신자가 누구인지 시스템(100)이 알 필요가 있기 때문이다. 이러한 추가의 파라미터들은 전술한 것과 같이 "쿼리 클래스"에 정리된다. 예를 들면, 레스토랑 검색은 전형적으로 원하는 레스토랑 유형을 하나의 쿼리 클래스로서 확인할 것이다. 추가로, 동일한 레스토랑 검색은 위치 역시 또 다른 쿼리 클래스로서 보통 확인할 것이다. 각각의 태스크에 대한 다양한 쿼리 클래스들의 ID가 주어지면(가능하다면), 사전(530)이 구성된다. 각각의 사전 입력항목은 쿼리 클래스("태그(tag)"로도 표시됨) 및 쿼리 클래스의 특정 예(관련된 쿼리)의 데이터 쌍일 수도 있다.
사전(530)의 구성과 관련하여, 주목할 것은 훈련 데이터 세트(400) 내 모든 가능한 쿼리를 확인하는 것을 기대할 수는 없다는 것이며, 그러기 위해서는 임의의 주어진 사용자에 의해 만들어질 수 있는 모든 가능한 사용자 요청을 포함해야 할 것이기 때문이며, 이는 물론 성립할 수 없다. 시스템(100)과 상대할 수 있는 수십억의 사용자가 잠재적으로 존재하므로 훈련 데이터 세트(400)는 그렇게 많은 잠재적 사용자들로부터 모든 가능한 쿼리를 미리 포함할 수 없다. 그러나 위키피디아와 같은 데이터베이스는 "위치"와 같은 주어진 클래스에 대한 모든 잠재적 쿼리를 확인하기 위해 쉽게 분석될 수 있을 것이다. 예를 들면, 미국이나 다른 원하는 나라의 모든 도시들이 그와 같은 데이터베이스로부터 확인되고 레스토랑 검색 태스크를 위한 위치 태그와 함께 사전(530)에 입력될 수 있다. 마찬가지로, 요리의 가능한 유형들 역시 레스토랑 검색 태스크를 위한 요리 태그의 유형과 함께 사전(530)에 입력될 수 있다. 다른 검색 태스크들에 대한 태그들을 위한 잠재적 쿼리들 역시 적당한 데이터베이스들의 검색을 통해 예시될 수 있다. 예를 들면, 전화통화 태스크에 대한 "수신자 성명" 태그는 이름(및 원한다면 성씨도)이 예시될 수 있다. 이것은, 가능한 쿼리들이 이와 같이 손쉽게 예상되고 사전(530)에 입력되므로 일단 사용자 요청이 주어진 태스크 카테고리에 속하는 것으로 예측되면 대응하는 쿼리들이 쿼리 추출 모듈(520)에 의해 손쉽게 확인될 수 있다는 점에서, 매우 유리하다. 그렇게 하기 위해, 모듈(520)은 관련된 태그들(쿼리 클래스)에 대해 텍스트 입력(130) 내의 단어들을 사전(530)의 입력항목들과 비교한다. 예를 들면, 다시 도 2를 참조하면, 용어 "Palo Alto"는 위치 태그 아래에 사전(530)에서 매칭을 가질 수 있다. 마찬가지로, 용어 "Italian Restaurant"은 요리 유형 태그 아래에 사전(530)에서 매칭을 가질 수 있다. 이와 같이, 주어진 텍스트 입력(130)은 그것의 적절한 쿼리들(500)을 확인하기 위해 시스템(100)에 의해 손쉽게 확인된다.
도 6에 도시된 것과 같이, 태스크 실행 인터페이스 모듈(160)은 임의의 외부 콘텐츠 제공자가 필요한지를 결정하기 위해 예상된 태스크(350)를 사용한다. 전화통화 태스크와 같은 어떤 태스크들은 외부 콘텐츠 제공자가 필요하지 않다. 반면, 레스토랑 검색은 외부 검색 제공자를 사용하여 수행될 수 있다. 따라서 태스크 실행 모듈(160)은 임의의 관련된 쿼리들을 태스크 실행 모듈(160) 내의 적절한 API로 발송한다. 외부 검색 제공자가 필요한 쿼리들은 대응하는 콘텐츠 제공자의 API(620)에 발송된다. 반대로, 사용자 장치의 내부 기능이 필요한 쿼리들은 대응하는 내부 기능 API(610)에 발송된다.
시스템(100)은 하나 이상의 컴퓨터를 사용하여 구현되거나 또는 설정된 FPGA 또는 ASIC(s)을 사용하여 예시될 수 있다. 도 7에는 시스템(100)용의 하나 이상의 모듈을 구현하기 위한 적당한 컴퓨터 시스템(700)이 도시되어 있다. 관리자는 디스플레이(711), 키보드(704), 및 오디오/비디오 I/O(705)을 사용하여 시스템(700)을 구성할 수 있다. 시스템(700)은 버스(702)를 통해 명령들의 메모리(714)에 연결된 하나 이상의 프로세서를 포함한다. 버스(702)는 또한 네트워크 인터페이스(706) 및 통신링크(718)를 통해 인터넷과 같은 네트워크(750)에 연결된다. 이와 같이, 도 1의 자연어 입력(110)과 같은 사용자의 상호작용은 네트워크(750)로부터 시스템(700)에 의해 손쉽게 수신될 수 있다. 여기서 설명된 다양한 모듈들을 구현하기 위해 프로세서(712)에 의해 실행되는 메모리(714) 내에 저장된 명령은 Java 또는 다른 적당한 프로그래밍 언어로 작성될 수 있다.
당해 기술분야의 통상의 기술자는 이제 가까이에 있는 특정한 애플리케이션에 의해 본 발명의 범위와 사상을 벗어나지 않으면서 본 발명 장치의 사용 방법과 재료, 장치, 구성에 있어서 다양한 수정, 치환, 변경이 이루어질 수 있음을 이해할 것이다. 이것으로부터, 본 발명의 범위는 여기서 설명된 특정한 실시예들에 제한되는 것이 아니며, 상기 실시예들은 단지 설명을 위한 예시일 뿐이고, 첨부된 청구항들과 그것들의 기능적 균등물에 완전히 상당하는 것으로 이해되어야 한다.

Claims (20)

  1. 기계로-구현되는 방법에 있어서,
    사용자 요청들의 훈련 데이터베이스를 생성하기 위해 복수의 태스크 카테고리들 각각에 대하여 사람이 생성한 복수의 요청들을 수집하는 단계;
    각각의 태스크 카테고리에 대해 복수의 훈련 피처 벡터들을 가진 훈련 데이터 세트를 형성하기 위해 상기 훈련 데이터베이스 내의 각각의 사용자 요청으로부터 훈련 피처 벡터를 추출하는 단계;
    각각의 태스크 카테고리에 대해 태스크 분류기 모델을 결정하기 위해 상기 훈련 데이터 세트 내의 상기 훈련 피처 벡터들을 처리하는 단계;
    상기 태스크 카테고리들 중 하나로 분류될 수 있는 추가 요청을 사용자로부터 수신하는 단계; 및
    상기 기계에서, 상기 추가 요청에 대해 예상된 태스크 카테고리를 결정하기 위해 상기 추가 요청으로부터 추출된 피처 벡터를 상기 태스크 분류기 모델과 비교하는 단계;
    를 포함하는, 기계로-구현되는 방법.
  2. 제 1 항에 있어서,
    상기 기계에서, 하나 이상의 태스크 파라미터에 대해 상기 추가 요청 내의 매칭되는 단어들 또는 구들을 확인하기 위해, 상기 예상된 태스크 카테고리에 대해 하나 이상의 쿼리 클래스를 위한 가능한 값들의 사전과 상기 추가 요청 내의 단어들을 비교하는 단계를 추가로 포함하는, 기계로-구현되는 방법.
  3. 제 2 항에 있어서,
    상기 매칭되는 단어들 또는 구들(phrases)을 사용함으로써 상기 추가 요청을 서비스하는 단계를 추가로 포함하는, 기계로-구현되는 방법.
  4. 제 1 항에 있어서,
    상기 예상된 태스크가 완성을 위해 외부 콘텐츠 제공자를 필요로 하는지 여부 또는 상기 예상된 태스크가 상기 사용자의 휴대용 장치에 의해 수행될 수 있는지 여부를 결정하는 단계;
    상기 예상된 태스크가 완성을 위해 상기 외부 콘텐츠 제공자가 필요하다는 결정에 응답하여 상기 외부 콘텐츠 제공자를 위해 애플리케이션 프로그램 인터페이스를 호출하는 단계; 및
    상기 예상된 태스크는 상기 휴대용 장치에 의해 수행될 수 있다는 결정에 응답하여 상기 휴대용 장치상의 프로그램을 위해 애플리케이션 프로그램 인터페이스를 호출하는 단계;
    를 추가로 포함하는, 기계로-구현되는 방법.
  5. 제 4 항에 있어서,
    상기 휴대용 장치는 휴대전화를 포함하는, 기계로-구현되는 방법.
  6. 제 1 항에 있어서,
    상기 추가 요청은 자연어 요청을 포함하며,
    상기 자연어 요청을 텍스트 입력으로 변환하는 단계; 및
    상기 텍스트 입력으로부터 상기 피처 벡터를 추출하는 단계;
    를 추가로 포함하는, 기계로-구현되는 방법.
  7. 제 1 항에 있어서,
    태스크 분류기 모델을 결정하기 위해 상기 훈련 데이터 세트를 처리하는 단계는 상기 훈련 데이터 세트에 기계학습 알고리즘을 적용하는 단계를 포함하는, 기계로-구현되는 방법.
  8. 제 7 항에 있어서,
    상기 기계학습 알고리즘은 지원벡터 기계훈련 알고리즘을 포함하는, 기계로-구현되는 방법.
  9. 제 7 항에 있어서,
    상기 기계학습 알고리즘은 나이브 베이즈(Naive Bayes) 알고리즘을 포함하는, 기계로-구현되는 방법.
  10. 제 1 항에 있어서,
    상기 태스크 카테고리들은 레스토랑 검색 태스크 카테고리, 전화통화 태스크 카테고리, 이메일 태스크 카테고리, 및 교통 태스크 카테고리를 포함하는, 기계로-구현되는 방법.
  11. 복수의 태스크 카테고리들 중 하나에 대응하는 제1 사용자 요청으로부터 피처 벡터를 추출하고, 상기 제1 사용자 요청에 대응하는 태스크 카테고리를 예측하기 위해 상기 태스크 카테고리들의 각각에 대해 복수의 다른 사용자 요청들로부터 개발된 태스크 분류기 모델과 상기 피처 벡터를 비교하는 태스크 분류기 모듈;
    하나 이상의 태스크 파라미터에 대해 상기 제1 사용자 요청 내의 매칭되는 단어들 또는 구들을 확인하기 위해, 상기 예상된 태스크 카테고리에 대해 상기 하나 이상의 태스크 파라미터를 위한 가능한 값들의 사전과 상기 제1 사용자 요청을 비교하는 쿼리 추출 모듈;
    상기 예상된 태스크 카테고리가 완성을 위해 외부 콘텐츠 제공자를 필요로 하는지 여부 또는 상기 예상된 태스크 카테고리가 상기 사용자의 휴대용 장치에 의해 수행될 수 있는지 여부를 결정하기 위해 상기 예상된 태스크 카테고리를 분석하는 태스크 실행 모듈; 및
    상기 예상된 태스크 카테고리가 완성을 위해 상기 외부 콘텐츠 제공자를 필요로 한다는 결정에 응답하여 상기 확인된 단어들 및 구들을 가진 외부 콘텐츠 제공자를 위해 애플리케이션 프로그램 인터페이스를 호출하는 태스크 실행 모듈;
    을 포함하는, 시스템.
  12. 제 11 항에 있어서,
    상기 태스크 실행 모듈은 상기 예상된 태스크 카테고리가 상기 사용자의 휴대용 장치에 의해 수행될 수 있다는 결정에 응답하여 상기 확인된 단어들 또는 구들을 가진 상기 사용자의 휴대용 장치를 위해 애플리케이션 프로그램 인터페이스를 추가로 호출하는, 시스템.
  13. 제 11 항에 있어서,
    상기 예상된 태스크 카테고리들은 레스토랑 검색 태스크 카테고리, 전화통화 태스크 카테고리, 이메일 태스크 카테고리, 및 교통 태스크 카테고리를 포함하는, 시스템.
  14. 제 11 항에 있어서,
    상기 태스크 카테고리들의 각각에 대해 복수의 다른 사용자 요청들로부터 상기 태스크 분류기 모델을 개발하는 기계학습 훈련 모듈을 추가로 포함하는, 시스템.
  15. 제 14 항에 있어서,
    상기 기계학습 훈련 모듈은 지원벡터 기계훈련 알고리즘을 사용하여 상기 태스크 분류기 모델을 개발하는, 시스템.
  16. 제 14 항에 있어서,
    상기 기계학습 훈련 모듈은 나이브 베이즈 알고리즘을 사용하여 상기 태스크 분류기 모델을 개발하는, 시스템.
  17. 제 14 항에 있어서,
    자연어 입력을 상기 제1 사용자 요청을 포함하는 텍스트 입력으로 변환하는 자연어-텍스트 변환기 모듈을 추가로 포함하는, 시스템.
  18. 프로그램 명령이 저장되고 컴퓨터로 읽을 수 있는 유형의 매체에 있어서,
    하나 이상의 프로세서에 의한 상기 프로그램 명령의 실행 시 상기 하나 이상의 프로세서는,
    복수의 태스크 카테고리들의 각각에 대해 복수의 훈련 피처 벡터를 가진 훈련 데이터 세트를 형성하기 위해 훈련 데이터베이스 내의 각각의 사용자 요청으로부터 훈련 피처 벡터를 추출하는 단계;
    각각의 태스크 카테고리에 대해 태스크 분류기 모델을 결정하기 위해 상기 훈련 데이터 세트를 처리하는 단계;
    상기 태스크 카테고리들 중 하나로 분류될 수 있는 추가 요청을 사용자로부터 수신하는 단계; 및
    상기 추가 요청에 대해 예상된 태스크 카테고리를 결정하기 위해 상기 태스크 분류기 모델과 상기 추가 요청으로부터 추출된 피처 벡터를 비교하는 단계;
    를 실행하는, 컴퓨터로 읽을 수 있는 유형의 매체.
  19. 제 18 항에 있어서,
    하나 이상의 프로세서에 의한 상기 프로그램 명령의 실행 시 상기 하나 이상의 프로세서는,
    하나 이상의 태스크 파라미터에 대해 상기 추가 요청 내의 매칭되는 단어들 또는 구들을 확인하기 위해 상기 예상된 태스크 카테고리에 대한 상기 하나 이상의 태스크 파라미터를 위한 가능한 값들의 사전과 상기 추가 요청 내의 단어들을 비교하는 단계를 추가로 실행하는, 컴퓨터로 읽을 수 있는 유형의 매체.
  20. 제 18 항에 있어서,
    하나 이상의 프로세서에 의한 상기 프로그램 명령의 실행 시 상기 하나 이상의 프로세서는,
    상기 매칭되는 단어들 또는 구들을 사용함으로써 상기 추가 요청을 서비스하는 단계를 추가로 실행하는, 컴퓨터로 읽을 수 있는 유형의 매체.
KR1020167001061A 2013-11-27 2014-11-25 기계학습에 기초한 자동 태스크 분류 방법 KR101770527B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361909992P 2013-11-27 2013-11-27
US61/909,992 2013-11-27
PCT/US2014/067475 WO2015081128A1 (en) 2013-11-27 2014-11-25 Automatic task classification based upon machine learning

Publications (2)

Publication Number Publication Date
KR20160053905A true KR20160053905A (ko) 2016-05-13
KR101770527B1 KR101770527B1 (ko) 2017-08-22

Family

ID=53199614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167001061A KR101770527B1 (ko) 2013-11-27 2014-11-25 기계학습에 기초한 자동 태스크 분류 방법

Country Status (6)

Country Link
US (1) US9471887B2 (ko)
EP (1) EP3074877A4 (ko)
JP (1) JP6440732B2 (ko)
KR (1) KR101770527B1 (ko)
CN (1) CN105378699B (ko)
WO (1) WO2015081128A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200005003A (ko) * 2018-07-05 2020-01-15 인하대학교 산학협력단 단방향 데이터 변환을 이용한 프라이버시 보장형 기계 학습 방법
KR102209147B1 (ko) * 2019-07-31 2021-01-28 주식회사 같다 재활용품 또는 중고물품의 자동 분류 시스템 및 이를 이용한 자동 분류 방법

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042923B2 (en) 2015-04-24 2018-08-07 Microsoft Technology Licensing, Llc Topic extraction using clause segmentation and high-frequency words
US9792281B2 (en) 2015-06-15 2017-10-17 Microsoft Technology Licensing, Llc Contextual language generation by leveraging language understanding
US9626627B1 (en) * 2016-01-26 2017-04-18 International Business Machines Corporation Predicting API storytelling mapping
US20170300533A1 (en) * 2016-04-14 2017-10-19 Baidu Usa Llc Method and system for classification of user query intent for medical information retrieval system
KR102573933B1 (ko) 2016-10-04 2023-09-05 한국전자통신연구원 기계 학습 기반의 실감 미디어 저작 방법 및 장치
US10713593B2 (en) * 2016-11-04 2020-07-14 Google Llc Implicit bridging of machine learning tasks
CN108229686B (zh) * 2016-12-14 2022-07-05 阿里巴巴集团控股有限公司 模型训练、预测方法、装置、电子设备及机器学习平台
US20190207946A1 (en) * 2016-12-20 2019-07-04 Google Inc. Conditional provision of access by interactive assistant modules
US20180211260A1 (en) * 2017-01-25 2018-07-26 Linkedin Corporation Model-based routing and prioritization of customer support tickets
US11270185B1 (en) * 2017-01-27 2022-03-08 Intuit Inc. Methods, systems, and computer program product for generating a personalized flow for a software delivery model
US10592995B1 (en) 2017-01-27 2020-03-17 Intuit Inc. Methods, systems, and computer program product for providing expense information for an electronic tax return preparation and filing software delivery model
US10127227B1 (en) 2017-05-15 2018-11-13 Google Llc Providing access to user-controlled resources by automated assistants
US11436417B2 (en) 2017-05-15 2022-09-06 Google Llc Providing access to user-controlled resources by automated assistants
US10466963B2 (en) 2017-05-18 2019-11-05 Aiqudo, Inc. Connecting multiple mobile devices to a smart home assistant account
JP6950362B2 (ja) * 2017-08-29 2021-10-13 京セラドキュメントソリューションズ株式会社 情報処理システムおよびプログラム
WO2019052868A1 (en) * 2017-09-14 2019-03-21 Amadeus S.A.S. METHOD AND SYSTEM FOR SEGMENTING REAL-TIME ONLINE PASSENGERS USING AUTOMATIC APPRENTICESHIP
CN107957989B9 (zh) * 2017-10-23 2021-01-12 创新先进技术有限公司 基于集群的词向量处理方法、装置以及设备
CN107767058B (zh) * 2017-10-26 2021-03-19 北京航空航天大学 一种众包软件开发者推荐方法
CN108170663A (zh) 2017-11-14 2018-06-15 阿里巴巴集团控股有限公司 基于集群的词向量处理方法、装置以及设备
JP6856498B2 (ja) 2017-11-15 2021-04-07 株式会社東芝 支援システム、支援方法、プログラム、及び記憶媒体
US10176171B1 (en) * 2017-12-29 2019-01-08 Aiqudo, Inc. Language agnostic command-understanding digital assistant
US10963495B2 (en) 2017-12-29 2021-03-30 Aiqudo, Inc. Automated discourse phrase discovery for generating an improved language model of a digital assistant
US10929613B2 (en) 2017-12-29 2021-02-23 Aiqudo, Inc. Automated document cluster merging for topic-based digital assistant interpretation
US10963499B2 (en) 2017-12-29 2021-03-30 Aiqudo, Inc. Generating command-specific language model discourses for digital assistant interpretation
US10417328B2 (en) * 2018-01-05 2019-09-17 Searchmetrics Gmbh Text quality evaluation methods and processes
US10423727B1 (en) 2018-01-11 2019-09-24 Wells Fargo Bank, N.A. Systems and methods for processing nuances in natural language
CN108280021A (zh) * 2018-01-25 2018-07-13 郑州云海信息技术有限公司 一种基于机器学习的日志等级分析方法
US11803883B2 (en) 2018-01-29 2023-10-31 Nielsen Consumer Llc Quality assurance for labeled training data
US10572321B2 (en) * 2018-03-12 2020-02-25 Amazon Technologies, Inc. Machine learning repository service
CA3096405A1 (en) * 2018-04-09 2019-10-17 Veda Data Solutions, Inc. Processing personal data using machine learning algorithms, and applications thereof
US11263035B2 (en) * 2018-04-13 2022-03-01 Microsoft Technology Licensing, Llc Longevity based computer resource provisioning
US11972490B2 (en) 2018-07-20 2024-04-30 Kbc Groep Nv Determining a category of a request by word vector representation of a natural language text string with a similarity value
EP3598377A1 (en) * 2018-07-20 2020-01-22 KBC Groep NV Improved claim handling
DE102018213021A1 (de) * 2018-08-03 2020-02-06 Robert Bosch Gmbh Computerimplementiertes Verfahren und Vorrichtung für Textanalyse
EP3937030A1 (en) 2018-08-07 2022-01-12 Google LLC Assembling and evaluating automated assistant responses for privacy concerns
US10803182B2 (en) 2018-12-03 2020-10-13 Bank Of America Corporation Threat intelligence forest for distributed software libraries
CN111797869A (zh) * 2019-04-09 2020-10-20 Oppo广东移动通信有限公司 模型训练方法、装置、存储介质及电子设备
US11562500B2 (en) 2019-07-24 2023-01-24 Squadle, Inc. Status monitoring using machine learning and machine vision
US11449796B2 (en) 2019-09-20 2022-09-20 Amazon Technologies, Inc. Machine learning inference calls for database query processing
US11328715B2 (en) * 2019-09-24 2022-05-10 International Business Machines Corporation Automatic assignment of cooperative platform tasks
TWI728507B (zh) * 2019-10-15 2021-05-21 財團法人資訊工業策進會 產生一對話狀態追蹤模型之裝置及方法
CN111381970B (zh) * 2020-03-16 2023-07-25 第四范式(北京)技术有限公司 集群任务的资源分配方法及装置、计算机装置及存储介质
US11789905B2 (en) * 2020-05-27 2023-10-17 Roblox Corporation Automated generation of game tags
US11514444B2 (en) 2020-11-03 2022-11-29 Capital One Services, Llc Leveraging blockchain based machine learning modeling for expense categorization
US20220245898A1 (en) * 2021-02-02 2022-08-04 Unisys Corporation Augmented reality based on diagrams and videos
US11509746B2 (en) * 2021-02-17 2022-11-22 Salesforce.Com, Inc. Distributing user requests to cloud computing systems across regions using a machine learning model
US20230069285A1 (en) * 2021-08-19 2023-03-02 Bank Of America Corporation Cognitive scrum master assistance interface for developers
WO2023023632A1 (en) * 2021-08-19 2023-02-23 Yohana Llc Systems and methods for recommending tasks for execution by third party services

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266559B2 (en) * 2002-12-05 2007-09-04 Microsoft Corporation Method and apparatus for adapting a search classifier based on user queries
US8335683B2 (en) * 2003-01-23 2012-12-18 Microsoft Corporation System for using statistical classifiers for spoken language understanding
US7231375B2 (en) * 2003-10-10 2007-06-12 Microsoft Corporation Computer aided query to task mapping
US8082264B2 (en) * 2004-04-07 2011-12-20 Inquira, Inc. Automated scheme for identifying user intent in real-time
US7624006B2 (en) * 2004-09-15 2009-11-24 Microsoft Corporation Conditional maximum likelihood estimation of naïve bayes probability models
JP2006146621A (ja) * 2004-11-19 2006-06-08 Nec Corp 情報管理装置及び方法並びに情報管理用プログラム
US7949186B2 (en) * 2006-03-15 2011-05-24 Massachusetts Institute Of Technology Pyramid match kernel and related techniques
US7558766B1 (en) * 2006-09-29 2009-07-07 Hewlett-Packard Development Company, L.P. Classification using enhanced feature sets
US20080162117A1 (en) * 2006-12-28 2008-07-03 Srinivas Bangalore Discriminative training of models for sequence classification
CN101211339A (zh) * 2006-12-29 2008-07-02 上海芯盛电子科技有限公司 基于用户行为的智能网页分类器
US8326859B2 (en) * 2009-11-02 2012-12-04 Microsoft Corporation Task prediction
WO2013124522A1 (en) * 2012-02-22 2013-08-29 Nokia Corporation A system, and a method for providing a predition for controlling a system
EP2639749B1 (en) * 2012-03-15 2016-11-16 cortical.io GmbH Methods, apparatus and products for semantic processing of text
WO2014022441A1 (en) * 2012-07-30 2014-02-06 Khalid Sayood Classification of nucleotide sequences by latent semantic analysis
CN102929613B (zh) * 2012-10-16 2016-08-10 无锡江南计算技术研究所 操作系统的调优装置和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200005003A (ko) * 2018-07-05 2020-01-15 인하대학교 산학협력단 단방향 데이터 변환을 이용한 프라이버시 보장형 기계 학습 방법
KR102209147B1 (ko) * 2019-07-31 2021-01-28 주식회사 같다 재활용품 또는 중고물품의 자동 분류 시스템 및 이를 이용한 자동 분류 방법

Also Published As

Publication number Publication date
EP3074877A1 (en) 2016-10-05
JP6440732B2 (ja) 2018-12-19
WO2015081128A1 (en) 2015-06-04
US9471887B2 (en) 2016-10-18
JP2017505964A (ja) 2017-02-23
CN105378699A (zh) 2016-03-02
KR101770527B1 (ko) 2017-08-22
US20160019471A1 (en) 2016-01-21
EP3074877A4 (en) 2017-09-06
CN105378699B (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
KR101770527B1 (ko) 기계학습에 기초한 자동 태스크 분류 방법
US20220214775A1 (en) Method for extracting salient dialog usage from live data
US10762299B1 (en) Conversational understanding
US10832011B2 (en) Question answering system using multilingual information sources
US10733387B1 (en) Optimizing machine translations for user engagement
US20190197119A1 (en) Language-agnostic understanding
US9916829B2 (en) Voice search and response based on relevancy
US20160180237A1 (en) Managing a question and answer system
CN111428010B (zh) 人机智能问答的方法和装置
US20150120723A1 (en) Methods and systems for processing speech queries
KR101751113B1 (ko) 기억 능력을 이용하는 다중 사용자 기반의 대화 관리 방법 및 이를 수행하는 장치
KR101983975B1 (ko) 문장 분류에 기반하는 문서 자동분류 방법 및 그 장치
US10108698B2 (en) Common data repository for improving transactional efficiencies of user interactions with a computing device
CN103219005A (zh) 一种语音识别方法及装置
CN111898643A (zh) 一种语义匹配方法及装置
US10678402B1 (en) Interactive bot for natural language analytics
US9940355B2 (en) Providing answers to questions having both rankable and probabilistic components
CN108268450B (zh) 用于生成信息的方法和装置
US20220121668A1 (en) Method for recommending document, electronic device and storage medium
US20200410056A1 (en) Generating machine learning training data for natural language processing tasks
US20190392325A1 (en) Train a digital assistant with expert knowledge
CN113051389B (zh) 知识推送方法及装置
US20140165002A1 (en) Method and system using natural language processing for multimodal voice configurable input menu elements
CN110532565B (zh) 语句处理方法及装置、以及电子设备
KR102630487B1 (ko) 고객 불만 분석 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant