KR20220027220A - Predictive Similarity Scoring Subsystem in Natural Language Understanding (NLU) Frameworks - Google Patents
Predictive Similarity Scoring Subsystem in Natural Language Understanding (NLU) Frameworks Download PDFInfo
- Publication number
- KR20220027220A KR20220027220A KR1020227003413A KR20227003413A KR20220027220A KR 20220027220 A KR20220027220 A KR 20220027220A KR 1020227003413 A KR1020227003413 A KR 1020227003413A KR 20227003413 A KR20227003413 A KR 20227003413A KR 20220027220 A KR20220027220 A KR 20220027220A
- Authority
- KR
- South Korea
- Prior art keywords
- semantic
- search space
- similarity
- expression
- semantic expression
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/686—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
Abstract
본 실시예들은 발화를 다루기 위한 아티팩트들의 추출을 용이하게 하기 위해 의미 표현 유사도 스코어링을 수행하는 유사도 스코어링 서브시스템을 갖는 에이전트 자동화 프레임워크를 포함한다. 유사도 스코어링 서브시스템은 발화 기반 의미 표현의 CCG 형태를 식별하고, 검색 공간 내의 후보들과 의미 표현 사이의 유사도들의 정량화들을 가능하게 하는 비교 함수 리스트를 검색하기 위해 데이터베이스에 질의한다. 비교 함수들은 유사도 스코어링 서브시스템이 다른 비교들 전에 계산적으로 가장 저렴한 및/또는 가장 효율적인 비교들을 수행할 수 있게 한다. 유사도 스코어링 서브시스템은 특정 의미 표현과 검색 공간의 후보들 사이의 초기 유사도 스코어를 결정하고, 그 후 검색 공간으로부터 비유사 후보들을 전지할 수 있다. 선택적 검색 공간 전지는 유사도 스코어링 서브시스템이 검색 공간을 잠재적으로 매칭하는 후보들로 좁히면서, 점점 더 복잡한 비교 함수들을 통해 의미 표현의 더 많은 데이터를 검색 공간과 반복적으로 비교할 수 있게 한다.The present embodiments include an agent automation framework having a similarity scoring subsystem that performs semantic expression similarity scoring to facilitate extraction of artifacts for handling utterances. The similarity scoring subsystem identifies the CCG form of the utterance-based semantic representation and queries the database to retrieve a list of comparison functions that enable quantifications of similarities between candidates and the semantic representation in the search space. Comparison functions enable the similarity scoring subsystem to perform computationally the least expensive and/or most efficient comparisons before other comparisons. The similarity scoring subsystem may determine an initial similarity score between the particular semantic expression and the candidates in the search space, and then omnipotent dissimilar candidates from the search space. The selective search space omnipotence allows the similarity scoring subsystem to iteratively compare more data of a semantic expression to the search space through increasingly complex comparison functions, while narrowing the search space to potentially matching candidates.
Description
상호 참조들cross references
본 출원은 "PREDICTIVE SIMILARITY SCORING SUBSYSTEM IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK"라는 명칭으로 2019년 7월 2일에 출원된 미국 가출원 제62/869,817호의 우선권 및 그 이익을 주장하며, 이 가출원은 모든 목적들을 위해 그 전체가 본 명세서에 참조로 포함된다. 본 출원은 또한 발명의 명칭이 "SYSTEM AND METHOD FOR PERFORMING A MEANING SEARCH USING A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK"인 미국 가출원 제62/869,864호; 발명의 명칭이 "DERIVING MULTIPLE MEANING REPRESENTATIONS FOR AN UTTERANCE IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK"인 미국 가출원 제62/869,826호; 및 발명의 명칭이 "PINNING ARTIFACTS FOR EXPANSION OF SEARCH KEYS AND SEARCH SPACES IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK"인 미국 가출원 제62/869,811호와 관련되며, 이들 가출원들은 각각 2019년 7월 2일에 출원되었고 모든 목적들을 위해 그 전체가 본 명세서에 참조로 포함된다.This application claims the priority and benefits of U.S. Provisional Application No. 62/869,817, filed on July 2, 2019 under the title "PREDICTIVE SIMILARITY SCORING SUBSYSTEM IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK", and this provisional application is for all purposes For all purposes, it is incorporated herein by reference in its entirety. This application also includes US Provisional Application Serial Nos. 62/869,864 entitled "SYSTEM AND METHOD FOR PERFORMING A MEANING SEARCH USING A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK;" US Provisional Application No. 62/869,826 entitled "DERIVING MULTIPLE MEANING REPRESENTATIONS FOR AN UTTERANCE IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK"; and U.S. Provisional Application No. 62/869,811 entitled "PINNING ARTIFACTS FOR EXPANSION OF SEARCH KEYS AND SEARCH SPACES IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK," each of which was filed on July 2, 2019 and is incorporated herein by reference in its entirety for all purposes.
본 개시내용은 일반적으로 자연어 이해(NLU) 및 인공 지능(AI)의 분야들에 관한 것으로, 보다 구체적으로는, NLU에 대한 예측 유사도 스코어링 서브시스템에 관한 것이다.BACKGROUND This disclosure relates generally to the fields of natural language understanding (NLU) and artificial intelligence (AI), and more particularly to a predictive similarity scoring subsystem for NLU.
이 섹션은 아래에서 설명되고/되거나 청구되는 본 개시내용의 다양한 양태들과 관련될 수 있는 기술의 다양한 양태들에 대해 독자에게 소개하기 위해 의도된다. 이 논의는 본 개시내용의 다양한 양태들의 더 나은 이해를 용이하게 하기 위해 배경 정보를 독자에게 제공하는 데 도움이 되는 것으로 믿어진다. 따라서, 이러한 진술들은 이러한 관점에서 읽혀져야 하고 종래 기술에 대한 인정들이 아님을 이해해야 한다.This section is intended to introduce the reader to various aspects of the technology that may be related to various aspects of the present disclosure described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it is to be understood that these statements are to be read in this light and are not admissions of prior art.
클라우드 컴퓨팅은 일반적으로 인터넷을 통해 액세스되는 컴퓨팅 자원들의 공유에 관한 것이다. 특히, 클라우드 컴퓨팅 인프라스트럭처는 개인들 및/또는 기업들과 같은 사용자들이 서버들, 저장 디바이스들, 네트워크들, 애플리케이션들 및/또는 다른 컴퓨팅 기반 서비스들과 같은 컴퓨팅 자원들의 공유 풀에 액세스할 수 있도록 한다. 그렇게 함으로써, 사용자들은 원격 위치들에 위치되는 맞춤형 컴퓨팅 자원들에 액세스할 수 있으며, 이들 자원들은 다양한 컴퓨팅 기능들(예를 들어, 대량의 컴퓨팅 데이터의 저장 및/또는 처리)을 수행하는데 이용될 수 있다. 기업 및 다른 조직 사용자들의 경우, 클라우드 컴퓨팅은 고가의 네트워크 장비를 구입하거나 또는 사설 네트워크 인프라스트럭처를 구축하는데 많은 양의 시간을 투자하는 것과 같은 많은 초기 비용들을 들이지 않고도 클라우드 컴퓨팅 자원들에 액세스할 수 있는 유연성을 제공한다. 대신, 사용자들은 클라우드 컴퓨팅 자원들을 활용함으로써, 그 자원들을 그 기업의 핵심 기능들에 집중할 수 있도록 전용시킬 수 있다.Cloud computing generally relates to the sharing of computing resources accessed via the Internet. In particular, a cloud computing infrastructure may enable users, such as individuals and/or businesses, to access a shared pool of computing resources, such as servers, storage devices, networks, applications, and/or other computing-based services. do. In doing so, users may access customized computing resources located at remote locations, which may be used to perform various computing functions (eg, storage and/or processing of large amounts of computing data). there is. For enterprise and other organizational users, cloud computing provides access to cloud computing resources without incurring significant upfront costs, such as purchasing expensive network equipment or investing large amounts of time to build a private network infrastructure. Provides flexibility. Instead, by leveraging cloud computing resources, users can divert those resources to focus on the company's core functions.
이러한 클라우드 컴퓨팅 서비스는 클라이언트 인스턴스의 사용자로부터의 자연어 요청들에 기반하여 클라이언트 인스턴스에서의 문제들에 자동으로 응답하도록 설계되는 채팅 에이전트와 같은 가상 에이전트를 호스팅할 수 있다. 예를 들어, 사용자는 패스워드 문제에 대한 지원을 위해 가상 에이전트에 요청을 제공할 수 있으며, 가상 에이전트는 자연어 처리(Natural Language Processing)(NLP) 또는 자연어 이해(Natural Language Understanding)(NLU) 시스템의 일부이다. NLP는 자연어 입력 처리의 일부 형태를 포함하는 컴퓨터 과학 및 AI의 일반적인 영역이다. NLP에 의해 다루어지는 영역들의 예들은 언어 번역, 음성 생성, 파스(parse) 트리 추출, 품사(part-of-speech) 식별 등을 포함한다. NLU는 구체적으로 사용자 발화(user utterance) 이해에 중점을 둔 NLP의 하위 영역이다. NLU에 의해 다루어지는 영역들의 예들은 질문-답변(예를 들어, 독해 질문들), 기사 요약 등을 포함한다. 예를 들어, NLU는 다운스트림 가상 에이전트에 의한 소비를 위해 알려진 심볼들의 세트로 인간 언어(예를 들어, 구두(spoken) 또는 서면(written))를 줄이기 위한 알고리즘들을 이용할 수 있다. NLP는 일반적으로 추가 분석을 위해 프리 텍스트(free text)를 해석하는데 이용된다. NLP에 대한 현재 접근법들은 통상적으로 프로그램의 이해를 향상시키기 위해 데이터의 패턴들을 검사하고 이를 이용하는 AI 유형인 심층 학습(deep learning)에 기반한다.This cloud computing service may host a virtual agent, such as a chat agent, that is designed to automatically respond to problems at the client instance based on natural language requests from the user of the client instance. For example, a user can provide a request to a virtual agent for assistance with a password problem, which is part of a Natural Language Processing (NLP) or Natural Language Understanding (NLU) system. am. NLP is a general area of computer science and AI that includes some form of natural language input processing. Examples of areas covered by NLP include language translation, speech generation, parse tree extraction, part-of-speech identification, and the like. NLU is a sub-domain of NLP that specifically focuses on understanding user utterance. Examples of areas covered by the NLU include question-and-answer (eg, reading questions), article summaries, and the like. For example, an NLU may use algorithms to reduce human language (eg, spoken or written) into a known set of symbols for consumption by a downstream virtual agent. NLP is commonly used to interpret free text for further analysis. Current approaches to NLP are typically based on deep learning, a type of AI that examines and uses patterns in data to improve the understanding of programs.
그러나, 검색 공간 내의 의도 및 엔티티 매치들(intent and entity matches)을 식별하기 위해 NLU 기술들을 적용하는 기존의 가상 에이전트들은 수신된 사용자 발화로부터 의미를 추론하고 그에 대한 적절한 응답을 결정하려고 시도할 때 그 계산 자원들을 지나치게 확장할 수 있다. 실제로, 의미 검색 동안, 특정의 기존의 접근법들은 수신된 사용자 발화에 대한 의미를 도출하기 위해 검색 공간 내의 저장된 사용자 발화들의 전체 집합에 직접 질의할 수 있고, 이에 의해 확장된 시간 기간에 걸쳐 상당한 처리 및 메모리 자원들을 소비할 수 있다. 이와 같이, 기존의 접근법들은 사용자와의 실시간 관여에 적절한 방식으로 복잡한 사용자 발화들을 효율적으로 다룰 수 없고/없거나 복수의 사용자 발화들에 대한 적절하고 적시의 응답들을 동시에 생성하지 못할 수 있다.However, existing virtual agents that apply NLU techniques to identify intent and entity matches within a search space infer meaning from a received user utterance and attempt to determine an appropriate response therefor. Computational resources can be over-expanded. Indeed, during semantic retrieval, certain existing approaches may directly query the entire set of stored user utterances within the search space to derive meaning for the received user utterance, thereby requiring significant processing and processing over an extended period of time. It can consume memory resources. As such, existing approaches may not be able to efficiently handle complex user utterances in a manner suitable for real-time engagement with the user and/or may not be able to simultaneously generate appropriate and timely responses to a plurality of user utterances.
본 명세서에 개시된 특정 실시예들의 요약이 아래에 제시된다. 이러한 양태들은 단지 독자에게 이러한 특정 실시예들의 간단한 요약을 제공하기 위해 제시되고, 이러한 양태들은 본 개시내용의 범위를 제한하도록 의도되지 않는다는 점이 이해되어야 한다. 실제로, 본 개시내용은 아래에 제시되지 않을 수 있는 다양한 양태들을 포함할 수 있다.A summary of specific embodiments disclosed herein is presented below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these specific embodiments, and that these aspects are not intended to limit the scope of the disclosure. Indeed, the present disclosure may include various aspects that may not be set forth below.
본 실시예들은 가상 에이전트에 의해 수신된 요청들과 같은 사용자 발화들로부터 의미를 추출하고, 이러한 사용자 발화들에 적절하게 응답하도록 설계되는 에이전트 자동화 프레임워크에 관한 것이다. 이러한 작업들을 수행하기 위해, 에이전트 자동화 프레임워크는 샘플 발화들과 연관되는 정의된 의도들 및 엔티티들을 갖는 의도-엔티티 모델 및 NLU 프레임워크를 포함한다. NLU 프레임워크는 의도-엔티티 모델의 샘플 발화들에 대한 의미 표현들을 생성하도록 설계되는 의미 추출 서브시스템을 포함한다. 따라서, NLU 프레임워크는 각각이 기본 발화의 상이한 이해 또는 해석을 나타내는, 의미 표현들로부터 검색가능한 이해 모델 또는 검색 공간을 생성한다. 의미 추출 서브시스템은 또한 사용자로부터 수신된 발화에 기반하여 의미 표현을 생성하고, 여기서 의미 표현은 검색 공간과 비교될 검색 키이다. 이와 같이, 개시된 NLU 프레임워크의 의미 검색 서브시스템은 수신된 사용자 발화의 의미 표현에 대한 의미 표현 매치들을 찾기 위해 이해 모델의 의미 표현들을 검색하도록 설계된다. 의미 추출 서브시스템은 적절한 에이전트 응답들 및/또는 액션들을 용이하게 하기 위해 매칭 의미 표현들로부터 의도들 및 엔티티들을 후속하여 추출할 수 있다.The present embodiments relate to an agent automation framework designed to extract meaning from user utterances, such as requests received by a virtual agent, and to respond appropriately to such user utterances. To perform these tasks, the agent automation framework includes an intent-entity model and an NLU framework with defined intents and entities associated with sample utterances. The NLU framework includes a semantic extraction subsystem designed to generate semantic representations for sample utterances of an intent-entity model. Thus, the NLU framework creates a searchable understanding model or search space from semantic representations, each representing a different understanding or interpretation of an underlying utterance. The semantic extraction subsystem also generates a semantic representation based on the utterance received from the user, wherein the semantic representation is a search key to be compared with the search space. As such, the semantic retrieval subsystem of the disclosed NLU framework is designed to search the semantic representations of the understanding model to find semantic representation matches to the semantic representation of the received user utterance. The semantic extraction subsystem may subsequently extract intents and entities from matching semantic expressions to facilitate appropriate agent responses and/or actions.
현재의 의미 검색 기반 NLU 기술들과 같은, 수신된 사용자 발화들로부터 이해들을 추출하기 위해 검색에 크게 의존하는 NLU 프레임워크들의 경우, 큰 이해 모델들 또는 심지어 이해 모델들의 조합들에 적용되는 검색 프로세스는 특정 경우들에서 상당한 수들의 의미 표현들을 평가할 수 있다. 이와 같이, 검색 공간의 표면 상에서 사용자 발화의 의미 표현과 호환되지 않는 의미 표현들을 제거하기 위해 검색 공간을 전지(prune)하는 것은 NLU 프레임워크가 더 큰 검색 공간들을 통합하거나 검색 공간들의 본 실시예들을 더 능숙하게 수용하게 할 수 있다는 것이 현재 인식되고 있다. 복수의 이해 모델들로부터 생성되는 검색 공간을 이용하는 실시예들에 있어서, 본 명세서에 개시되는 기술들은 대응하는 이해 모델과 각각 연관되는 복수의 상이한 비즈니스 양태들(예를 들어, 판매들, 건물 정보, 서비스 티켓들)을 고려하는 의미 검색들에 기반하여 개선된 사용자 만족을 전달할 수 있다. 아래에 논의되는 바와 같이, 본 실시예들은 일반적으로 이해 모델 내의 매칭 의미 표현들의 식별을 개선하도록 큰 검색 공간들을 전지하기 위해 유사도 스코어링 능력들을 활용함으로써 의미 검색 서브시스템의 동작을 개선한다. 특히, 본 실시예들은 검색 공간을 연속적으로 축소하기 위해 의미 매치 프로세스의 더 이른 부분들 동안 저비용 또는 덜 자원 집약적인 전지 기준들을 이용하고, 그 후 크기가 감소된 검색 공간에 더 자원 집약적인 전지 기준들을 적용한다. 이해되는 바와 같이, 본 기술들은 이렇게 함으로써 NLU에 의해 제기되는 어려운 문제를, 검색 키와 피상적으로 관련되지 않은 검색 공간 내의 의미 표현들을 평가할 시에 자원들을 낭비하지 않는 관리가능하고 덜 자원 집약적인 검색 문제로 변환함으로써 이를 해결한다.For NLU frameworks that rely heavily on search to extract understandings from received user utterances, such as current semantic search-based NLU techniques, the search process applied to large understanding models or even combinations of understanding models is In certain cases it is possible to evaluate a significant number of semantic expressions. As such, pruning the search space to remove semantic expressions that are incompatible with the semantic expression of a user utterance on the surface of the search space allows the NLU framework to incorporate larger search spaces or allow present embodiments of search spaces. It is now recognized that it can lead to more skillful acceptance. In embodiments utilizing a search space generated from a plurality of models of understanding, the techniques disclosed herein may be used for a plurality of different business aspects (eg, sales, building information, service tickets) can deliver improved user satisfaction based on semantic searches. As discussed below, the present embodiments generally improve the operation of the semantic search subsystem by utilizing similarity scoring capabilities to prune large search spaces to improve identification of matching semantic expressions within an understanding model. In particular, the present embodiments use low-cost or less resource-intensive pruning criteria during earlier parts of the semantic match process to continuously shrink the search space, and then use the more resource-intensive pruning criteria in the reduced size search space. apply them As will be appreciated, the present techniques solve the difficult problem posed by the NLU by doing so, a manageable, less resource-intensive search problem that does not waste resources in evaluating semantic expressions in a search space that are not superficially related to a search key. This is solved by converting to .
더 구체적으로, 본 실시예들은 수신된 사용자 발화로부터 도출된 의미 표현들을 의도-엔티티 모델의 샘플 발화들로부터 도출된 의미 표현들과 효율적으로 비교하기 위한 의미 검색 서브시스템의 유사도 스코어링 서브시스템에 관한 것이다. 이해되는 바와 같이, 수학적 비교 함수들(mathematical comparison functions)의 점진적 세트에 기반하여, 유사도 스코어링 서브시스템은 비교된 의미 표현들의 각각의 쌍에 대한 유사도 스코어를 반복적으로 결정한다. 예를 들어, 특정 의미 표현을 이해 모델 내의 의미 표현들의 집합과 비교하기 위해, 유사도 스코어링 서브시스템은 먼저 특정 의미 표현에 대한 인지 구축 문법(cognitive construction grammar)(CCG) 형태를 결정할 수 있다. CCG 기술들에 의해 제시된 바와 같이, 특정 의미 표현의 CCG 형태 클래스 멤버십은 특정 의미 표현의 발화 트리 구조의 형상뿐만 아니라, 의미 표현의 노드들의 품사 주석부기에 의해 설정된다. 특정 의미 표현의 CCG 형태에 기반하여, 유사도 스코어링 서브시스템은 그 후 특정 의미 표현과 이해 모델의 의미 표현들 사이의 비교들을 가능하게 하는 수학적 비교 함수 리스트들을 검색하기 위해 형태 클래스 데이터베이스에 질의할 수 있다. 또한, 유사도 스코어링 서브시스템은 특정 의미 표현의 것에 대한 호환가능한 CCG 형태를 갖지 않는 이해 모델의 의미 표현들을 무시하거나 전지할 수 있다.More specifically, the present embodiments relate to a similarity scoring subsystem of a semantic search subsystem for efficiently comparing semantic expressions derived from received user utterances with semantic expressions derived from sample utterances of an intent-entity model. . As will be appreciated, based on an incremental set of mathematical comparison functions, the similarity scoring subsystem iteratively determines a similarity score for each pair of compared semantic expressions. For example, to compare a particular semantic expression to a set of semantic expressions in an understanding model, the similarity scoring subsystem may first determine a cognitive construction grammar (CCG) form for the particular semantic expression. As suggested by CCG techniques, the CCG form class membership of a specific semantic expression is established by the shape of the utterance tree structure of the specific semantic expression, as well as the part-of-speech annotation of the nodes of the semantic expression. Based on the CCG form of the particular semantic expression, the similarity scoring subsystem may then query the form class database to retrieve a list of mathematical comparison functions that enable comparisons between the particular semantic expression and the semantic expressions of the understanding model. . In addition, the similarity scoring subsystem may ignore or omnipotent semantic representations of an understanding model that do not have a compatible CCG form for that of a particular semantic representation.
본 명세서에 설명되는 바와 같이, 각각의 수학적 비교 함수 리스트는 비교되는 의미 표현들의 각각의 수의 노드들을 반복적으로 고려하는 비교 함수들의 순서화된 집합을 포함한다. 특히, 비교 함수들은 유사도 스코어링 서브시스템이 먼저 계산적으로 가장 저렴한 및/또는 가장 효율적인 함수를 구현하고, 따라서, 특정 의미 표현과 이해 모델의 의미 표현들 사이의 초기 또는 예비 유사도 스코어를 결정하도록 순서화된다. 예를 들어, 유사도 스코어링 서브시스템은 특정 의미 표현의 루트 노드(root node)가 이해 모델의 각각의 비교가능한 의미 표현의 루트 노드와 적절히 유사한지를 고려하기 위해 초기 함수를 이용할 수 있다. 유사도 스코어링 서브시스템은 그 후, 각각의 의미 표현의 루트 노드 및 제1 의존 노드 둘 다를 고려하기 위해 후속 함수를 적용하거나 임의의 다른 더 자원 집약적인 비교 함수를 적용하기 전에, 적절히 유사한 의미 표현들에 대해 좁힐 수 있다. 따라서, 본 명세서에 설명된 선택적 노드 언커버링(uncovering)의 반복적 적용 및/또는 더 비싼 비교 함수들의 적용은 이해 모델의 잠재적으로 매칭하는 의미 표현 후보들을 연마(hone)하면서, 점점 더 복잡한 비교 함수들을 통해 비교된 의미 표현들의 더 많은 특징들을 반복적으로 고려한다. 이와 같이, 예측 유사도 스코어링을 위한 본 기술들은 의미 표현 매치들의 타겟화된 발견을 가능하게 하고, 이에 의해, 의미 표현 크기(예를 들어, 노드들의 수) 및 검색 공간 크기가 거대할 수 있는, NLU와 같은 생성 공간들에 계산 이익들을 제공한다.As described herein, each list of mathematical comparison functions includes an ordered set of comparison functions that iteratively takes into account each number of nodes of the semantic expressions being compared. In particular, the comparison functions are ordered such that the similarity scoring subsystem first implements the computationally cheapest and/or most efficient function, and thus determines an initial or preliminary similarity score between the particular semantic representation and the semantic representations of the understanding model. For example, the similarity scoring subsystem may use the initial function to consider whether the root node of a particular semantic representation is appropriately similar to the root node of each comparable semantic representation of the understanding model. The similarity scoring subsystem then applies a subsequent function to account for both the root node and the first dependent node of each semantic expression, or applies any other more resource-intensive comparison function to appropriately similar semantic expressions. can be narrowed down to Thus, the iterative application of the selective node uncovering described herein and/or the application of more expensive comparison functions can create increasingly complex comparison functions while hone potentially matching semantic representation candidates of the understanding model. Iteratively considers more features of the compared semantic expressions through As such, the present techniques for predictive similarity scoring enable targeted discovery of semantic representation matches, whereby the semantic representation size (eg, number of nodes) and search space size can be large, NLU provides computational benefits to generative spaces such as
본 개시내용의 다양한 양태들은 다음의 상세한 설명을 읽고 도면들을 참조함으로써 더 잘 이해될 수 있다.
도 1은 본 기술의 실시예들이 동작할 수 있는 클라우드 컴퓨팅 시스템의 실시예의 블록도이다.
도 2는 본 기술의 실시예들이 동작할 수 있는 멀티-인스턴스 클라우드 아키텍처의 실시예의 블록도이다.
도 3은 본 기술의 양태들에 따른, 도 1 또는 도 2에 존재할 수 있는 컴퓨팅 시스템에서 이용되는 컴퓨팅 디바이스의 블록도이다.
도 4a는 본 기술의 양태들에 따른, 클라우드 컴퓨팅 시스템에 의해 호스팅되는 클라이언트 인스턴스의 일부인 NLU 프레임워크를 포함하는 에이전트 자동화 프레임워크의 실시예를 예시하는 개략도이다.
도 4b는 본 기술의 양태들에 따른, NLU 프레임워크의 부분들이 클라우드 컴퓨팅 시스템에 의해 호스팅되는 기업 인스턴스의 일부인 에이전트 자동화 프레임워크의 대안적인 실시예를 예시하는 개략도이다.
도 5는 본 기술의 양태들에 따른, NLU 프레임워크 및 거동 엔진 프레임워크를 포함하는 에이전트 자동화 프레임워크가 사용자 발화로부터 의도들 및/또는 엔티티들을 추출하고 사용자 발화에 응답하는 프로세스의 실시예를 예시하는 흐름도이다.
도 6은 본 기술의 양태들에 따른, 의미 추출 서브시스템 및 의미 검색 서브시스템을 포함하는 NLU 프레임워크의 실시예를 예시하는 블록도이며, 의미 추출 서브시스템은 수신된 사용자 발화로부터 의미 표현들을 생성하여 발화 의미 모델을 산출하고, 이해 모델의 샘플 발화들로부터 의미 표현들을 생성하여 이해 모델을 산출하고, 의미 검색 서브시스템은 발화 의미 모델의 의미 표현들을 이해 모델의 의미 표현들과 비교하여 수신된 사용자 발화로부터 아티팩트들(예를 들어, 의도들 및 엔티티들)을 추출한다.
도 7은 본 접근법의 실시예에 따라, 발화에 대해 생성된 발화 트리의 예를 나타내는 도면이다.
도 8은 본 기술의 양태들에 따른, NLU 프레임워크가 수신된 사용자 발화로부터 아티팩트들을 추출할 수 있게 하는, 매칭 의미 표현들을 결정 또는 식별하기 위해 이해 모델에 의해 정의된 검색 공간을 분석하는 의미 검색 서브시스템의 실시예를 나타내는 정보 흐름도이다.
도 9는 본 기술의 양태들에 따른, 임의의 적절한 수의 의미 표현들 사이의 효율적인 비교들을 가능하게 하는, 수학적 비교 함수 리스트들을 검색하기 위해 NLU 프레임워크의 의미 검색 서브시스템 내에 구현될 수 있는 유사도 스코어링 서브시스템의 실시예를 나타내는 정보 흐름도이다.
도 10은 본 기술의 양태들에 따른, 유사도 스코어링 서브시스템이 도 8의 발화 기반 의미 표현과 검색 공간 사이의 비교를 가능하게 하는 수학적 비교 함수 리스트들을 검색하는 프로세스의 실시예를 나타내는 흐름도이다.
도 11은 본 기술의 양태들에 따른, 제1 의미 표현을 제2 의미 표현과 비교하기 위해 하나의 수학적 비교 함수 리스트를 이용하는 의미 검색 서브시스템의 유사도 스코어링 서브시스템의 실시예의 도면이다.
도 12는 본 기술의 양태들에 따른, 발화 기반 의미 표현과 매칭하는 의미 표현들을 식별하기 위해 검색 공간을 선택적으로 좁히기 위해 수학적 비교 함수 리스트를 적용하는 유사도 스코어링 서브시스템의 실시예를 나타내는 개략도이다.
도 13은 본 기술의 양태들에 따른, 유사도 스코어링 서브시스템이 검색 공간으로부터 매칭 의미 표현들을 식별하기 위해 수학적 비교 함수 리스트를 구현하는 프로세스의 실시예의 흐름도이다.Various aspects of the present disclosure may be better understood by reading the following detailed description and referring to the drawings.
1 is a block diagram of an embodiment of a cloud computing system in which embodiments of the present technology may operate.
2 is a block diagram of an embodiment of a multi-instance cloud architecture in which embodiments of the present technology may operate.
3 is a block diagram of a computing device utilized in the computing system that may be in FIG. 1 or 2 , in accordance with aspects of the present technology.
4A is a schematic diagram illustrating an embodiment of an agent automation framework including an NLU framework that is part of a client instance hosted by a cloud computing system, in accordance with aspects of the present technology.
4B is a schematic diagram illustrating an alternative embodiment of an agent automation framework in which portions of the NLU framework are part of an enterprise instance hosted by a cloud computing system, in accordance with aspects of the present technology.
5 illustrates an embodiment of a process by which an agent automation framework including an NLU framework and a behavior engine framework extracts intents and/or entities from a user utterance and responds to a user utterance, in accordance with aspects of the present technology; is a flow chart that
6 is a block diagram illustrating an embodiment of an NLU framework including a semantic extraction subsystem and a semantic retrieval subsystem, wherein the semantic extraction subsystem generates semantic expressions from received user utterances, in accordance with aspects of the present technology. to calculate the utterance semantic model, generate semantic expressions from the sample utterances of the comprehension model to produce an comprehension model, and the semantic search subsystem compares the semantic expressions of the utterance semantic model with the semantic expressions of the comprehension model to compare the received user Extract artifacts (eg intents and entities) from the utterance.
7 is a diagram illustrating an example of an utterance tree generated for an utterance, according to an embodiment of the present approach.
8 is a semantic search analyzing a search space defined by an understanding model to determine or identify matching semantic expressions that enable an NLU framework to extract artifacts from a received user utterance, in accordance with aspects of the present technology; An information flow diagram illustrating an embodiment of a subsystem.
9 is a diagram of similarity that may be implemented within the semantic retrieval subsystem of the NLU framework to retrieve lists of mathematical comparison functions that enable efficient comparisons between any suitable number of semantic expressions, in accordance with aspects of the present technology; An information flow diagram illustrating an embodiment of a scoring subsystem.
10 is a flow diagram illustrating an embodiment of a process by which the similarity scoring subsystem retrieves lists of mathematical comparison functions that enable comparison between the utterance-based semantic representation of FIG. 8 and the search space, in accordance with aspects of the present technology.
11 is a diagram of an embodiment of a similarity scoring subsystem of a semantic search subsystem that uses a list of mathematical comparison functions to compare a first semantic representation to a second semantic representation, in accordance with aspects of the present technology.
12 is a schematic diagram illustrating an embodiment of a similarity scoring subsystem that applies a list of mathematical comparison functions to selectively narrow a search space to identify semantic expressions that match an utterance-based semantic expression, in accordance with aspects of the present technology.
13 is a flow diagram of an embodiment of a process by which a similarity scoring subsystem implements a list of mathematical comparison functions to identify matching semantic expressions from a search space, in accordance with aspects of the present technology.
하나 이상의 특정 실시예가 아래에서 설명될 것이다. 이러한 실시예들의 간결한 설명을 제공하기 위한 노력으로, 실제 구현의 모든 특징들이 명세서에서 설명되지는 않는다. 임의의 엔지니어링 또는 설계 프로젝트에서와 같이 임의의 이러한 실제 구현을 개발할 때, 구현마다 달라질 수 있는 시스템-관련 및 비지니스-관련 제약들의 준수와 같은 개발자들의 특정 목표들을 달성하기 위해 수많은 구현-특정 결정들이 이루어져야 한다는 것이 이해되어야 한다. 또한, 이러한 개발 노력은 복잡하고 시간 소모적일 수 있지만, 그럼에도 불구하고 본 개시내용의 이점을 갖는 통상의 기술자를 위한 설계, 제작 및 제조의 일상적인 작업이 될 것이라는 점이 이해되어야 한다.One or more specific embodiments will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. When developing any such actual implementation, such as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developer's specific goals, such as compliance with system-related and business-related constraints, which may vary from implementation to implementation. It should be understood that It should also be understood that such a development effort can be complex and time consuming, but will nevertheless become the routine tasks of design, fabrication, and manufacture for those skilled in the art having the benefit of this disclosure.
본 명세서에서 사용되는 바와 같이, 용어 "컴퓨팅 시스템" 또는 "컴퓨팅 디바이스"는 단일 컴퓨터, 가상 기계, 가상 컨테이너, 호스트, 서버, 랩톱, 및/또는 모바일 디바이스와 같은, 그러나 이에 제한되지 않는 전자 컴퓨팅 디바이스, 또는 컴퓨팅 시스템 상에서 또는 컴퓨팅 시스템에 의해 수행되는 것으로서 설명되는 기능을 수행하기 위해 함께 작동하는 복수의 전자 컴퓨팅 디바이스들을 지칭한다. 본 명세서에서 사용되는 바와 같이, 용어 "기계 판독가능한 매체"는 하나 이상의 명령어 또는 데이터 구조를 저장하는 단일 매체 또는 복수의 매체들(예를 들어, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들)을 포함할 수 있다. 용어 "비일시적 기계 판독가능한 매체"는 또한 컴퓨팅 시스템에 의해 실행하기 위한 명령어들을 저장, 인코딩, 또는 운반할 수 있고 컴퓨팅 시스템으로 하여금 본 주제의 방법론들 중 임의의 하나 이상을 수행하게 하거나, 이러한 명령어들에 의해 이용되거나 이러한 명령어들과 연관되는 데이터 구조들을 저장, 인코딩, 또는 운반할 수 있는 임의의 유형적 매체를 포함하는 것으로 고려되어야 한다. 용어 "비일시적 기계 판독가능한 매체"는 이에 따라 솔리드 스테이트 메모리들, 및 광학 및 자기 매체를 포함하지만 이에 제한되지 않는 것으로 고려되어야 한다. 비일시적 기계 판독가능한 매체의 특정 예들은, 예로서, 반도체 메모리 디바이스들(예를 들어, 소거가능한 프로그래머블 판독 전용 메모리(EPROM), 전기적 소거가능한 프로그래머블 판독 전용 메모리(EEPROM), 및 플래시 메모리 디바이스들), 내부 하드 디스크들 및 이동식 디스크들과 같은 자기 디스크들, 자기-광학 디스크들, 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 비휘발성 메모리를 포함하지만 이에 제한되지 않는다.As used herein, the term “computing system” or “computing device” refers to an electronic computing device such as, but not limited to, a single computer, virtual machine, virtual container, host, server, laptop, and/or mobile device. , or a plurality of electronic computing devices that work together to perform a function described as being performed on or by the computing system. As used herein, the term “machine-readable medium” refers to a single medium or a plurality of media (eg, a centralized or distributed database, and/or an associated cache) storing one or more instructions or data structures. and servers). The term “non-transitory machine-readable medium” may also store, encode, or carry instructions for execution by a computing system and cause the computing system to perform any one or more of the methodologies of the present subject matter, or such instructions It should be considered to include any tangible medium capable of storing, encoding, or carrying data structures used by or associated with such instructions. The term “non-transitory machine-readable medium” should accordingly be considered to include, but is not limited to, solid state memories, and optical and magnetic media. Specific examples of non-transitory machine-readable media include, for example, semiconductor memory devices (eg, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), and flash memory devices). , magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and non-volatile memory including CD-ROM and DVD-ROM disks.
본 명세서에서 사용되는 바와 같이, 용어들 "애플리케이션", "엔진" 및 "플러그-인"은 특정 기능을 제공하기 위해 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 실행가능한 컴퓨터 소프트웨어 명령어들(예로서, 컴퓨터 프로그램들 및/또는 스크립트들)의 하나 이상의 세트를 지칭한다. 컴퓨터 소프트웨어 명령어들은 C, C++, C#, 파스칼, 포트란, 펄(Perl), MATLAB, SAS, SPSS, 자바스크립트, AJAX 및 JAVA와 같은 임의의 적절한 프로그래밍 언어들로 기입될 수 있다. 이러한 컴퓨터 소프트웨어 명령어들은 데이터 입력 및 데이터 디스플레이 모듈들을 갖는 독립 애플리케이션을 포함할 수 있다. 대안적으로, 개시되는 컴퓨터 소프트웨어 명령어들은 분산 객체들로서 인스턴스화되는 클래스들일 수 있다. 개시되는 컴퓨터 소프트웨어 명령어들은 또한 구성요소 소프트웨어, 예를 들어 JAVABEANS 또는 ENTERPRISE JAVABEANS일 수 있다. 추가로, 개시되는 애플리케이션들 또는 엔진들은 컴퓨터 소프트웨어, 컴퓨터 하드웨어 또는 이들의 조합으로 구현될 수 있다.As used herein, the terms “application,” “engine,” and “plug-in” refer to computer software instructions (eg, a computer program) executable by one or more processors of a computing system to provide a particular function. and/or scripts). Computer software instructions may be written in any suitable programming languages, such as C, C++, C#, Pascal, Fortran, Perl, MATLAB, SAS, SPSS, JavaScript, AJAX, and JAVA. These computer software instructions may include standalone application with data input and data display modules. Alternatively, the computer software instructions disclosed may be classes instantiated as distributed objects. The computer software instructions disclosed may also be component software, eg, JAVABEANS or ENTERPRISE JAVABEANS. Additionally, the disclosed applications or engines may be implemented in computer software, computer hardware, or a combination thereof.
본 명세서에서 사용되는 바와 같이, "프레임워크"라는 용어는 하나 이상의 전체 기능을 수행하기 위해 협력하는 애플리케이션들 및/또는 엔진들의 시스템뿐만 아니라, 임의의 다른 지원 데이터 구조들, 라이브러리들, 모듈들, 및 임의의 다른 지원 기능을 지칭한다. 특히, "자연어 이해 프레임워크" 또는 "NLU 프레임워크"는 이해 모델에 기반하여 자연어 발화들로부터 의미(예를 들어, 의도들, 엔티티들, 아티팩트들)를 처리하고 도출하도록 설계된 컴퓨터 프로그램들의 집합을 포함한다. 본 명세서에서 사용되는 바와 같이, 추론 에이전트 또는 RA/BE로도 알려진 "거동 엔진" 또는 "BE"는 대화 모델에 기반하여 사용자들과 상호작용하도록 설계된 가상 에이전트와 같은 규칙 기반 에이전트를 지칭한다. 예를 들어, "가상 에이전트"는 특정 대화 또는 통신 채널에서 자연어 요청들을 통해 사용자들과 상호작용하도록 설계된 BE의 특정 예를 지칭할 수 있다. 이를 염두에 두고, "가상 에이전트" 및 "BE"라는 용어들은 본 명세서에서 상호교환가능하게 사용된다. 특정 예로서, 가상 에이전트는 채팅방 환경에서 자연어 요청들 및 응답들을 통해 사용자들과 상호작용하는 채팅 에이전트일 수 있거나 이를 포함할 수 있다. 가상 에이전트들의 다른 예들은 이메일, 포럼 게시물들, 서비스 티켓들, 전화 호출들 등에 대한 자동 응답들과 관련하여 사용자들과 상호작용하는 이메일 에이전트, 포럼 에이전트, 티켓팅 에이전트, 전화 호출 에이전트 등을 포함할 수 있다.As used herein, the term “framework” refers to a system of applications and/or engines that cooperate to perform one or more overall functions, as well as any other supporting data structures, libraries, modules, and any other supporting function. In particular, a "Natural Language Understanding Framework" or "NLU Framework" refers to a set of computer programs designed to process and derive meaning (e.g., intents, entities, artifacts) from natural language utterances based on an understanding model. include As used herein, “behavioral engine” or “BE”, also known as an inference agent or RA/BE, refers to a rule-based agent, such as a virtual agent, designed to interact with users based on a conversational model. For example, a “virtual agent” may refer to a particular example of a BE designed to interact with users via natural language requests in a particular conversation or communication channel. With this in mind, the terms "virtual agent" and "BE" are used interchangeably herein. As a specific example, the virtual agent may be or include a chat agent that interacts with users via natural language requests and responses in a chat room environment. Other examples of virtual agents may include an email agent, forum agent, ticketing agent, phone call agent, etc. that interacts with users in connection with automated responses to email, forum posts, service tickets, phone calls, etc. there is.
본 명세서에서 사용되는 바와 같이, "의도"는 발화와 같은 통신의 기본 목적과 관련될 수 있는 사용자의 욕구 또는 목표를 지칭한다. 본 명세서에서 사용되는 바와 같이, "엔티티"는 목적어(object), 주어(subject) 또는 의도의 일부 다른 파라미터화를 지칭한다. 본 실시예들에서, 특정 엔티티들은 대응하는 의도의 파라미터들로서 취급된다는 점에 유의한다. 더 구체적으로, 특정 엔티티들(예로서, 시간 및 위치)은 모든 의도들에 대해 전역적으로 인식되고 추출될 수 있는 반면, 다른 엔티티들은 의도-특정적(예로서, 구매 의도들과 연관된 상품 엔티티들)이고 일반적으로 이들을 정의하는 의도들 내에서 발견될 때에만 추출된다. 본 명세서에서 사용되는 바와 같이, "아티팩트"는 발화의 의도들 및 엔티티들 둘 다를 집합적으로 지칭한다. 본 명세서에서 사용되는 바와 같이, "이해 모델"은 자연어 발화들의 의미를 추론하기 위해 NLU 프레임워크에 의해 이용되는 모델들의 집합이다. 이해 모델은 특정 토큰들(예로서, 단어들 또는 구들)을 특정 단어 벡터들, 의도-엔티티 모델, 엔티티 모델 또는 이들의 조합과 연관시키는 어휘 모델을 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, "의도-엔티티 모델"은 특정 의도들을 특정 샘플 발화들과 연관시키는 모델을 지칭하며, 의도와 연관된 엔티티들은 모델의 샘플 발화들 내에서 의도의 파라미터로서 인코딩될 수 있다. 본 명세서에서 사용되는 바와 같이, "에이전트들"이라는 용어는 대화 채널 내에서 서로 상호작용하는 컴퓨터 생성 페르소나들(예로서, 채팅 에이전트들 또는 다른 가상 에이전트들)을 지칭할 수 있다. 본 명세서에서 사용되는 바와 같이, "코퍼스"는 다양한 사용자들과 가상 에이전트들 사이의 상호작용들을 포함하는 소스 데이터의 캡처된 보디를 지칭하며, 그 상호작용들은 하나 이상의 적절한 유형의 미디어(예로서, 전화 상담 서비스(help line), 채팅방 또는 메시지 스트링, 이메일 스트링) 내의 통신들 또는 대화들을 포함한다. 본 명세서에서 사용되는 바와 같이, "발화 트리"는 발화의 의미 표현을 저장하는 데이터 구조를 지칭한다. 논의되는 바와 같이, 발화 트리는 발화의 구문론적 구조를 나타내는 트리 구조(예로서, 의존성 파스 트리 구조)를 가지며, 트리 구조의 노드들은 발화의 의미론적 의미를 인코딩하는 벡터들(예로서, 단어 벡터들, 서브트리 벡터들)을 저장한다.As used herein, “intent” refers to a desire or goal of a user that may relate to a primary purpose of a communication, such as an utterance. As used herein, "entity" refers to some other parameterization of an object, subject, or intent. Note that in the present embodiments, specific entities are treated as parameters of the corresponding intent. More specifically, certain entities (eg, time and location) may be globally recognized and extracted for all intents, while other entities are intent-specific (eg, a product entity associated with purchase intents). ) and are generally extracted only when found within the intents that define them. As used herein, “artifact” refers collectively to both intents and entities of an utterance. As used herein, an “understanding model” is a set of models used by the NLU framework to infer the meaning of natural language utterances. The understanding model may include a lexical model that associates specific tokens (eg, words or phrases) with specific word vectors, an intent-entity model, an entity model, or a combination thereof. As used herein, "intent-entity model" refers to a model that associates particular intents with particular sample utterances, and the entities associated with the intent may be encoded as a parameter of the intent within the sample utterances of the model. . As used herein, the term “agents” may refer to computer-generated personas (eg, chat agents or other virtual agents) interacting with each other within a conversation channel. As used herein, “corpus” refers to a captured body of source data that includes interactions between various users and virtual agents, the interactions comprising one or more suitable tangible media (eg, communications or conversations within a help line, chat room or message string, e-mail string). As used herein, “utterance tree” refers to a data structure that stores a semantic representation of an utterance. As discussed, the utterance tree has a tree structure (eg, a dependency parse tree structure) representing the syntactic structure of the utterance, wherein the nodes of the tree structure contain vectors encoding the semantic meaning of the utterance (eg, word vectors). , subtree vectors).
본 명세서에서 사용되는 바와 같이, "소스 데이터" 또는 "대화 로그들"은 채팅 로그들, 이메일 스트링들, 문서들, 도움말 문서화, 자주 문의되는 질문들(FAQ들), 포럼 엔트리들, 티켓팅을 지원하는 아이템들, 전화 상담 서비스 호출들의 기록들 등을 포함하지만 이에 제한되지 않는 다양한 에이전트들 간의 임의의 적절한 캡처된 상호작용들을 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, "발화"는 하나 이상의 의도를 포함할 수 있는 사용자 또는 에이전트에 의해 이루어진 단일 자연어 진술을 지칭한다. 이와 같이, 발화는 소스 데이터의 이전에 캡처된 코퍼스의 일부일 수 있고, 발화는 또한 가상 에이전트와의 상호작용의 일부로서 사용자로부터 수신된 새로운 진술일 수 있다. 본 명세서에서 사용되는 바와 같이, "기계 학습" 또는 "ML"은 감독, 무감독, 및 반감독 학습 기술들을 포함하는 기계 학습 기술들을 이용하여 훈련될 수 있는 인공 지능의 임의의 적절한 통계 형태를 지칭하는데 사용될 수 있다. 예를 들어, 특정 실시예들에서, ML 기술들은 신경망(NN)(예로서, 심층 신경망(DNN), 순환 신경망(RNN), 재귀적 신경망)을 이용하여 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "벡터"(예를 들어, 단어 벡터, 의도 벡터, 주어 벡터, 서브트리 벡터)는 발화의 일부(예를 들어, 단어 또는 구, 의도, 엔티티, 토큰)의 의미론적 의미의 수학적 표현을 제공하는 부동 소수점 값들(예를 들어, 1xN 또는 Nx1 행렬)의 순서화된 n차원 리스트(예를 들어, 300차원 리스트)인 선형 대수 벡터를 지칭한다. 본 명세서에서 사용되는 바와 같이, "도메인 특정성"은 시스템이 주어진 도메인 및/또는 대화 채널에서 실제 대화들로 표현되는 의도들 및 엔티티들을 정확하게 추출하는 것에 대해 어떻게 조율되는지를 지칭한다. 본 명세서에서 사용되는 바와 같이, 발화의 "이해"는 NLU 프레임워크에 의한 발화의 해석 또는 구성을 지칭한다. 이와 같이, 발화의 상이한 이해들은 상이한 구조들(예를 들어, 상이한 노드들, 노드들 사이의 상이한 관계들), 상이한 품사 태깅들 등을 갖는 상이한 의미 표현들과 연관될 수 있다는 것을 알 수 있다.As used herein, “source data” or “conversation logs” support chat logs, email strings, documents, help documentation, frequently asked questions (FAQs), forum entries, ticketing any suitable captured interactions between the various agents including, but not limited to, items made, records of telephone counseling service calls, and the like. As used herein, “utterance” refers to a single natural language statement made by a user or agent that may contain one or more intents. As such, the utterance may be part of a previously captured corpus of source data, and the utterance may also be a new statement received from the user as part of an interaction with the virtual agent. As used herein, “machine learning” or “ML” refers to any suitable statistical form of artificial intelligence that can be trained using machine learning techniques, including supervised, unsupervised, and unsupervised learning techniques. can be used to For example, in certain embodiments, ML techniques may be implemented using a neural network (NN) (eg, a deep neural network (DNN), a recurrent neural network (RNN), a recursive neural network). As used herein, “vector” (eg, word vector, intent vector, subject vector, subtree vector) means the meaning of part of an utterance (eg, word or phrase, intent, entity, token). Refers to a linear algebra vector that is an ordered n -dimensional list (eg, a 300-dimensional list) of floating-point values (eg, a 1×N or N×1 matrix) that provides a mathematical representation of the logical meaning. As used herein, “domain specificity” refers to how the system is tuned for accurately extracting intents and entities expressed in real conversations in a given domain and/or conversation channel. As used herein, “understanding” of an utterance refers to the interpretation or construction of an utterance by the NLU framework. As such, it can be seen that different understandings of an utterance may be associated with different semantic expressions with different structures (eg, different nodes, different relationships between nodes), different part-of-speech tagging, and the like.
언급된 바와 같이, 컴퓨팅 플랫폼은 NLU 기술들을 통해 플랫폼 상에서 기능들을 수행하거나 문제들을 해결하라는 사용자 요청들에 자동으로 응답하도록 설계되는 채팅 에이전트, 또는 다른 유사한 가상 에이전트를 포함할 수 있다. 개시된 NLU 프레임워크는, 자연어 발화의 의미 또는 이해의 양태가 발화의 형태(예를 들어, 구문론적 구조, 형상) 및 의미론적 의미에 기반하여 결정될 수 있는, 인지 구축 문법(CCG)의 원리들에 기반한다. 개시된 NLU 프레임워크는 발화에 대한 복수의 의미 표현들을 생성할 수 있고, 각각의 의미 표현은 발화의 특정 이해를 나타내는 발화 트리일 수 있다. 이와 같이, 개시된 NLU 프레임워크는 특정 샘플 발화들에 대한 복수의 의미 표현들을 갖는 이해 모델을 생성할 수 있고, 이는 의미 검색의 검색 공간을 확장하고, 이에 의해 NLU 프레임워크의 동작을 개선한다. 그러나, 자연어 발화들로부터 사용자 의도를 도출하려고 시도할 때, 특정 NLU 프레임워크들은 사용자 기반 발화의 의미 표현과 비교불가능하고/하거나 비유사한 의미 표현들의 그 포함으로 인해 과도하게 큰 크기의 검색 공간에 대해 검색들을 수행할 수 있다는 것이 현재 인식되고 있다. 이와 같이, 전체 검색 공간에 대해, 특정 NLU 프레임워크들은 이용가능한 처리 및 메모리 자원들에 기반하여 특정 스케일 임계치 초과인 검색 공간들로 의미 검색의 성능을 제한하는 비맞춤형 또는 단일 비용 비교 함수를 이용할 수 있다.As noted, the computing platform may include a chat agent, or other similar virtual agent, designed to automatically respond to user requests to perform functions or solve problems on the platform via NLU technologies. The disclosed NLU framework is based on the principles of cognitive building grammar (CCG), in which aspects of the meaning or understanding of a natural language utterance can be determined based on the form (eg, syntactic structure, shape) and semantic meaning of the utterance. based on The disclosed NLU framework may generate a plurality of semantic representations for an utterance, each semantic representation being an utterance tree representing a particular understanding of the utterance. As such, the disclosed NLU framework is capable of generating an understanding model having multiple semantic representations for particular sample utterances, which expands the search space of semantic search, thereby improving the operation of the NLU framework. However, when attempting to derive user intent from natural language utterances, certain NLU frameworks may have a search space of excessively large size due to their inclusion of semantic expressions that are incomparable and/or dissimilar to that of user-based utterances. It is now recognized that searches can be performed. As such, for the entire search space, certain NLU frameworks may employ non-customized or single-cost comparison functions that limit the performance of semantic search to search spaces that are above a certain scale threshold based on available processing and memory resources. there is.
따라서, 본 실시예들은 일반적으로 의미 검색을 강화하기 위해 CCG 기술들을 활용하도록 설계된 의미 검색 서브시스템을 갖는 에이전트 자동화 프레임워크에 관한 것이다. 본 명세서에서 논의되는 바와 같이, 의미 검색 서브시스템은 매칭 의미 표현들에 대해 탐색되는 검색 공간을 반복적으로 그리고 점진적으로 좁힐 수 있다. 실제로, 이러한 매칭 의미 표현들은 수신된 사용자 발화들에 대한 의도 또는 엔티티 매치들의 식별을 가능하게 하는 검색 공간의 서브세트를 정의한다. 더 구체적으로, 본 실시예들은 수신된 사용자 발화에 기반하여 결정된 의미 표현들을 검색 공간을 정의하는 샘플 발화들의 의미 표현들과 효율적으로 비교하는 의미 검색 서브시스템의 유사도 스코어링 서브시스템에 관한 것이다. 이해되는 바와 같이, 수학적 비교 함수들의 점진적 세트에 기반하여, 유사도 스코어링 서브시스템은 한 쌍의 비교된 의미 표현들 사이의 점진적으로 정확한 유사도 스코어들을 반복적으로 결정하고 유사도 스코어의 다양한 반복들에 기반하여 검색 공간을 전지한다.Accordingly, the present embodiments generally relate to an agent automation framework having a semantic retrieval subsystem designed to utilize CCG techniques to enhance semantic retrieval. As discussed herein, the semantic search subsystem can iteratively and incrementally narrow the search space searched for matching semantic expressions. Indeed, these matching semantic expressions define a subset of the search space that enables identification of intent or entity matches for received user utterances. More specifically, the present embodiments relate to a similarity scoring subsystem of a semantic search subsystem that efficiently compares semantic expressions determined based on a received user utterance with semantic expressions of sample utterances defining a search space. As will be appreciated, based on a progressive set of mathematical comparison functions, the similarity scoring subsystem iteratively determines progressively accurate similarity scores between a pair of compared semantic expressions and searches based on the various iterations of the similarity score. Occupy the space
예를 들어, 특정 의미 표현을 검색 공간을 정의하는 의미 표현들의 집합과 비교하기 위해, 유사도 스코어링 서브시스템은 먼저 특정 의미 표현에 대한 CCG 형태를 결정할 수 있다. 이전에 언급된 바와 같이, 각각의 특정 의미 표현의 CCG 형태 클래스 멤버십은 특정 의미 표현의 트리 구조(예를 들어, 발화 트리)를 형성하는 노드들의 형상 및 의미론적 의미들에 의해 설정된다. 특정 의미 표현의 CCG 형태에 기반하여, 유사도 스코어링 서브시스템은 의미 표현들의 각각의 쌍들 사이의 정량적 비교들을 가능하게 하는, 수학적 비교 함수 리스트를 검색하기 위해 형태 클래스 데이터베이스에 질의하도록 설계된다. 실제로, 수학적 비교 함수 리스트는 특정 의미 표현의 각각의 부분들과 검색 공간의 의미 표현들 사이의 유사도의 얼마나 점점 더 정확한 및/또는 정밀한 결정들이 수행될 수 있는지를 개별적으로 지정하는 내포된 함수들을 포함한다. 수학적 비교 함수 리스트를 갖지 않는 의미 표현들의 비교된 쌍에 대해, 유사도 스코어링 서브시스템은 검색 공간으로부터 연관된 의미 표현들을 전지(예를 들어, 임의의 비교들을 수행하지 않고 가능한 최저 스코어를 즉시 결정)하여, 남아 있는 잠재적으로 매칭하는 의미 표현들에 대한 자원 이용을 보존할 수 있다.For example, to compare a particular semantic expression to a set of semantic expressions defining a search space, the similarity scoring subsystem may first determine a CCG form for the particular semantic expression. As previously mentioned, the CCG form class membership of each particular semantic expression is established by the shape and semantic meanings of the nodes that form a tree structure (eg, utterance tree) of the particular semantic expression. Based on the CCG form of a particular semantic expression, the similarity scoring subsystem is designed to query the form class database to retrieve a list of mathematical comparison functions, enabling quantitative comparisons between each pair of semantic expressions. Indeed, the list of mathematical comparison functions contains nested functions that individually specify how increasingly precise and/or precise determinations of the similarity between each part of a particular semantic expression and the semantic expressions of the search space can be performed. do. For a compared pair of semantic expressions that do not have a mathematical comparison function list, the similarity scoring subsystem prunes the associated semantic expressions from the search space (e.g., immediately determines the lowest possible score without performing any comparisons), It may conserve resource utilization for remaining potentially matching semantic expressions.
더 상세하게는, 각각의 수학적 비교 함수 리스트는 비교되고 있는 각각의 의미 표현들의 노드들의 적어도 일부를 고려하는 비교 함수들(예를 들어, 벡터 대수, 코사인 유사도들, 프로그레시브 함수들, 다른 데이터베이스들 또는 구조들에 대한 호출들)의 순서화된 집합을 포함한다. 본 명세서에서 인식되는 바와 같이, 비교 함수들은 유사도 스코어링 서브시스템이 계산적으로 가장 저렴한 및/또는 가장 효율적인 비교를 먼저 수행할 수 있게 하도록 순서화된다. 유사도 스코어링 서브시스템은 특정 의미 표현과 검색 공간 내에 남아 있는 비교가능한 의미 표현들 사이의 초기 유사도 스코어를 결정할 수 있다. 예를 들어, 유사도 스코어링 서브시스템은 특정 의미 표현이 검색 공간 내의 각각의 의미 표현과 적절히 유사한지를 고려하기 위해 계산적으로 가장 저렴한 함수를 이용할 수 있다. 이러한 결정은 검색 공간의 어느 영역들이 추가 조사의 가치가 있는지를 나타내는 가장 덜 정확하고 가장 효율적인 예측을 일반적으로 제공할 수 있다. 이어서, 유사도 스코어링 서브시스템은 비교된 의미 표현들의 각각의 남아 있는 비교가능한 쌍을 추가로 고려하기 위해 후속 함수를 적용하기 전에, 검색 공간으로부터 비유사 의미 표현들을 전지할 수 있다. 따라서, 비교 함수들의 점진적 데이터 활용은 유사도 스코어링 서브시스템이 검색 공간을 잠재적으로 매칭하는 후보들로 좁히면서, 점점 더 복잡한 비교 함수들을 통해 비교된 의미 표현들의 추가적인 특징들을 반복적으로 고려할 수 있게 한다. 이와 같이, 예측 유사도 스코어링을 위한 본 기술들은 의미 표현 매치들의 타겟화된 발견을 가능하게 하고, 이에 의해 이러한 기술들을 구현하는 에이전트 자동화 시스템에 대한 계산 오버헤드를 감소시키고 효율을 개선하기 위한 계산 이익들을 제공한다. 또한, 에이전트 자동화 시스템의 검색 용량이 증가되기 때문에, 검색 공간은 자연어 에이전트 응답들이 에이전트 자동화 시스템을 지원하는 비즈니스의 복수의 상이한 측면들을 다룰 수 있게 하는 복수의 이해 모델들로부터 구성될 수 있다.More specifically, each list of mathematical comparison functions can contain comparison functions (eg, vector algebra, cosine similarities, progressive functions, other databases or calls to structures). As will be appreciated herein, the comparison functions are ordered to allow the similarity scoring subsystem to perform the computationally cheapest and/or most efficient comparison first. The similarity scoring subsystem may determine an initial similarity score between the particular semantic representation and comparable semantic representations remaining within the search space. For example, the similarity scoring subsystem may use the computationally cheapest function to consider whether a particular semantic representation is appropriately similar to each semantic representation in the search space. Such a determination may generally provide the least accurate and most efficient prediction of which areas of the search space are worthy of further investigation. The similarity scoring subsystem may then prune dissimilar semantic expressions from the search space before applying a subsequent function to further consider each remaining comparable pair of compared semantic expressions. Thus, progressive data utilization of comparison functions allows the similarity scoring subsystem to iteratively consider additional features of compared semantic expressions through increasingly complex comparison functions, while narrowing the search space to potentially matching candidates. As such, the present techniques for predictive similarity scoring enable targeted discovery of semantic expression matches, thereby reducing computational overhead for agent automation systems implementing these techniques and reducing computational benefits to improve efficiency. to provide. Further, as the search capacity of an agent automation system is increased, the search space may be constructed from multiple understanding models that enable natural language agent responses to address multiple different aspects of the business supporting the agent automation system.
이상의 내용을 염두에 두고, 이하의 도면들은 멀티-인스턴스 프레임워크 내의 조직에 서비스들을 제공하는데 이용될 수 있고 본 접근법들이 이용될 수 있는 다양한 유형들의 일반화된 시스템 아키텍처들 또는 구성들에 관한 것이다. 이에 대응하여, 이러한 시스템 및 플랫폼 예들은 또한 본 명세서에서 논의되는 기술들이 구현되거나 다른 방식으로 이용될 수 있는 시스템들 및 플랫폼들에 관한 것일 수 있다. 이제 도 1을 참조하면, 본 개시내용의 실시예들이 동작할 수 있는 클라우드 컴퓨팅 시스템(10)의 실시예의 개략도가 예시되어 있다. 클라우드 컴퓨팅 시스템(10)은 클라이언트 네트워크(12), 네트워크(18)(예컨대, 인터넷), 및 클라우드 기반 플랫폼(20)을 포함할 수 있다. 일부 구현들에서, 클라우드 기반 플랫폼(20)은 구성 관리 데이터베이스(CMDB) 플랫폼일 수 있다. 일 실시예에서, 클라이언트 네트워크(12)는 스위치들, 서버들, 및 라우터들을 포함하지만 이들로 제한되지 않는 다양한 네트워크 디바이스들을 갖는 LAN(local area network)과 같은 로컬 사설 네트워크일 수 있다. 다른 실시예에서, 클라이언트 네트워크(12)는 하나 이상의 LAN, 가상 네트워크, 데이터 센터(22), 및/또는 다른 원격 네트워크를 포함할 수 있는 기업 네트워크를 나타낸다. 도 1에 도시된 바와 같이, 클라이언트 네트워크(12)는 클라이언트 디바이스들이 서로 그리고/또는 플랫폼(20)을 호스팅하는 네트워크와 통신할 수 있도록 하나 이상의 클라이언트 디바이스(14A, 14B, 및 14C)에 접속될 수 있다. 클라이언트 디바이스들(14)은, 예를 들어, 웹 브라우저 애플리케이션을 통해 또는 클라이언트 디바이스들(14)과 플랫폼(20) 사이의 게이트웨이로서 작용할 수 있는 에지 디바이스(16)를 통해 클라우드 컴퓨팅 서비스들에 액세스하는 사물 인터넷(IoT) 디바이스들이라고 일반적으로 지칭되는 컴퓨팅 시스템들 및/또는 다른 유형들의 컴퓨팅 디바이스들일 수 있다. 도 1은 또한 클라이언트 네트워크(12)가 플랫폼(20), 다른 외부 애플리케이션들, 데이터 소스들 및 서비스들을 호스팅하는 네트워크와 클라이언트 네트워크(12) 간의 데이터의 통신을 용이하게 하는 MID(management, instrumentation, and discovery) 서버(17)와 같은 관리 또는 운영(administration or managerial) 디바이스, 에이전트 또는 서버를 포함하는 것을 예시한다. 도 1에 구체적으로 예시되지 않았지만, 클라이언트 네트워크(12)는 또한 접속 네트워크 디바이스(예컨대, 게이트웨이 또는 라우터) 또는 고객 방화벽 또는 침입 방지 시스템을 구현하는 디바이스들의 조합을 포함할 수 있다.With the above in mind, the following figures relate to various types of generalized system architectures or configurations that may be used to provide services to an organization within a multi-instance framework and in which the present approaches may be employed. Correspondingly, such system and platform examples may also relate to systems and platforms in which the techniques discussed herein may be implemented or otherwise utilized. Referring now to FIG. 1 , illustrated is a schematic diagram of an embodiment of a
예시된 실시예에 있어서, 도 1은 클라이언트 네트워크(12)가 네트워크(18)에 결합되는 것을 예시한다. 네트워크(18)는 클라이언트 디바이스들(14A-C)과 플랫폼(20)을 호스팅하는 네트워크 사이에서 데이터를 전송하기 위해, 다른 LAN들, 광역 네트워크들(WAN), 인터넷, 및/또는 다른 원격 네트워크들과 같은 하나 이상의 컴퓨팅 네트워크를 포함할 수 있다. 네트워크(18) 내의 컴퓨팅 네트워크들 각각은 전기 및/또는 광학 도메인에서 동작하는 유선 및/또는 무선 프로그래머블 디바이스들을 포함할 수 있다. 예를 들어, 네트워크(18)는 셀룰러 네트워크들(예를 들어, GSM(Global System for Mobile Communications) 기반 셀룰러 네트워크), IEEE 802.11 네트워크들, 및/또는 다른 적절한 라디오 기반 네트워크들과 같은 무선 네트워크들을 포함할 수 있다. 네트워크(18)는 또한 TCP(Transmission Control Protocol) 및 IP(Internet Protocol)와 같은 임의의 수의 네트워크 통신 프로토콜들을 이용할 수 있다. 도 1에 명시적으로 도시되지는 않았지만, 네트워크(18)는 네트워크(18)를 통해 데이터를 전송하도록 구성된 서버들, 라우터들, 네트워크 스위치들, 및/또는 다른 네트워크 하드웨어 디바이스들과 같은 다양한 네트워크 디바이스들을 포함할 수 있다.In the illustrated embodiment, FIG. 1 illustrates that a
도 1에서, 플랫폼(20)을 호스팅하는 네트워크는 클라이언트 네트워크(12) 및 네트워크(18)를 통해 클라이언트 디바이스들(14)과 통신할 수 있는 원격 네트워크(예를 들어, 클라우드 네트워크)일 수 있다. 플랫폼(20)을 호스팅하는 네트워크는 클라이언트 디바이스들(14) 및/또는 클라이언트 네트워크(12)에 추가적인 컴퓨팅 자원들을 제공한다. 예를 들어, 플랫폼(20)을 호스팅하는 네트워크를 이용함으로써, 클라이언트 디바이스들(14)의 사용자들은 다양한 기업, IT, 및/또는 다른 조직 관련 기능들을 위한 애플리케이션들을 구축하고 실행할 수 있다. 일 실시예에서, 플랫폼(20)을 호스팅하는 네트워크는 하나 이상의 데이터 센터(22) 상에 구현되고, 여기서 각각의 데이터 센터는 상이한 지리적 위치에 대응할 수 있다. 데이터 센터들(22) 각각은 복수의 가상 서버들(24)(본 명세서에서 애플리케이션 노드들, 애플리케이션 서버들, 가상 서버 인스턴스들, 애플리케이션 인스턴스들, 또는 애플리케이션 서버 인스턴스들이라고도 지칭됨)을 포함하고, 여기서 각각의 가상 서버(24)는 단일 전자 컴퓨팅 디바이스(예를 들어, 단일 물리적 하드웨어 서버)와 같은 물리적 컴퓨팅 시스템 상에 또는 복수의 컴퓨팅 디바이스들(예를 들어, 복수의 물리적 하드웨어 서버들)에 걸쳐 구현될 수 있다. 가상 서버들(24)의 예들은 웹 서버(예를 들어, 단일 아파치(Apache) 설치), 애플리케이션 서버(예를 들어, 단일 JAVA 가상 기계), 및/또는 데이터베이스 서버(예를 들어, 단일 관계형 데이터베이스 관리 시스템(RDBMS) 카탈로그)를 포함하지만, 이에 제한되지 않는다.1 , the
플랫폼(20) 내의 컴퓨팅 자원들을 이용하기 위해, 네트워크 운영자들은 다양한 컴퓨팅 인프라스트럭처들을 이용하여 데이터 센터들(22)을 구성하도록 선택할 수 있다. 일 실시예에서, 데이터 센터들(22) 중 하나 이상은, 서버 인스턴스들(24) 중 하나가 복수의 고객으로부터의 요청들을 처리하고 복수의 고객을 서빙하도록 멀티-테넌트 클라우드 아키텍처를 이용하여 구성된다. 멀티-테넌트 클라우드 아키텍처를 갖는 데이터 센터들(22)은 복수의 고객으로부터의 데이터를 혼합 및 저장하고, 복수의 고객 인스턴스가 가상 서버들(24) 중 하나에 할당된다. 멀티-테넌트 클라우드 아키텍처에서, 특정한 가상 서버(24)는 다양한 고객들의 데이터 및 기타의 정보를 구분하고 분리한다. 예를 들어, 멀티-테넌트 클라우드 아키텍처는 각각의 고객으로부터의 데이터를 식별하고 분리하기 위해 각각의 고객에 대해 특정한 식별자를 할당할 수 있다. 일반적으로, 멀티-테넌트 클라우드 아키텍처를 구현하는 것은, 서버 인스턴스들(24) 중 특정한 하나의 고장이 특정한 서버 인스턴스에 할당된 모든 고객들에 대한 장애를 야기하는 등의, 다양한 단점들을 겪을 수 있다.To utilize the computing resources within the
다른 실시예에서, 데이터 센터들(22) 중 하나 이상은 모든 고객에게 그 자신의 고유 고객 인스턴스 또는 인스턴스들을 제공하기 위해 멀티-인스턴스 클라우드 아키텍처를 이용하여 구성된다. 예를 들어, 멀티-인스턴스 클라우드 아키텍처는 각각의 고객 인스턴스에 그 자신의 전용 애플리케이션 서버 및 전용 데이터베이스 서버를 제공할 수 있다. 다른 예들에서, 멀티-인스턴스 클라우드 아키텍처는 각각의 고객 인스턴스에 대해, 단일 물리적 또는 가상 서버(24) 및/또는 하나 이상의 전용 웹 서버, 하나 이상의 전용 애플리케이션 서버, 및 하나 이상의 데이터베이스 서버와 같은 물리적 및/또는 가상 서버들(24)의 다른 조합들을 배치할 수 있다. 멀티-인스턴스 클라우드 아키텍처에서, 복수의 고객 인스턴스들은 하나 이상의 각각의 하드웨어 서버 상에 설치될 수 있고, 여기서 각각의 고객 인스턴스는 컴퓨팅 메모리, 저장소, 및 처리 능력과 같은 물리적 서버 자원들의 특정 부분들을 할당받는다. 그렇게 함으로써, 각각의 고객 인스턴스는 데이터 분리, 고객들이 플랫폼(20)에 액세스하기 위한 비교적 더 적은 가동 정지 시간, 및 고객 중심의 업그레이드 스케줄들의 이점을 제공하는 그 자신의 고유 소프트웨어 스택을 갖게 된다. 멀티-인스턴스 클라우드 아키텍처 내에서 고객 인스턴스를 구현하는 예는 도 2를 참조하여 아래에서 더 상세하게 논의될 것이다.In another embodiment, one or more of the
도 2는 본 개시내용의 실시예들이 동작할 수 있는 멀티-인스턴스 클라우드 아키텍처(40)의 실시예의 개략도이다. 도 2는 멀티-인스턴스 클라우드 아키텍처(40)가 서로 지리적으로 분리될 수 있는 2개의(예를 들어, 페어링된) 데이터 센터(22A 및 22B)에 접속하는 클라이언트 네트워크(12) 및 네트워크(18)를 포함하는 것을 도시한다. 예로서 도 2를 이용하여, 네트워크 환경 및 서비스 제공자 클라우드 인프라스트럭처 클라이언트 인스턴스(42)(본 명세서에서 클라이언트 인스턴스(42)로도 지칭됨)는 전용 가상 서버들(예를 들어, 가상 서버들(24A, 24B, 24C, 및 24D)) 및 전용 데이터베이스 서버들(예를 들어, 가상 데이터베이스 서버들(44A 및 44B))과 연관된다(예를 들어, 이들에 의해 지원 및 인에이블된다). 달리 말하면, 가상 서버들(24A-24D) 및 가상 데이터베이스 서버들(44A 및 44B)은 다른 클라이언트 인스턴스들과 공유되지 않고 각각의 클라이언트 인스턴스(42)에 특정적이다. 도시된 예에서, 클라이언트 인스턴스(42)의 가용성을 용이하게 하기 위해, 가상 서버들(24A-24D) 및 가상 데이터베이스 서버들(44A 및 44B)은 2개의 상이한 데이터 센터(22A 및 22B)에 할당되어, 데이터 센터들(22) 중 하나가 백업 데이터 센터로서 역할을 한다. 멀티-인스턴스 클라우드 아키텍처(40)의 다른 실시예들은 웹 서버와 같은 다른 유형들의 전용 가상 서버들을 포함할 수 있다. 예를 들어, 클라이언트 인스턴스(42)는 전용 가상 서버들(24A-24D), 전용 가상 데이터베이스 서버들(44A 및 44B), 및 추가적인 전용 가상 웹 서버들(도 2에 도시되지 않음)과 연관될 수 있다(예를 들어, 이들에 의해 지원 및 인에이블될 수 있다).2 is a schematic diagram of an embodiment of a
도 1 및 도 2는 각각 클라우드 컴퓨팅 시스템(10) 및 멀티-인스턴스 클라우드 아키텍처(40)의 특정 실시예들을 도시하지만, 본 개시내용은 도 1 및 도 2에 도시된 특정 실시예들로 제한되지 않는다. 예를 들어, 도 1은 플랫폼(20)이 데이터 센터들을 이용하여 구현되는 것을 도시하지만, 플랫폼(20)의 다른 실시예들은 데이터 센터들로 제한되지 않고, 다른 유형들의 원격 네트워크 인프라스트럭처들을 이용할 수 있다. 또한, 본 개시내용의 다른 실시예들은 하나 이상의 상이한 가상 서버를 단일 가상 서버로 결합하거나, 역으로, 복수의 가상 서버들을 이용하여 단일 가상 서버에 기인하는 동작들을 수행할 수 있다. 예를 들어, 도 2를 예로서 이용하여, 가상 서버들(24A, 24B, 24C, 24D) 및 가상 데이터베이스 서버들(44A, 44B)은 단일 가상 서버로 결합될 수 있다. 또한, 본 접근법들은 멀티-테넌트 아키텍처들, 일반화된 클라이언트/서버 구현들을 포함하지만 이에 제한되지 않는 다른 아키텍처들 또는 구성들로, 그리고/또는 심지어 본 명세서에서 논의된 동작들 중 일부 또는 전부를 수행하도록 구성된 단일 물리적 프로세서 기반 디바이스 상에서도 구현될 수 있다. 유사하게, 가상 서버들 또는 기계들이 구현의 논의를 용이하게 하기 위해 참조될 수 있지만, 물리적 서버들이 적절히 대신 이용될 수 있다. 도 1 및 도 2의 이용 및 논의는 서술 및 설명의 편의를 용이하게 하기 위한 예들일 뿐이고, 본 개시내용을 본 명세서에 도시된 특정 예들로 제한하는 것으로 의도되지 않는다.1 and 2 illustrate specific embodiments of
이해되는 바와 같이, 도 1 및 도 2와 관련하여 논의된 각각의 아키텍처들 및 프레임워크들은 전반에 걸쳐 다양한 유형들의 컴퓨팅 시스템들(예를 들어, 서버들, 워크스테이션들, 클라이언트 디바이스들, 랩톱들, 태블릿 컴퓨터들, 셀룰러 전화기들 등)을 포함한다. 완전함을 위해, 이러한 시스템들에서 전형적으로 발견되는 구성요소들의 간략하고 높은 레벨의 개요가 제공된다. 이해되는 바와 같이, 이러한 개요는 이러한 컴퓨팅 시스템들에서 전형적인 구성요소들의 높은 레벨의 일반화된 뷰를 제공하기 위한 것일 뿐이며, 논의되거나 논의에서 생략된 구성요소들의 관점에서 제한적인 것으로 고려되어서는 안 된다.As will be appreciated, each of the architectures and frameworks discussed in connection with FIGS. 1 and 2 are used throughout various types of computing systems (eg, servers, workstations, client devices, laptops). , tablet computers, cellular phones, etc.). For completeness, a brief, high-level overview of the components typically found in such systems is provided. As will be appreciated, this summary is only intended to provide a high-level, generalized view of components typical of such computing systems, and should not be considered limiting in terms of components discussed or omitted from discussion.
배경으로서, 본 접근법은 도 3에 도시된 것과 같은 하나 이상의 프로세서 기반 시스템을 이용하여 구현될 수 있다는 것을 알 수 있다. 마찬가지로, 본 접근법에서 이용되는 애플리케이션들 및/또는 데이터베이스들은 이러한 프로세서 기반 시스템들 상에 저장, 이용 및/또는 유지될 수 있다. 알 수 있는 바와 같이, 도 3에 도시된 것과 같은 이러한 시스템들은 분산 컴퓨팅 환경, 네트워크화된 환경, 또는 다른 멀티-컴퓨터 플랫폼 또는 아키텍처에 존재할 수 있다. 마찬가지로, 도 3에 도시된 것과 같은 시스템들은 본 접근법이 구현될 수 있는 하나 이상의 가상 환경 또는 계산 인스턴스를 지원하거나 이와 통신하는데 이용될 수 있다.As background, it can be appreciated that the present approach may be implemented using one or more processor-based systems such as those shown in FIG. 3 . Likewise, applications and/or databases used in the present approach may be stored, used, and/or maintained on such processor-based systems. As will be appreciated, such systems as shown in FIG. 3 may reside in a distributed computing environment, a networked environment, or other multi-computer platform or architecture. Likewise, systems such as that shown in FIG. 3 may be used to support or communicate with one or more virtual environments or compute instances in which the present approach may be implemented.
이를 염두에 두고, 예시적인 컴퓨터 시스템은 도 3에 도시된 컴퓨터 구성요소들 중 일부 또는 전부를 포함할 수 있다. 도 3은 일반적으로 컴퓨팅 시스템(80)의 예시적인 구성요소들 및 하나 이상의 버스를 따르는 것과 같은 그 잠재적인 상호접속들 또는 통신 경로들의 블록도를 도시한다. 도시된 바와 같이, 컴퓨팅 시스템(80)은 하나 이상의 프로세서(82), 하나 이상의 버스(84), 메모리(86), 입력 디바이스들(88), 전원(90), 네트워크 인터페이스(92), 사용자 인터페이스(94), 및/또는 본 명세서에 설명된 기능들을 수행하는데 유용한 다른 컴퓨터 구성요소들과 같은, 그러나 이에 제한되지 않는 다양한 하드웨어 구성요소들을 포함할 수 있다.With this in mind, an exemplary computer system may include some or all of the computer components illustrated in FIG. 3 . 3 generally depicts a block diagram of exemplary components of
하나 이상의 프로세서(82)는 메모리(86)에 저장된 명령어들을 수행할 수 있는 하나 이상의 마이크로프로세서를 포함할 수 있다. 추가적으로 또는 대안적으로, 하나 이상의 프로세서(82)는 주문형 집적 회로(ASIC)들, 필드 프로그래머블 게이트 어레이(FPGA)들, 및/또는 메모리(86)로부터 명령어들을 호출하지 않고 본 명세서에서 논의된 기능들 중 일부 또는 전부를 수행하도록 설계된 다른 디바이스들을 포함할 수 있다.One or
다른 구성요소들과 관련하여, 하나 이상의 버스(84)는 컴퓨팅 시스템(80)의 다양한 구성요소들 사이에 데이터 및/또는 전력을 제공하기에 적절한 전기 채널들을 포함한다. 메모리(86)는 임의의 유형적, 비일시적, 및 컴퓨터 판독가능한 저장 매체를 포함할 수 있다. 도 1에서 단일 블록으로 도시되지만, 메모리(86)는 하나 이상의 물리적 위치에서 동일한 또는 상이한 유형들의 복수의 물리적 유닛들을 이용하여 구현될 수 있다. 입력 디바이스들(88)은 하나 이상의 프로세서(82)에 데이터 및/또는 명령들을 입력하기 위한 구조들에 대응한다. 예를 들어, 입력 디바이스들(88)은 마우스, 터치패드, 터치스크린, 키보드 등을 포함할 수 있다. 전원(90)은 라인 전력 및/또는 배터리 소스와 같은, 컴퓨팅 디바이스(80)의 다양한 구성요소들의 전력을 위한 임의의 적절한 소스일 수 있다. 네트워크 인터페이스(92)는 하나 이상의 네트워크(예를 들어, 통신 채널)를 통해 다른 디바이스들과 통신할 수 있는 하나 이상의 트랜시버를 포함할 수 있다. 네트워크 인터페이스(92)는 유선 네트워크 인터페이스 또는 무선 네트워크 인터페이스를 제공할 수 있다. 사용자 인터페이스(94)는 하나 이상의 프로세서(82)로부터 그것으로 전송되는 텍스트 또는 이미지들을 표시하도록 구성되는 디스플레이를 포함할 수 있다. 디스플레이에 추가적으로 및/또는 대안적으로, 사용자 인터페이스(94)는 조명들(예를 들어, LED들), 스피커들 등과 같은, 사용자와 인터페이싱하기 위한 다른 디바이스들을 포함할 수 있다.With respect to the other components, the one or more buses 84 include electrical channels suitable for providing data and/or power between the various components of the
위에서 논의된 클라우드 기반 플랫폼(20)은 NLU 기술들을 이용할 수 있는 아키텍처의 예를 제공한다는 것이 이해되어야 한다. 특히, 클라우드 기반 플랫폼(20)은 의도-엔티티 모델을 포함하는, 다수의 출력들의 생성을 용이하게 하기 위해, 마이닝될 수 있는 소스 데이터의 큰 코퍼스를 포함하거나 이를 저장할 수 있다. 예를 들어, 클라우드 기반 플랫폼(20)은 특정 시스템들의 변경들 또는 수리들에 대한 요청들, 요청자와 서비스 기술자 또는 문제를 해결하려고 시도하는 관리자 사이의 대화, 티켓이 결국 어떻게 해결되었는지에 대한 설명 등을 갖는 티켓팅 소스 데이터를 포함할 수 있다. 그 후, 생성된 의도-엔티티 모델은 장래의 요청들에서 의도들을 분류하기 위한 기반으로서 역할을 할 수 있고, 사용자들로부터의 자연어 요청들에 기반하여 클라우드 기반 플랫폼(20) 내의 장래의 문제들을 자동으로 해결할 수 있는 가상 에이전트를 지원하기 위해 대화 모델을 생성 및 개선하는데 이용될 수 있다. 이와 같이, 본 명세서에 설명된 특정 실시예들에서, 개시된 에이전트 자동화 프레임워크는 클라우드 기반 플랫폼(20)에 통합되는 반면, 다른 실시예들에서, 에이전트 자동화 프레임워크는, 아래에 논의되는 바와 같이, 발화들을 처리하기 위해 클라우드 기반 플랫폼(20)에 통신가능하게 결합되는 적절한 시스템에 의해 (클라우드 기반 플랫폼(20)과는 별도로) 호스팅 및 실행될 수 있다.It should be understood that the cloud-based
이상의 내용을 염두에 두고, 도 4a는 클라이언트 인스턴스(42)와 연관된 에이전트 자동화 프레임워크(100)(본 명세서에서 에이전트 자동화 시스템(100)이라고도 함)를 나타내고 있다. 보다 구체적으로는, 도 4a는 앞서 논의된 클라우드 기반 플랫폼(20)을 비롯한 서비스 제공자 클라우드 인프라스트럭처의 일부분의 예를 나타내고 있다. 클라우드 기반 플랫폼(20)은 (예컨대, 클라이언트 디바이스(14D)의 웹 브라우저를 통해) 클라이언트 인스턴스(42) 내에서 실행 중인 네트워크 애플리케이션들에 대한 사용자 인터페이스를 제공하기 위해 네트워크(18)를 통해 클라이언트 디바이스(14D)에 접속된다. 클라이언트 인스턴스(42)는 도 2와 관련하여 설명된 것들과 유사한 가상 서버들에 의해 지원되고, 클라이언트 인스턴스(42) 내에서 본 명세서에서 설명되는 개시된 기능에 대한 지원을 보여주기 위해 본 명세서에 예시되어 있다. 클라우드 제공자 인프라스트럭처는 일반적으로 클라이언트 디바이스(14D)와 같은 복수의 최종 사용자 디바이스들을 동시에 지원하도록 구성되어 있고, 여기서 각각의 최종 사용자 디바이스는 단일 클라이언트 인스턴스(42)와 통신하고 있다. 또한, 클라우드 제공자 인프라스트럭처는 클라이언트 인스턴스(42)와 같은 임의의 수의 클라이언트 인스턴스들을 동시에 지원하도록 구성될 수 있고, 여기서 인스턴스들 각각은 하나 이상의 최종 사용자 디바이스와 통신하고 있다. 앞서 언급된 바와 같이, 최종 사용자는 또한 웹 브라우저 내에서 실행되는 애플리케이션을 이용하여 클라이언트 인스턴스(42)와 인터페이싱할 수 있다.With the above in mind, FIG. 4A illustrates an agent automation framework 100 (also referred to herein as agent automation system 100 ) associated with a
도 4a에 도시된 에이전트 자동화 프레임워크(100)의 실시예는 거동 엔진(BE)(102), NLU 프레임워크(104), 및 데이터베이스(106)를 포함하고, 이들은 클라이언트 인스턴스(42) 내에서 통신가능하게 결합된다. BE(102)는 자연어 사용자 요청들(122)(본 명세서에서 사용자 발화들(122) 또는 발화들(122)이라고도 지칭됨) 및 에이전트 응답들(124)(본 명세서에서 에이전트 발화들(124)이라고도 지칭됨)을 통해 클라이언트 디바이스(14D)의 사용자와 상호작용하는 임의의 적절한 수의 가상 에이전트들 또는 페르소나들을 호스팅하거나 이들을 포함할 수 있다. 실제 구현들에서, 에이전트 자동화 프레임워크(100)는 본 개시내용에 따라, 의미 추출 서브시스템, 의미 검색 서브시스템 등을 포함하는 다수의 다른 적절한 구성요소들을 포함할 수 있다는 점에 유의할 수 있다.The embodiment of the
도 4a에 도시된 실시예에 있어서, 데이터베이스(106)는 데이터베이스 서버 인스턴스(예를 들어, 도 2와 관련하여 논의된 바와 같은 데이터베이스 서버 인스턴스(44A 또는 44B)), 또는 데이터베이스 서버 인스턴스들의 집합일 수 있다. 도시된 데이터베이스(106)는 의도-엔티티 모델(108), 대화 모델(110), 발화들(112)의 코퍼스, 및 규칙들(114)의 집합을 데이터베이스(106)의 하나 이상의 테이블(예를 들어, 관계형 데이터베이스 테이블)에 저장한다. 의도-엔티티 모델(108)은 특정 샘플 발화들을 통해 특정 의도들과 특정 엔티티들 사이의 연관들 또는 관계들을 저장한다. 특정 실시예들에서, 의도-엔티티 모델(108)은 적절한 저작 툴을 이용하여 설계자에 의해 저작될 수 있다. 다른 실시예들에서, 에이전트 자동화 프레임워크(100)는 데이터베이스(106)의 하나 이상의 테이블에 저장된 발화들(112)의 코퍼스 및 규칙들(114)의 집합으로부터 의도-엔티티 모델(108)을 생성한다. 의도-엔티티 모델(108)은 또한 일부 실시예들에서, 저작 및 ML 기술들의 조합에 기반하여 결정될 수 있다. 여하튼, 개시된 의도-엔티티 모델(108)은 의도들 및/또는 엔티티들의 임의의 적절한 조합을 발화들(112)의 코퍼스의 각각의 것들과 연관시킬 수 있다는 것을 이해해야 한다. 아래에 논의되는 실시예들에 있어서, 의도-엔티티 모델(108)의 샘플 발화들은 의미 검색을 위한 검색 공간을 정의하기 위해 이해 모델의 의미 표현들을 생성하는데 이용된다.In the embodiment shown in FIG. 4A ,
도 4a에 도시된 실시예에 있어서, 대화 모델(110)은 의도-엔티티 모델(108)의 의도들과 일반적으로 BE(102)의 거동을 정의하는 특정 응답들 및/또는 액션들 사이의 연관들을 저장한다. 특정 실시예들에서, 대화 모델 내의 연관들의 적어도 일부는 설계자가 BE(102)가 처리된 발화들 내의 특정 식별된 아티팩트들에 어떻게 응답하기를 원하는지에 기반하여 BE(102)의 설계자에 의해 수동으로 생성되거나 미리 정의된다. 상이한 실시예들에서, 데이터베이스(106)는 컴파일 모델 템플릿 데이터(예를 들어, 클래스 호환성 규칙들, 클래스 레벨 스코어링 계수들, 트리 모델 비교 알고리즘들, 트리 하위구조 벡터화 알고리즘들), 의미 표현들 등에 관한 정보를 저장하는 테이블들과 같은, 의도 분류에 관련된 다른 정보를 저장하는 다른 데이터베이스 테이블들을 포함할 수 있다는 점에 유의해야 한다.In the embodiment shown in FIG. 4A , the
예시된 실시예에 있어서, NLU 프레임워크(104)는 NLU 엔진(116) 및 어휘 관리자(118)를 포함한다. NLU 프레임워크(104)는 임의의 적절한 수의 다른 구성요소들을 포함할 수 있다는 것을 알 수 있다. 특정 실시예들에서, NLU 엔진(116)은, 발화들의 단어 또는 구들로부터 단어 벡터들(예를 들어, 의도 벡터들, 주어 또는 엔티티 벡터들, 서브트리 벡터들)을 생성하는 것은 물론, 이러한 벡터들 사이의 거리들(예를 들어, 유클리드 거리들)을 결정하는 것을 포함하여, NLU 프레임워크(104)의 다수의 기능들을 수행하도록 설계된다. 예를 들어, NLU 엔진(116)은 일반적으로 분석된 발화의 각각의 의도에 대한 각각의 의도 벡터를 생성할 수 있다. 이와 같이, 2개의 상이한 발화 사이의 유사도 척도 또는 거리는 2개의 의도에 대해 NLU 엔진(116)에 의해 생성된 각각의 의도 벡터들을 이용하여 계산될 수 있고, 유사도 척도는 2개의 의도 사이의 의미에서의 유사도의 표시를 제공한다.In the illustrated embodiment, the
어휘 관리자(118)는 어휘 훈련 동안 NLU 프레임워크(104)가 마주치지 않았던 어휘 외 단어들 및 심볼들을 다룬다. 예를 들어, 특정 실시예들에서, 어휘 관리자(118)는 (예를 들어, 규칙들(114)의 집합에 기반하여) 에이전트 자동화 프레임워크(100)에 의해 분석된 발화들 내의 단어들 및 약어들의 동의어들 및 도메인-특정 의미들을 식별하고 대체할 수 있으며, 이는 NLU 프레임워크(104)의 성능을 개선하여 맥락-특정 발화들 내의 의도들 및 엔티티들을 적절히 식별할 수 있다. 추가로, 기존 단어들에 대한 새로운 이용들을 채택하는 자연어의 경향을 수용하기 위해, 특정 실시예들에서, 어휘 관리자(118)는 맥락의 변화에 기반하여 다른 의도들 또는 엔티티들과 이전에 연관된 단어들의 재창출을 처리한다. 예를 들어, 어휘 관리자(118)는 특정 클라이언트 인스턴스 및/또는 대화 채널로부터의 발화들의 맥락에서 단어 "자전거"가 실제로 자전거가 아닌 오토바이를 지칭하는 상황을 처리할 수 있다.The
의도-엔티티 모델(108) 및 대화 모델(110)이 생성되었으면, 에이전트 자동화 프레임워크(100)는 사용자 발화(122)를 (자연어 요청의 형태로) 수신하고, 그 요청을 다루기 위한 액션을 적절히 취하도록 설계된다. 예를 들어, 도 4a에 예시된 실시예에 있어서, BE(102)는 네트워크(18)를 통해, 클라이언트 네트워크(12) 상에 배치된 클라이언트 디바이스(14D)에 의해 제출된 발화(122)(예를 들어, 채팅 통신에서의 자연어 요청)를 수신하는 가상 에이전트이다. BE(102)는 발화(122)를 NLU 프레임워크(104)에 제공하고, NLU 엔진(116)은 아래에 논의되는 NLU 프레임워크의 다양한 서브시스템들과 함께, 의도-엔티티 모델(108)에 기반하여 발화(122)를 처리하여, 발화 내의 아티팩트들(예를 들어, 의도들 및/또는 엔티티들)을 도출한다. NLU 엔진(116)에 의해 도출된 아티팩트들뿐만 아니라 대화 모델(110) 내의 연관들에 기반하여, BE(102)는 하나 이상의 특정의 미리 정의된 액션을 수행한다. 예시된 실시예에 있어서, BE(102)는 또한 네트워크(18)를 통해 클라이언트 디바이스(14D)에 응답(124)(예를 들어, 가상 에이전트 발화(124) 또는 확인)을 제공하며, 이는 예를 들어 수신된 사용자 발화(122)에 응답하여 BE(102)에 의해 수행되는 액션들을 표시한다. 또한, 특정 실시예들에서, 발화(122)는 NLU 프레임워크(104) 내의 계속적인 학습을 위해 데이터베이스(106)에 저장된 발화들(112)에 추가될 수 있다.Once the intent-
다른 실시예들에서, 에이전트 자동화 프레임워크(100) 및/또는 NLU 프레임워크(104)의 하나 이상의 구성요소가 개선된 성능을 위해 다른 방식으로 배열, 위치, 또는 호스팅될 수 있다는 점이 이해될 수 있다. 예를 들어, 특정 실시예들에서, NLU 프레임워크(104)의 하나 이상의 부분은 클라이언트 인스턴스(42)와 별개이고 이에 통신가능하게 결합되는 인스턴스(예를 들어, 공유 인스턴스, 기업 인스턴스)에 의해 호스팅될 수 있다. 이러한 실시예들은 클라이언트 인스턴스(42)의 크기를 유리하게 감소시킬 수 있어서, 클라우드 기반 플랫폼(20)의 효율을 개선시킬 수 있다는 점이 현재 인식되고 있다. 특히, 특정 실시예들에서, 아래에 논의되는 유사도 스코어링 서브시스템의 하나 이상의 구성요소는, 발화(122)에 대한 아티팩트 매치들의 식별을 가능하도록 검색 공간 내의 적절한 매칭 의미 표현들에 대한 개선된 의미 검색을 가능하게 하기 위해, 클라이언트 인스턴스(42)뿐만 아니라 다른 클라이언트 인스턴스들에 통신가능하게 결합되는 별개의 인스턴스(예를 들어, 기업 인스턴스)에 의해 호스팅될 수 있다.It can be appreciated that in other embodiments, one or more components of the
이상의 내용을 염두에 두고, 도 4b는 NLU 프레임워크(104)의 부분들이 클라우드 기반 플랫폼(20)에 의해 호스팅되는 별개의 공유 인스턴스(예를 들어, 기업 인스턴스(125))에 의해 대신 실행되는 에이전트 자동화 프레임워크(100)의 대안적인 실시예를 예시한다. 예시된 기업 인스턴스(125)는 적절한 프로토콜을 통해(예를 들어, 적절한 REST(Representational State Transfer) 요청들/응답들을 통해) 임의의 적절한 수의 클라이언트 인스턴스들과 아티팩트 마이닝 및 분류에 관련된 데이터를 교환하도록 통신가능하게 결합된다. 이와 같이, 도 4b에 예시된 설계에 대해, 복수의 클라이언트 인스턴스들(42)에 액세스가능한 공유 자원으로서 NLU 프레임워크의 일부분을 호스팅함으로써, 클라이언트 인스턴스(42)의 크기가 (예를 들어, 도 4a에 예시된 에이전트 자동화 프레임워크(100)의 실시예에 비해) 실질적으로 감소될 수 있고, 에이전트 자동화 프레임워크(100)의 전체 효율이 개선될 수 있다.With the above in mind, FIG. 4B illustrates an agent in which portions of the
특히, 도 4b에 도시된 NLU 프레임워크(104)는 NLU 프레임워크(104) 내에서 별개의 프로세스들을 수행하는 3개의 별개의 구성요소로 분할된다. 이러한 구성요소들은 기업 인스턴스(125)에 의해 호스팅되는 공유 NLU 훈련자(126), 기업 인스턴스(125)에 의해 호스팅되는 공유 NLU 주석자(127), 및 클라이언트 인스턴스(42)에 의해 호스팅되는 NLU 예측자(128)를 포함한다. 도 4a 및 도 4b에 도시된 조직들은 단지 예들이고, 다른 실시예들에서, NLU 프레임워크(104) 및/또는 에이전트 자동화 프레임워크(100)의 다른 조직들이 본 개시내용에 따라 이용될 수 있다는 것을 알 수 있다.In particular, the
도 4b에 예시된 에이전트 자동화 프레임워크(100)의 실시예에 있어서, 공유 NLU 훈련자(126)는 클라이언트 인스턴스(42)로부터 발화들(112)의 코퍼스를 수신하고, 의도-엔티티 모델(108)의 생성을 용이하게 하기 위해 의미론적 마이닝(예를 들어, 의미론적 파싱, 문법 조작(grammar engineering) 등을 포함함)을 수행하도록 설계된다. 의도-엔티티 모델(108)이 생성되었으면, BE(102)가 클라이언트 디바이스(14D)에 의해 제공되는 사용자 발화(122)를 수신할 때, NLU 예측자(128)는 발화(122)의 파싱 및 주석부기를 위해 발화(122) 및 의도-엔티티 모델(108)을 공유 NLU 주석자(127)에 전달한다. 공유 NLU 주석자(127)는 의도-엔티티 모델(108)에 기반하여 발화(122)의 의미론적 파싱, 문법 조작 등을 수행하고, 발화(122)의 주석부기된 발화 트리들을 클라이언트 인스턴스(42)의 NLU 예측자(128)에 반환한다. 그 후, NLU 예측자(128)는 아래에 더 상세히 논의되는 발화(122)의 이러한 주석부기된 구조들을 이용하여, 의도-엔티티 모델(108)로부터 매칭 의도들을 식별하고, 이에 따라 BE(102)는 식별된 의도들에 기반하여 하나 이상의 액션을 수행할 수 있다. 아래에 논의되는 바와 같이, 공유 NLU 주석자(127)는 의미 추출 서브시스템(150)에 대응할 수 있고, NLU 예측자는 NLU 프레임워크(104)의 의미 검색 서브시스템(152)에 대응할 수 있다는 점이 이해될 수 있다.In the embodiment of the
도 5는 거동 엔진(BE)(102) 및 NLU 프레임워크(104)가 에이전트 자동화 프레임워크(100)의 실시예 내에서 각각의 역할들을 수행하는 프로세스(145)를 도시하는 흐름도이다. 예시된 실시예에 있어서, NLU 프레임워크(104)는 수신된 사용자 발화(122)를 처리하여 의도-엔티티 모델(108)에 기반하여 아티팩트들(140)(예를 들어, 의도들 및/또는 엔티티들)을 추출한다. 추출된 아티팩트들(140)은 BE(102)에 의해 소모가능한 형태로 사용자 발화(122)의 의도들 및 엔티티들을 나타내는 심볼들의 집합으로서 구현될 수 있다. 이와 같이, 이러한 추출된 아티팩트들(140)은 BE(102)에 제공되고, BE(102)는 대화 모델(110)에 기반하여 수신된 아티팩트들(140)을 처리함으로써, 수신된 사용자 발화(122)에 응답하여 적절한 액션들(142)(예를 들어, 패스워드를 변경하는 것, 기록을 생성하는 것, 아이템을 구매하는 것, 계정을 닫는 것) 및/또는 가상 에이전트 발화들(124)을 결정한다. 화살표(144)에 의해 표시된 바와 같이, 프로세스(145)는 에이전트 자동화 프레임워크(100)가 대화 포맷으로 동일한 사용자 및/또는 다른 사용자들로부터 추가적인 사용자 발화들(122)을 수신하고 다룸에 따라 연속적으로 반복될 수 있다.5 is a flow diagram illustrating a
도 5에 도시된 바와 같이, 특정 상황들에서, 적절한 액션들(142)이 수행되었으면 더 이상의 액션 또는 통신이 발생하지 않을 수 있다는 것을 알 수 있다. 또한, 사용자 발화(122) 및 에이전트 발화(124)가 본 명세서에서 서면 대화 매체 또는 채널(예를 들어, 채팅, 이메일, 티켓팅 시스템, 텍스트 메시지들, 포럼 게시물들)을 이용하여 전달되는 것으로 논의되지만, 다른 실시예들에서는, 음성 대 텍스트 및/또는 텍스트 대 음성 모듈들 또는 플러그-인들은 본 개시내용에 따라 구두 사용자 발화(122)를 텍스트로 변환하고/하거나 텍스트 기반 에이전트 발화(124)를 음성으로 변환하여 음성 대화형 시스템을 가능하게 하도록 포함될 수 있음에 유의해야 한다. 또한, 특정 실시예들에서, 사용자 발화(122) 및 가상 에이전트 발화(124) 둘 다는 에이전트 자동화 프레임워크(100) 내에서 새로운 구조 및 어휘의 계속된 학습을 가능하게 하기 위해 데이터베이스(106)에(예를 들어, 발화들(112)의 코퍼스에) 저장될 수 있다.As shown in FIG. 5 , it can be seen that, in certain circumstances, no further action or communication may occur once the
언급된 바와 같이, NLU 프레임워크(104)는 NLU의 어려운 문제를 관리가능한 검색 문제, 즉, 의미 추출 서브시스템 및 의미 검색 서브시스템으로 변환하기 위해 협력하는 2개의 주요 서브시스템을 포함한다. 예를 들어, 도 6은 에이전트 자동화 프레임워크(100)의 실시예 내의 NLU 프레임워크(104)의 의미 추출 서브시스템(150) 및 의미 검색 서브시스템(152)의 역할들을 예시하는 블록도이다. 예시된 실시예에 있어서, 도 6의 우측 부분(154)은 모델의 다양한 아티팩트들 각각에 대한 샘플 발화들(155)을 포함하는, 의도-엔티티 모델(108)을 수신하는 NLU 프레임워크(104)의 의미 추출 서브시스템(150)을 예시한다. 의미 추출 서브시스템(150)은 의도-엔티티 모델(108)의 샘플 발화들(155)의 의미 표현들(158)(예를 들어, 발화 트리 구조들)을 포함하는 이해 모델(157)을 생성한다. 다시 말해서, 이해 모델(157)은 아래에 더 상세히 논의되는 바와 같이, 의미 검색 서브시스템(152)에 의한 검색(예를 들어, 비교 및 매칭)을 가능하게 하기 위한 의미 표현들(158)을 포함하는 의도-엔티티 모델(108)의 변환된 또는 증강된 버전이다. 이와 같이, 도 6의 우측 부분(154)은 일반적으로, 예를 들어 일상적으로, 스케줄링 기반으로 또는 의도-엔티티 모델(108)에 대한 업데이트들에 응답하여 사용자 발화(122)를 수신하기 전에 수행된다는 것을 알 수 있다.As mentioned, the
도 6에 도시된 실시예의 경우, 좌측 부분(156)은 적어도 하나의 의미 표현(162)을 갖는 발화 의미 모델(160)을 생성하기 위해 사용자 발화(122)를 또한 수신 및 처리하는 의미 추출 서브시스템(150)을 도시한다. 아래에 더 상세히 논의되는 바와 같이, 이러한 의미 표현들(158 및 162)은 발화의 하나의 이해의 문법적 구문 구조를 캡처하는 형태를 갖는 데이터 구조들이며, 데이터 구조들의 서브트리들은 발화의 부분들의 의미론적 의미들을 인코딩하는 서브트리 벡터들을 포함한다. 이와 같이, 주어진 발화에 대해, 대응하는 의미 표현은 아래에 더 상세히 설명되는 바와 같이, 의미 검색 서브시스템(152)에 의한 검색, 비교 및 매칭을 가능하게 하는 공통 의미 표현 포맷으로 구문론적 및 의미론적 의미 둘 다를 캡처한다. 따라서, 발화 의미 모델(160)의 의미 표현들(162)은 일반적으로 검색 키와 같은 것으로 생각될 수 있는 반면, 이해 모델(157)의 의미 표현들(158)은 검색 키가 추구될 수 있는 검색 공간을 정의한다. 따라서, 의미 검색 서브시스템(152)은 이해 모델(157)의 의미 표현들(158)을 검색하여, 아래에 설명되는 바와 같이 발화 의미 모델(160)의 의미 표현(162)과 매칭되는 하나 이상의 아티팩트를 찾음으로써, 추출된 아티팩트들(140)을 생성한다.For the embodiment shown in FIG. 6 , the
본 명세서에 개시된 의미 표현들(158, 162) 중 하나의 예로서, 도 7은 발화에 대해 생성된 발화 트리(166)의 예를 나타내는 도면이다. 이해되는 바와 같이, 발화 트리(166)는 사용자 발화(122)에 기반하여, 또는 대안적으로, 샘플 발화들(155) 중 하나에 기반하여 의미 추출 서브시스템(150)에 의해 생성되는 데이터 구조이다. 도 7에 도시된 예에 있어서, 발화 트리(166)는 예시적인 발화, "나는 오늘 쇼핑몰 옆에 있는 가게에 가서 파란색 깃이 있는 셔츠와 검은색 바지를 사고 또한 일부 결함이 있는 배터리들을 반품하고 싶다"에 기반한다. 도시된 발화 트리(166)는 트리 구조로 배열된 노드들(202)의 세트(예를 들어, 노드들(202A, 202B, 202C, 202D, 202E, 202F, 202G, 202H, 202I, 202J, 202K, 202L, 202M, 202N, 및 202P))를 포함하고, 각각의 노드는 예시적인 발화의 특정 단어 또는 구를 나타낸다. 노드들(202)의 각각이 또한 발화 트리(166)의 특정 서브트리를 나타내는 것으로 설명될 수 있고, 서브트리가 하나 이상의 노드(202)를 포함할 수 있다는 점에 유의할 수 있다.As an example of one of the
도 7에 도시된 발화 트리(166)의 형태 또는 형상은 의미 추출 서브시스템(150)에 의해 결정되고, 예시적인 발화의 구문론적인 문법적 의미를 나타낸다. 더 구체적으로, 의미 추출 서브시스템(150)의 운율 서브시스템은 발화를 의도 세그먼트들로 분해하는 반면, 의미 추출 서브시스템(150)의 구조 서브시스템은 이러한 의도 세그먼트들로부터 발화 트리(166)를 구성한다. 노드들(202) 각각은 발화의 특정 단어 또는 구의 의미론적 의미를 표시하기 위해 어휘 서브시스템에 의해 결정되는 각각의 단어 벡터(예를 들어, 토큰)를 저장하거나 참조한다. 언급된 바와 같이, 각각의 단어 벡터는 발화의 일부의 의미론적 의미의 수학적 표현을 제공하는 부동 소수점 값들(예를 들어, 1xN 또는 Nx1 행렬)의 순서화된 n차원 리스트(예를 들어, 300차원 리스트)이다.The shape or shape of the
또한, 다른 실시예들에서, 노드들(202) 각각은 발화 트리(166)의 주석부기된 실시예를 형성하기 위해 노드에 의해 표현되는 단어 또는 구에 관한 추가 정보로 구조 서브시스템에 의해 주석부기될 수 있다. 예를 들어, 노드들(202) 각각은 각각의 노드의 클래스 주석부기를 나타내는 각각의 태그, 식별자, 음영, 또는 교차 빗금치기를 포함할 수 있다. 특히, 도 7에 도시된 예시적인 발화 트리(166)의 경우, 특정 서브트리들 또는 노드들(예를 들어, 노드들(202A, 202B, 202C, 및 202D))은 동사 노드들이 되도록 품사 라벨들 또는 태그들로 주석부기될 수 있고, 특정 서브트리들 또는 노드들(예를 들어, 노드들(202E, 202F, 202G, 202H, 202I, 및 202J))은 주어 또는 목적어 노드들이 되도록 주석부기될 수 있고, 특정 서브트리들 또는 노드들(예를 들어, 노드들(202K, 202L, 202M, 202N, 및 202P))은 구조 서브시스템에 의해 수식어 노드들(예를 들어, 주어 수식어 노드들, 목적어 수식어 노드들, 동사 수식어 노드들)이 되도록 주석부기될 수 있다. 이러한 클래스 주석부기들은 그 후 주석부기된 발화 트리들로부터 생성되는 의미 표현들을 비교할 때 의미 검색 서브시스템(152)에 의해 이용될 수 있다. 이와 같이, 의미 표현들이 생성되는 발화 트리(166)는 아티팩트 추출을 위한 기반(예를 들어, 초기 기반)으로서 역할을 한다는 것을 알 수 있다.Further, in other embodiments, each of the nodes 202 is annotated by the structure subsystem with additional information about the word or phrase represented by the node to form an annotated embodiment of the
본 명세서에서 인정되는 바와 같이, 추출된 아티팩트들(140)의 생성을 용이하게 하기 위해, 의미 검색 서브시스템(152)은 임의의 2개 이상의 의미 표현들, 예컨대 발화 의미 모델(160)의 의미 표현들(162) 중 하나 이상과 이해 모델(157)의 의미 표현들(158) 중 하나 이상 사이의 유사도를 결정할 수 있다. 예를 들어, 도 8은 검색 공간(250) 내에서 동작하는 의미 검색 서브시스템(152)의 실시예를 예시하는 정보 흐름도이다. 전술한 바와 같이, 본 실시예의 검색 공간(250)은 이해 모델(157)의 의미 표현들(158)로 채워지고 이에 의해 정의된다. 다른 실시예들에서, NLU 프레임워크(104)는 특정 맥락 또는 도메인에 각각 적절한 이해 모델들과 같은 복수의 이해 모델들에 의해 생성되는 의미 표현들(158)의 언커버링에 기반하여 검색 공간(250)을 생성할 수 있다. 따라서, 사용자 발화들(122)이 수신되고 (예를 들어, 운율 서브시스템에 의해) 잠재적인 아티팩트들로 세그먼트화되고 (예를 들어, 의미 추출 서브시스템(150)에 의해) 각각의 의미 표현들(162)로 변환된 후에, 의미 검색 서브시스템(152)은 사용자 발화들(122)의 의미 표현들(162)을 검색 공간(250)의 의미 표현들(158)과 비교한다. 실제로, 아래에 더 상세히 논의되는 바와 같이, 의미 검색 서브시스템(152)은 검색 공간(250)으로부터 임의의 적절한 매칭 의미 표현들(158)을 식별하여, NLU 프레임워크(104)가 이로부터, 추출된 아티팩트들(140)을 식별하게 할 수 있다.As acknowledged herein, to facilitate generation of extracted
일부 실시예들에서, 의미 검색 서브시스템(152)은 하나 또는 복수의 의미 표현(158)을 사용자 발화(122)의 의미 표현들(162) 각각에 대한 적절한 매치로서 식별한다. 예를 들어, 하나 이상의 사용자 발화(122)에 대응하는 3개의 의미 표현(162)을 수신하는 것에 응답하여, 특정 실시예들의 의미 검색 서브시스템(152)은, 의미 표현 매치가 발견될 수 있다면, 검색 공간(250)의 하나 이상의 매칭 의미 표현(158)을 반환한다. 의미 검색 서브시스템(152)은 또한 의미 표현들(158)로부터 가장 가능성 있게 추출된 아티팩트들(140)에 대한 적절한 에이전트 응답들(124) 및/또는 액션들(142)을 용이하게 하기 위해 매칭 의미 표현들(158) 및/또는 그 안의 아티팩트들을 동반되는 신뢰도 레벨로 스코어링할 수 있다.In some embodiments,
본 명세서에서 인식되는 바와 같이, 의미 검색 서브시스템(152)은 의미 표현들(158)의 타겟화된 전지 및 추출된 아티팩트들(140)의 결정을 용이하게 하도록 의미 표현들(158 및 162) 사이의 더 정확한 유사도 스코어를 점진적으로 렌더링하기 위해 예측 유사도 스코어링 스킴을 이용할 수 있다. 이러한 실시예들에서, 예측 유사도 스코어링 스킴은 복수의 또는 확장 이해 모델들(157)의 의미 표현들(158)에 기반하여 생성된 것들과 같은, 검색 공간(250)의 대규모 표명들에 대한 검색들의 수행을 가능하게 한다. 일반적으로, 의미 검색 서브시스템(152)의 유사도 스코어링 서브시스템은 특정 발화 기반 의미 표현(162)과 검색 공간(250) 내의 각각의 의미 표현(158)(예를 들어, 검색 공간 의미 표현) 사이의 비교를 가능하게 하는 수학적 비교 함수 리스트들을 먼저 식별함으로써 동작한다. 의미 표현(162)에 대한 비교가능한 형태를 갖지 않는 의미 표현들(158)에 대해, 유사도 스코어링 서브시스템은 의미 표현들(158)을 비호환적인 것으로서 식별하고 이들을 검색 공간(250)으로부터 전지할 수 있다. 그 후, 유사도 스코어링 서브시스템은 특정 의미 표현(162)과 검색 공간(250)의 남아 있는 비교가능한 의미 표현들(158) 사이의 초기 유사도 스코어를 생성하기 위해 그 안에 가장 넓은 또는 가장 덜 비싼 함수를 적용함으로써 각각의 수학적 비교 함수 리스트들을 구현한다. 아래에 논의되는 바와 같이, 의미 검색 서브시스템(152)은 검색 공간(250)에서 특정 의미 표현(162)과 적절히 유사하지 않은 의미 표현들(158)이 전지되기 때문에 더 계산적으로 비싼 함수들(예를 들어, 추가 노드들을 고려하는 함수들, 동일한 수의 노드들의 추가 차원들을 고려하는 함수들, 사전들 또는 외부 언어 모델들과 같은 데이터베이스들에 질의하는 함수들)을 이용하는 것으로 진행할 수 있다. 따라서, 의미 검색 서브시스템(152)은 추출된 아티팩트들(140)을 제공하는 적절한 의미 표현들(158)에 대해 체계적으로 좁힌다.As will be appreciated herein,
예로서, 도 9는 NLU 프레임워크(104)의 의미 검색 서브시스템(152) 내에서 구현될 수 있는 유사도 스코어링 서브시스템(260)의 실시예를 예시하는 정보 흐름도이다. 아래에 논의되는 바와 같이, 유사도 스코어링 서브시스템(260)은 수학적 비교 함수들을 검색하고 이들을 이용하여, 점점 더 고가의 함수들을 통해 임의의 적절한 수의 의미 표현들을 서로 반복적으로 비교한다. 예로서, 도 9의 본 실시예는 제1 의미 표현(262) 및 제2 의미 표현(264)이 검색 공간(250)의 의미 표현들(158)과 비교되는 유사도 스코어링 서브시스템(260)의 기능들에 관한 것이지만, 아래에 논의되는 기술들은 NLU 프레임워크(104)의 각각의 의미 표현에 적용가능하다는 것을 이해해야 한다. 이해되는 바와 같이, 제1 의미 표현(262)은 위에서 논의된 의미 표현들(162) 중 제1 의미 표현에 대응할 수 있고, 제2 의미 표현(164)은 의미 표현들(162) 중 제2 의미 표현에 대응할 수 있다. 다른 실시예들에서, 의미 표현들(262, 264)은 사용자 발화(122)에 대응하는 것으로서 본 명세서에서 주로 논의되는 발화(266)로부터 각각 도출될 수 있지만, 위에서 논의된 샘플 발화들(155) 중 하나에 대응할 수 있다.By way of example, FIG. 9 is an information flow diagram illustrating an embodiment of a
일반적으로, 각각의 의미 표현(262, 264)은 의미 표현(262, 264)의 형상(예를 들어, 발화 트리 구조 및 품사 태깅)에 기반하여 할당되는 0개, 1개 또는 복수의 인지 구축 문법(CCG) 형태 클래스에 속한다. 즉, CCG 기술들에 기반하여, 유사도 스코어링 서브시스템(260)은 각각의 의미 표현(262, 264)이 CCG 형태들에 집합적으로 매핑가능한 노드들(예를 들어, 단어 벡터들 및/또는 단어 벡터들의 조합)에 대한 품사 태그들을 포함하는 형상 또는 구조(예를 들어, 발화 트리 또는 다른 적절한 메타-구조에 의해 정의됨)를 갖는다는 것을 인식한다. 따라서, 유사도 스코어링 서브시스템(260)은 의미 표현들(262, 264)에 대한 아티팩트 매치들을 포함하는 적절한 매칭 의미 표현들(158)을 식별하기 위해 의미 표현들(262, 264)의 형상들에 기반하여 검색들을 수행할 수 있다.In general, each
예시된 실시예에서, 유사도 스코어링 서브시스템(260)은 그 안에 형태 클래스 테이블(272)을 포함하는 형태 클래스 데이터베이스(270)를 포함한다. 주로 테이블로서 논의되지만, 형태 클래스 테이블(272)은 다른 실시예들에서 임의의 적절한 데이터 구조로 구현될 수 있다. 일부 실시예들에서, 형태 클래스 데이터베이스(270) 및 형태 클래스 테이블(272)은 에이전트 자동화 프레임워크(100)의 데이터베이스(106) 내에 저장될 수 있다. 본 명세서에서 인식되는 바와 같이, 형태 클래스 테이블(272)의 각각의 엔트리(275)(예를 들어, 형태 클래스 엔트리)는 의미 검색 서브시스템(152)에 의해 지원되는 일대일 형태 클래스 비교(CCG 형태 클래스 비교라고도 함)를 설명한다. 특히, 형태 클래스 테이블(272)은 제1 의미 표현의 CCG 형태와 연관된 제1 축(273) 및 비교되는 제2 의미 표현의 CCG 형태와 연관된 제2 축(274)을 포함한다. 각각의 축 라벨은 유사도 스코어링 서브시스템(260)이 지원하는 제각기의 CCG 형태들 각각에 대한 형태 패턴, 예컨대 동사-주도 구, 명사-주도 구 등과 연관되고, f1-fN의 지원되는 CCG 형태 범위 내의 적절한 기능 식별자에 의해 표현된다. 따라서, 특정 의미 표현에 대한 형태 패턴은 특정 의미 표현에 대한 CCG 형태 클래스 멤버십을 정의한다는 것을 이해해야 한다.In the illustrated embodiment,
본 실시예에서, 형태 클래스 테이블(272)은 2개의 연관된 CCG 형태가 비교가능한지 그리고 그렇다면, 비교의 수행에 관한 명령어들을 나타내기 위해 CCG 형태들 중 2개의 CCG 형태의 각각의 교차점에 대한 엔트리들(275)의 각각의 엔트리를 포함한다. 형태 클래스 테이블(272)이 비교된 CCG 형태 클래스들의 각각의 가능한 순열에 대응하는 임의의 적절한 수의 엔트리들(275)을 포함할 수 있다는 것을 이해해야 한다. 특히, 각각이 동일한 CCG 형태 클래스에 속하는 의미 표현들은 그 자체로 서로 비교가능하고, 형태 클래스 테이블(272)의 중앙 대각선(276)을 따라 각각의 엔트리(275) 내에 나타내어져 있는 이하에서 논의되는 비교 함수 리스트에 의해 표현된다. 현재 예시되는 바와 같이, 형태 클래스 테이블(272)은 중앙 대각선(276)을 따라 반사 대칭선을 가지며, 이는 형태 클래스 테이블(272)의 본 실시예의 비교 기능들이 가환적(commutative)이라는 것을 나타낸다. 즉, 제1 의미 표현을 제2 의미 표현과 비교하는 것은 제2 의미 표현을 제1 의미 표현과 비교하는 것과 동일한 결과를 낳는다. 다른 실시예들에서, 형태 클래스 테이블(272)은 반사 대칭선을 포함하지 않을 수 있고, 따라서 유사도 스코어링 서브시스템(260)이 의미 표현들이 비교되고 있는 순서 또는 방향에 기반하여 이하에서 논의되는 비교 함수 리스트를 조정할 수 있게 한다. 특정 예로서, 형태 클래스 테이블(272)의 하나의 엔트리(275)는 동사-주도 CCG 형태를 갖는 의미 표현이 동사-주도 CCG 형태, 명사-주도 CCG 형태 등을 갖는 다른 의미 표현들과 비교될 수 있다는 것을 지정할 수 있다. 본 실시예들에서, 유사도 스코어링 서브시스템(260)은 비교를 위한 엔트리(275)가 비어 있다고(예컨대, 널(null), 정의되지 않음) 결정하는 것에 응답하여 한 쌍의 의미 표현들이 비교가능하지 않다고 결정하고, 따라서 비교불가능한 의미 표현들 간의 비교들을 수행하지 않는다.In this embodiment, the shape class table 272 contains entries for each intersection of two of the CCG types ( 275), respectively. It should be understood that the shape class table 272 may include any suitable number of
언급된 바와 같이, 유사도 스코어링 서브시스템(260)의 각각의 지원되는 CCG 형태 클래스 비교를 위한 형태 클래스 테이블(272)의 엔트리(275)는 또한 유사도 스코어링 서브시스템(260)을 포함하거나 이를 하나 또는 복수의 함수(280)(예를 들어, 비교 함수)를 갖는 수학적 비교 함수 리스트(278)(예를 들어, 형태-대수 함수 리스트, 처리 규칙들)에 지향시킨다. 각각의 수학적 비교 함수 리스트(278)의 함수들(280)은 아래에 더 상세히 설명되는 바와 같이, 의미 표현들(262, 264)의 각각의 의미 표현이 검색 공간(250)과 비교될 수 있게 하는 점진적으로 더 고가의 스코어링 기능들을 제공하는 내포된 함수들의 세트이다. 수학적 비교 함수 리스트(278)는 벡터 대수, 코사인 유사도 함수들, 외부 데이터베이스들에 대한 질의들, 및/또는 유사도 스코어링 서브시스템(260)이 임의의 적절한 수의 의미 표현들 사이의 유사도 스코어들을 결정하는데 이용할 수 있는 임의의 다른 적절한 수학적 함수들 또는 공식들을 포함할 수 있다. 함수들(280)은 수학적 비교 함수 리스트(278)의 이전 함수를 추가로 정의할 수 있거나, 또는 대안적으로, 이전 함수들(280)로부터 완전히 독립적일 수 있다는 점이 이해되어야 한다. 일부 실시예들에서, 형태 클래스 테이블(272)의 각각의 엔트리(275)에 대한 수학적 비교 함수 리스트(278)는 언어학자들 또는 사용자들에 의해 수동으로 지정되고, ML 기술들 등에 의해 도출된다.As mentioned, the
일반적으로, 수학적 비교 함수 리스트(278)의 함수들(280)은 각각 검색 공간(250)의 의미 표현들(158)과 적절히 매칭하는 의미 표현들(262, 264)의 고려된 부분들에 응답하여 특정 임계 스코어를 초과하는 유사도 스코어를 부여함으로써 의미 표현들(262, 264) 및 검색 공간(250)의 비교가능한 것들 사이의 유사도를 제각기 스코어링한다. 특정 실시예들에서, 함수들(280)은 각각의 의미 표현들(158)이 대응하는 검색 키 의미 표현(262, 264)의 중요한 또는 유의한 노드들을 배제하거나 이들과 매칭되지 않는 것에 응답하여, 검색 공간(250)의 각각의 의미 표현들(158)과 연관된 유사도 스코어에 0들을 할당하거나, 다른 방식으로 이에 페널티를 줄 수 있다. 이해되는 바와 같이, 유사도 스코어링 서브시스템(260)은, 형태 클래스 테이블(272)의 빈 엔트리들(275)에 의해 표시되는 바와 같이, 형태 클래스 데이터베이스(270)의 형태 클래스 호환성 규칙들에 기반한 비교에 부적절한 CCG 형태를 갖는 다른 의미 표현과 그 의미 표현을 비교하지 않는다.In general, the
다른 실시예들에서, 유사도 스코어링 서브시스템은 일부 실시예들에서 0의 유사도 스코어를 비교불가능한 쌍들의 의미 표현들에 즉시 할당할 수 있다. 추가적인 실시예들에서, 유사도 스코어링 서브시스템(260)은 유사도 스코어링 서브시스템(260)으로 하여금 비교가능하지 않은 의미 표현들 사이에 0의 유사도 스코어를 생성하게 하는 함수들(280)을 갖는 수학적 비교 함수 리스트(278)를 구현함으로써 비교를 수행할 수 있다. 이러한 실시예들에서, 수학적 비교 함수 리스트들(278)은 자연스럽게 유사도 스코어링 서브시스템(260)으로 하여금 의미 표현(262, 264)과의 비교에 부적절한 CCG 형태들을 갖는 의미 표현들(158)에 0 또는 널 유사도 스코어들을 할당하게 할 수 있기 때문에, 형태 클래스 테이블(272)은 형태 클래스 테이블(272)의 각각의 엔트리(275)에 적절한 수학적 비교 함수 리스트(278)를 포함할 수 있다.In other embodiments, the similarity scoring subsystem may in some embodiments immediately assign a similarity score of zero to semantic representations of uncomparable pairs. In further embodiments,
또한, 특정 실시예들에서, 유사도 스코어링 서브시스템(260)은 발화 의미 모델(160)로부터 발화(266)의 복수의 표현의 표현들을 수신할 수 있다. 예를 들어, 의미 표현들(262, 264)은 발화(266)에 대한 대안적인 형태들을 나타내는 것으로서 발화 의미 모델(160) 내에 포함될 수 있다. 일반적으로, (의미 추출 서브시스템(150)에 의해 생성되고 발화 의미 모델(160)에 포함된) 의미 표현들(262, 264) 각각은 발화(266)의 아티팩트들에 대응하는 적절히 구별되는 의미 표현을 나타낸다. 의미 표현들(262, 264)의 각각의 비교가능한 쌍을 고려함으로써, 본 실시예의 유사도 스코어링 서브시스템(260)은 대응하는 추출된 아티팩트들(140)에 대한 더 철저한 검색을 제공하거나, 대응하는 추출된 아티팩트들에 대한 더 큰 네트를 만들기 위해 발화(266)의 복수의 해석을 평가할 수 있다.Further, in certain embodiments,
특정 예를 논의하기 위해 도 6을 간단히 참조하면, 특정 실시예들의 의미 추출 서브시스템(150)은 발화(266) "북 미팅"이 "예약 요청 또는 미팅 스케줄링"에 대응하는 제1 대안 의미 표현 및 "북에 관한 미팅"에 대응하는 제2 대안 의미 표현을 갖는 것으로 결정할 수 있다. 의미 추출 서브시스템(150)은 그 후 이들 대안 의미 표현들을 발화 의미 모델(160) 내에 통합할 수 있다. 이들 대안 의미 표현들 모두를 의미 검색 서브시스템(152)을 통해 유사도 스코어링 프로세스의 나중 단계들에 전파함으로써, 유사도 스코어링 서브시스템(260)은 적절한 추출된 아티팩트들(140)의 식별을 가능하게 하는 적절한 수학적 비교 함수 리스트(278)를 식별할 가능성이 더 크다.6 to discuss a specific example, the
유사도 스코어링 서브시스템(260)의 구성요소들의 위의 설명을 염두에 두고, 도 10은 유사도 스코어링 서브시스템(260)이 도 9의 제1 의미 표현(262)과 도 8의 검색 공간(250)의 의미 표현들(158) 사이의 비교를 가능하게 하는 수학적 비교 함수 리스트들(278) 중 하나를 검색하는 프로세스(300)의 실시예를 예시하는 흐름도이다. 프로세스(300)는 의미 검색 서브시스템(152)의 유사도 스코어링 서브시스템(260)에 의해 고려되는 각각의 발화 기반 의미 표현(162)에 대해 병렬로 반복되거나 개별적으로 처리될 수 있다는 것을 이해해야 한다. 전술한 바와 같이, 그 안에 유사도 스코어링 서브시스템(260)을 포함하는 의미 검색 서브시스템(152)은 의미 추출 서브시스템(150)에 의해 정의되는 발화 의미 모델(160)로부터 발화(266)에 대한 의미 표현(262)을 수신할 수 있다. 유사도 스코어링 서브시스템(260)은 다른 실시예들에서 의미 추출 서브시스템(150)으로부터 직접적으로 의미 표현(262)을 검색할 수 있다. 의미 추출 서브시스템(150)의 일부로서 예시 및/또는 설명되는 단계들은 적절한 메모리(예를 들어, 메모리(86))에 저장될 수 있고, (예를 들어, 데이터 센터(22) 내의) 클라이언트 인스턴스(42) 또는 (예를 들어, 클라우드 기반 플랫폼(20)에 의해 호스팅되는) 기업 인스턴스(125)와 연관된 적절한 프로세서(예를 들어, 프로세서(82))에 의해 실행될 수 있다.With the above description of the components of the
이와 같이, 프로세스(300)의 예시된 실시예를 시작하는 유사도 스코어링 서브시스템(260)은 의미 표현(262)의 CCG 형태(304)(예를 들어, 인지 구축 문법 형태)를 결정한다(블록 302). 전술한 바와 같이, CCG 형태(304)는 노드들 내의 토큰들(예를 들어, 단어들 또는 구들)의 품사 주석부기들 또는 태깅들과 관련하여 분석된, 의미 표현(262)의 노드들에 의해 형성된 형상의 임의의 적절한 설명일 수 있다. 예를 들어, 유사도 스코어링 서브시스템(260)은 의미 표현(262)이 동사-대명사-명사 구, 명사-동사-직접 형용사 구, 명사-동사-부사 구 등에 대응하는 CCG 형태(304)를 갖는다는 것을 식별할 수 있다.As such,
본 실시예에서, 유사도 스코어링 서브시스템(260)은 한 세트의 처리 규칙들(306)(예를 들어, 형태 처리 규칙들)을 적용하고 한 세트의 처리 규칙들(306)에 대한 그 대응관계에 기반하여 CCG 형태(304)를 의미 표현(262)에 할당함으로써 의미 표현(262)에 대한 CCG 형태(304)를 결정한다. 다른 실시예들에서, 유사도 스코어링 서브시스템(260)은 임의의 다른 적절한 방식을 통해, 예를 들어 의미 추출 서브시스템(150)으로부터 CCG 형태(304)를 수신함으로써 또는 ML 기반 패턴 매칭 기술들에 의해 CCG 형태(304)를 결정할 수 있다. ML 기반 패턴 매칭의 예로서, 유사도 스코어링 서브시스템(260)은 의미 표현(262)의, 품사 태그들을 갖는 형상을 이해 모델(157)의 의미 표현들(158)과 비교하여 이들 사이의 유사도들을 식별함으로써 의미 표현(262)에 대한 적절한 또는 가장 가까운 매칭 CCG 형태(304)를 결정할 수 있다. 이해되는 바와 같이, 유사도 스코어링 서브시스템(260)은 의미 표현(262)의 CCG 형태(304)의 결정을 가능하게 하는 임의의 적절한 플러그-인 또는 다른 처리 구성요소들을 포함할 수 있다.In this embodiment,
의미 표현(262)에 대한 CCG 형태(304)가 식별되면, 유사도 스코어링 서브시스템(260)은 형태 클래스 데이터베이스(270)로부터 CCG 형태(304)에 대한 0개, 1개 또는 복수의 매칭 형태 클래스(312)를 결정한다(블록 310). 매칭 형태 클래스들(312)은 형태 클래스 데이터베이스(270)의 테이블-유형 실시예들 등에 질의함으로써 패턴 매칭에 의해 식별될 수 있다. 보다 상세하게는, 본 실시예들의 유사도 스코어링 서브시스템(260)은 그 안에 수학적 비교 함수 리스트들(278)을 갖는 형태 클래스 테이블(272) 내에서 대응하는 엔트리들(275)을 찾고, 이에 의해 의미 표현(262)이 어떤 형태 클래스들과 비교될 수 있는지를 결정한다. 실제로, 앞서 언급한 바와 같이, 특정의 CCG 형태(304)에 대한 형태 클래스 테이블(272)의 각각의 엔트리(275)는 의미 표현(262)의 CCG 형태(304)와 비교될 수 있는 각각의 CCG 형태에 대한 수학적 비교 함수 리스트들(278) 중 하나(예를 들어, 형태 클래스 호환성)는 물론, 유사도가 계산될 수 있는 함수 세트(280)를 포함할 수 있다.Once the
따라서, 프로세스(300)를 따르는 유사도 스코어링 서브시스템(260)은 의미 표현(262)의 CCG 형태(304)와 각각의 엔트리(275)(예를 들어, 각각의 매칭 형태 클래스(312))와 연관된 다른 의미 표현의 CCG 형태 사이의 식별된 매치를 나타내는 각각의 수학적 비교 함수 리스트(278)를 형태 클래스 테이블(272)의 각각의 엔트리(275)로부터 검색한다(블록 314). 본 실시예에서, 유사도 스코어링 서브시스템(260)은 하나의 매칭 형태 클래스(312)를 식별하고 하나의 수학적 비교 함수 리스트(278)를 출력하지만, 임의의 다른 적절한 수의 수학적 비교 함수 리스트들(278)이 형태 클래스 매치들의 수에 따라 검색될 수 있다는 것을 이해해야 한다. 예를 들어, 유사도 스코어링 서브시스템(260)은 의미 표현(262)을 동일한 CCG 형태(304)를 갖는 의미 표현과 비교하는 방법을 지시하는 제1 수학적 비교 함수 리스트(278)뿐만 아니라, 의미 표현(262)과 상이한 CCG 형태(304)를 갖는 다른 의미 표현 사이의 비교를 가능하게 하는 제2 수학적 비교 함수 리스트(278)를 검색할 수 있다.Accordingly, the
수학적 비교 함수 리스트(278)의 이용을 예시하기 위해, 도 11은 의미 표현(262)을 (예를 들어, 검색 공간(250)의) 검색 공간 의미 표현(330)과 비교하기 위해 하나의 수학적 비교 함수 리스트(278)를 이용하는 의미 검색 서브시스템(152)의 유사도 스코어링 서브시스템(260)의 실시예의 도면이다. 본 실시예에서, 검색 공간 의미 표현(330)은 검색 공간(250)의 의미 표현들(158) 중 하나이지만, 본 기술들은 임의의 적절한 의미 표현들을 비교하는데 이용될 수 있다는 것을 이해해야 한다. 전술한 바와 같이, 수학적 비교 함수 리스트(278)는 수학적 비교 함수 리스트(278) 내에 더 깊게 위치된 함수들(280) 내의 비교된 의미 표현들(262, 330)로부터 더 많은 계산 자원들 및/또는 데이터(예를 들어, 더 많은 수의 노드들)를 점진적으로 이용하는 함수들(280)의 순서화된 세트를 포함한다. 본 명세서에서 인식되는 바와 같이, 수학적 비교 함수 리스트(278)는 먼저 덜 계산적으로 비싼 함수들(280)로 순서화되고, 검색 공간(250)에 포함될 잠재적인 의미 표현들(158)이 전지됨에 따라 더 비싼 함수들을 활용하도록 진행한다. 이와 같이, 유사도 스코어링 서브시스템(260)은 일반적으로 후속하여 이용되고 그리고 더 비싼 함수들(280)을 통해 더 정확한 유사도 스코어들(340)(예를 들어, 예측 유사도 스코어들)을 결정한다.To illustrate the use of mathematical
예를 들어, 제1 비교(350) 동안, 유사도 스코어링 서브시스템(260)은 의미 표현(262)의 루트 노드(354)를 검색 공간 의미 표현(330)의 검색 공간 루트 노드(356)와 비교하기 위해 제1 함수(352)를 구현할 수 있다. 전술한 바와 같이, 제1 함수(352)는 수학적 비교 함수 리스트(278)의 가장 덜 비싼 함수(280)이다. 유사도 스코어링 서브시스템(260)은 그 후 의미 표현들(262, 330) 사이의 국소적(예를 들어, 낮은 깊이의 계산하기에 가장 저렴한) 유사도를 설명하는 제1 유사도 스코어(360)를 결정할 수 있다. 제1 함수(352)가 수학적 비교 함수 리스트(278)의 가장 덜 비싼 함수(352)인 것을 고려하면, 루트 노드들(354, 356)은 제1 함수(352)를 통해 비교된 의미 표현들(262, 330)의 부분들의 예들이며, 각각의 의미 표현(262, 330)의 전체를 포함하는 다른 부분들이 제1 비교(350)에서 비교될 수 있다는 것을 이해해야 한다. 유사도 스코어들(340)은 0 내지 1, 0 내지 5, 0 내지 10 등의 유사도 스코어링 범위 내에서 할당된 값과 같은, 2개의 의미 표현에 대한 품사 태그들을 포함하는 형태 사이의 유사도 또는 대응관계의 임의의 적절한 수학적 표현일 수 있다. 적어도 유사도 스코어들(340)이 2개의 의미 표현의 고려된 부분들 사이의 포괄적인 의미 및 형태 기반 유사도를 설명하기 때문에, 본 명세서에 설명된 유사도 스코어들(340)은 2개의 의도 벡터 사이에서 결정된 전술한 유사도 척도들과 별개라는 것을 이해해야 한다.For example, during
도 11의 본 실시예에서, 제1 비교(350) 동안 평가된 루트 노드들(354, 356)은 속이 빈 원들로 도시되어 있다. 속이 찬 원들로 도시된 바와 같이, 의미 표현들(262, 330)의 남아 있는 의존 노드들은 제1 비교(350) 동안 효과적으로 "커버"(예를 들어, 고려되지 않음)된다. 이 방법론을 이하에서 논의되는 후속 비교들로 확장하면, 각각의 비교에서 속이 빈 원들로 도시된 노드들(예를 들어, 고려된 노드들(362))은 각각의 비교에서 평가되는 반면, 속이 찬 원들로 도시된 노드들(고려되지 않은 노드들(364))은 평가되지 않는다.In the present embodiment of FIG. 11 , the
일반적으로, 유사도 스코어링 서브시스템(260)은 수학적 비교 함수 리스트(278) 내에서 나중에 위치되는 더 확장적이고 계산적으로 비싼 비교들이 검색 공간(250)의 중점 부분에 대해 수행될 수 있게 하기 위해 가장 덜 비싼 것으로부터 가장 비싼 것까지의 함수들(280)의 순서를 활용한다. 일부 실시예들에서, 유사도 스코어링 서브시스템(260)은 유사도 스코어링 서브시스템(260)이 후속 비교들을 통해 진행함에 따라 의미 표현들(262, 330)의 더 많은 노드들을 선택적으로 "언커버링"(예를 들어, 고려)할 수 있다.In general,
예를 들어, 제1 유사도 스코어(360)를 결정한 후에, 본 실시예의 유사도 스코어링 서브시스템(260)은 증가된 수의 고려된 노드들(362)에 기반하여 더 정확한 제2 유사도 스코어(372)를 생성하는 제2 비교(370) 내에서 제2 함수(368)를 구현하는 것으로 진행한다. 그 후, 유사도 스코어링 서브시스템(260)은 동일한 수의 노드들을 고려하고, 고려된 노드들(362)과 연관된 단어 벡터들의 더 많은 수의 차원들을 고려함으로써, 더 비싸고, 외부 데이터베이스, 또는 임의의 다른 적절한 함수들 또는 연산들을 참고하는 제3 함수(378)를 통해 추가의 정확한 제3 유사도 스코어(376)를 생성하는 제3 비교(374)를 수행한다. 유사도 스코어링 서브시스템(260)은 일반적으로 이용되는 가장 비싼 함수(280)일 수 있는 제4 함수(384)를 통해 가장 정확한 최종 유사도 스코어(382)를 생성하는 최종 비교(380)를 후속하여 수행한다. 의미 표현들(262, 330) 사이의 예시적인 비교들(350, 370, 374, 380)에 관한 더 많은 상세들이 아래에 제공된다.For example, after determining the first similarity score 360 , the
또한, 도시되지는 않았지만, 유사도 스코어링 서브시스템(260)은 맥락-의존 방식으로 유사도 스코어에 대한 다양한 품사 기여도들을 조정하기 위해 비교들 내에서 (예를 들어, ML 기술들로부터 도출된) 가중치들 또는 계수들을 구현할 수 있다는 것을 이해해야 한다. 예를 들어, 검색 엔진 요청들을 처리하기 위해, 유사도 스코어링 서브시스템(260)은 명사들 또는 동사들에 대한 수식어들의 기여도를 증가시킬 수 있다. 대안적으로, NLU 프레임워크(104)의 챗봇 실시예에 제공되는 구매 주문 요청들 동안, 유사도 스코어링 서브시스템(260)은 수식어들 또는 동사들에 대한 명사들의 기여도를 증가시킬 수 있다. 일부 실시예들에서, 유사도 스코어링 서브시스템(260)은 동작 동안 NLU 프레임워크(104) 내의 의미 표현들(158)로부터 가중치들을 학습하고, 따라서 시간이 지남에 따라 더 담화가 되도록 개발될 수 있다.Also, although not shown,
본 명세서에서 인식되는 바와 같이, 특정 실시예들의 유사도 스코어링 서브시스템(260)은 또한 의미 표현들의 서브트리 벡터들의 적절한 조합들을 비교함으로써 상이한 크기들을 갖는 2개의 의미 표현 사이의 유사도를 분석할 수 있다. 예를 들어, 유사도 스코어링 서브시스템(260)은 더 짧은 의미 표현에서 비교가능한 대응물을 갖지 않는 더 긴 의미 표현의 노드들의 서브트리 벡터에 대한 조합(예를 들어, 중심 또는 가중 평균)을 결정할 수 있다. 따라서, 이러한 실시예들의 유사도 스코어링 서브시스템(260)은 본 기술들에 따라, 더 짧은 의미 표현에 대한 수정된 의미 표현(비교가능한 노드들 대신에 비교를 포함함)을 분석할 수 있다.As will be appreciated herein,
특정 실시예들에서, 유사도 스코어링 서브시스템(260)은 의미 표현(262, 330)의 특정 내용, 유사도 스코어링 서브시스템(260)이 동작하고 있는 특정 맥락, 유사도 스코어링 프로세스의 원하는 세분성 등에 기반하여 하나, 다른 하나 또는 둘 다의 의미 표현(262, 330)에 대한 고려된 노드들의 부분을 확장하기 위해 함수들(280)의 특정한 상호의존적 실시예들을 적용할 수 있다. 예를 들어, 특정 심층 유사도 스코어링 프로세스가 요구되는 경우, 유사도 스코어링 서브시스템(260)은 검색 공간 의미 표현(330)에 대해 동일한 것을 행하지 않고 의미 표현(262)의 고려된 노드들(362)의 수를 확장할 수 있다. 다음 비교 동안, 유사도 스코어링 서브시스템(260)은 고려된 노드들(362)의 각각의 순열을 평가하기 위해 의미 표현(262)의 고려된 노드들(362)을 확장 해제하고 검색 공간 의미 표현(330)의 고려된 노드들(362)을 확장할 수 있다. 신속한 유사도 스코어링 프로세스가 수행되는 다른 실시예들에서, 유사도 스코어링 서브시스템(260)은 대안적으로 각각의 비교에 대해 둘 다의 의미 표현들(262, 330)의 고려된 노드들(362)을 확장할 수 있다. 또한, 의미 표현들(262, 330)은 동일한 형태들 및 길이들을 갖는 것으로 도시되어 있지만, 유사도 스코어링 서브시스템(260)은 동일하지 않은 형태들 및/또는 길이들을 갖는 임의의 적절한 의미 표현들을 반복적으로 비교할 수 있다는 것을 이해해야 한다.In certain embodiments,
또한, 일부 상황들에서, 발화(266)의 의미 표현(262)은 넓은 명사-주도 CCG 형태 및 더 특정적인 CCG 형태(예를 들어, 명사-형용사-동사) 둘 다와 같은 복수의 CCG 형태들(304)에 대응한다는 것이 또한 인식된다. 이와 같이, 특정 실시예들의 유사도 스코어링 서브시스템(260)은 의미 표현(262)이 맞는 형태 클래스 데이터베이스(270)에 의해 지원되는 복수의 형태 클래스들을 식별할 수 있다. 이러한 실시예들에서, 유사도 스코어링 서브시스템(260)은 의미 표현(262)을 설명하는 각각의 CCG 형태(304)에 대한 유사도 스코어들을 유리하게 생성할 수 있다. 그 후, 유사도 스코어링 서브시스템(260)은 의미 표현(262)의 각각의 할당된 CCG 형태에 대한 유사도 스코어들을 집계하여, 의미 검색의 범위를 증가시킴으로써 에이전트 자동화 시스템(100)의 동작을 개선할 수 있다.Also, in some situations, the
어느 경우에나, 유사도 스코어링 서브시스템(260)은 의미 표현의 각각의 CCG 형태에 대한 유사도 스코어들에 조정 함수를 적용할 수 있고, 따라서 의미 표현(262)의 복수의 CCG 형태(304) 해석들로 수행된 비교들로부터 각각의 유사도 스코어링 결과들을 조정(예를 들어, 통합)할 수 있다. 조정 함수는 특정 실시예들에서, 형태 클래스 데이터베이스(270) 내에 저장될 수 있다. 본 명세서에서 인식되는 바와 같이, 조정 함수는 유사도 스코어링 서브시스템(260)이 예를 들어 유사도 스코어의 최대 또는 가중 평균을 유지함으로써, 의미 표현(262)의 CCG 형태(304)의 단일 해석으로부터 기인하는 한계들을 초월하는 집계 정밀화된 유사도 스코어(예를 들어, 집계 유사도 스코어)를 생성하고 이를 출력할 수 있게 한다. 또한, 특정 실시예들의 조정 함수는 각각의 클라이언트에 대해, 유사도 스코어링 서브시스템(260)이 동작하는 각각의 도메인에 있어서, CCG 형태들(304)의 각각의 조합에 대해 개별적으로 맞춤화될 수 있다.In any case,
도 12는 유사도 스코어링 서브시스템(260)이 수학적 비교 함수 리스트(278)를 이용하여 검색 공간(250)으로부터 매칭 의미 표현들을 반복적으로 식별할 수 있는 프로세스(400)의 실시예를 도시하는 흐름도이다. 전술한 바와 같이, 검색 공간(250)은 적어도 하나의 이해 모델(157)의 의미 표현들(162)에 의해 정의된다. 이해되는 바와 같이, 프로세스(400)는 유사도 스코어링 서브시스템(260)이 (위에서 소개된 의미 표현(262)에 대응하는) 발화 의미 모델(160)의 각각의 의미 표현들(162)과 검색 공간(250) 내의 방대한 수의 의미 표현들(158) 사이의 유사도를 예측적으로 평가할 수 있게 한다. 프로세스(400)는 도 3, 도 4a 및 도 4b와 관련하여 전술한 바와 같이 클라이언트 인스턴스(42) 또는 기업 인스턴스(125)와 연관된 적절한 프로세서(예를 들어, 프로세서(들)(82))에 의해 실행되고 적절한 메모리(예를 들어, 메모리(86))에 저장될 수 있다.12 is a flow diagram illustrating an embodiment of a
구체적으로, 도시된 실시예의 유사도 스코어링 서브시스템(260)은 for-each 루프로 발화 의미 모델(160)의 각각의 의미 표현(262)을 통해 반복한다(블록 402). 유사도 스코어링 서브시스템(260)은 각각의 CCG 형태(304)에 대해 정밀화된 유사도 스코어(414)의 생성을 가능하게 하는 for-each 루프 대신에 임의의 다른 적절한 처리 스킴을 구현할 수 있다는 것을 이해해야 한다. 예를 들어, 유사도 스코어링 서브시스템(260)은 대안적으로 do-while 루프, for 루프, while 루프, do-until 루프 등을 구현할 수 있다. 어쨌든, 발화 의미 모델(160)의 각각의 의미 표현(262)에 대해, 유사도 스코어링 서브시스템은 각각의 의미 표현(262)의 CCG 형태를 결정하고(블록 404), 형태 클래스 데이터베이스(270)로부터 연관된 수학적 비교 함수 리스트(278)를 검색한다. CCG 형태에 기반하여 프로세스(400)에 대한 반복 파라미터들을 초기화할 때, 유사도 스코어링 서브시스템(260)은 또한 수학적 비교 함수 리스트(278)의 제1 함수(280)를 선택하고(블록 406), 관심 있는 검색 부분 공간을 처음에 전체 검색 공간(250)이 되도록 정의한다.Specifically, the
예시된 실시예에 있어서, 프로세스(400)는 사용자 발화(122)로부터 도출된 의미 표현(262)을 검색 부분 공간의 비교가능한 의미 표현들(158)과 비교하여(블록 410), 검색 부분 공간의 비교가능한 의미 표현들에 대한 의미 표현(262)의 비교들에 대응하는 유사도 스코어들의 세트(412)를 생성한다. 일부 실시예들에서, 유사도 스코어링 서브시스템(260)은 비교된 의미 표현들의 의미 벡터들(예를 들어, 서브트리 벡터들) 사이의 거리에 기반하여 유사도 스코어들의 세트(412)를 결정할 수 있다. 언급된 바와 같이, 제1 함수(352)를 구현하는 유사도 스코어링 서브시스템(260)은 최소량의 계산 자원들을 이용한다. 이와 같이, 유사도 스코어링 서브시스템(260)은 사용자 발화의 의미 표현을 검색 공간 또는 이해 모델에서의 각각의 의미 표현과 체계적으로 비교하기 위해 단일 복잡도 비교 함수를 이용할 수 있는 다른 검색 시스템들보다 이 초기 CCG 형태 검색 및 유사도 스코어링을 더 신속하게 그리고/또는 효율적으로 수행할 수 있다.In the illustrated embodiment, the
예를 들어, 이제 도 13을 참조하면, 도 13은 수학적 비교 함수 리스트(278)를 적용하여 검색 공간(250)을 적절한 검색 부분 공간들(502)로 선택적으로 정밀화하는 유사도 스코어링 서브시스템(260)의 실시예의 개략도를 도시한다. 예를 들어, 제1 비교(500) 동안, 유사도 스코어링 서브시스템(260)은 제1 함수(352)를 적용하여, 검색 공간(250)의 전체인 것으로 초기화되는, 검색 부분 공간(502) 내의 비교가능한 의미 표현들(158)과 의미 표현(262)을 비교할 수 있다. 본 명세서에서 인식되는 바와 같이, 가장 덜 정확하고 가장 효율적인 함수(352)의 이러한 적용은 유사도 스코어링 서브시스템(260)이 검색 부분 공간(502)에 걸쳐 제1 패스 검색을 효율적으로 수행할 수 있게 한다. 본 실시예에서, 제1 함수(352)는 의미 표현(262)의 루트 노드(354)를 고려하지만, 의미 표현(262)의 다른 적절한 부분(예를 들어, 다른 노드들 또는 노드들의 조합들)이 제1 함수(352)를 통해 분석될 수 있다는 것을 이해해야 한다.For example, referring now to FIG. 13 , which is a
도 12로 돌아가서, 유사도 스코어링 서브시스템(260)은 검색 부분 공간(502)으로부터 의미 표현들(158)을 제거하거나 전지하고(블록 414), 전지된 의미 표현들(158)은 임계 유사도 스코어(예를 들어, 미리 결정된 임계 스코어) 미만인 세트(412)의 유사도 스코어들을 갖는다. 특정 실시예들에서, 임계 유사도 스코어는 유사도 스코어링 서브시스템(260) 내에 파라미터로서 저장되는 가능한 유사도 스코어들의 범위 내의 미리 정의된 값이다. 따라서, 유사도 스코어링 서브시스템(260)은 후속 함수들(280)을 검색 부분 공간(502)의 감소된 수의 의미 표현들(158)에 효율적으로 적용하기 위해 검색 부분 공간(502)을 축소시킬 수 있다. 실제로, 도 14로 돌아가서, 검색 부분 공간(502)은 제1 비교(500) 후에 좁혀져서(예를 들어, 수축되고, 잘라내져서), 임계치 미만인 세트(412)의 유사도 스코어와 연관되는 의미 표현들(158)을 검색 부분 공간(502)으로부터 제거한다.12 ,
일부 실시예들에서, 유사도 스코어링 서브시스템(260)은 임계 유사도 스코어로서 사용자 정의 값을 수신하여, 검색 부분 공간(502)의 의미 표현들(158)이 무시되는 그 미만인 임계치를 교정한다. 유사도 스코어링 서브시스템(260)은 또한, 유사도 스코어링 서브시스템(260)이 현재 동작하고 있는 특정 맥락 등에 기반하여, ML 기술들에 기반하여 임계 유사도 스코어를 업데이트할 수 있다. 예를 들어, 유사도 스코어링 서브시스템(260)은 특정 검색 부분 공간(502)이 매우 큰 맥락들에 대해 비교적 높은 또는 선택적인 임계 유사도 스코어(예를 들어, 적어도 90% 매치)를 구현하고/하거나 예측 유사도 스코어링 프로세스를 더욱 가속화할 수 있다. 또한, 임계 유사도 스코어는 각각의 함수(280)가 적용된 후에 개별적으로 선택되거나 업데이트될 수 있다. 더 상세하게는, 본 명세서에 개시된 유사도 스코어링 서브시스템(260)은, 이전 비교에서 임계 수보다 더 많은 의미 표현들(158)이 임계 유사도 스코어를 충족시켰다고 결정하는 것에 응답하여 후속 비교를 위해 임계 유사도 스코어의 값 또는 선택도를 감소시킬 수 있다.In some embodiments,
도 12의 프로세스(400)로 돌아가서, 유사도 스코어링 서브시스템(260)은 블록(410)에 의해 제시된 CCG 형태 검색이 계속될 것인지를 결정한다(블록 416). 본 명세서에서 인식되는 바와 같이, 유사도 스코어링 서브시스템(260)은 하나 또는 복수의 적절한 정지 조건이 충족되는 것에 기반하여 CCG 형태 검색을 계속하기로 결정할 수 있다. 예를 들어, 유사도 스코어링 서브시스템(260)은 각각의 의미 표현이 검색 부분 공간(502)으로부터 전지되는 것(예를 들어, 어떠한 매치들도 없음을 나타냄), 임계 수의 의미 표현들이 검색 부분 공간 내에 남아 있는 것(예를 들어, 가장 가능성 있는 매치들을 나타냄), 최근에 적용된 함수(280)가 함수(280) 내의 임베딩된 정지 조건들이 충족되었음을 표시하는 것, 수학적 비교 함수 리스트(278)의 모든 함수들(280)이 적용되었던 것 등에 응답하여 CCG 형태 검색을 종료할 수 있다.Returning to process 400 of FIG. 12 ,
블록(416)에서 CCG 형태 검색이 계속되어야 한다고 결정하는 것에 응답하여, 유사도 스코어링 서브시스템(260)은 수학적 비교 함수 리스트(278)의 다음 함수(280)를 선택한다(블록 420). 그 후, 화살표(422)에 의해 표시되는 바와 같이, 유사도 스코어링 서브시스템(260)은 블록(410)으로 복귀하여 검색 부분 공간(502)의 남아 있는 비교가능한 의미 표현들(158)과 의미 표현(262)을 비교한다. 따라서, 유사도 스코어링 서브시스템(260)은 수학적 비교 함수 리스트(278)의 더 비싼 함수(280)를 이용함으로써 검색 부분 공간(502)의 남아 있는 비교가능한 의미 표현들과 연관된 유사도 스코어들의 세트(412)를 정밀화(예를 들어, 수정, 업데이트)한다. 각각의 비교 후에, 유사도 스코어링 서브시스템(260)은 프로세스(400)를 통해 생성된 유사도 스코어들의 다양한 세트들(412)의 어레이를 저장할 수 있거나, 또는 대안적으로, 세트(412)의 각각의 이전에 생성된 유사도 스코어를 그것의 더 정확한 대응물로 대체할 수 있다. 실제로, 후속 함수들(280)의 적용 동안 더 많은 처리 자원들이 이용되기 때문에, 유사도 스코어들의 세트(412)는 일반적으로 더 많은 함수들(280)이 적용됨에 따라 정확도 및/또는 정밀도가 개선된다. 유사도 스코어들의 세트(412)에 기반하여, 예시된 프로세스(400)를 수행하는 유사도 스코어링 서브시스템(260)은 임계 유사도 스코어 미만인 세트(412)의 각각의 유사도 스코어들과 연관된 의미 표현들(158)의 검색 공간(250)을 전지한다(블록 404).In response to determining at
도 13을 다시 참조하면, 유사도 스코어들의 세트(412)를 정밀화하고 검색 부분 공간(502)을 전지하기 위해, 유사도 스코어링 서브시스템(260)은 제2 함수(368)를 적용하여 크기가 감소된 검색 부분 공간(502) 내의 남아 있는 의미 표현들(158)과 의미 표현들(262)을 비교한다. 따라서, 유사도 스코어링 서브시스템(260)은 검색 부분 공간(502)을 임계 유사도 스코어를 충족시키는 적절한 후보들로 추가로 축소시킬 수 있다. 특정 실시예들에서, 함수(180)의 구조는 예를 들어 수학적 비교 함수 리스트(278)의 함수들(280) 내의 용어들에 본래 기반하여, 비교된 의미 표현들의 각각의 노드들의 언커버링 또는 확장을 안내한다. 예를 들어, 제1 함수(352)는 의미 표현의 루트 노드(354)를 검색 부분 공간(502)의 의미 표현들(158)과 비교하는 단일 용어를 포함할 수 있는 반면, 제2 함수(368)는 의미 표현(262)의 확장된 부분을 의미 표현들(158)과 비교하는 하나 또는 복수의 용어를 포함할 수 있다.Referring back to FIG. 13 , in order to refine the
따라서, 유사도 스코어링 서브시스템(260)은 주어진 비교를 위해 검색 부분 공간(502)의 존속하는(예를 들어, 빔 내) 의미 표현들(158)에 점진적으로 더 정확하고 더 비싼 함수들(280)을 반복적으로 적용한다. 도 13과 관련하여 도 12의 프로세스(400)의 논의를 계속하면, 유사도 스코어링 서브시스템(260)은 제3 비교(516) 동안 제3 함수(378)를 구현하여 의미 표현(262)의 동일한 언커버링된 부분(510)을 검색 부분 공간(502)의 추가로 전지된 실시예 등과 비교할 수 있다. 이와 같이, 본 실시예의 유사도 스코어링 서브시스템(260)은 최종 비교(524) 동안 최종 함수(384)를 구현하여 의미 표현(262)의 전체(526)를 검색 부분 공간(502)의 최종 실시예와 비교하도록 설계됨으로써, 현저하게 감소된 수의 남아 있는 의미 표현(158) 후보들에 대한 가장 계산적으로 집약적인 최종 함수(384)의 이용을 보존한다. 실제로, 특정 경우들에서, 도 13의 최종 비교(524)는 의미 표현(262) 내에서 이용가능한 정보의 전체를 활용하여, 의미 표현(262)과 적절히 매칭하는 검색 공간(250)으로부터의 의미 표현들(158)의 세트를 생성할 수 있다. 다른 실시예들에서, 전술한 바와 같이, 최종 함수(384)는 외부 언어 모델에 질의하는 것과 같은 임의의 다른 적절한 자원 집약적인 프로세스를 통해 의미 표현(262)의 일부를 고려할 수 있다.Accordingly, the
이와 같이, 도 12로 돌아가서, 유사도 스코어링 서브시스템(260)은 블록(416)에서 CCG 형태 검색의 정지 조건들이 충족되었다고 결정하고, 그 후 검색 부분 공간(502)으로부터 식별된 매칭 의미 표현들의 세트(430)를 출력할 수 있다. 따라서, 유사도 스코어링 서브시스템(260)은 추출된 아티팩트들(140)의 후속 결정을 위해 매칭 의미 표현들의 세트(430)를 효율적으로 식별하고 이를 NLU 프레임워크(104)의 다른 구성요소들에 제공할 수 있다.As such, returning to FIG. 12 , the
본 개시내용의 기술적 효과들은 샘플 발화들로부터 도출된 의미 표현들로 채워진 검색 공간을 능숙하게 좁힐 수 있는(예를 들어, 윈도잉할 수 있는) 의미 검색 서브시스템을 구현하는 에이전트 자동화 프레임워크를 제공함으로써, 수신된 사용자 발화의 의미 표현과 적절히 매칭하는 의미 표현들의 식별을 개선하는 것을 포함한다. 본 실시예들은 특히 CCG 기술들을 통해 의미 표현들을 효율적이고 예측적으로 비교하는 의미 검색 서브시스템의 유사도 스코어링 서브시스템에 관한 것이다. 즉, 특정 의미 표현의 식별된 CCG 형태에 기반하여, 유사도 스코어링 서브시스템은 의미 표현들 사이의 유사도의 정량화들을 가능하게 하는 수학적 비교 함수 리스트를 결정할 수 있다. 이러한 리스트의 비교 함수들은 유사도 스코어링 서브시스템이 의미 표현들 사이의 가장 효율적이고 가장 덜 비싼 비교들을 수행하고 이들 사이의 유사한 스코어들을 결정할 수 있게 하기 위해 시간순으로 순서화된다. 유사도 스코어들에 기반하여, 유사도 스코어링 서브시스템은 검색 공간 내의 특히 유사한 의미 표현들을 반복적으로 식별하고, 이러한 의미 표현들에 대한 검색 공간을 전지(예를 들어, 축소, 감소)하고, 그 후 의미 표현들의 동일한 수 또는 증가된 수의 노드들에 대해 더 계산적으로 집약적인 비교 함수들을 구현할 수 있다. 즉, 선택적 노드 언커버링의 반복적 적용 및/또는 자원 이용의 증가는 일반적으로 점점 더 복잡한 비교 함수들을 통해, 비교된 의미 표현들의 더 많은 데이터를 고려하면서, 검색 공간 내의 잠재적으로 매칭하는 의미 표현들을 좁힌다. 이와 같이, 예측 유사도 스코어링을 위한 본 기술들은 NLU 프레임워크가 아티팩트들을 효율적으로 추출할 수 있게 하는 의미 표현 매치들의 타겟화된 발견을 가능하게 하면서, 계산 오버헤드를 복수의 사용자들과의 기업 레벨 자연어 관여에 적절한 레벨로 감소시킨다.Technical effects of the present disclosure provide an agent automation framework implementing a semantic search subsystem capable of skillfully narrowing (eg, windowing) a search space filled with semantic expressions derived from sample utterances. thereby improving the identification of semantic expressions that properly match the semantic expression of the received user utterance. The present embodiments particularly relate to a similarity scoring subsystem of a semantic retrieval subsystem that efficiently and predictively compares semantic expressions via CCG techniques. That is, based on the identified CCG form of a particular semantic expression, the similarity scoring subsystem may determine a list of mathematical comparison functions that enable quantifications of the similarity between the semantic expressions. The comparison functions in this list are ordered chronologically to enable the similarity scoring subsystem to perform the most efficient and least expensive comparisons between semantic expressions and determine similar scores between them. Based on the similarity scores, the similarity scoring subsystem iteratively identifies particularly similar semantic expressions within the search space, prunes (eg, reduces, reduces) the search space for these semantic expressions, and then the semantic expression It is possible to implement more computationally intensive comparison functions for the same number of nodes or an increased number of nodes. That is, the iterative application of selective node uncovering and/or increased resource utilization typically results in narrowing down potentially matching semantic expressions within the search space, taking into account more data of compared semantic expressions, via increasingly complex comparison functions. all. As such, the present techniques for predictive similarity scoring enable targeted discovery of semantic expression matches that allow the NLU framework to efficiently extract artifacts, while reducing the computational overhead of enterprise-level natural language with multiple users. Reduce to an appropriate level for involvement.
위에서 설명된 특정 실시예들은 예로서 도시되었고, 이러한 실시예들은 다양한 수정들 및 대안적인 형태들이 가능할 수 있다는 점이 이해되어야 한다. 청구항들은 개시된 특정 형태들로 제한되는 것이 아니라, 오히려 본 개시내용의 사상 및 범위 내에 드는 모든 수정들, 등가물들, 및 대안들을 포괄하도록 의도된다는 점이 추가로 이해되어야 한다.The specific embodiments described above have been shown by way of example, and it should be understood that these embodiments are capable of various modifications and alternative forms. It is further to be understood that the claims are not limited to the specific forms disclosed, but rather are intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure.
본 명세서에 제시되고 청구되는 기술들은 본 기술 분야를 명백하게 개선하고, 따라서 추상적이거나, 무형적이거나, 순수하게 이론적이지 않은 실제적인 성질의 물질적 대상들 및 구체적인 예들에 참조되고 적용된다. 또한, 본 명세서의 끝에 첨부되는 임의의 청구항들이 "~[기능]을 [수행]하기 위한 수단" 또는 "~[기능]을 [수행]하기 위한 단계"로서 지정되는 하나 이상의 요소를 포함하는 경우, 이러한 요소들은 35 U.S.C. 112(f) 하에서 해석되는 것으로 의도된다. 그러나, 임의의 다른 방식으로 지정되는 요소들을 포함하는 임의의 청구항들에 대해, 이러한 요소들은 35 U.S.C. 112(f) 하에서 해석되지 않는 것으로 의도된다.The techniques presented and claimed herein clearly improve the technical field, and thus refer to and apply to material objects and specific examples of a practical nature that are not abstract, intangible, or purely theoretical. Also, if any claims appended to the end of this specification include one or more elements designated as "means for [performing] [the function]" or "steps for [performing] [the function]," These factors are 35 USC 112(f) is intended to be construed. However, for any claims that include elements designated in any other way, such elements are subject to 35 U.S.C. It is not intended to be construed under 112(f).
Claims (20)
형태 클래스 데이터베이스(form class database)를 갖는 유사도 스코어링 서브시스템을 포함하는 자연어 이해(NLU) 프레임워크를 저장하도록 구성된 메모리; 및
명령어들을 실행하여 상기 NLU 프레임워크의 유사도 스코어링 서브시스템으로 하여금 액션들을 수행하게 하도록 구성된 프로세서
를 포함하며, 상기 액션들은,
사용자 발화(user utterance)의 의미 표현을 수신하는 것;
상기 의미 표현의 인지 구축 문법(cognitive construction grammar)(CCG) 형태를 식별하는 것;
상기 의미 표현의 CCG 형태와 매칭하는 상기 형태 클래스 데이터베이스의 적어도 하나의 형태 클래스 엔트리를 결정하는 것; 및
상기 적어도 하나의 형태 클래스 엔트리로부터 수학적 비교 함수 리스트를 검색하는 것 - 상기 수학적 비교 함수 리스트는 상기 유사도 스코어링 서브시스템이 상기 의미 표현의 적어도 일부를 검색 공간 의미 표현의 적어도 검색 공간 부분과 비교하여 이들 사이의 유사도 스코어를 결정할 수 있게 함 -
을 포함하는, 에이전트 자동화 시스템.An agent automation system comprising:
a memory configured to store a natural language understanding (NLU) framework comprising a similarity scoring subsystem having a form class database; and
a processor configured to execute instructions to cause a similarity scoring subsystem of the NLU framework to perform actions
Including, the actions are
receiving a semantic representation of a user utterance;
identifying a cognitive construction grammar (CCG) form of the semantic expression;
determining at least one shape class entry in the shape class database that matches a CCG shape of the semantic expression; and
retrieving a list of mathematical comparison functions from the at least one shape class entry, wherein the list of mathematical comparison functions is such that the similarity scoring subsystem compares at least a portion of the semantic expression to at least a search space portion of the search space semantic expression between them. to determine the similarity score of -
Including, agent automation system.
상기 수학적 비교 함수 리스트는 상기 유사도 스코어링 서브시스템이 상기 의미 표현과 상기 검색 공간 의미 표현을 비교하기 위해 더 계산적으로 비싼 함수들을 점진적으로 이용할 수 있게 하는 순서화된 함수들의 세트를 포함하는, 에이전트 자동화 시스템.According to claim 1,
wherein the list of mathematical comparison functions comprises an ordered set of functions that enable the similarity scoring subsystem to progressively use more computationally expensive functions to compare the semantic representation with the search space semantic representation.
상기 검색 공간 의미 표현은 상기 NLU 프레임워크의 검색 공간을 정의하는 복수의 검색 공간 의미 표현 중 하나이고, 상기 명령어들은 상기 유사도 스코어링 서브시스템으로 하여금, 상기 사용자 발화의 의미 표현과 매칭하는 상기 복수의 검색 공간 의미 표현의 서브세트에 대해 상기 검색 공간을 검색하는 것을 포함하는 액션들을 수행하게 하는, 에이전트 자동화 시스템.According to claim 1,
The search space semantic expression is one of a plurality of search space semantic expressions defining a search space of the NLU framework, and the instructions cause the similarity scoring subsystem to: and performing actions comprising searching the search space for a subset of spatial semantic representations.
상기 명령어들은 상기 유사도 스코어링 서브시스템으로 하여금, 상기 수학적 비교 함수 리스트를 통해, 상기 의미 표현을 상기 검색 공간 의미 표현과 비교하여, 상기 의미 표현과 상기 검색 공간 의미 표현 사이의 상기 유사도 스코어를 결정하는 것을 포함하는 액션들을 수행하게 하는, 에이전트 자동화 시스템.According to claim 1,
The instructions cause the similarity scoring subsystem to determine the similarity score between the semantic expression and the search space semantic expression by comparing the semantic expression to the search space semantic expression via the list of mathematical comparison functions. An agent automation system that allows to perform actions, including
상기 유사도 스코어링 서브시스템은,
상기 유사도 스코어를 결정하기 위해 상기 의미 표현의 제1 루트 노드(root node)를 상기 검색 공간 의미 표현의 제2 루트 노드와 비교하는 것; 및
상기 유사도 스코어를 정밀화하기 위해 상기 의미 표현의 제1 루트 노드 및 제1 의존 노드를 상기 검색 공간 의미 표현의 제2 루트 노드 및 제2 의존 노드와 비교하는 것
에 의해 상기 의미 표현을 상기 검색 공간 의미 표현과 비교하도록 구성되는, 에이전트 자동화 시스템.5. The method of claim 4,
The similarity scoring subsystem comprises:
comparing a first root node of the semantic representation to a second root node of the search space semantic representation to determine the similarity score; and
comparing a first root node and a first dependent node of the semantic expression with a second root node and a second dependent node of the search space semantic expression to refine the similarity score;
and compare the semantic representation with the search space semantic representation by
상기 명령어들은 상기 유사도 스코어링 서브시스템으로 하여금,
상기 유사도 스코어가 미리 결정된 임계 스코어 미만인지를 결정하는 것; 및
상기 유사도 스코어가 상기 미리 결정된 임계 스코어 미만이라고 결정하는 것에 응답하여 상기 검색 공간 의미 표현을 상기 의미 표현과의 후속 비교들로부터 무시하는 것
을 포함하는 액션들을 수행하게 하는, 에이전트 자동화 시스템.6. The method of claim 5,
The instructions cause the similarity scoring subsystem to:
determining whether the similarity score is below a predetermined threshold score; and
disregarding the search space semantic expression from subsequent comparisons with the semantic expression in response to determining that the similarity score is below the predetermined threshold score.
An agent automation system for performing actions comprising:
상기 의미 표현은 루트 노드 및 상기 루트 노드에 의미론적으로 결합된 적어도 하나의 의존 노드를 포함하는 발화 트리 구조를 포함하는, 에이전트 자동화 시스템.According to claim 1,
wherein the semantic representation comprises a utterance tree structure comprising a root node and at least one dependent node semantically coupled to the root node.
상기 의미 표현의 적어도 일부는 상기 루트 노드이고, 상기 검색 공간 의미 표현의 적어도 검색 공간 부분은 상기 검색 공간 의미 표현의 검색 공간 루트 노드이므로, 상기 유사도 스코어는 상기 루트 노드의 서브트리 벡터와 상기 검색 공간 루트 노드의 서브트리 벡터 사이의 유사도를 정량화하는, 에이전트 자동화 시스템.8. The method of claim 7,
at least a part of the semantic expression is the root node, and at least a search space part of the search space semantic expression is a search space root node of the search space semantic expression, so that the similarity score is a subtree vector of the root node and the search space An agent automation system that quantifies the similarity between subtree vectors of a root node.
상기 CCG 형태는 제1 CCG 형태를 포함하고, 상기 적어도 하나의 형태 클래스 엔트리는 제1 형태 클래스 엔트리를 포함하고, 상기 수학적 비교 함수 리스트는 제1 수학적 비교 함수 리스트를 포함하고, 상기 명령어들은 상기 유사도 스코어링 서브시스템으로 하여금,
상기 의미 표현의 제2 CCG 형태를 식별하는 것;
상기 의미 표현의 제2 CCG 형태와 매칭하는 상기 형태 클래스 데이터베이스의 제2 형태 클래스 엔트리를 결정하는 것; 및
상기 제2 형태 클래스 엔트리로부터 제2 수학적 비교 함수 리스트를 검색하는 것
을 포함하는 액션들을 수행하게 하는, 에이전트 자동화 시스템.According to claim 1,
The CCG form comprises a first CCG form, the at least one form class entry comprises a first form class entry, the mathematical comparison function list comprises a first mathematical comparison function list, and the instructions include: the scoring subsystem,
identifying a second CCG form of the semantic expression;
determining a second shape class entry in the shape class database that matches a second CCG shape of the semantic expression; and
retrieving a second list of mathematical comparison functions from the second shape class entry.
An agent automation system for performing actions comprising:
상기 명령어들은 상기 유사도 스코어링 서브시스템으로 하여금,
상기 제1 수학적 비교 함수 리스트를 통해 상기 의미 표현을 상기 검색 공간 의미 표현과 비교하여 제1 유사도 스코어를 결정하는 것;
상기 제2 수학적 비교 함수 리스트를 통해 상기 의미 표현을 상기 검색 공간 의미 표현과 비교하여 제2 유사도 스코어를 결정하는 것; 및
조정 함수를 통해 상기 제1 유사도 스코어 및 상기 제2 유사도 스코어를 집계 유사도 스코어로 집계하는 것 - 상기 집계 유사도 스코어는 상기 유사도 스코어링 서브시스템이 상기 검색 공간 의미 표현이 상기 의미 표현에 대한 매치인지를 결정할 수 있게 함 -
을 포함하는 액션들을 수행하게 하는, 에이전트 자동화 시스템.10. The method of claim 9,
The instructions cause the similarity scoring subsystem to:
determining a first similarity score by comparing the semantic expression with the search space semantic expression through the first mathematical comparison function list;
determining a second similarity score by comparing the semantic expression with the search space semantic expression through the second list of mathematical comparison functions; and
aggregating the first similarity score and the second similarity score into an aggregated similarity score via an adjustment function, wherein the aggregated similarity score determines whether the similarity scoring subsystem determines whether the search space semantic expression is a match to the semantic expression. enable -
An agent automation system for performing actions comprising:
상기 에이전트 자동화 시스템의 검색 공간을 정의하는 복수의 검색 공간 의미 표현의 각각의 검색 공간 의미 표현에 대해, 복수의 비교 함수를 통해, 의미 표현의 제1 부분을 상기 복수의 검색 공간 의미 표현의 복수의 검색 공간 부분과 비교하여 복수의 초기 유사도 스코어를 생성하는 단계;
상기 복수의 검색 공간 의미 표현의 비유사 검색 공간 의미 표현들의 상기 검색 공간을 전지(prune)하는 단계 - 상기 비유사 검색 공간 의미 표현들 각각은 미리 결정된 스코어 임계치 미만인 상기 복수의 초기 유사도 스코어의 각각의 유사도 스코어를 제공함 -;
상기 검색 공간 내에 남아 있는 상기 복수의 검색 공간 의미 표현과 상기 의미 표현 사이의 고려된 노드들의 수를 증가시키는 단계;
상기 검색 공간 내에 남아 있는 상기 복수의 검색 공간 의미 표현 각각에 대해, 상기 복수의 비교 함수를 통해, 상기 의미 표현의 고려된 노드들과 상기 복수의 검색 공간 의미 표현을 비교하여 복수의 정밀화된 유사도 스코어를 생성하는 단계;
상기 미리 결정된 스코어 임계치 미만인 상기 복수의 정밀화된 유사도 스코어의 각각의 유사도 스코어를 제공하는 상기 비유사 검색 공간 의미 표현들의 검색 공간을 전지하는 단계; 및
상기 검색 공간 내에 남아 있는 상기 복수의 검색 공간 의미 표현 중 임의의 검색 공간 의미 표현들로부터 상기 의미 표현에 대한 의미 표현 매치를 식별하는 단계
를 포함하는, 방법.A method of operating a similarity scoring subsystem of an agent automation system, comprising:
For each search space semantic expression of a plurality of search space semantic expressions defining a search space of the agent automation system, a first portion of the semantic expression is divided into a plurality of the plurality of search space semantic expressions through a plurality of comparison functions. generating a plurality of initial similarity scores compared to the portion of the search space;
pruning the search space of dissimilar search space semantic expressions of the plurality of search space semantic expressions, each of the dissimilar search space semantic expressions being less than a predetermined score threshold for each of the plurality of initial similarity scores provides a similarity score;
increasing the number of considered nodes between the plurality of search space semantic expressions and the semantic expressions remaining in the search space;
For each of the plurality of search space semantic expressions remaining in the search space, a plurality of refined similarity scores by comparing the plurality of search space semantic expressions with the considered nodes of the semantic expression through the plurality of comparison functions creating a;
pruning a search space of dissimilar search space semantic expressions that provides a similarity score for each of the plurality of refined similarity scores that is less than the predetermined score threshold; and
identifying a semantic expression match for the semantic expression from any search space semantic expressions of the plurality of search space semantic expressions remaining in the search space;
A method comprising
상기 고려된 노드들의 수를 증가시키는 단계는 상기 의미 표현의 추가 노드 및 상기 검색 공간 내에 남아 있는 상기 복수의 검색 공간 의미 표현의 추가 검색 공간 노드를 고려하는 단계를 포함하는, 방법.12. The method of claim 11,
wherein increasing the number of considered nodes comprises considering additional nodes of the semantic representation and additional search space nodes of the plurality of search space semantic representations remaining in the search space.
상기 미리 결정된 스코어 임계치 미만인 상기 복수의 정밀화된 유사도 스코어의 각각의 유사도 스코어를 갖는 임의의 비유사 검색 공간 의미 표현들의 상기 검색 공간을 전지한 후에, 상기 의미 표현의 각각의 노드가 고려되었는지를 결정하는 단계; 및
상기 의미 표현의 적어도 하나의 노드가 고려되지 않았다고 결정하는 것에 응답하여, 상기 의미 표현과 상기 검색 공간 내에 남아 있는 상기 복수의 검색 공간 의미 표현 사이의 고려된 상기 노드들의 수를 증가시키는 단계로 복귀하는 단계
를 포함하는, 방법.12. The method of claim 11,
After pruning the search space of any dissimilar search space semantic expressions having a similarity score for each of the plurality of refined similarity scores that is less than the predetermined score threshold, determining whether each node of the semantic expression has been considered. step; and
in response to determining that at least one node of the semantic representation has not been considered, returning to increasing the number of considered nodes between the semantic representation and the plurality of search space semantic representations remaining in the search space. step
A method comprising
상기 의미 표현의 인지 구축 문법(CCG) 형태를 식별하는 단계;
상기 의미 표현의 CCG 형태와 매칭하는 형태 클래스 데이터베이스의 적어도 하나의 형태 클래스 엔트리를 결정하는 단계, 및
상기 적어도 하나의 형태 클래스 엔트리로부터 상기 복수의 비교 함수를 포함하는 수학적 비교 함수 리스트를 검색하는 단계
에 의해 상기 복수의 비교 함수를 결정하는 단계를 포함하는, 방법.12. The method of claim 11,
identifying a Cognitive Construction Grammar (CCG) form of the semantic expression;
determining at least one shape class entry in a shape class database that matches a CCG shape of the semantic expression, and
retrieving a list of mathematical comparison functions including the plurality of comparison functions from the at least one shape class entry;
determining the plurality of comparison functions by
상기 의미 표현의 CCG 형태와 매칭하는 적어도 하나의 형태 클래스 엔트리를 결정하는 단계는, 상기 형태 클래스 데이터베이스가 상기 의미 표현의 CCG 형태를 상기 복수의 검색 공간 의미 표현 중 적어도 하나의 검색 공간 의미 표현의 비교가능한 CCG 형태와 비교하기 위한 수학적 비교 함수 리스트를 포함한다는 것을 식별하는 단계를 포함하는, 방법.12. The method of claim 11,
The determining of at least one form class entry matching the CCG form of the semantic expression may include: comparing, by the form class database, the CCG form of the semantic expression to at least one search space semantic expression among the plurality of search space semantic expressions. and identifying that it contains a list of mathematical comparison functions for comparison with possible CCG forms.
상기 의미 표현이 복수의 CCG 형태를 포함한다고 결정하는 단계;
상기 복수의 CCG 형태로부터 각각의 CCG 형태 해석을 갖는 상기 의미 표현을 상기 복수의 검색 공간 의미 표현과 비교하기 위한 각각의 정밀화된 유사도 스코어를 결정하는 단계; 및
상기 유사도 스코어링 서브시스템의 조정 함수를 통해, 각각의 CCG 형태 해석에 대한 상기 각각의 정밀화된 유사도 스코어를 집계 유사도 스코어로 집계하는 단계
를 포함하는, 방법.12. The method of claim 11,
determining that the semantic expression includes a plurality of CCG forms;
determining a respective refined similarity score for comparing the semantic expression having a respective CCG form interpretation from the plurality of CCG forms to the plurality of search space semantic expressions; and
aggregating the respective refined similarity score for each CCG shape interpretation into an aggregated similarity score, via an adjustment function of the similarity scoring subsystem;
A method comprising
상기 조정 함수는 상기 집계 유사도 스코어가 각각의 CCG 형태에 대한 상기 각각의 정밀화된 유사도 스코어의 최대 또는 가중 평균인 것을 지정하는, 방법.17. The method of claim 16,
wherein the adjustment function specifies that the aggregate similarity score is a maximum or weighted average of the respective refined similarity scores for each CCG form.
상기 명령어들은, 에이전트 자동화 시스템의 하나 이상의 프로세서에 의해 실행될 때, 상기 에이전트 자동화 시스템으로 하여금 유사도 스코어링 서브시스템이,
수신된 사용자 발화에 대응하는 의미 표현의 인지 구축 문법(CCG) 형태를 식별하고;
상기 의미 표현의 CCG 형태와 매칭하는 형태 클래스 데이터베이스의 적어도 하나의 형태 클래스 엔트리를 결정하고;
상기 의미 표현의 CCG 형태에 대응하는 수학적 비교 함수 리스트를 검색하고 - 상기 수학적 비교 함수 리스트는 상기 유사도 스코어링 서브시스템이 상기 의미 표현과 검색 공간 의미 표현을 점진적으로 비교할 수 있게 함 -;
상기 수학적 비교 함수 리스트의 각각의 함수를 반복적으로 적용하여 상기 의미 표현의 제1 고려 부분과 상기 검색 공간 의미 표현의 제2 고려 부분 사이의 유사도를 정량화하는 유사도 스코어를 결정하는 것; 및
상기 유사도 스코어가 상기 의미 표현의 전체와 상기 검색 공간 의미 표현의 적어도 일부 사이의 유사도를 나타낼 때까지 또는 후속 함수가 상기 수학적 비교 함수 리스트의 가장 비싼 함수일 때까지, 상기 수학적 비교 함수 리스트의 후속 함수를 반복적으로 적용하여 상기 유사도 스코어를 정밀화하는 것
에 의해 상기 의미 표현을 상기 검색 공간 의미 표현과 비교하는
식으로 구현하게 하는, 비일시적 컴퓨터 판독가능한 매체.A non-transitory computer-readable medium having stored thereon instructions, comprising:
The instructions, when executed by one or more processors of an agent automation system, cause the agent automation system to cause the similarity scoring subsystem to:
identify a cognitive building grammar (CCG) form of the semantic expression corresponding to the received user utterance;
determine at least one shape class entry in a shape class database that matches a CCG shape of the semantic expression;
retrieve a list of mathematical comparison functions corresponding to the CCG form of the semantic expression, wherein the list of mathematical comparison functions enables the similarity scoring subsystem to progressively compare the semantic expression and the search space semantic expression;
iteratively applying each function of the list of mathematical comparison functions to determine a similarity score that quantifies the degree of similarity between a first considered portion of the semantic expression and a second considered portion of the search space semantic expression; and
successive functions in the list of mathematical comparison functions until the similarity score indicates a degree of similarity between all of the semantic expressions and at least a portion of the search space semantic expressions, or until the subsequent function is the most expensive function in the list of mathematical comparison functions. Refining the similarity score by iteratively applying
comparing the semantic expression with the search space semantic expression by
A non-transitory computer-readable medium that makes it tangible.
상기 검색 공간 의미 표현은 상기 에이전트 자동화 시스템의 검색 공간을 정의하는 복수의 검색 공간 의미 표현 중 하나인, 비일시적 컴퓨터 판독가능한 매체.19. The method of claim 18,
wherein the search space semantic representation is one of a plurality of search space semantic representations defining a search space of the agent automation system.
상기 명령어들은 상기 에이전트 자동화 시스템으로 하여금 상기 유사도 스코어링 서브시스템이,
상기 유사도 스코어의 각각의 정밀화 후에, 미리 결정된 스코어 임계치 초과의 각각의 유사도 스코어를 제공하는 상기 복수의 검색 공간 의미 표현 중 유사한 검색 공간 의미 표현들로 상기 검색 공간을 좁히고;
상기 각각의 유사도 스코어가 상기 의미 표현의 전체 사이의 유사도를 나타낸 후에, 상기 검색 공간 내에 남아 있는 상기 복수의 검색 공간 의미 표현 중 상기 유사한 검색 공간 의미 표현들을 상기 의미 표현에 대한 매치들로서 식별하는
식으로 구현하게 하도록 구성되는, 비일시적 컴퓨터 판독가능한 매체.20. The method of claim 19,
The instructions cause the agent automation system to cause the similarity scoring subsystem to:
after each refinement of the similarity score, narrow the search space to similar search space semantic representations of the plurality of search space semantic representations that provide respective similarity scores above a predetermined score threshold;
identifying the similar search space semantic expressions among the plurality of search space semantic expressions remaining in the search space as matches to the semantic expression after each similarity score indicates a degree of similarity between all of the semantic expressions;
A non-transitory computer-readable medium configured to be implemented in
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962869817P | 2019-07-02 | 2019-07-02 | |
US201962869864P | 2019-07-02 | 2019-07-02 | |
US201962869826P | 2019-07-02 | 2019-07-02 | |
US201962869811P | 2019-07-02 | 2019-07-02 | |
US62/869,817 | 2019-07-02 | ||
US62/869,811 | 2019-07-02 | ||
US62/869,864 | 2019-07-02 | ||
US62/869,826 | 2019-07-02 | ||
US16/570,506 US11487945B2 (en) | 2019-07-02 | 2019-09-13 | Predictive similarity scoring subsystem in a natural language understanding (NLU) framework |
US16/570,506 | 2019-09-13 | ||
PCT/US2020/040569 WO2021003311A1 (en) | 2019-07-02 | 2020-07-01 | Predictive similarity scoring subsystem in a natural language understanding (nlu) framework |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220027220A true KR20220027220A (en) | 2022-03-07 |
Family
ID=74065244
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227003413A KR20220027220A (en) | 2019-07-02 | 2020-07-01 | Predictive Similarity Scoring Subsystem in Natural Language Understanding (NLU) Frameworks |
KR1020227003162A KR20220027198A (en) | 2019-07-02 | 2020-07-02 | Pinning of Artifacts for Expansion of Search Keys and Search Spaces in a Natural Language Understanding (NLU) Framework |
KR1020227002950A KR20220025026A (en) | 2019-07-02 | 2020-07-02 | Systems and methods for performing semantic searches using natural language understanding (NLU) frameworks |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227003162A KR20220027198A (en) | 2019-07-02 | 2020-07-02 | Pinning of Artifacts for Expansion of Search Keys and Search Spaces in a Natural Language Understanding (NLU) Framework |
KR1020227002950A KR20220025026A (en) | 2019-07-02 | 2020-07-02 | Systems and methods for performing semantic searches using natural language understanding (NLU) frameworks |
Country Status (5)
Country | Link |
---|---|
US (3) | US11487945B2 (en) |
JP (3) | JP7420842B2 (en) |
KR (3) | KR20220027220A (en) |
AU (3) | AU2020299384B2 (en) |
WO (3) | WO2021003311A1 (en) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11615645B2 (en) * | 2019-11-19 | 2023-03-28 | International Business Machines Corporation | Automated presentation contributions |
US11651250B2 (en) * | 2019-11-20 | 2023-05-16 | International Business Machines Corporation | Automatically generated conversation output |
US11487948B2 (en) * | 2020-02-19 | 2022-11-01 | Conduent Business Services, Llc | Method and system for automated autonomous intent mining |
US11301273B2 (en) * | 2020-03-11 | 2022-04-12 | Atlassian Pty Ltd. | Computer user interface for a virtual workspace having multiple application portals displaying context-related content |
US11507862B2 (en) * | 2020-04-12 | 2022-11-22 | International Business Machines Corporation | Determining skill adjacencies using a machine learning model |
US11037549B1 (en) * | 2020-06-05 | 2021-06-15 | Inference Communications Pty Ltd | System and method for automating the training of enterprise customer response systems using a range of dynamic or generic data sets |
US11263407B1 (en) | 2020-09-01 | 2022-03-01 | Rammer Technologies, Inc. | Determining topics and action items from conversations |
US11568862B2 (en) * | 2020-09-29 | 2023-01-31 | Cisco Technology, Inc. | Natural language understanding model with context resolver |
US11093718B1 (en) * | 2020-12-01 | 2021-08-17 | Rammer Technologies, Inc. | Determining conversational structure from speech |
US11636134B2 (en) * | 2021-01-18 | 2023-04-25 | Fidelity Information Services, Llc | Systems and methods for automatic change request management using similarity metric computations |
US20220229986A1 (en) * | 2021-01-21 | 2022-07-21 | Servicenow, Inc. | System and method for compiling and using taxonomy lookup sources in a natural language understanding (nlu) framework |
US11521714B1 (en) | 2021-02-03 | 2022-12-06 | Vignet Incorporated | Increasing diversity of participants in health research using adaptive methods |
US11316941B1 (en) | 2021-02-03 | 2022-04-26 | Vignet Incorporated | Remotely managing and adapting monitoring programs using machine learning predictions |
US11789837B1 (en) | 2021-02-03 | 2023-10-17 | Vignet Incorporated | Adaptive data collection in clinical trials to increase the likelihood of on-time completion of a trial |
US11296971B1 (en) | 2021-02-03 | 2022-04-05 | Vignet Incorporated | Managing and adapting monitoring programs |
US11361846B1 (en) | 2021-02-03 | 2022-06-14 | Vignet Incorporated | Systems and methods for customizing monitoring programs involving remote devices |
US11196656B1 (en) * | 2021-02-03 | 2021-12-07 | Vignet Incorporated | Improving diversity in cohorts for health research |
US11823666B2 (en) * | 2021-10-04 | 2023-11-21 | International Business Machines Corporation | Automatic measurement of semantic similarity of conversations |
US20230127907A1 (en) * | 2021-10-22 | 2023-04-27 | International Business Machines Corporation | Intention identification in dialogue system |
US11302314B1 (en) * | 2021-11-10 | 2022-04-12 | Rammer Technologies, Inc. | Tracking specialized concepts, topics, and activities in conversations |
WO2023235565A1 (en) * | 2022-06-02 | 2023-12-07 | University Of Central Florida Research Foundation, Inc. | Medical language model |
US11599713B1 (en) | 2022-07-26 | 2023-03-07 | Rammer Technologies, Inc. | Summarizing conversational speech |
Family Cites Families (158)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0477955A (en) * | 1990-07-20 | 1992-03-12 | Nippon Telegr & Teleph Corp <Ntt> | Japanese complex sentence analysis device |
JPH0782357B2 (en) * | 1993-03-29 | 1995-09-06 | 株式会社エイ・ティ・アール自動翻訳電話研究所 | Adaptive search method |
US5978594A (en) | 1994-09-30 | 1999-11-02 | Bmc Software, Inc. | System for managing computer resources across a distributed computing environment by first reading discovery information about how to determine system resources presence |
JPH09231221A (en) * | 1996-02-26 | 1997-09-05 | Oki Electric Ind Co Ltd | Method and device for analyzing document |
US6321229B1 (en) | 1999-02-26 | 2001-11-20 | Hewlett-Packard Company | Method and apparatus for using an information model to organize an information repository into a hierarchy of information |
EP1410281A2 (en) | 2000-07-10 | 2004-04-21 | BMC Software, Inc. | System and method of enterprise systems and business impact management |
US6609122B1 (en) | 2000-08-01 | 2003-08-19 | Bmc Software, Inc. | Navigation of view relationships in database system |
US6816898B1 (en) | 2000-08-16 | 2004-11-09 | Proactivenet, Inc. | Interfacing external metrics into a performance management system |
US6895586B1 (en) | 2000-08-30 | 2005-05-17 | Bmc Software | Enterprise management system and method which includes a common enterprise-wide namespace and prototype-based hierarchical inheritance |
US7027411B1 (en) | 2000-10-31 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Method and system for identifying and processing changes to a network topology |
US6944630B2 (en) | 2000-11-22 | 2005-09-13 | Bmc Software | Database management system and method which monitors activity levels and determines appropriate schedule times |
US7028301B2 (en) | 2000-12-08 | 2006-04-11 | Bmc Software, Inc. | System and method for automatic workload characterization |
US7170864B2 (en) | 2001-03-08 | 2007-01-30 | Bmc Software, Inc. | System and method for WAP server management using a single console |
US7506047B2 (en) | 2001-03-30 | 2009-03-17 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US7350209B2 (en) | 2001-06-29 | 2008-03-25 | Bmc Software | System and method for application performance management |
US20030009331A1 (en) | 2001-07-05 | 2003-01-09 | Johan Schalkwyk | Grammars for speech recognition |
US7089245B1 (en) | 2001-08-31 | 2006-08-08 | Bmc Software, Inc. | Service desk data transfer interface |
US7877783B1 (en) | 2001-11-15 | 2011-01-25 | Bmc Software, Inc. | System and method for secure communications with a remote software program |
US6799189B2 (en) | 2001-11-15 | 2004-09-28 | Bmc Software, Inc. | System and method for creating a series of online snapshots for recovery purposes |
US7617073B2 (en) | 2002-03-01 | 2009-11-10 | Bmc Software, Inc. | System and method for assessing and indicating the health of components |
US7131037B1 (en) | 2002-06-05 | 2006-10-31 | Proactivenet, Inc. | Method and system to correlate a specific alarm to one or more events to identify a possible cause of the alarm |
US7020706B2 (en) | 2002-06-17 | 2006-03-28 | Bmc Software, Inc. | Method and system for automatically updating multiple servers |
US7062683B2 (en) | 2003-04-22 | 2006-06-13 | Bmc Software, Inc. | Two-phase root cause analysis |
US7945860B2 (en) | 2003-05-14 | 2011-05-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for managing conversations between information technology resources |
US7925981B2 (en) | 2003-05-14 | 2011-04-12 | Hewlett-Packard Development Company, L.P. | Systems and methods for managing web services via a framework of interfaces |
US7882213B2 (en) | 2003-06-03 | 2011-02-01 | Bmc Software, Inc. | Network management system to monitor managed elements |
US7689628B2 (en) | 2005-05-19 | 2010-03-30 | Atul Garg | Monitoring several distributed resource elements as a resource pool |
US8224683B2 (en) | 2003-07-08 | 2012-07-17 | Hewlett-Packard Development Company, L.P. | Information technology service request level of service monitor |
KR100577387B1 (en) | 2003-08-06 | 2006-05-10 | 삼성전자주식회사 | Method and apparatus for handling speech recognition errors in spoken dialogue systems |
US7133884B1 (en) | 2003-11-26 | 2006-11-07 | Bmc Software, Inc. | Unobtrusive point-in-time consistent copies |
US7392300B2 (en) | 2004-01-08 | 2008-06-24 | Hewlett-Packard Development Company, L.P. | Method and system for modelling a communications network |
US7509653B2 (en) | 2004-01-22 | 2009-03-24 | International Business Machines Corporation | Efficient and scalable event partitioning in business integration applications using multiple delivery queues |
US9137115B2 (en) | 2004-12-06 | 2015-09-15 | Bmc Software, Inc. | System and method for resource reconciliation in an enterprise management system |
US7941506B2 (en) | 2004-12-06 | 2011-05-10 | Bmc Software, Inc. | User interface for network discovery operations |
US8683032B2 (en) | 2004-12-06 | 2014-03-25 | Bmc Software, Inc. | Generic discovery for computer networks |
US20060130038A1 (en) | 2004-12-15 | 2006-06-15 | Claussen Christopher S | Apparatus, system, and method for facilitating dynamic modification of existing software objects defined in a strongly-typed programming language |
US8612408B2 (en) | 2004-12-21 | 2013-12-17 | Bmc Software, Inc. | System and method for business service management |
US8112354B2 (en) | 2005-04-08 | 2012-02-07 | Billeo, Inc | Method and system for virtual consolidation of biller direct web sites |
US7617500B2 (en) | 2005-05-20 | 2009-11-10 | International Business Machines Corporation | Generic framework for integrating components with different interfaces in an enterprise application integration environment |
US7849201B1 (en) | 2005-06-14 | 2010-12-07 | Billeo, Inc | Method and system for capturing, organizing, searching and sharing web pages |
US7630784B2 (en) | 2005-07-22 | 2009-12-08 | International Business Machines Corporation | Method and apparatus for independent deployment of roles |
US7971147B2 (en) | 2005-07-25 | 2011-06-28 | Billeo, Inc. | Methods and systems for automatically creating a site menu |
US8006240B2 (en) | 2005-12-01 | 2011-08-23 | International Business Machines Corporation | Support continuous availability by allowing the use of multiple concurrent versions of shared artifact libraries, with proper bind-drain semantics, for long-lived process application consumers |
US7653650B2 (en) | 2005-12-13 | 2010-01-26 | International Business Machines Corporation | Apparatus, system, and method for synchronizing change histories in enterprise applications |
US7958031B2 (en) | 2005-12-13 | 2011-06-07 | International Business Machines Corporation | Apparatus, system, and method for automated identity relationship maintenance |
US7716353B2 (en) | 2005-12-21 | 2010-05-11 | Bmc Software, Inc. | Web services availability cache |
US7610512B2 (en) | 2006-01-06 | 2009-10-27 | Hewlett-Packard Development Company, L.P. | System and method for automated and assisted resolution of it incidents |
JP5099367B2 (en) | 2006-03-10 | 2012-12-19 | 日本電気株式会社 | Request content identification system, request content identification method and program in natural language |
US20070261065A1 (en) | 2006-04-20 | 2007-11-08 | Astl Kenneth L | Framework for generating pre-packaged business integration component group pattern-based applications |
US8887133B2 (en) | 2006-04-28 | 2014-11-11 | Bmc Software, Inc. | Bi-directional communication between change management tool and implementation tools |
US8555287B2 (en) | 2006-08-31 | 2013-10-08 | Bmc Software, Inc. | Automated capacity provisioning method using historical performance data |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20080075444A1 (en) | 2006-09-25 | 2008-03-27 | Murali Subbarao | Blur equalization for auto-focusing |
US7899670B1 (en) | 2006-12-21 | 2011-03-01 | Escription Inc. | Server-based speech recognition |
US7685167B2 (en) | 2007-01-30 | 2010-03-23 | Bmc Software, Inc. | Configuration management database reference instance |
US7996214B2 (en) | 2007-11-01 | 2011-08-09 | At&T Intellectual Property I, L.P. | System and method of exploiting prosodic features for dialog act tagging in a discriminative modeling framework |
US8156479B2 (en) | 2007-12-07 | 2012-04-10 | International Business Machines Corporation | System and method of monitoring dynamic scopes in synchronous and asynchronous calls |
US8051164B2 (en) | 2007-12-14 | 2011-11-01 | Bmc Software, Inc. | Impact propagation in a directed acyclic graph having restricted views |
GB2458461A (en) | 2008-03-17 | 2009-09-23 | Kai Yu | Spoken language learning system |
US8266096B2 (en) | 2008-10-24 | 2012-09-11 | Bmc Software, Inc. | Vendor portfolio management in support of vendor relationship management analysis, planning and evaluation |
US8380749B2 (en) | 2009-01-14 | 2013-02-19 | Bmc Software, Inc. | MDR federation facility for CMDBf |
US8554750B2 (en) | 2009-01-15 | 2013-10-08 | Bmc Software, Inc. | Normalization engine to manage configuration management database integrity |
US8346752B2 (en) | 2009-02-03 | 2013-01-01 | Bmc Software, Inc. | Software title discovery |
US8646093B2 (en) | 2009-03-31 | 2014-02-04 | Bmc Software, Inc. | Method and system for configuration management database software license compliance |
US8743121B2 (en) | 2009-12-23 | 2014-06-03 | Bmc Software, Inc. | Smart impact views |
US9122536B2 (en) | 2009-12-30 | 2015-09-01 | Bmc Software, Inc. | Automating application provisioning for heterogeneous datacenter environments |
US9805322B2 (en) | 2010-06-24 | 2017-10-31 | Bmc Software, Inc. | Application blueprint and deployment model for dynamic business service management (BSM) |
US8694304B2 (en) | 2010-03-26 | 2014-04-08 | Virtuoz Sa | Semantic clustering and user interfaces |
US8457928B2 (en) | 2010-03-26 | 2013-06-04 | Bmc Software, Inc. | Automatic determination of dynamic threshold for accurate detection of abnormalities |
US8478569B2 (en) | 2010-03-26 | 2013-07-02 | Bmc Software, Inc. | Auto adjustment of baseline on configuration change |
US9378202B2 (en) | 2010-03-26 | 2016-06-28 | Virtuoz Sa | Semantic clustering |
US9467344B2 (en) | 2010-03-26 | 2016-10-11 | Bmc Software, Inc. | Mechanism to display graphical IT infrastructure using configurable smart navigation |
US8712979B2 (en) | 2010-03-26 | 2014-04-29 | Bmc Software, Inc. | Statistical identification of instances during reconciliation process |
US8832652B2 (en) | 2010-03-26 | 2014-09-09 | Bmc Software, Inc. | Method for customizing software applications |
US8433654B2 (en) | 2010-05-10 | 2013-04-30 | Billeo, Inc | Method and system for paying directly at biller websites from within a bill pay website |
US8380645B2 (en) | 2010-05-27 | 2013-02-19 | Bmc Software, Inc. | Method and system to enable inferencing for natural language queries of configuration management databases |
US8674992B2 (en) | 2010-06-24 | 2014-03-18 | Bmc Software, Inc. | Spotlight graphs |
US8402127B2 (en) | 2010-06-28 | 2013-03-19 | Bmc Software, Inc. | System and method for offering virtual private clouds within a public cloud environment |
US8473361B2 (en) | 2010-09-23 | 2013-06-25 | Billeo, Inc. | Method and system for assisting users during online |
US20120158791A1 (en) | 2010-12-21 | 2012-06-21 | Microsoft Corporation | Feature vector construction |
US8650078B2 (en) | 2011-03-04 | 2014-02-11 | Billeo, Inc. | Methods and systems for paying with loyalty currency during in-store shopping |
US8612289B2 (en) | 2011-03-04 | 2013-12-17 | Billeo, Inc. | Methods and systems for paying with loyalty currency during online payment |
US20120246073A1 (en) | 2011-03-21 | 2012-09-27 | Billeo, Inc. | Systems and methods for transferring transaction instructions from a remote repository to a merchant website using a transaction agent |
US20120290938A1 (en) | 2011-05-11 | 2012-11-15 | Billeo, Inc. | Systems and Methods for Context Aware Interaction Across Websites and Apps |
US8745040B2 (en) | 2011-06-27 | 2014-06-03 | Bmc Software, Inc. | Service context |
US8818994B2 (en) | 2011-06-27 | 2014-08-26 | Bmc Software, Inc. | Mobile service context |
US8907988B2 (en) | 2011-06-30 | 2014-12-09 | Bmc Software, Inc. | Systems and methods for displaying and viewing data models |
US8843907B2 (en) | 2011-08-25 | 2014-09-23 | Myezapp Inc. | Compiler with error handling |
US9015188B2 (en) | 2011-09-28 | 2015-04-21 | Bmc Software, Inc. | Methods and apparatus for monitoring execution of a database query program |
US8689241B2 (en) | 2011-09-30 | 2014-04-01 | Bmc Software, Inc. | Dynamic evocations for computer event management |
KR101475284B1 (en) | 2011-11-29 | 2014-12-23 | 에스케이텔레콤 주식회사 | Error detection apparatus and method based on shallow parser for estimating writing automatically |
US8914768B2 (en) | 2012-03-28 | 2014-12-16 | Bmc Software, Inc. | Automated blueprint assembly for assembling an application |
US8812539B2 (en) | 2012-03-31 | 2014-08-19 | Bmc Software, Inc. | Unique attribute constraints for versioned database objects |
US9122552B2 (en) | 2012-06-29 | 2015-09-01 | Bmc Software, Inc. | Hybrid cloud infrastructures |
KR101629415B1 (en) | 2012-08-10 | 2016-06-10 | 에스케이텔레콤 주식회사 | Method for detecting grammar error and apparatus thereof |
US9631934B2 (en) | 2012-10-23 | 2017-04-25 | Bmc Software, Inc. | Management of annotated location aware assets |
KR101364774B1 (en) | 2012-12-07 | 2014-02-20 | 포항공과대학교 산학협력단 | Method for correction error of speech recognition and apparatus |
US9645833B2 (en) | 2012-12-31 | 2017-05-09 | Bmc Software, Inc. | Additive independent object modification |
US10235358B2 (en) | 2013-02-21 | 2019-03-19 | Microsoft Technology Licensing, Llc | Exploiting structured content for unsupervised natural language semantic parsing |
US9317327B2 (en) | 2013-02-28 | 2016-04-19 | Bmc Software, Inc. | Computing infrastructure planning |
US20140279274A1 (en) | 2013-03-13 | 2014-09-18 | Billeo, Inc. | Methods and systems for facilitating web-based purchases |
US9158799B2 (en) | 2013-03-14 | 2015-10-13 | Bmc Software, Inc. | Storing and retrieving context sensitive data in a management system |
US9613070B2 (en) | 2013-03-15 | 2017-04-04 | Bmc Software, Inc. | Multi-entity normalization |
US9098322B2 (en) | 2013-03-15 | 2015-08-04 | Bmc Software, Inc. | Managing a server template |
US9626717B2 (en) | 2013-03-26 | 2017-04-18 | Billeo, Inc. | Methods and systems for dynamic and embeddable storefront widget |
US10366437B2 (en) | 2013-03-26 | 2019-07-30 | Paymentus Corporation | Systems and methods for product recommendation refinement in topic-based virtual storefronts |
US10430856B2 (en) | 2013-03-26 | 2019-10-01 | Paymentus Corporation | Systems and methods for marketplace catalogue population |
KR20140121580A (en) | 2013-04-08 | 2014-10-16 | 한국전자통신연구원 | Apparatus and method for automatic translation and interpretation |
CN104216913B (en) * | 2013-06-04 | 2019-01-04 | Sap欧洲公司 | Question answering method, system and computer-readable medium |
US20140365206A1 (en) | 2013-06-06 | 2014-12-11 | Xerox Corporation | Method and system for idea spotting in idea-generating social media platforms |
US9654473B2 (en) | 2013-06-28 | 2017-05-16 | Bmc Software, Inc. | Authentication proxy agent |
WO2015079575A1 (en) * | 2013-11-29 | 2015-06-04 | 株式会社 東芝 | Interactive support system, method, and program |
US10073840B2 (en) | 2013-12-20 | 2018-09-11 | Microsoft Technology Licensing, Llc | Unsupervised relation detection model training |
KR102131099B1 (en) | 2014-02-13 | 2020-08-05 | 삼성전자 주식회사 | Dynamically modifying elements of User Interface based on knowledge graph |
US9870356B2 (en) | 2014-02-13 | 2018-01-16 | Microsoft Technology Licensing, Llc | Techniques for inferring the unknown intents of linguistic items |
US11295304B2 (en) | 2014-03-20 | 2022-04-05 | Paymentus Corporation | Bifurcated digital wallet systems and methods for processing transactions using information extracted from multiple sources |
US10191999B2 (en) * | 2014-04-30 | 2019-01-29 | Microsoft Technology Licensing, Llc | Transferring information across language understanding model domains |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10210246B2 (en) | 2014-09-26 | 2019-02-19 | Oracle International Corporation | Techniques for similarity analysis and data enrichment using knowledge sources |
US9626358B2 (en) * | 2014-11-26 | 2017-04-18 | Abbyy Infopoisk Llc | Creating ontologies by analyzing natural language texts |
US9659051B2 (en) | 2014-12-22 | 2017-05-23 | Bladelogic Inc. | Enforcing referential integrity for object data documents |
US9535737B2 (en) | 2015-01-30 | 2017-01-03 | Bladelogic, Inc. | Dynamic virtual port provisioning |
US10049198B2 (en) | 2015-03-18 | 2018-08-14 | International Business Machines Corporation | Securing a device using graphical analysis |
US10049199B2 (en) | 2015-03-18 | 2018-08-14 | International Business Machines Corporation | Securing a device using graphical analysis |
US9672814B2 (en) | 2015-05-08 | 2017-06-06 | International Business Machines Corporation | Semi-supervised learning of word embeddings |
US9607616B2 (en) | 2015-08-17 | 2017-03-28 | Mitsubishi Electric Research Laboratories, Inc. | Method for using a multi-scale recurrent neural network with pretraining for spoken language understanding tasks |
US20170069309A1 (en) | 2015-09-03 | 2017-03-09 | Google Inc. | Enhanced speech endpointing |
US10134389B2 (en) * | 2015-09-04 | 2018-11-20 | Microsoft Technology Licensing, Llc | Clustering user utterance intents with semantic parsing |
US10262062B2 (en) | 2015-12-21 | 2019-04-16 | Adobe Inc. | Natural language system question classifier, semantic representations, and logical form templates |
US20170243107A1 (en) | 2016-02-19 | 2017-08-24 | Jack Mobile Inc. | Interactive search engine |
US20170242886A1 (en) * | 2016-02-19 | 2017-08-24 | Jack Mobile Inc. | User intent and context based search results |
US10515086B2 (en) | 2016-02-19 | 2019-12-24 | Facebook, Inc. | Intelligent agent and interface to provide enhanced search |
US10878191B2 (en) | 2016-05-10 | 2020-12-29 | Nuance Communications, Inc. | Iterative ontology discovery |
US10146859B2 (en) | 2016-05-13 | 2018-12-04 | General Electric Company | System and method for entity recognition and linking |
US10606952B2 (en) | 2016-06-24 | 2020-03-31 | Elemental Cognition Llc | Architecture and processes for computer learning and understanding |
US10339169B2 (en) | 2016-09-08 | 2019-07-02 | Conduent Business Services, Llc | Method and system for response evaluation of users from electronic documents |
US10249294B2 (en) | 2016-09-09 | 2019-04-02 | Electronics And Telecommunications Research Institute | Speech recognition system and method |
CN109691036B (en) | 2016-09-16 | 2021-03-19 | 甲骨文国际公司 | Internet cloud hosted natural language interactive messaging system with entity-based communication |
US10528605B2 (en) * | 2016-11-18 | 2020-01-07 | DefinedCrowd Corporation | Crowdsourced training of textual natural language understanding systems |
US10268679B2 (en) | 2016-12-02 | 2019-04-23 | Microsoft Technology Licensing, Llc | Joint language understanding and dialogue management using binary classification based on forward and backward recurrent neural network |
US10109275B2 (en) | 2016-12-19 | 2018-10-23 | Asapp, Inc. | Word hash language model |
US10762892B2 (en) | 2017-02-23 | 2020-09-01 | Semantic Machines, Inc. | Rapid deployment of dialogue system |
US10229683B2 (en) * | 2017-03-10 | 2019-03-12 | Soundhound, Inc. | Speech-enabled system with domain disambiguation |
US10796102B2 (en) | 2017-05-10 | 2020-10-06 | Oracle International Corporation | Enabling rhetorical analysis via the use of communicative discourse trees |
US11960844B2 (en) * | 2017-05-10 | 2024-04-16 | Oracle International Corporation | Discourse parsing using semantic and syntactic relations |
US10275452B2 (en) | 2017-05-12 | 2019-04-30 | International Business Machines Corporation | Automatic, unsupervised paraphrase detection |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
JP6980411B2 (en) * | 2017-05-23 | 2021-12-15 | 株式会社日立製作所 | Information processing device, dialogue processing method, and dialogue processing program |
US10678816B2 (en) | 2017-08-23 | 2020-06-09 | Rsvp Technologies Inc. | Single-entity-single-relation question answering systems, and methods |
US10431219B2 (en) | 2017-10-03 | 2019-10-01 | Google Llc | User-programmable automated assistant |
US10497366B2 (en) | 2018-03-23 | 2019-12-03 | Servicenow, Inc. | Hybrid learning system for natural language understanding |
US10740566B2 (en) | 2018-03-23 | 2020-08-11 | Servicenow, Inc. | Method and system for automated intent mining, classification and disposition |
US11087090B2 (en) | 2018-03-23 | 2021-08-10 | Servicenow, Inc. | System for focused conversation context management in a reasoning agent/behavior engine of an agent automation system |
US10664662B2 (en) * | 2018-04-18 | 2020-05-26 | Microsoft Technology Licensing, Llc | Multi-scale model for semantic matching |
US11016966B2 (en) * | 2018-06-26 | 2021-05-25 | Adobe Inc. | Semantic analysis-based query result retrieval for natural language procedural queries |
US11030260B2 (en) * | 2018-08-29 | 2021-06-08 | Ip.Com I, Llc | System and method for dynamically normalized semantic distance and applications thereof |
US11501065B2 (en) * | 2019-09-11 | 2022-11-15 | Oracle International Corporation | Semantic parser including a coarse semantic parser and a fine semantic parser |
-
2019
- 2019-09-13 US US16/570,506 patent/US11487945B2/en active Active
- 2019-09-26 US US16/584,499 patent/US20210004443A1/en not_active Abandoned
-
2020
- 2020-01-22 US US16/749,828 patent/US11556713B2/en active Active
- 2020-07-01 WO PCT/US2020/040569 patent/WO2021003311A1/en active Application Filing
- 2020-07-01 JP JP2021577215A patent/JP7420842B2/en active Active
- 2020-07-01 KR KR1020227003413A patent/KR20220027220A/en unknown
- 2020-07-01 AU AU2020299384A patent/AU2020299384B2/en active Active
- 2020-07-02 WO PCT/US2020/040728 patent/WO2021003408A1/en active Application Filing
- 2020-07-02 KR KR1020227003162A patent/KR20220027198A/en unknown
- 2020-07-02 JP JP2021577216A patent/JP7383737B2/en active Active
- 2020-07-02 WO PCT/US2020/040744 patent/WO2021003423A1/en active Application Filing
- 2020-07-02 JP JP2021577214A patent/JP7346609B2/en active Active
- 2020-07-02 AU AU2020299634A patent/AU2020299634B2/en active Active
- 2020-07-02 AU AU2020299608A patent/AU2020299608B2/en active Active
- 2020-07-02 KR KR1020227002950A patent/KR20220025026A/en unknown
Also Published As
Publication number | Publication date |
---|---|
JP2022539138A (en) | 2022-09-07 |
AU2020299384B2 (en) | 2023-03-09 |
WO2021003423A1 (en) | 2021-01-07 |
JP7346609B2 (en) | 2023-09-19 |
AU2020299634B2 (en) | 2023-03-02 |
JP7383737B2 (en) | 2023-11-20 |
US20210004537A1 (en) | 2021-01-07 |
JP2022538861A (en) | 2022-09-06 |
US20210004442A1 (en) | 2021-01-07 |
AU2020299608A1 (en) | 2022-01-27 |
KR20220025026A (en) | 2022-03-03 |
JP2022538591A (en) | 2022-09-05 |
AU2020299634A1 (en) | 2022-01-27 |
US20210004443A1 (en) | 2021-01-07 |
US11556713B2 (en) | 2023-01-17 |
WO2021003311A1 (en) | 2021-01-07 |
KR20220027198A (en) | 2022-03-07 |
AU2020299384A1 (en) | 2022-01-27 |
JP7420842B2 (en) | 2024-01-23 |
AU2020299608B2 (en) | 2023-04-13 |
US11487945B2 (en) | 2022-11-01 |
WO2021003408A1 (en) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020299384B2 (en) | Predictive similarity scoring subsystem in a natural language understanding (NLU) framework | |
US11681877B2 (en) | Systems and method for vocabulary management in a natural learning framework | |
US11520992B2 (en) | Hybrid learning system for natural language understanding | |
US11720756B2 (en) | Deriving multiple meaning representations for an utterance in a natural language understanding (NLU) framework | |
US20220245353A1 (en) | System and method for entity labeling in a natural language understanding (nlu) framework | |
US20220229994A1 (en) | Operational modeling and optimization system for a natural language understanding (nlu) framework | |
US20220245361A1 (en) | System and method for managing and optimizing lookup source templates in a natural language understanding (nlu) framework | |
US20220229990A1 (en) | System and method for lookup source segmentation scoring in a natural language understanding (nlu) framework | |
US20220229987A1 (en) | System and method for repository-aware natural language understanding (nlu) using a lookup source framework |