KR20190109599A - Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak - Google Patents

Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak Download PDF

Info

Publication number
KR20190109599A
KR20190109599A KR1020197027446A KR20197027446A KR20190109599A KR 20190109599 A KR20190109599 A KR 20190109599A KR 1020197027446 A KR1020197027446 A KR 1020197027446A KR 20197027446 A KR20197027446 A KR 20197027446A KR 20190109599 A KR20190109599 A KR 20190109599A
Authority
KR
South Korea
Prior art keywords
internet
input
natural language
user
term
Prior art date
Application number
KR1020197027446A
Other languages
Korean (ko)
Other versions
KR102213014B1 (en
Inventor
완 펜 니콜 콰
브라이언 호링
마리암 가렛
브라이언 로아크
리차드 스프로트
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20190109599A publication Critical patent/KR20190109599A/en
Application granted granted Critical
Publication of KR102213014B1 publication Critical patent/KR102213014B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • G06F17/276
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • H04L51/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 명세서의 일부 구현예들은 인터넷유행어를 정규화(표준화)된 형식으로 변환하는 것에 관한 것으로, 여기서 인터넷유행어는 사용자가 자동화된 어시스턴트에 제공한 입력과 같이, 컴퓨팅 장치의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 표현된 자연어 입력에 포함된다. 상기 인터넷유행어의 정규화된 형식은 자연어 입력에 응답하는 응답 콘텐트를 결정할 때 자동화된 어시스턴트에 의해 이용될 수 있고, 응답 콘텐트는 사용자의 컴퓨팅 장치의 하나 이상의 사용자 인터페이스 출력 장치를 통해 사용자에게 제공될 수 있다. 일부 구현 예들은, 사용자에게 제시하기 위해, 사용자 및/또는 추가 사용자들에 의한 인터넷유행어의 과거 사용량에 기초하여 결정되는 "인터넷유행어 측정치"에 적어도 부분적으로 기초하여, 인터넷유행어의 정규화된 형식 대신에 인터넷유행어를 포함하는 자연어 출력을 추가적으로 및/또는 대안으로 제공하는 것에 관한 것이다.Some embodiments herein relate to converting an Internet language into a canonicalized (standardized) format, where it is provided to a user through a user interface input device of the computing device, such as input provided by the user to an automated assistant. It is included in the natural language input represented by The canonicalized form of the Internet language may be used by an automated assistant to determine response content responsive to natural language input, and the response content may be provided to the user via one or more user interface output devices of the user's computing device. . Some implementations, instead of the normalized form of the Internet trendy language, are based, at least in part, on “Internet Vocabulary Measurements” determined based on past usage of the Internet language by the user and / or additional users for presentation to the user. It is further and / or alternatively to provide natural language output comprising an Internet idiom.

Figure P1020197027446
Figure P1020197027446

Description

입력 및/또는 출력이 인터넷유행어를 포함하는 사용자 인터페이스 입력에 응답하여 제시할 출력을 생성 {GENERATING OUTPUT FOR PRESENTATION IN RESPONSE TO USER INTERFACE INPUT, WHERE THE INPUT AND/OR THE OUTPUT INCLUDE CHATSPEAK}Generate output to be presented in response to a user interface input where the input and / or output includes an Internet grammar {GENERATING OUTPUT FOR PRESENTATION IN RESPONSE TO USER INTERFACE INPUT

본 명세서는 사용자 인터페이스 입력에 응답하여 제시할 출력을 생성하는 것에 관한 것이다.This disclosure relates to generating output for presentation in response to user interface input.

다수의 사용자는 문자 메시지 교환, 온라인 채팅(예: 인스턴트 메신저, 인터넷 릴레이 채팅 등), 소셜 네트워크 스레드(thread) 등과 같은 다양한 기술을 사용하여 구현될 수 있는 메시지 교환 스레드를 통해 문자로 서로 통신할 수 있다. 많은 사용자는 특히 모바일 컴퓨팅 장치를 사용할 때 메시지 교환 스레드를 통해 다른 사용자와의 다양한 통신에서 소위 "인터넷유행어(chatspeak)"를 활용한다. 상기 인터넷유행어는 이니셜화((예: 복수 단어들의 이니셜들로 구성된 약어 및/또는 줄임말(예: '큰 소리로 웃는' LOL))), 단어들에서 문자 제거(예: "review"를 "rvw"로 표현; "really"를 "rlly"로 표현), 단어들에 문자 추가(예: "hello"를 "hellooooooooo"로 표현, "yes"를 "yeeesssss"로 표현), 단어에 나타나지 않을 수 있는 하나 이상의 문자를 사용한 단어 표현(예: "see"를 "c"로, "thanks"를 "thx"로 표현)과 같은 다양한 형태를 취할 수 있다.Many users can communicate with each other via text message exchange threads, which can be implemented using various technologies such as text message exchange, online chat (e.g. instant messenger, Internet relay chat, etc.), social network threads, and so on. have. Many users utilize so-called "chatspeaks" in various communications with other users, particularly through message exchange threads, when using mobile computing devices. The Internet word may include initialization (e.g., an abbreviation and / or abbreviation consisting of multiple words of initials (e.g., 'laughing loud'), and removing characters from the words (e.g. "review" as "rvw". "Really" as "rlly"), adding letters to words (e.g. "hello" as "hellooooooooo", "yes" as "yeeesssss"), may not appear in words It can take various forms, such as a word representation using one or more letters (eg "see" as "c" and "thanks" as "thx").

본 명세서의 일부 구현예들은 인터넷유행어를 정규화(표준화)된 형식으로 변환하는 것에 관한 것으로, 여기서 인터넷유행어는 예를 들어 사용자가 자동화된 어시스턴트(automated assistant)에 제공한 자연어 입력과 같이, 컴퓨팅 장치의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 공식화된 자연어 입력에 포함된다. 인터넷유행어의 정규화된 형식은 자연어 입력에 응답하는 응답 콘텐트를 결정할 때 자동화된 어시스턴트에 의해 이용될 수 있고, 응답 콘텐트는 사용자의 컴퓨팅 장치의 하나 이상의 사용자 인터페이스 출력 장치를 통해 사용자에게 제공될 수 있다. 많은 구현예들에서, 인터넷유행어를 포함하는 자연어 입력은 사용자, 자동화된 어시스턴트 및 선택적으로 하나 이상의 추가 사용자들 간의 메시지 교환 스레드의 일부로서 사용자에 의해 공식화될 수 있다. 이들 구현예들 중 일부에서, 인터넷유행어의 정규화된 형식(형태)에 기초한 자동화된 시스템에 의해 생성된 응답은 메시지 교환 스레드에 통합될 수 있다. 예를 들어, 상기 응답은 사용자의 컴퓨팅 장치상에서 동작하는 메시지 교환 클라이언트의 그래픽 사용자 인터페이스에 디스플레이되는 메시지 교환 스레드의 전사(transcript)에 삽입될 수 있다.Some embodiments of the present disclosure relate to converting an Internet language into a normalized (standardized) format, where the Internet language is used, for example, of a computing device, such as a natural language input provided by an user to an automated assistant. Included in natural language input formulated by the user through the user interface input device. The canonicalized form of the Internet language can be used by an automated assistant in determining response content responsive to natural language input, and the response content can be provided to the user through one or more user interface output devices of the user's computing device. In many implementations, natural language input, including Internet language, can be formulated by the user as part of a message exchange thread between the user, automated assistant, and optionally one or more additional users. In some of these implementations, the response generated by the automated system based on the canonicalized form of the Internet language may be integrated into the message exchange thread. For example, the response may be inserted in the transcript of the message exchange thread displayed in the graphical user interface of the message exchange client operating on the user's computing device.

사용자가 제공한 입력에서 인터넷유행어의 번역은 예를 들어 난독증이거나 유창하지 않은 언어로 의사소통하기 때문에 사용자가 서면 언어 능력이 제한적이더라도 자동화된 어시스턴트와 같은 컴퓨팅 장치와 상호 작용할 수 있게 한다. 달리 말하면, 상기 컴퓨팅 장치는 사용자가 정확한 철자법 및 문법을 사용하여 쿼리를 작성/입력 할 수 없더라도 입력을 결정할 수 있다. 이는 특히 발음이 아닌 언어로 입력을 수신하는 컴퓨터 장치에 유용할 수 있으며, 영어와 프랑스어가 이러한 언어의 예이다.Translation of the Internet-facing language in user-provided inputs, for example, allows the user to interact with computing devices such as automated assistants, even with limited written language skills, because they communicate in languages that are dyslexia or not fluent. In other words, the computing device can determine the input even if the user cannot write / enter the query using the correct spelling and grammar. This may be particularly useful for computer devices that receive input in languages other than pronunciation, with English and French being examples of such languages.

하나의 예로서, 본 명세서의 일부 구현예들은 "cu I8er"의 자연어 입력을 "see you later"의 정규화된 형식으로 변환하는 데 활용될 수 있으며, 정규화된 형식은 "see you then","OK" 등과 같은 적절한 "채팅 응답"인 응답 콘텐트를 결정하도록 상기 자동화된 시스템에 의해 사용될 수 있다. 또 다른 예로서, 일부 구현예들은 "thx"만으로 구성된 자연어 입력이 자동화된 어시스턴트가 사용하는 정규화된 형식 "thanks"로 변환되어야 하는지 결정하기 위해 활용될 수 있으며, 상기 자동화된 어시스턴트가 하나 이상의 특정 용어와 함께 "thx"를 포함하는 다른 자연어 입력에서 정규화된 형식을 사용하는 것은 적절하지 않을 수 있다. 예를 들어, "thx company", "thx"를 포함하는 자연어 입력에서, "thx"는 "thanks"로 번역될 수 없다. 그 대신 상기 자동화된 시스템은 "thx"를 활용하여 오디오/비디오 회사 THX와 관련된 콘텐트를 포함하는 "검색 응답"과 같은 "thx 회사"에 대한 적절한 응답을 결정할 수 있다.As one example, some implementations of this specification can be utilized to convert natural language input of "cu I8er" to a normalized form of "see you later", where the normalized form is "see you then", "OK. It may be used by the automated system to determine the response content that is an appropriate "chat response" such as ". As another example, some implementations may be utilized to determine whether natural language input consisting solely of "thx" should be converted to the normalized form "thanks" used by the automated assistant, wherein the automated assistant is one or more specific terms. It may not be appropriate to use a normalized form in other natural language inputs containing "thx" with. For example, in natural language input including "thx company", "thx", "thx" cannot be translated as "thanks". Instead, the automated system can utilize "thx" to determine an appropriate response to "thx company", such as "search response" that includes content related to audio / video company THX.

본 명세서의 일부 구현예들은 추가적으로 및/또는 대안적으로, 사용자에게 프리젠테이션하기 위해, 추가 사용자들 및/또는 사용자에 의한 인터넷유행어의 과거 사용에 기초하여 결정된 "인터넷유행어 측정치(chatspeak measure)"에 적어도 부분적으로 기초하여, 인터넷유행어의 정규화된 형식 대신 인터넷유행어를 포함하는 자연어 출력을 제공하는 것에 관한 것이다. 예를 들어, 사용자에 대한 인터넷유행어 번역의 과거 인스턴스가 저장될 수 있고, 인터넷유행어 측정치는 그 인스턴스의 양에 적어도 부분적으로 기초하여 결정될 수 있다(예를 들어, 로우 카운트(raw count), 빈도 및/또는 양의 다른 기능). 예를 들어, 사용자가 자동화된 어시스턴트에 제공되는 메시지에서 인터넷유행어를 지속적으로 사용하는 경우, 해당 사용자의 인터넷유행어 측정치는 해당 사용자가 인터넷유행어를 포함하는 자동화된 어시스턴트로부터 응답을 받기 원하는 것으로 나타낼 수 있으며, 상기 자동화된 어시스턴트는 해당 용어들의 정규화된 버전 대신 인터넷유행어들을 포함하는 응답들을 적어도 제공할 수 있다. 인터넷유행어 측정치는 "일반적인" 인터넷유행어 측정치이거나 하나 이상의 특정 인터넷유행어들의 그룹에 적용될 수 있다. 예를 들어, "thx"/ "t hanks"에 대한 사용자의 인터넷유행어 측정치는 자동화된 어시스턴트가 해당 사용자에 대한 응답으로 "thanks"를 "thx"로 바꾸거나, 반면에 "gr8"/"great"(또는 "gr8"/"great"에 대한 인터넷유행어 측정치의 부족)에 대한 사용자의 별도 인터넷유행어 측정치는 자동화된 어시스턴트가 해당 사용자에 대한 응답으로 "great"를 "gr8"로 대체하지 않을 수 있다.Some embodiments herein may additionally and / or alternatively include a "chatspeak measure" determined based on past usage of the Internet word by additional users and / or users for presentation to the user. Based, at least in part, on providing a natural language output that includes the Internet language instead of the normalized form of the Internet language. For example, past instances of a pandemic translation for a user may be stored, and a pandemic measure may be determined based at least in part on the amount of the instance (eg, raw count, frequency and And / or other functions of amount). For example, if a user continues to use an internet language in a message provided to an automated assistant, that user's internet measurement may indicate that the user wants to receive a response from an automated assistant that includes the internet. The automated assistant may provide at least responses that include Internet language instead of the normalized version of the terms. Internet language measurement may be a "generic" Internet language measurement or may be applied to one or more specific groups of Internet language. For example, a user's Internet measure for "thx" / "t hanks" might be measured by an automated assistant in response to that user, "thanks" to "thx", or "gr8" / "great" A user's separate Internet Vocabulary measure for (or lack of the Internet Vocabulary measure for "gr8" / "great") may not have the automated assistant replace "great" with "gr8" in response to that user.

일부 구현예들에서, 소정의 사용자에 대한 소정의 응답에서 인터넷유행어를 포함 시킬지 여부를 결정하는데 이용되는 하나 이상의 인터넷유행어 측정치들 중 적어도 하나는 소정의 사용자에 대한 특정한 측정치일 수 있다. 예를 들어, 본원에 기술된 기술에 따라 인식된 인터넷유행어의 인스턴스들과 같이, 그 사용자에 의해 공식화된 메시지의 인터넷유행어의 인스턴스들에 적어도 부분적으로 기초하여 결정될 수 있다. 이러한 구현예들 중 일부에서는 사용자에게 특정한 인터넷유행어 측정치가 사용자의 하나 이상의 장치에 대해 특정될 수 있다. 예를 들어, 제1 인터넷유행어 측정치는 사용자의 모바일 컴퓨팅 장치에 대한 사용자에게 할당될 수 있고, 제2 인터넷유행어 측정치는 사용자의 "데스크톱" 컴퓨팅 장치에 할당될 수 있다. 일부 구현 예들에서, 소정의 사용자에 대한 소정의 응답에서 인터넷유행어를 포함시킬지 여부를 결정하는데 이용되는 하나 이상의 인터넷유행어 측정치들 중 적어도 하나는 복수의 사용자의 인터넷유행어 인스턴스들에 기초할 수 있다. 예를 들어, 공통의 하나 이상의 속성(예를 들어, 지리적 영역, 연령 범위)을 갖는 사용자 및/또는 사용된 컴퓨팅 장치의 유형 및/또는 사용된 메시지 교환 클라이언트의 유형에 특정할 수 있는 사용자와 같은 사용자 그룹에 특정될 수 있다(예를 들어, 다수의 사용자 중 메시지 교환 클라이언트A는 클라이언트B 보다 더 많은 인터넷유행어의 빈도를 가질 수 있다).In some implementations, at least one of the one or more Internet language measurements used to determine whether to include the Internet language in a given response to a given user can be a particular measurement for a given user. For example, it may be determined based at least in part on instances of the Internet language of the message formulated by the user, such as instances of the Internet language recognized in accordance with the techniques described herein. In some of these implementations, Internet language measurements specific to a user may be specified for one or more devices of the user. For example, the first Internet measurement may be assigned to the user for the user's mobile computing device and the second internet measurement may be assigned to the user's "desktop" computing device. In some implementations, at least one of the one or more internet language measurements used to determine whether to include the internet language in a given response to a given user may be based on the plurality of internet language instances of the user. For example, a user having one or more attributes in common (eg, geographic area, age range) and / or a user that can be specific to the type of computing device used and / or the type of message exchange client used. May be specific to a group of users (eg, a message exchange client A of a plurality of users may have a greater frequency of Internet traffic than client B).

사용자의 자연어 입력은 다양한 시나리오에서 수신 및 처리될 수 있고 및/또는 자동화된 시스템에 의해 생성된 자연어 출력은 다양한 시나리오에서 생성될 수 있다. 예를 들어, 자연어 입력은 채팅, SMS 및/또는 다른 메시지 교환을 통한 통신과 같이, 하나 이상의 다른 사용자들과의 통신 중에 사용자에 의해 제공되는 입력일 수 있다. 다른 예로서, 상기 자연어 입력은 하나 이상의 사용자 인터페이스 입력 및 출력 장치들을 통해 사용자와의 대화에 관여하는 자동화된 어시스턴트에 제공될 수 있다. 예를 들어, 상기 자동화된 어시스턴트는 사용자의 컴퓨팅 장치(예를 들어, 이동 전화, 태블릿, 자동화된 어시스턴트 기능 전용 장치)에 전체적으로 또는 부분적으로 통합될 수 있으며, 하나 이상의 사용자 인터페이스 입력 장치(예: 마이크, 터치 스크린) 및 하나 이상의 사용자 인터페이스 출력 장치(예: 스피커, 디스플레이 화면)를 포함할 수 있다. 또한, 예를 들어, 자동화된 어시스턴트는 전체 또는 부분적으로 사용자의 클라이언트 컴퓨팅 장치와 분리되지만 통신하는 하나 이상의 컴퓨팅 장치에서 구현될 수 있다.The natural language input of the user may be received and processed in various scenarios and / or the natural language output generated by the automated system may be generated in various scenarios. For example, natural language input may be input provided by a user during communication with one or more other users, such as communication via chat, SMS, and / or other message exchanges. As another example, the natural language input may be provided to an automated assistant participating in a conversation with a user via one or more user interface input and output devices. For example, the automated assistant may be integrated in whole or in part on a user's computing device (e.g., mobile phone, tablet, device dedicated to automated assistant functions), and one or more user interface input devices (e.g. microphone) , A touch screen) and one or more user interface output devices (eg, a speaker and a display screen). Also, for example, an automated assistant may be implemented in one or more computing devices that are in communication with, but in whole or in part with, a user's client computing device.

일부 구현 예들에서, 하나 이상의 프로세서에 의해 수행되는 방법이 제공되며, 이 방법은 하나 이상의 사용자에 의한 메시지 교환 스레드에 기여하는 복수의 메시지에 기초하여 하나 이상의 사용자에 대한 인터넷유행어 측정치를 결정하는 단계를 포함한다. 이 방법은 적어도 사용자와 자동화된 어시스턴트 간의 진행중인 메시지 교환 스레드의 일부로서 사용자들 중 한 사용자에 의해 제출된 자연어 입력을 수신하는 단계를 더 포함한다. 상기 자연어 입력은 사용자의 컴퓨팅 장치의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 공식화된다. 상기 방법은 자연어 입력에 대한 자동화된 어시스턴트의 응답에 포함시키기 위해 자연어 출력을 생성하는 단계를 더 포함한다. 상기 자연어 출력을 발생시키는 단계는 하나 이상의 인터넷유행어들을 인터넷유행어 측정치에 기초한 자연어 출력으로 통합하는 단계를 포함한다. 상기 방법은 자동화된 어시스턴트의 응답을 메시지 교환 스레드에 포함시키는 단계를 더 포함하며, 상기 응답은 하나 이상의 인터넷유행어들을 갖는 자연어 출력을 포함한다.In some implementations, a method is provided that is performed by one or more processors, the method comprising determining an Internet language measurement for one or more users based on a plurality of messages that contribute to a message exchange thread by one or more users. Include. The method further includes receiving natural language input submitted by one of the users as part of an ongoing message exchange thread between the user and the automated assistant. The natural language input is formulated by the user through a user interface input device of the user's computing device. The method further includes generating a natural language output for inclusion in a response of the automated assistant to the natural language input. Generating the natural language output includes incorporating one or more internet words into natural language output based on the internet language measurement. The method further includes including a response of the automated assistant in the message exchange thread, the response comprising a natural language output having one or more Internet languages.

본 방법 및 여기에 개시된 기술의 다른 구현예들은 각각 선택적으로 하나 이상의 다음 특징들을 포함할 수 있다. Each of the present methods and other implementations of the technology disclosed herein can optionally include one or more of the following features.

일부 구현 예에서, 상기 응답을 메시지 교환 스레드에 포함시키는 단계는 사용자의 컴퓨팅 장치상에서 동작하는 메시지 교환 클라이언트의 그래픽 사용자 인터페이스에 디스플레이되는 메시지 교환 스레드의 전사(transcript)에 응답을 삽입하는 단계를 포함한다.In some implementations, including the response in a message exchange thread includes inserting the response in a transcript of a message exchange thread displayed in a graphical user interface of a message exchange client operating on a user's computing device. .

일부 구현 예들에서, 인터넷유행어 측정치는 자연어 출력에 포함된 인터넷유행어를 적어도 하나 이상 포함하는 하나 이상의 인터넷유행어 용어 그룹에 특정적(specific)이며, 하나 이상의 인터넷유행어 용어를 자연어 출력에 통합하는 단계는 인터넷유행어가 포함된 상기 그룹에 특정한 인터넷유행어 측정치를 기반으로 한다.In some implementations, the Internet Vocabulary measure is specific to one or more Internet Vocabulary term groups that include at least one or more Internet Vocabulary words included in the natural language output, and incorporating the one or more Internet Vocabulary terms into the natural language output includes: It is based on internet language measurement specific to the group containing the buzzword.

일부 구현 예들에서, 인터넷유행어를 자연어 출력에 통합하는 단계는 자연어 입력에 응답하는 초기 자연어 출력을 식별하는 단계; 상기 초기 자연어 출력의 하나 이상의 소정의 용어들이 상기 인터넷유행어에 매핑하는지를 결정하는 단계; 그리고 초기 자연어 출력의 소정의 용어들을 인터넷유행어로 대체하는 단계를 포함한다.In some implementations, incorporating the Internet language into a natural language output includes identifying an initial natural language output responsive to the natural language input; Determining whether one or more predetermined terms of the initial natural language output map to the Internet trendy language; And substituting certain terms of the initial natural language output with an Internet fashion.

일부 구현 예들에서, 본 방법은 사용자들 중 하나 이상의 사용자에 대한 추가적인 인터넷유행어 측정치를 결정하는 단계를 더 포함하며, 상기 자연어 출력을 생성하는 단계는 인터넷유행어 측정치에 기초하고 추가 인터넷유행어 측정치에 기초하여 하나 이상의 인터넷유행어를 자연어 출력에 포함시키는 단게를 포함한다. 이러한 구현예들 중 일부에서, 상기 인터넷유행어 측정치는 사용자에게 특정적이고, 자연어 출력에 통합되지 않은 하나 이상의 추가 인터넷유행어를 포함하는 복수의 인터넷유행어에 적용 가능하다. 이러한 구현예들의 일부 버전에서, 추가 인터넷유행어 측정치는 사용자에게 특정되지 않으며, 자연어 출력에 통합된 인터넷유행어 중 적어도 하나에 특정적이다.In some implementations, the method further includes determining additional internet language measurement for one or more of the users, wherein generating the natural language output is based on the internet language measurement and based on the additional internet language measurement. Includes steps to include one or more Internet words in the natural language output. In some of these embodiments, the internet measure is applicable to a plurality of internet words that are user specific and include one or more additional internet words that are not integrated into the natural language output. In some versions of these implementations, additional Internet language measurements are not user specific and are specific to at least one of the Internet languages integrated in the natural language output.

일부 구현예들에서, 인터넷유행어 측정치는 사용자에 특정적이다. 이러한 구현예들 중 일부에서, 메시지 교환 스레드는 적어도 사용자와 자동화된 어시스턴트 간의 과거 자동화된 어시스턴트 메시지 교환 스레드를 포함한다. 이러한 구현예들의 일부 버전에서, 인터넷유행어 측정치를 결정하는 단계는 인터넷유행어가 상기 메시지들에서 이용된 인스턴스들의 카운트에 기초하고, 상기 방법은 상기 카운트가 기초하는 인스턴스들 중 하나를 결정하는 단계를 더 포함한다. 상기 인스턴스들 중 하나를 결정하는 방법은, 과거의 자동화된 어시스턴트 메시지 교환 스레드들 중 하나에서 메시지들 중 소정의 메시지를 수신하는 단계 -상기 소정의 메시지는 사용자에 의해 공식화되고 적어도 제1 용어 및 제2 용어를 포함함 -; 상기 자연어 입력의 적어도 제1 용어에 대해, 상기 제1 용어의 제1 정규화를 식별하는 단계; 상기 자연어 입력에 대한 후보 대체(alternate) 입력을 생성하는 단계 - 상기 생성하는 단계는 상기 제1 용어를 상기 제1 정규화로 대체하고, 상기 후보 대체 입력에 상기 제2 용어의 제2 정규화 또는 제2 용어를 포함시킴 -; 상기 자연어 입력에 대한 제1 점수를 결정하는 단계; 상기 후보 대체 입력에 대한 제2 점수를 결정하는 단계; 상기 제1 점수 및 상기 제2 점수에 기초하여 상기 후보 대체 입력을 선택하는 단계; 상기 후보 대체 입력에 기초하여 응답 콘텐트를 결정하는 단계; 상기 자동화된 어시스턴트에 의한 자연어 입력에 대한 응답으로서 상기 응답 콘텐트를 과거의 자동화된 어시스턴트 메시지 교환 스레드들 중 하나에 포함시키는 단계 -상기 응답 콘텐트를 통합하는 단계는 상기 후보 대체 입력을 선택하는 것에 기초함 -; 그리고 상기 후보 대체 입력을 선택하는 것에 기초하여 상기 인스턴스들 중 하나의 표시(indication)를 저장하는 단계를 포함한다.In some implementations, Internet language measurements are user specific. In some of these implementations, the message exchange thread includes at least an automated assistant message exchange thread between the user and the automated assistant. In some versions of these implementations, determining the internet language measurement is based on a count of instances in which the internet language is used in the messages, and the method further comprises determining one of the instances on which the count is based. Include. A method of determining one of the instances comprises receiving a predetermined one of the messages in one of past automated assistant message exchange threads, wherein the predetermined message is formulated by a user and at least the first term and the first. Contains 2 terms-; For at least a first term of the natural language input, identifying a first normalization of the first term; Generating a candidate alternate input for the natural language input, wherein the generating replaces the first term with the first normalization and a second normalization or a second normalization of the second term in the candidate substitute input. Including the term-; Determining a first score for the natural language input; Determining a second score for the candidate substitute input; Selecting the candidate substitute input based on the first score and the second score; Determining response content based on the candidate substitute input; Incorporating the response content into one of past automated assistant message exchange threads as a response to natural language input by the automated assistant, wherein incorporating the response content is based on selecting the candidate alternate input. -; And storing an indication of one of the instances based on selecting the candidate replacement input.

이러한 구현예들의 일부 추가 버전에서, 자연어 입력에 대한 제1 점수를 결정하는 단계는 적어도 제1 용어 및 제2 용어를 언어 모델에 적용하는 것에 기초하고, 상기 후보 대체 입력에 대한 제2 점수를 결정하는 단계는 언어 모델에 적어도 제1 정규화 및 제2 용어 또는 제2 정규화 중 어느 하나를 적용하는 것에 기초한다. 이러한 구현예들의 또 다른 버전에서, 인터넷유행어 측정치는 사용자에 특정(specific)되고, 인터넷유행어들에 특정되며, 상기 후보 대체 입력을 선택하는 것에 기초하여 상기 인스턴스들 중 하나의 표시를 저장하는 단계는, 적어도 제1 용어 또는 제1 정규화에 대한 표시의 연관성을 저장하는 단계를 포함한다.In some further versions of these implementations, determining a first score for natural language input is based on applying at least a first term and a second term to a language model and determining a second score for the candidate substitute input. The step of doing is based on applying at least one of the first normalization and the second term or the second normalization to the language model. In another version of these implementations, the internet measure is specific to the user, is specific to the internet, and storing an indication of one of the instances based on selecting the candidate alternative input Storing the association of the indication to at least the first term or the first normalization.

일부 구현 예에서, 상기 인터넷유행어 측정치를 결정하는 단계는 상기 인터넷유행어가 상기 메시지들에서 이용된 인스턴스들의 카운트, 상기 메시지들에서 사용된 하나 이상의 인터넷유행어 용어들의 양, 상기 인터넷유행어 용어들의 공통성 및/또는 상기 인터넷유행어들의 사용의 일관성에 기초한다.In some implementations, determining the internet language measurement includes: a count of instances in which the internet language is used in the messages, an amount of one or more internet language terms used in the messages, commonality of the internet language terms, and / or Or based on consistency in the use of the Internet idioms.

일부 구현 예들에서, 하나 이상의 프로세서에 의해 수행되는 방법이 제공되는데, 이 방법은 적어도 사용자와 자동화된 어시스턴트 간의 메시지 교환 스레드의 일부로서 사용자에 의해 제출된 자연어 입력을 수신하는 단계를 포함한다. 상기 자연어 입력은 적어도 제1 용어 및 제2 용어를 포함하며, 사용자의 컴퓨팅 장치의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 공식화된다. 상기 방법은, 상기 자연어 입력의 적어도 제1 용어에 대해, 제1 용어의 제1 정규화를 식별하는 단계; 그리고 상기 자연어 입력에 대한 후보 대체 입력을 생성하는 단계를 더 포함한다. 상기 후보 대체 입력을 생성하는 단계는 제1 용어를 제1 정규화로 대체하고, 상기 후보 대체 입력에 제2 용어 또는 제2 용어의 정규화를 포함시키는 단계를 포함한다. 상기 방법은, 적어도 상기 제1 용어 및 상기 제2 용어를 언어 모델에 적용하는 것에 기초하여 상기 자연어 입력에 대한 제1 점수를 결정하는 단계; 상기 제1 정규화 및 상기 제2 용어 또는 상기 제2 정규화 중 어느 하나를 상기 언어 모델에 적용하는 것에 기초하여 상기 후보 대체 입력에 대한 제2 점수를 결정하는 단계; 상기 제1 점수 및 상기 제2 점수에 기초하여 상기 후보 대체 입력을 선택하는 단계; 상기 후보 대체 입력에 기초하여 응답 콘텐트를 결정하는 단계; 그리고 자동화된 어시스턴트에 의한 자연어 입력에 대한 응답으로서 응답 콘텐트를 메시지 교환 스레드에 통합하는 단계를 더 포함한다. 상기 메시지 교환 스레드에 응답 콘텐트를 포함시키는 단계는 상기 후보 대체 입력을 선택하는 것을 기반으로 한다.In some implementations, a method is provided that is performed by one or more processors, the method comprising receiving natural language input submitted by a user as part of a message exchange thread between at least the user and an automated assistant. The natural language input includes at least a first term and a second term and is formulated by the user through a user interface input device of the user's computing device. The method includes identifying, for at least a first term of the natural language input, a first normalization of a first term; And generating a candidate substitute input for the natural language input. Generating the candidate substitute input includes replacing a first term with a first normalization and including a second term or normalization of the second term in the candidate substitute input. The method includes determining a first score for the natural language input based on applying at least the first term and the second term to a language model; Determining a second score for the candidate substitute input based on applying either the first normalization and the second term or the second normalization to the language model; Selecting the candidate substitute input based on the first score and the second score; Determining response content based on the candidate substitute input; And incorporating the response content into the message exchange thread as a response to the natural language input by the automated assistant. Including response content in the message exchange thread is based on selecting the candidate replacement input.

본 방법 및 여기에 개시된 기술의 다른 구현예들은 각각 선택적으로 하나 이상의 다음 특징들을 포함할 수 있다.Each of the present methods and other implementations of the technology disclosed herein can optionally include one or more of the following features.

일부 구현 예들에서, 응답 콘텐트를 메시지 교환 스레드에 포함시키는 단계는 상기 응답 콘텐트를 상기 사용자의 컴퓨팅 장치상에서 동작하는 메시지 교환 클라이언트의 그래픽 사용자 인터페이스에 디스플레이된 메시지 교환 스레드의 전사에 삽입하는 단계를 포함한다.In some implementations, including the response content in a message exchange thread includes inserting the response content into a transcription of a message exchange thread displayed in a graphical user interface of a message exchange client operating on the user's computing device. .

일부 구현 예들에서, 이 방법은 응답 콘텐트에 대한 응답 콘텐트 점수를 결정하는 단계 및 상기 응답 콘텐트 점수에 더 기초하여 상기 제1 점수를 결정하는 단계를 더 포함한다. 응답 콘텐트 점수가 결정되는 구현예들 중 일부에서, 상기 응답 콘텐트는 하나 이상의 입력 파라미터들에 맵핑되는 스크립트된(scripted) 응답이고, 상기 응답 콘텐트 점수를 결정하는 단계는 상기 입력 파라미터들의 적어도 일부와 상기 후보 대체 입력의 비교에 기초한다. 응답 콘텐트 점수가 결정되는 구현예들 중 일부에서, 상기 응답 콘텐트는 후보 대체 입력에 응답하는 하나 이상의 검색 결과들에 기초하며, 상기 응답 콘텐트 점수를 결정하는 단계는 상기 검색 결과들 중 적어도 하나의 특성 또는 점수에 기초한다. 이러한 구현예들의 일부 버전에서, 상기 응답 콘텐트 점수를 결정하는 단계는 상기 검색 결과가 특정 유형의 검색 결과인 것을 나타내는 상기 검색 결과들 중 적어도 하나의 특성에 기초한다.In some implementations, the method further includes determining a response content score for the response content and determining the first score further based on the response content score. In some of the embodiments where a response content score is determined, the response content is a scripted response mapped to one or more input parameters, and determining the response content score comprises at least a portion of the input parameters and the Based on the comparison of candidate replacement inputs. In some of the embodiments in which a response content score is determined, the response content is based on one or more search results responsive to a candidate replacement input, and wherein determining the response content score is characteristic of at least one of the search results. Or based on the score. In some versions of these implementations, determining the response content score is based on at least one characteristic of the search results indicating that the search result is a specific type of search result.

일부 구현 예들에서, 상기 언어 모델은 n- 그램(n-gram) 모델이고, 적어도 상기 제1 용어 및 상기 제2 용어를 상기 언어 모델에 적용하는 것에 기초하여 상기 자연어 입력에 대한 상기 제1 점수를 결정하는 단계는 상기 제1 용어 및 상기 제2 용어 양자 모두를 상기 언어 모델에 적용하는 단계를 포함한다.In some implementations, the language model is an n-gram model and uses the first score for the natural language input based on applying at least the first term and the second term to the language model. Determining includes applying both the first term and the second term to the language model.

일부 구현 예들에서, 상기 방법은 인간들 간의 메시지 교환 스레드로부터의 메시지의 정규화에 기초하여 상기 언어 모델을 생성하는 단계를 더 포함하며, 상기 메시지의 정규화는 그 인터넷유행어 용어들(chatspeak terms)이 인터넷유행어(chatspeak)로서 이용될 때 정규화된 용어로 이들 메시지의 인터넷유행어를 대체한다.In some implementations, the method further includes generating the language model based on normalization of a message from a message exchange thread between humans, wherein the normalization of the message is such that the chatspeak terms are Internet-interpreted. When used as a chatspeak, it is a qualified term that replaces the Internet language of these messages.

일부 구현 예들에서, 상기 후보 대체 입력에 기초하여 응답 콘텐트를 결정하는 단계는 상기 후보 대체 입력에 기초하여 하나 이상의 응답 리소스 데이터베이스를 검색하는 단계를 포함한다.In some implementations, determining response content based on the candidate replacement input includes searching one or more response resource databases based on the candidate replacement input.

일부 구현 예들에서, 하나 이상의 프로세서에 의해 수행되는 방법이 제공되는데, 이 방법은 적어도 사용자와 자동화된 어시스턴트 간의 메시지 교환 스레드의 일부로서 사용자에 의해 제출된 자연어 입력을 수신하는 단계를 포함한다. 상기 방법은, 자연어 입력의 적어도 제1 용어에 대해, 제1 용어의 제1 정규화를 식별하는 단계; 그리고 상기 자연어 입력에 대한 후보 대체 입력을 생성하는 단계를 포함한다. In some implementations, a method is provided that is performed by one or more processors, the method comprising receiving natural language input submitted by a user as part of a message exchange thread between at least the user and an automated assistant. The method includes, for at least a first term of natural language input, identifying a first normalization of the first term; And generating a candidate substitute input for the natural language input.

상기 후보 대체 입력을 생성하는 단계는 상기 후보 대체 입력에 상기 제1 용어 대신에 제1 정규화를 포함시키는 단계를 포함한다. 상기 방법은, 적어도 상기 제1 용어를 언어 모델에 적용하는 것에 기초하여 상기 자연어 입력에 대한 제1 점수를 결정하는 단계; 상기 언어 모델에 적어도 상기 제1 정규화를 적용하는 것에 기초하여 상기 후보 대체 입력에 대한 제2 점수를 결정하는 단계; 상기 제1 점수 및 상기 제2 점수에 기초하여 상기 후보 대체 입력을 선택하는 단계; 상기 후보 대체 입력에 기초하여 응답 콘텐트를 결정하는 단계; 그리고 자동화된 어시스턴트에 의한 자연어 입력에 대한 응답으로서 응답 콘텐트를 메시지 교환 스레드에 통합하는 단계를 더 포함한다. 상기 메시지 교환 스레드에 응답 콘텐트를 통합하는 단계는 상기 후보 대체 입력을 선택하는 것을 기반으로 한다.Generating the candidate substitute input includes including a first normalization in place of the first term in the candidate substitute input. The method includes determining a first score for the natural language input based at least on applying the first term to a language model; Determining a second score for the candidate substitute input based on applying at least the first normalization to the language model; Selecting the candidate substitute input based on the first score and the second score; Determining response content based on the candidate substitute input; And incorporating the response content into the message exchange thread as a response to the natural language input by the automated assistant. Incorporating response content into the message exchange thread is based on selecting the candidate replacement input.

또한, 일부 구현 예들은 하나 이상의 프로세서가 연관된 메모리에 저장된 명령어들을 실행하도록 동작할 수 있는 하나 이상의 컴퓨팅 장치의 하나 이상의 프로세서를 포함하고, 상기 명령어들은 전술한 방법들 중 임의의 것을 수행하도록 구성된다. 일부 구현 예들은 전술한 방법들 중 임의의 것을 수행하기 위해 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터 명령어들을 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체를 또한 포함한다.Further, some implementations include one or more processors of one or more computing devices, wherein the one or more processors are operable to execute instructions stored in an associated memory, wherein the instructions are configured to perform any of the methods described above. Some implementations also include a non-transitory computer readable storage medium that stores computer instructions executable by one or more processors to perform any of the methods described above.

전술한 개념들 및 본 명세서에서보다 상세하게 기술된 추가 개념들의 모든 조합은 본 명세서에 개시된 요지의 일부로서 고려될 수 있음을 이해해야 한다. 예를 들어, 본 명세서의 끝 부분에 나타난 청구된 요지의 모든 조합은 본 명세서에 개시된 요지의 부분으로 고려된다.It should be understood that all combinations of the foregoing concepts and additional concepts described in more detail herein may be considered as part of the subject matter disclosed herein. For example, all combinations of claimed subject matter appearing at the end of this specification are considered to be part of the subject matter disclosed herein.

도 1은 본 명세서에 개시된 구현 예들이 구현될 수 있는 예시적인 환경의 다이어그램이다.
도 2는 인터넷유행어를 포함하는 자연어 입력을 수신하고, 인터넷유행어를 정규화된 형태로 변환하고, 그 정규화된 형태를 이용하여 자연어 입력에 응답하는 응답 콘텐트를 생성하고, 그 자연어 입력에 대한 응답으로 제시할 응답 콘텐트를 제공하는 예를 도시한다.
도 3은 본 명세서에 설명된 구현 예들에 따라 클라이언트 컴퓨팅 장치의 사용자와 자동화된 어시스턴트 간에 발생할 수 있는 대화의 예를 디스플레이하는 디스플레이 스크린을 갖는 예시적인 클라이언트 컴퓨팅 장치를 도시한다.
도 4는 본 명세서에 설명된 구현 예들에 따라 클라이언트 컴퓨팅 장치의 사용자와 자동화된 어시스턴트 간에 발생할 수 있는 대화의 일례를 디스플레이하는 디스플레이 스크린을 갖는 예시적인 클라이언트 컴퓨팅 장치를 도시한다.
도 5는 인터넷유행어를 포함하는 자연어 입력을 수신하고, 인터넷유행어를 정규화된 형식(형태)으로 변환하고, 그 자연어 입력에 응답하는 응답 콘텐트를 생성하기 위해 정규화된 형태를 이용하고, 자연어 입력에 대한 응답으로 제시할 응답 콘텐트를 제공하는 예시적인 방법을 도시하는 흐름도이다.
도 6은 적어도 하나의 사용자에 대한 인터넷유행어 측정치를 결정하고, 사용자로부터 자연어 입력을 수신하고, 상기 인터넷유행어 측정치 및 자연어 입력에 기초하여 자연어 출력을 결정하고, 상기 자연어 입력에 대한 응답으로 사용자에게 제시(표시)할 자연어 출력을 제공하는 예시적인 방법을 나타내는 흐름도를 나타낸다.
도 7은 컴퓨팅 장치의 예시적인 아키텍처를 도시한다.
1 is a diagram of an example environment in which implementations disclosed herein may be implemented.
Figure 2 receives a natural language input including the Internet word, converts the Internet word into a normalized form, generates a response content in response to the natural language input using the normalized form, presented in response to the natural language input An example of providing response content to do is shown.
3 illustrates an example client computing device having a display screen displaying an example of a conversation that may occur between a user of the client computing device and an automated assistant in accordance with implementations described herein.
4 illustrates an example client computing device having a display screen displaying an example of a conversation that may occur between a user of the client computing device and an automated assistant in accordance with implementations described herein.
FIG. 5 illustrates the use of normalized forms to receive natural language input including the Internet language, convert the Internet language into a normalized form, and generate response content responsive to the natural language input, A flowchart illustrating an example method of providing response content to present in response.
FIG. 6 determines an Internet language measurement for at least one user, receives a natural language input from the user, determines a natural language output based on the internet language measurement and the natural language input, and presents to the user in response to the natural language input. A flow diagram illustrating an exemplary method of providing natural language output for display (shown) is shown.
7 illustrates an example architecture of a computing device.

사용자들은 자동화된 어시스턴트와의 메시지 교환 스레드와 같이 다양한 비인간 컴퓨터 시스템에 요청을 제출할 때 인터넷유행어(채팅스피크)(chatspeak)를 활용하고자 할 수 있다. 예를 들어, 사용자들은 인터넷유행어를 이용하는 것에 익숙할 수 있고 및/또는 사용자의 컴퓨팅 장치의 제약(예를 들어, 디스플레이 제약, 사용자 인터페이스 입력 장치 제약)은 인터넷유행어를 이용하는 것이 바람직할 수 있다. 그러나, 많은 컴퓨터 시스템은 인터넷유행어를 인식하지 못하거나, 인터넷유행어를 정규화된 형식으로 적절히 해석하지 못할 수도 있으며, 입력이 인터넷유행어로 의도되지 않았다고 하더라도 인터넷유행어로 입력을 잘못 해석할 수도 있다. 또한, 많은 컴퓨터 시스템은 인터넷유행어로 응답하지 않을 수 있고 및/또는 하나 또는 그 이상의 사용자에 의한 메시지 교환 스레드에서의 인터넷유행어의 과거 사용을 기반으로 인터넷유행어로 응답하지 않을 수도 있다.Users may wish to utilize chatspeak when submitting requests to various non-human computer systems, such as message exchange threads with automated assistants. For example, users may be accustomed to using the Internet language language and / or the constraints of the user's computing device (eg, display constraints, user interface input device constraints) may be preferred to use the Internet language. However, many computer systems may not recognize the Internet language, may not properly interpret it in a normalized form, or may misinterpret the input in the Internet even if the input is not intended. In addition, many computer systems may not respond to an Internet fashion and / or may not respond to an internet fashion based on past usage of the internet in a message exchange thread by one or more users.

본 명세서의 구현예들은 인터넷유행어를 정규화된 형식으로 변환하는 것에 관한 것으로, 여기서 인터넷유행어는 사용자가 자동화된 시스템에 제공한 자연어 입력과 같이, 컴퓨팅 장치의 사용자 인터페이스 입력 장치를 통해 사용자가 공식화(표현)한 자연어 입력에 포함된다. 인터넷유행어의 정규화된 형태는 자연어 입력에 응답하는 응답 콘텐트를 결정할 때 자동화된 시스템에 의해 이용될 수 있고, 그 응답 콘텐트는 사용자의 컴퓨팅 장치의 하나 이상의 사용자 인터페이스 출력 장치를 통해 사용자에게 제공될 수 있다.Embodiments of the present disclosure relate to converting an Internet language into a canonicalized form, where it is formulated by a user through a user interface input device of a computing device, such as natural language input provided to an automated system by a user. Are included in the natural language input. The canonicalized form of the Internet language may be used by an automated system to determine response content responsive to natural language input, which response content may be provided to the user through one or more user interface output devices of the user's computing device. .

하나의 예로서, 본 명세서의 일부 구현예들은 "cu I8er"의 자연어 입력을 "see you later"의 정규화된 형식으로 변환하는 데 활용될 수 있으며, 정규화된 형식은 "see you then","OK" 등과 같은 적절한 "채팅 응답"인 응답 콘텐트를 결정하도록 상기 자동화된 시스템에 의해 사용될 수 있다. As one example, some implementations of this specification can be utilized to convert natural language input of "cu I8er" to a normalized form of "see you later", where the normalized form is "see you then", "OK. It may be used by the automated system to determine the response content that is an appropriate "chat response" such as ".

본 명세서의 일부 구현예들은 추가적으로 및/또는 대안적으로, 사용자에게 프리젠테이션하기 위해, 추가 사용자들 및/또는 사용자에 의한 인터넷유행어의 과거 사용에 기초하여 결정된 "인터넷유행어 측정치(chatspeak measure)"에 적어도 부분적으로 기초하여, 인터넷유행어의 정규화된 형식 대신 인터넷유행어를 포함하는 자연어 출력을 제공하는 것에 관한 것이다. 예를 들어, 사용자에 대한 인터넷유행어 번역의 과거 인스턴스가 저장될 수 있고, 인터넷유행어 측정치는 그 인스턴스의 양(quantity)에 기초하여 결정될 수 있다(예를 들어, 로우 카운트(raw count), 빈도 및/또는 양(quantity)의 다른 기능). 예를 들어, 사용자가 자동화된 어시스턴트(automated assistant)에 제공되는 메시지에서 인터넷유행어를 지속적으로 사용하는 경우, 해당 사용자의 인터넷유행어 측정치는 해당 사용자가 인터넷유행어(또는 소정의 특정 채팅스피크 용어들)를 포함하는 자동화된 어시스턴트로부터 응답을 받기 원하는 것으로 나타낼 수 있으며, 상기 자동화된 어시스턴트는 해당 용어들의 정규화된 버전 대신 인터넷유행어 용어들(chatspeak terms)을 포함하는 응답들을 적어도 제공할 수 있다. 인터넷유행어 측정치를 결정하기 위한 다른 기반은 사용된 인터넷유행어 용어들의 품질(예컨대, 복잡성), 사용된 인터넷유행어의 공통성(예를 들어, "laugh out loud"를 "lol"로 표현하는 것과 같이 정규화된 형태에 대한 특정 인터넷유행어를 대체하는 것이 일반적이다.), 특정 인터넷유행어의 사용자의 사용 일관성(예를 들어, 사용자는 정규화된 형태 대신에 특정 인터넷유행어를 대부분의 시간에 사용함) 등을 포함한다. 실제로, 인터넷유행어 측정치는 인터넷유행어 및/또는 응답에서 특정 인터넷유행어의 사용을 포함하는 일반적인 응답에 대한 이들 속성의 조합(가중치 또는 기타)으로부터 결정될 수 있다.Some embodiments herein may additionally and / or alternatively include a "chatspeak measure" determined based on past usage of the Internet word by additional users and / or users for presentation to the user. Based, at least in part, on providing a natural language output that includes the Internet language instead of the normalized form of the Internet language. For example, past instances of a pandemic translation for a user may be stored, and the pandemic measure may be determined based on the quantity of that instance (eg, raw count, frequency and And / or other functions of quantity). For example, if a user continues to use an Internet word in a message provided to an automated assistant, the user's measurement of that word's Internet word is measured by that user's Internet word (or some specific chatspeak terms). It may be indicated that it wants to receive a response from an automated assistant that includes it, and the automated assistant may provide at least responses that include chatspeak terms instead of the normalized version of the terms. Another basis for determining Internet language measurements is the quality of Internet terminology used (e.g., complexity), and the commonality of the Internet terminology used (e.g. "laugh out loud" as "lol"). It is common to substitute for a particular Internet term for a form), and the user's consistency of use of a particular Internet term (eg, a user uses a particular term for most of the time instead of the normalized form). Indeed, Internet language measurements may be determined from combinations of these attributes (weighted or otherwise) for the general response, including the use of the specific internet term in the Internet word and / or response.

도 1을 참조하면, 여기에 개시된 기술들이 구현될 수 있는 예시적인 환경이 도시되어 있다. 예시적인 환경은 복수의 클라이언트 컴퓨팅 장치(1061-N) 및 자동화된 어시스턴트(120)를 포함한다. 자동화된 어시스턴트(120)가 클라이언트 컴퓨팅 장치(1061-N)와 별개로 도 1에 도시되어 있지만, 일부 구현 예에서 자동화된 어시스턴트(120)의 모든 또는 양태들은 클라이언트 컴퓨팅 장치(1061-N) 중 하나 이상에 의해 구현될 수 있다. 예를 들어, 클라이언트 컴퓨팅 장치(106i)는 자동화된 어시스턴트(120)의 하나의 이상의 인스턴스를 구현할 수 있으며, 클라이언트 컴퓨팅 장치(106N)는 또한 자동화된 어시스턴트(120)의 하나 이상의 양태의 개별 인스턴스를 구현할 수 있다. 자동화된 어시스턴트(120)의 하나 이상의 양태들이 클라이언트 컴퓨팅 장치(1061-N)로부터 멀리 떨어진 하나 이상의 컴퓨팅 장치에 의해 구현되는 구현 예에서, 클라이언트 컴퓨팅 장치(1061-N) 및 자동화된 어시스턴트(120)의 양태들은 근거리 통신망(LAN) 및/또는 광역 통신망(WAN)(예: 인터넷)과 같은 하나 이상의 네트워크를 통해 통신할 수 있다.Referring to FIG. 1, an example environment in which the techniques disclosed herein may be implemented is shown. An example environment includes a plurality of client computing devices 1061 -N and automated assistant 120. Although automated assistant 120 is shown in FIG. 1 separately from client computing device 1061-N, in some implementations all or aspects of automated assistant 120 are one of client computing devices 1061 -N. It can be implemented by the above. For example, client computing device 106i may implement one or more instances of automated assistant 120, and client computing device 106N may also implement separate instances of one or more aspects of automated assistant 120. Can be. In an implementation where one or more aspects of automated assistant 120 are implemented by one or more computing devices remote from client computing device 1061 -N, the client computing device 1061 -N and automated assistant 120 may be referred to. Aspects may communicate over one or more networks, such as a local area network (LAN) and / or a wide area network (WAN) (eg, the Internet).

클라이언트 컴퓨팅 장치들(1061-N)은 예를 들어 데스크톱 컴퓨팅 장치, 랩톱 컴퓨팅 장치, 태블릿 컴퓨팅 장치, 이동 전화 컴퓨팅 장치, 사용자 차량의 컴퓨팅 장치(예를 들어, 차량 내 통신 시스템, 차량용 오락 시스템, 차량 내 내비게이션 시스템), 개인 보조 컴퓨팅 장치 또는 컴퓨팅 장치를 포함하는 사용자의 착용식 장치(예를 들어, 컴퓨팅 장치를 갖는 사용자의 시계, 컴퓨팅 장치를 갖는 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 장치) 중 하나 이상을 포함할 수 있다. 추가 및/또는 대안적으로, 클라이언트 컴퓨팅 장치가 제공될 수 있다. 일부 구현 예들에서, 소정의 사용자는 컴퓨팅 장치들의 조정된 "에코시스템(ecosystem)"을 집합적으로 형성하는 사용자의 복수의 클라이언트 컴퓨팅 장치를 이용하여 자동화된 어시스턴트(120)와 통신할 수 있다. 그러나, 간결성을 위해, 본 개시에서 설명된 많은 예는 클라이언트 컴퓨팅 장치들(1061-N) 중 하나를 조작하는 소정의 사용자에게 초점을 맞출 것이다.The client computing devices 1061 -N may be, for example, desktop computing devices, laptop computing devices, tablet computing devices, mobile phone computing devices, computing devices of user vehicles (eg, in-vehicle communication systems, in-vehicle entertainment systems, vehicles One of the user's wearable devices (eg, a user's watch with a computing device, a user's glasses with a computing device, a virtual or augmented reality computing device), including a navigation system), a personal assistive computing device, or a computing device. It may contain the above. Additionally and / or alternatively, a client computing device may be provided. In some implementations, a given user can communicate with automated assistant 120 using a plurality of client computing devices of the user that collectively form a coordinated “ecosystem” of the computing devices. However, for brevity, many examples described in this disclosure will focus on a given user who manipulates one of the client computing devices 1061 -N.

각각의 클라이언트 컴퓨팅 장치(1061-N)는 메시지 교환 클라이언트(1071-N) 중 대응하는 하나와 같은 다양한 상이한 애플리케이션들을 동작시킬 수 있다. 메시지 교환 클라이언트(1071-N)는 다양한 형태로 존재할 수 있으며, 형태는 클라이언트 컴퓨팅 장치(1061-N)에 걸쳐 다양할 수 있고 및/또는 복수 형태가 클라이언트 컴퓨팅 장치(1061-N) 중 하나에서 동작될 수 있다. 일부 구현 예에서, 하나 이상의 메시지 교환 클라이언트(107I-N)는 단문 메시징 서비스("SMS") 및/또는 멀티미디어 메시징 서비스("MMS") 클라이언트, 온라인 채팅 클라이언트(예를 들어, 인스턴트 메신저, 인터넷 릴레이 채팅, 또는 "I RC" 등), 소셜 네트워크와 연관된 메시징 어플리케이션, 자동화된 어시스턴트(120)와의 대화에 전용된 개인 어시스턴트 메시징 서비스 등의 형태일 수 있다. 일부 구현 예에서, 하나 이상의 메시지 교환 클라이언트(1071-N)는 웹 페이지 또는 클라이언트 컴퓨팅 장치(106)의 웹 브라우저(도시되지 않음) 또는 다른 애플리케이션에 의해 렌더링된 다른 리소스를 통해 구현될 수 있다.Each client computing device 1061 -N may operate a variety of different applications, such as a corresponding one of the message exchange clients 1071 -N. The message exchange client 1071 -N may exist in various forms, the form may vary across the client computing device 1061 -N, and / or multiple forms operate on one of the client computing devices 1061 -N. Can be. In some implementations, the one or more message exchange clients 107I-N can be a short messaging service ("SMS") and / or multimedia messaging service ("MMS") client, an online chat client (eg, instant messenger, Internet relay). Chat, or " I RC ", etc.), messaging applications associated with the social network, personal assistant messaging services dedicated to conversations with automated assistant 120, and the like. In some implementations, one or more message exchange clients 1071 -N may be implemented via a web page or other resource rendered by a web browser (not shown) or other application of client computing device 106.

본 명세서에서보다 상세하게 설명된 바와 같이, 자동화된 어시스턴트(120)는 하나 이상의 클라이언트 장치(1061-N)의 사용자 인터페이스 입력 및 출력 장치를 통해 하나 이상의 사용자로부터 입력을 수신하고 및/또는 하나 이상의 사용자에게 출력을 제공한다. 일부 구현 예에서, 여기서 설명된 사용자 인터페이스 입력은 자동화된 어시스턴트(120)에 명시적으로 전달된다. 예를 들어, 메시지 교환 클라이언트(107I-N) 중 하나는 자동화된 어시스턴트(120)와의 대화에 전용된 개인 어시스턴트 메시징 서비스일 수 있고, 그 개인 어시스턴트 메시징 서비스를 통해 제공된 사용자 인터페이스 입력은 자동화된 어시스턴트(120)에 자동으로 제공될 수 있다. 또한, 예를 들어, 상기 사용자 인터페이스 입력은 자동화된 어시스턴트(120)가 호출될 것임을 지시하는 특정 사용자 인터페이스 입력에 기초하여 하나 이상의 메시지 교환 클라이언트(1071-N)의 자동화된 어시스턴트(120)에게 명시적으로 전달될 수 있다. 예를 들어, 특정 사용자 인터페이스 입력은 하나 이상의 유형화된 문자(예: @PersonalAssistant), 가상 버튼(예: 탭, 롱 탭)을 갖는 사용자 상호작용, 구두 명령(예: "Hey Personal Assistant") 등일 수 있다. 일부 구현 예에서, 자동화된 어시스턴트(120)는 사용자 인터페이스 입력이 명시적으로 자동화된 어시스턴트(120)로 전달되지 않아도, 사용자 인터페이스 입력에 응답하여 하나 이상의 동작을 수행할 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 사용자 인터페이스 입력의 콘텐츠를 조사하고, 사용자 인터페이스 입력에 존재하는 특정 용어들에 응답하여 및/또는 다른 큐(cue)들에 기초하여 하나 이상의 동작을 수행할 수 있다.As described in more detail herein, automated assistant 120 receives input from one or more users and / or one or more users via user interface input and output devices of one or more client devices 1061 -N. Gives output. In some implementations, the user interface input described herein is explicitly passed to the automated assistant 120. For example, one of the message exchange clients 107I-N may be a personal assistant messaging service dedicated to a conversation with the automated assistant 120, and the user interface input provided through the personal assistant messaging service may be an automated assistant ( 120 may be automatically provided. Also, for example, the user interface input is explicit to the automated assistant 120 of one or more message exchange clients 1071 -N based on a particular user interface input indicating that the automated assistant 120 will be invoked. Can be delivered. For example, certain user interface inputs can be one or more typed characters (such as @PersonalAssistant), user interactions with virtual buttons (such as tabs, long tabs), verbal commands (such as "Hey Personal Assistant"), and so on. have. In some implementations, the automated assistant 120 can perform one or more actions in response to the user interface input even if the user interface input is not explicitly passed to the automated assistant 120. For example, automated assistant 120 may examine the content of the user interface input and perform one or more actions in response to certain terms present in the user interface input and / or based on other cues. Can be.

각각의 클라이언트 컴퓨팅 장치(1061-N) 및 자동화된 어시스턴트(120)는 데이터 및 소프트웨어 애플리케이션의 저장을 위한 하나 이상의 메모리, 데이터에 액세스하고 애플리케이션을 실행하기 위한 하나 이상의 프로세서 및 네트워크를 통한 통신을 용이하게 하는 다른 컴포넌트들을 포함할 수 있다. 하나 이상의 클라이언트 컴퓨팅 장치(1061-N) 및/또는 자동화된 어시스턴트(120)에 의해 수행되는 동작은 다수의 컴퓨터 시스템에 분산될 수 있다. 자동화된 어시스턴트(120)는 예를 들어 네트워크를 통해 서로 결합되는 하나 이상의 위치에서의 하나 이상의 컴퓨터상에서 실행되는 컴퓨터 프로그램들로서 구현될 수 있다.Each client computing device 1061 -N and automated assistant 120 facilitate communication via one or more memories for storage of data and software applications, one or more processors for accessing data and executing applications, and over a network. It may include other components. The operations performed by one or more client computing devices 1061 -N and / or automated assistant 120 may be distributed across multiple computer systems. Automated assistant 120 may be implemented as computer programs running on one or more computers, for example, in one or more locations coupled to each other via a network.

자동화된 어시스턴트(120)는 용어 정규화 엔진(122), 대체 입력 엔진(124), 채점 엔진(scoring engine)(126), 하나 이상의 메시지 생성 엔진(128), 및 인터넷유행어(chatspeak) 측정 엔진(130)을 포함할 수 있다. 일부 구현 예에서, 엔진(122, 124, 126, 128 및/또는 130) 중 하나 이상은 생략될 수 있다. 일부 구현 예에서, 하나 이상의 엔진(122, 124, 126, 128 및/또는 130)의 모든 또는 양태들이 결합될 수 있다. 일부 구현 예에서, 하나 이상의 엔진(122, 124, 126, 128 및/또는 130)은 자동화된 어시스턴트(120)와 별개인 컴폰너트로 구현될 수 있다. 예를 들어, 하나 이상의 엔진(122,124,126,128 및/또는 130) 또는 그 임의의 동작 부(operative portion)는 클라이언트 컴퓨팅 장치(1061-N) 중 하나에 의해 실행되는 컴포넌트에서 구현될 수 있다. Automated assistant 120 may include term normalization engine 122, alternate input engine 124, scoring engine 126, one or more message generation engine 128, and chatspeak measurement engine 130. ) May be included. In some implementations, one or more of the engines 122, 124, 126, 128 and / or 130 can be omitted. In some implementations, all or aspects of one or more engines 122, 124, 126, 128, and / or 130 can be combined. In some implementations, one or more engines 122, 124, 126, 128, and / or 130 can be implemented as a component separate from automated assistant 120. For example, one or more engines 122, 124, 126, 128 and / or 130 or any operative portion thereof may be implemented in a component executed by one of the client computing devices 1061 -N.

도 1에서, 자동화된 어시스턴트(120)는 정규화 데이터베이스(152), 언어 모델 데이터베이스(154), 응답 리소스 데이터베이스(156) 및 인터넷유행어 측정 데이터베이스(158)와 통신하는 것으로 도시된다. 데이터베이스(152, 154, 156 및/또는 158)는 이하에서보다 상세히 설명되며, 클라이언트 컴퓨팅 장치(106I) 중 하나에 국부적이고, 자동화된 어시스턴트(120)에 국부적이고, 및/또는 클라이언트 컴퓨팅 장치(1061-N) 및/또는 자동화된 어시스턴트(120)로부터 멀리 떨어진 하나 이상의 매체와 같은 하나 이상의 비-일시적인 컴퓨터 판독 가능 매체상에 제공될 수 있다. 많은 구현 예에서, 하나 이상의 데이터베이스(152, 154, 156 및/또는 158)가 결합될 수 있다.In FIG. 1, the automated assistant 120 is shown in communication with the normalization database 152, the language model database 154, the response resource database 156, and the Internet language measurement database 158. Databases 152, 154, 156, and / or 158 are described in greater detail below, local to one of the client computing devices 106I, local to the automated assistant 120, and / or client computing devices 1061. -N) and / or on one or more non-transitory computer readable media, such as one or more media away from automated assistant 120. In many implementations, one or more databases 152, 154, 156 and / or 158 can be combined.

용어 정규화 엔진(122)은 수신된 자연어 입력에서의 다양한 잠재적인 인터넷유행어 용어들의 정규화를 결정한다. 예를 들어, 용어 정규화 엔진(122)은 용어 "c"에 대한 "see"의 정규화, 용어 "thx"에 대한 "thanks"의 정규화, 용어 "rvw"에 대한 "review" 및 "rearview" 등의 정규화들을 결정할 수 있다. 용어 정규화 엔진(122)은 정규화를 생성하기 위해 정규화 데이터베이스(152)의 하나 이상의 매핑, 규칙 및/또는 다른 기준을 이용할 수 있다. 예를 들어, 정규화 데이터베이스(152)는 하나 이상의 해당 정규화에 대한 특정 인터넷유행어 용어들의 매핑을 포함할 수 있다. 예를 들어, "c"라는 용어는 "see"의 단일 정규화(표준화)에 매핑될 수 있으며, "rvw"라는 용어는 "review", "rearview" 등과 같은 여러 정규화에 매핑될 수 있다. 또한, 예를 들어, 정규화 데이터베이스(152)는 동일한 문자의 다수의 연속적인 인스턴스를 포함하고, 유효한 정규화된 용어가 아닌 용어들로, 유효한 정규화된 용어가 달성될 때까지 그 문자의 인스턴스들이 제거될 수 있다고 규정하는 규칙을 정의할 수 있다. 예를 들어, 상기 규칙은 "helloooooooo"를 "hello"로 정규화하고, "yessss"를 "yes"로 정규화하고, "yippeeeeeeeee"를 "yippee"로 정규화하고, "cooooolllN"을 "cool" 및 "col" 등으로 정규화하는 데 사용될 수 있다. 일부 구현 예에서, 용어 정규화 엔진(122)은 정규화를 결정할 때 매핑 및/또는 규칙을 구성할 수 있다. 예를 들어, 엔진(122)는 먼저 "wazzaaaaa"를 "wazza"로 중복제거(deduplicating)하고 "wazza"와 "what's up" 간의 매핑을 식별하여 "wazzaaaaa"를 "what's up"으로 정규화할 수 있다. "wazzaaaaa"를 "what's up"로 중복제거할 때, 엔진(122)은 동일한 문자의 다수의 연속적인 인스턴스를 포함하고, 유효한 정규화된 용어가 아닌 용어로, 인식된 용어(예: 인터넷유행어 용어들과 정규화된 용어들 사이의 매핑에서 인식되는 용어)가 달성될 때까지 그 문자의 인스턴스들이 제거될 수 있다고 규정하는 규칙에 의존할 수 있다.The term normalization engine 122 determines the normalization of various potential Internet term terms in the received natural language input. For example, the term normalization engine 122 may include normalization of "see" for term "c", normalization of "thanks" for term "thx", "review" and "rearview" for term "rvw", and the like. Normalizations can be determined. The term normalization engine 122 may use one or more mappings, rules, and / or other criteria of the normalization database 152 to generate normalizations. For example, the canonicalization database 152 may include mapping of specific Internet terminology terms to one or more corresponding normalizations. For example, the term "c" may map to a single normalization (normalization) of "see", and the term "rvw" may map to several normalizations such as "review", "rearview", and so forth. Also, for example, normalization database 152 may include multiple consecutive instances of the same character, and with terms that are not valid normalized terms, instances of that character may be removed until a valid normalized term is achieved. You can define a rule that says you can. For example, the rule normalizes "helloooooooo" to "hello", normalizes "yessss" to "yes", normalizes "yippeeeeeeeee" to "yippee", and "cooooolllN" to "cool" and "col "Can be used to normalize. In some implementations, the term normalization engine 122 may construct mappings and / or rules when determining normalization. For example, engine 122 may first dedupe "wazzaaaaa" to "wazza" and normalize "wazzaaaaa" to "what's up" by identifying the mapping between "wazza" and "what's up". . When de-duplicating "wazzaaaaa" to "what's up", engine 122 includes multiple consecutive instances of the same character, and is a term that is not a valid normalized term, such as a recognized term (e.g., Internet terminology terms). And terms recognized in the mapping between and normalized terms) can be relied upon to rule that instances of that character can be removed.

대체 입력 엔진(124)은 수신된 자연어 입력에 대한 후보 대체 입력들을 생성하고, 상기 수신된 자연어 입력의 하나 이상의 용어들을 그 정규화 중 하나(존재한다면)로 대체함으로써 후보 대체 입력들 각각을 생성한다. 예를 들어, "tx 4 rvw"의 수신된 자연어 입력에 대해, 용어 정규화 엔진(122)은 "tx"를 "thanks"로 정규화하고, "4"를 "for"로 정규화하고, "rvw"를 "review" "rearview"로 정규화할 수 있다. 이러한 정규화를 기반으로, 상기 대체 입력 엔진은 "thanks 4 the review", ""tx for the review", "thanks 4 the rearview", "thanks for the rearview", "thanks for the review", ""tx 4 the review", "tx 4 the rearview"의 후보 대체 입력들을 생성할 수 있다.Substitution input engine 124 generates candidate substitution inputs for the received natural language input and generates each of the candidate substitution inputs by replacing one or more terms of the received natural language input with one of its normalizations, if any. For example, for a received natural language input of "tx 4 rvw", the term normalization engine 122 normalizes "tx" to "thanks", normalizes "4" to "for", and "rvw" to You can normalize with "review" and "rearview". Based on this normalization, the alternative input engine may include "thanks 4 the review", "" tx for the review "," thanks 4 the rearview "," thanks for the rearview "," thanks for the review "," "tx Candidate replacement inputs of "4 the review", "tx 4 the rearview".

채점 엔진(126)은 대체 입력 엔진(124)에 의해 생성된 대체 입력들 각각에 대한 점수(score)를 발생시키고, 선택적으로 상기 대체 입력들이 생성된 자연어 입력에 대해 점수를 생성한다. 채점 엔진(126)은 상기 수신된 자연어 입력에 대한 응답을 생성할 때 메시지 생성 엔진(128)에 의해 사용될 선택된 입력으로서 이들 중 적어도 하나를 선택하기 위해 상기 점수를 이용한다.The scoring engine 126 generates a score for each of the alternate inputs generated by the alternate input engine 124 and optionally generates a score for the natural language input for which the alternate inputs were generated. The scoring engine 126 uses the score to select at least one of them as the selected input to be used by the message generation engine 128 when generating a response to the received natural language input.

다양한 구현 예에서, 채점 엔진(126)은 언어 모델(154)을 이용하여 상기 점수를 결정한다. 이들 구현 예들 중 일부에서, 언어 모델(154)은 "정규화된" (즉, 비-인터넷유행어) 용어들을 포함하는 다른 콘텐츠 및/또는 메시지들의 코퍼스(corpus)에 대해 학습된 n-그램(n-gram) 언어 모델이다. 예를 들어, "see", "you" 및 "later"가 "see,", "u" 및 "I8r"의 용어들보다 더 자주 발생할 가능성이 높은(언어 모델(154)을 학습시키는 데 사용된 코퍼스에서) "see you later"에 대한 점수를 결정하기 위해 언어 모델(154)이 이용될 수 있다. 이를 "thx audio company"의 자연어 입력 및 "thanks audio company"의 대체 입력과 비교한다. 이러한 상황에서, 언어 모델(154)은 "thanks", "audio" 및 "company"보다 "thx", "company" 및 "audio"가 더 자주 발생할 확률이 더 높다는 것을 결정하는데 이용될 수 있다(따라서 "thx audio company"에 대해 더 나은 점수를 결정). 일부 구현 예에서, 채점 엔진(126)은, 소정의 입력(수신된 자연어 입력 및/또는 대체 입력)에 대해, 사용자가 자동화된 어시스턴트(120)에 제공한 이전 입력의 용어 및/또는 사용자에게 제시하기 위해 자동화된 어시스턴트(120)에 의해 제공된 이전 출력의 용어들을 참조하지 않고 입력의 용어들을 이용하여 언어 모델(154)에 기초하여 소정의 입력에 대한 점수를 결정한다. 일부 다른 구현 예들에서, 채점 엔진(126)은 이전 입력(예를 들어, 바로 이전 입력) 및/또는 이전 출력(예를 들어, 바로 이전 출력)의 용어들 중 하나 이상을 이용할 수도 있다.In various implementations, scoring engine 126 uses language model 154 to determine the score. In some of these implementations, the language model 154 is an n-gram trained on a corpus of other content and / or messages that include “normalized” (ie, non-internet) terms. gram) language model. For example, "see", "you" and "later" are more likely to occur than the terms "see,", "u" and "I8r" (used to train the language model 154). The language model 154 may be used to determine a score for “see you later” in the corpus). Compare this to the natural language input of "thx audio company" and the alternate input of "thanks audio company". In this situation, language model 154 may be used to determine that "thx", "company" and "audio" are more likely to occur more often than "thanks", "audio" and "company" (and thus better score for "thx audio company"). In some implementations, the scoring engine 126 presents the user with the term and / or the previous input that the user provided to the automated assistant 120 for a given input (received natural language input and / or alternate input). The terms of the input are used to determine a score for a given input based on the language model 154 without referring to the terms of the previous output provided by the automated assistant 120. In some other implementations, the scoring engine 126 may use one or more of the terms of the previous input (eg, immediately before) and / or the previous output (eg, immediately before).

전술한 바와 같이, 일부 구현 예에서, 언어 모델(154)은 "정규화된" 용어들을 포함하는 다른 콘텐트 및/또는 메시지들의 코퍼스에 기초하여 학습될 수 있다. 예를 들어, 메시지들의 코퍼스는 두 명 이상의 인간 사용자 간에 교환된 메시지들을 포함할 수 있으며, 하나 이상의 인간 검토자들 및/또는 자동화된 시스템에 의해 정규화된 버전으로 변환된 메시지들의 인터넷유행어 용어들을 포함할 수 있다. 예를 들어, "thanks 4 your help"을 포함하는 메시지에서 "4"라는 용어는 "for"로 정규화될 수 있으며 "4" 대신 "for"가 포함된 메시지는 언어 모델(154)을 학습시키는 데 활용된다. 한편, "4 × 4 트럭"을 포함하는 메시지에서, 용어 "4"의 두개의 발생은 "for"로 대체되지 않고, "4 × 4 트럭"을 포함하는 메시지는 언어 모델(154)을 훈련시키는데 이용될 수 있다. 다른 말로, 이러한 구현예들에서, 언어 모델(154)은 그 용어들이 인터넷유행어 방식으로 이용될 때 정규화된 버전으로 대체된 잠재적인 인터넷유행어 용어들을 갖는 메시지에 기초하여 학습될 수 있지만, 이들이 비-인터넷유행어 방식으로 이용될 때 잠재적인 인터넷유행어 용어들이 유지된다. 웹 페이지, 뉴스 기사, 학술 논문, 특허 출원 공개자료들, 비디오와 같은 인터넷 컨텐츠에 대해 논평하기 위해 제공되는 사용자 인터넷 코멘트 등과 같은 다양한 구현 예에서 언어 모델(154)을 학습시키기 위해 추가 및/또는 대체물이 사용될 수 있다.As noted above, in some implementations, the language model 154 can be learned based on a corpus of other content and / or messages that include “normalized” terms. For example, the corpus of messages may include messages exchanged between two or more human users, and includes Internet language terms of messages converted to a normalized version by one or more human reviewers and / or automated systems. can do. For example, in a message containing "thanks 4 your help", the term "4" can be normalized to "for", and a message containing "for" instead of "4" may be used to train the language model 154. Are utilized. On the other hand, in a message containing "4 x 4 trucks", two occurrences of the term "4" are not replaced with "for", and a message containing "4 x 4 trucks" is used to train the language model 154. Can be used. In other words, in such implementations, the language model 154 can be learned based on a message having potential Internet language terms replaced with a normalized version when the terms are used in a fashioned manner. Potential Internet terminology terms are retained when used in an Internet language manner. Additions and / or alternatives to train the language model 154 in various implementations such as web pages, news articles, academic papers, patent pending publications, user internet comments provided for commenting on Internet content such as videos, and the like. This can be used.

점수를 결정하는 일부 구현 예들에서, 채점 엔진(126)은 하나 이상의 메시지 생성 엔진(128)으로부터의 하나 이상의 응답 콘텐트 점수 및/또는 재기록 엔진(rewrite engine)(도시되지 않음)으로부터의 하나 이상의 재기록 점수와 같은 하나 이상의 추가 점수를 부가적으로 및/또는 택일적으로 이용한다. 이들 구현예들 중 일부에서, 채점 엔진(126)은 언어 모델(154)에 기초하여 결정된 둘 이상의 점수 사이에 충분한 편차가 없을 때 메시지 생성 엔진(들)(128) (및/또는 다른 추가적인 점수)으로부터 응답 콘텐트 점수(들)를 이용한다. 일부 다른 구현 예에서, 채점 엔진(126)은 분석되는 하나 이상의 입력에 대한 점수 결정의 일부로서 항상 메시지 생성 엔진(들)(128)로부터의 응답 콘텐트 점수(들)(및/또는 기타 추가 점수)를 이용할 수 있고, 언어 모델(154)에 기초하여 결정된 점수(들)와 조합하여 응답 콘텐트 점수(들)를 선택적으로 이용한다.In some implementations of determining a score, scoring engine 126 may include one or more response content scores from one or more message generation engines 128 and / or one or more rewrite scores from a rewrite engine (not shown). Additionally and / or alternatively use one or more additional scores such as In some of these implementations, scoring engine 126 may generate message generation engine (s) 128 (and / or other additional scores) when there is not enough deviation between two or more scores determined based on language model 154. Use the response content score (s) from the. In some other implementations, the scoring engine 126 always responds to the content content score (s) (and / or other additional scores) from the message generation engine (s) 128 as part of the score determination for one or more inputs being analyzed. May be used, and optionally using the response content score (s) in combination with the score (s) determined based on the language model 154.

일반적으로, 입력(원래의 자연어 입력 또는 대체 입력)에 대한 메시지 생성 엔진들(128) 중 하나에 의해 제공된 응답 콘텐트 점수는 그 입력에 기초하여 그 엔진(128)에 의해 생성된 응답이 얼마나 "양호(good)"한지를 나타낸다. 예를 들어, 엔진들(128) 중 하나는 "채팅 응답"을 제공할 수 있고, 입력에 강하게 상관되는 스크립트된 응답이 있는 경우 양호한 응답(good response)을 나타내는 응답 콘텐트 점수를 제공할 수 있다. 예를 들어, 응답 리소스 데이터베이스(156)는 스크립트된 응답이 적절한 때를 나타내는 하나 이상의 입력 파라미터들에 각각 매핑되는 하나 이상의 스크립트된 채팅 응답을 포함할 수 있으며, 소정의 입력에 대한 응답 콘텐트 점수는 소정의 입력과 입력 파라미터(들)의 비교에 기초하여 결정될 수 있다. 또한, 예를 들어, 엔진들(128) 중 하나는 "검색 결과들"로부터 콘텐트를 제공할 수 있고, 소정의 입력에 대한 적어도 하나의 검색 결과가 고품질 검색 결과 및/또는 특정 "유형"(예: "one box result", "knowledge card", "curated response")인 경우 양호한 응답을 나타내는 소정의 입력에 대해 응답 콘텐트 점수를 제공할 수 있다. In general, the response content score provided by one of the message generation engines 128 for an input (original natural language input or alternate input) is based on how good the response generated by that engine 128 is based on that input. (good) ". For example, one of the engines 128 may provide a “chat response” and may provide a response content score that indicates a good response if there is a scripted response that is strongly correlated to the input. For example, response resource database 156 may include one or more scripted chat responses, each mapped to one or more input parameters indicating when the scripted response is appropriate, with a response content score for a given input being predetermined. Can be determined based on a comparison of the input of the input and the input parameter (s). Also, for example, one of the engines 128 may provide content from “search results” such that at least one search result for a given input is a high quality search result and / or a particular “type” (eg In the case of "one box result", "knowledge card", and "curated response", a response content score may be provided for a predetermined input indicating a good response.

일 예로서, "thx audio"의 수신된 자연어 입력을 가정하고 대체 입력 엔진(124)이 "thanks audio"의 대체 입력을 생성했다고 가정한다. 또한, 채점 엔진(126)이 언어 모델(154)에 기초한 입력들에 대한 점수들을 생성한다고 가정하지만, 이들 점수들은 서로 너무 가깝기 때문에 하나를 선택하는 것을 보증할 수 없다(예를 들어, 더 우수한 점수가 다른 점수에 대한 임계치를 만족시키지 못한다). 이러한 예에서, 메시지 생성 엔진들(128) 중 하나는 "검색 결과들"로부터 콘텐트를 제공할 수 있고, "thanks audio"에 대한 개별 응답 콘텐트 점수보다 양호한 응답을 훨씬 더 나타내는 "thx audio"에 대한 응답 콘텐트 점수를 제공할 수 있다. 채점 엔진(126)은 적어도 부분적으로 이들 응답 콘텐트 점수에 기초하여 "thanks audio"보다 "thx audio"를 선택할 수 있다.As an example, assume a received natural language input of "thx audio" and assume that alternate input engine 124 has generated a substitute input of "thanks audio". Also assume that scoring engine 126 generates scores for inputs based on language model 154, but these scores are so close to each other that one cannot guarantee to choose one (e.g., a better score). Does not meet the threshold for other scores). In this example, one of the message generation engines 128 can provide content from "search results" and for "thx audio" which represents much better response than the individual response content score for "thanks audio". Provide a response content score. The scoring engine 126 may select "thx audio" over "thanks audio" based at least in part on these response content scores.

다른 예로서, "thx 4 assistance"의 수신된 자연어 입력을 가정하고 대체 입력 엔진(124)이 "thanks for assistance"의 대체 입력을 생성했다고 가정한다. 또한, 채점 엔진(126)이 언어 모델(154)에 기초한 이들 입력에 대한 점수를 생성하지만, 이들 점수는 서로 너무 가깝기(close) 때문에 다른 점수에 비해 하나를 선택할 수 없다고 가정한다. 이러한 예에서, 메시지 생성 엔진들(128) 중 하나는 스크립트된 응답으로부터 콘텐트를 제공할 수 있으며, "[help / assistance / input / info / information / 등]에 대한 thanks"의 입력 파라미터들을 갖는 응답 리소스 데이터베이스(156)에 연관된 "you're welcome"의 스크립트된 응답을 포함할 수 있으며, 여기서 괄호 "[]"와 그 괄호 안의 용어들은 복수의 용어들을 나타내며 그 중 하나는 "thanks for the"와 쌍을 이룰 수 있다. "thanks for assistance"와 "you're welcome"이라는 스크립트된 응답의 입력 파라미터들 사이의 강한 일치(conformity) 정도를 기반으로, 그 메시지 생성 엔진(128)은 "thanks for assistance"에 대한 응답 콘텐트 점수를 "thx 4 assistance"에 대한 그 엔진(128)으로부터의 개별 응답 콘텐트 점수보다 훨씬 양호한 응답을 나타내는 것으로 제공할 수 있다. 채점 엔진(126)은 적어도 부분적으로 이들 응답 콘텐트 점수에 기초하여 "thx 4 assistance"보다는 "thanks for assistance"를 선택할 수 있다.As another example, assume a received natural language input of "thx 4 assistance" and assume that the replacement input engine 124 has generated a replacement input of "thanks for assistance". It is also assumed that scoring engine 126 generates scores for these inputs based on language model 154, but these scores are so close to each other that one cannot choose one over the other. In this example, one of the message generation engines 128 can provide content from the scripted response and have a response resource with input parameters of "thank for [help / assistance / input / info / information / etc.". May include a scripted response of "you're welcome" associated with database 156, where the parentheses "[]" and terms in parentheses represent a plurality of terms, one of which pairs with "thanks for the" Can be achieved. Based on the degree of strong conformity between the input parameters of the scripted responses "thanks for assistance" and "you're welcome", the message generation engine 128 scores the response content for "thanks for assistance". Can be provided as indicating a response that is much better than the individual response content score from its engine 128 for "thx 4 assistance." The scoring engine 126 may select "thanks for assistance" rather than "thx 4 assistance" based at least in part on these response content scores.

일반적으로, 입력(원래 자연어 입력 또는 대체 입력)에 대해 재기록 엔진이 제공하는 재기록 점수(rewrite score)는 해당 입력의 재기록이 어떻게 "양호"한지를 나타내며, 상기 재기록은 상기 입력에 기초하여, 그리고 선택적으로 하나 이상의 이전 입력(또는 이전 입력의 선택된 대체 입력)에 기초하여 상기 재기록 엔진에 의해 생성된다. 재기록이 얼마나 양호한지는 재기록의 특성(예를 들어, 구문론적으로 맞는지) 및/또는 재기록에 응답하는 검색 결과(들)의 속성에 기초할 수 있다. 예를 들어, "what's the weather on Saturday", "what abt sun"의 현재 입력 및 "what about Sunday"를 포함하는 후보 대체 입력을 이전 입력으로 가정한다. 상기 이전 입력을 기반으로 하는 "what abt"의 재기록은 "what's the weather on the Sun"이 될 수 있고, "what about Sunday"의 재기록은 "what's the weather on Sunday"가 될 수 있다. 예를 들어, 재기록에 응답하는 검색 결과들의 하나 이상의 속성에 기초하여, "what about Sunday"에 대한 재기록 점수가 "what about sun"에 대한 재기록 점수보다 좋을 수 있다.In general, a rewrite score provided by the rewriting engine for an input (original natural language input or alternate input) indicates how the rewriting of that input is "good", and the rewriting is based on the input and is optional Generated by the rewrite engine based on one or more previous inputs (or selected alternate inputs of previous inputs). How good a rewrite may be based on the nature of the rewrite (eg, syntactically correct) and / or the nature of the search result (s) responsive to the rewrite. For example, suppose a candidate alternative input including "what's the weather on Saturday", the current input of "what abt sun", and "what about Sunday" is the previous input. The rewrite of "what abt" based on the previous input may be "what's the weather on the Sun" and the rewrite of "what about Sunday" may be "what's the weather on Sunday". For example, based on one or more attributes of the search results responsive to the rewrite, the rewrite score for "what about Sunday" may be better than the rewrite score for "what about sun".

활용된 기술(들)에 관계없이, 채점 엔진(126)은 메시지 생성 엔진(들)(128)에 상기 선택된 입력을 제공할 수 있으며, 이는 응답 리소스 데이터베이스(156)를 이용하여 상기 선택된 입력에 응답하는 응답 콘텐트를 생성할 수 있다. 일부 구현 예에서, 메시지 생성 엔진(들)(128)은 상기 선택된 입력을 수신하기 전에 상기 응답 콘텐트를 이미 생성할 수 있다. 예를 들어, 상기 응답 콘텐트는 상술한 바와 같이 응답 콘텐트 점수의 생성 중에 생성되었을 수 있다. 상기 생성된 응답 콘텐트는 자연어 입력을 제공한 메시지 교환 클라이언트(1071-N)에 제공되고, 그 자연어 입력에 대한 응답으로서 사용자에게 프리젠테이션을 위해 제공된다. 예를 들어, 상기 응답 콘텐트는 메시지 교환 클라이언트에 의해 자연어 입력을 포함하는 메시지 교환 스레드로 통합될 수 있다.Regardless of the technique (s) utilized, scoring engine 126 may provide the selected input to message generation engine (s) 128, which responds to the selected input using response resource database 156. Response content may be generated. In some implementations, message generation engine (s) 128 can already generate the response content before receiving the selected input. For example, the response content may have been generated during generation of the response content score as described above. The generated response content is provided to the message exchange client 1071 -N that provided natural language input and provided for presentation to the user as a response to the natural language input. For example, the response content may be integrated by a message exchange client into a message exchange thread containing natural language input.

인터넷유행어 측정 엔진(130)은 하나 이상의 사용자에 의한 메시지 교환 스레드에 기여한 복수의 메시지에서의 인터넷유행어의 과거 사용량에 기초하여 하나 이상의 사용자에 대한 인터넷유행어 특정치(들)를 결정한다. 인터넷유행어 측정 엔진(130)은 하나 이상의 메시지 생성 엔진(128)에 의한 이용을 위해 인터넷유행어 측정 (측정치들) 데이터베이스(158)에 결정된 인터넷유행어 측정치(들)를 저장한다. 메시지 생성 엔진(128)은 사용자의 자연어 입력에 응답하여 생성하는 응답 콘텐트에(자연어 입력 자체에 인터넷유행어 용어들이 포함되었는지 여부는 관계없음), 그들의 정규화된 용어들 대신에, 인터넷유행어 용어(들)를 포함할지 여부를 결정할 때 사용자에게 적용 가능한 인터넷유행어 측정치(들)를 이용할 수 있다. The Internet-facing measurement engine 130 determines the Internet-specific language specific value (s) for one or more users based on past usage of the Internet-facing words in the plurality of messages that contributed to the message exchange threads by one or more users. The Internet-facing measurement engine 130 stores the determined Internet-facing measurement (s) in the Internet-facing measurement (measurements) database 158 for use by one or more message generation engines 128. The message generation engine 128 includes in the response content it generates in response to the user's natural language input (whether or not the natural language input itself contains the Internet language terms), instead of their normalized terms, the Internet term term (s) When determining whether or not to include a user may use the Internet measurement measure (s) applicable to the user.

일부 구현 예에서, 인터넷유행어 측정 엔진(130)은 인터넷유행어가 이용된 메시지들의 인스턴스들의 카운트에 기초하여 인터넷유행어 측정치를 결정한다. 예를 들어, 인터넷유행어 측정 엔진(130)은 임의의 인터넷유행어를 포함하지 않는 메시지들의 카운트와 비교하여 임의의 인터넷유행어를 포함하는 (사용자 그룹의 사용자의) 메시지들의 카운트의 함수로 (사용자 또는 사용자 그룹에 대한) "일반적인(general)" 인터넷유행어 측정치를 결정할 수 있다. 또한, 예를 들어, 인터넷유행어 측정 엔진(130)은 추가적으로 및/또는 대안적으로, 메시지 내의 용어들의 총 카운트와 비교하여 인터넷유행어 용어인 (사용자 그룹의 사용자의) 메시지 내의 용어의 카운트의 함수로 (사용자 또는 사용자 그룹에 대한) "일반적인" 인터넷유행어 측정치를 결정할 수 있다.In some implementations, the internet pedometer measurement engine 130 determines the internet pedometer measurement based on the count of instances of the messages in which the internet is used. For example, the Internet-facing measurement engine 130 (a user or user as a function of the count of messages (of a user group's users) containing any Internet-speaker compared to the count of messages that do not contain any Internet-speaker). Determine "general" Internet language measures for the group. Also, for example, the Internet-facing measurement engine 130 may additionally and / or alternatively function as a function of the count of terms in a message (of a group of users) that are Internet-term terms compared to the total count of terms in a message. Determine "normal" Internet language measurements (for users or groups of users).

일 예로서, 사용자에 대한 인터넷유행어 번역의 과거 인스턴스가 저장될 수 있고, 이들 인스턴스의 양에 기초하여(예를 들어, 로우 카운트, 빈도 및/또는 양의 다른 기능에 기초하여) 인터넷유행어가 결정될 수 있다. 예를 들어, 사용자가 자동화된 어시스턴트에 제공되는 메시지에서 인터넷유행어를 일관되게 사용하는 경우, 그 사용자에 대한 인터넷유행어 측정치는 인터넷유행어를 포함하는 자동화된 어시스턴트로부터 응답을 수신하고자 하는 사용자의 욕구를 나타낼 수 있으며, 자동화된 어시스턴트는 해당 용어의 정규화된 버전 대신 인터넷유행어 용어를 포함하는 적어도 일부 응답을 제공할 수 있다. 인터넷유행어 측정치는 "일반적인" 인터넷유행어 측정치이거나 하나 이상의 특정 인터넷유행어 용어의 그룹에 적용될 수 있다. 예를 들어, "thx"/"thanks"에 대한 사용자의 인터넷유행어 측정치는 자동화된 어시스턴트가 해당 사용자에 대한 응답으로 "thanks"를 "thx"로 바꾸거나, 반면에 "gr8/great"에 대한 사용자의 인터넷유행어 측정치는 자동화된 어시스턴트가 해당 사용자에 대한 응답으로 "great"를 "great"로 대체하지 않을 수 있다.As one example, past instances of a pandemic translation for a user may be stored, and a pandemic may be determined based on the amount of these instances (e.g., based on low count, frequency, and / or other functions of the amount). Can be. For example, if a user consistently uses an Internet word in a message provided to the automated assistant, the Internet word measure for that user may indicate the user's desire to receive a response from the automated assistant that includes the word. In addition, the automated assistant may provide at least some responses that include the Internet Vocabulary term instead of the normalized version of the term. Internet term measurements may be "general" Internet term measurements or may be applied to one or more specific groups of Internet term terms. For example, a user's catchwords measure for "thx" / "thanks" might have the automated assistant replace "thanks" with "thx" in response to that user, while users for "gr8 / great" Internet measure of 's may not automatically replace "great" with "great" in response to the user.

일부 구현 예에서, 인터넷유행어 측정치는 소정의 사용자에 따라 다를 수 있다. 예를 들어, 본 명세서에 설명된 기술들에 따라 인식되는 인스턴스들과 같이, 그 사용자에 의해 공식화(표현)된 메시지들에서 인터넷유행어의 인스턴스들에 적어도 부분적으로 기초하여 결정될 수 있다. 이러한 구현예들 중 일부에서, 인터넷유행어 측정치는 사용자의 하나 이상의 장치에 특정적일 수 있다(예를 들어, 사용자는 모바일 컴퓨팅 장치 대 "데스크톱" 컴퓨팅 장치상에서 인터넷유행어를 이용할 가능성이 더 높을 수 있다). 일부 구현 예에서, 인터넷유행어 측정치는 인터넷유행어 측정치는 복수의 사용자들의 인터넷유행어 인스턴스들에 기초할 수 있고, 공통된 하나 이상의 속성(예를 들어, 지리적 영역, 연령 범위)을 갖는 사용자와 같은 사용자 그룹에 특정될 수 있고, 및/또는 이용된 컴퓨팅 장치의 유형 및/또는 이용된 메시지 교환 클라이언트의 유형에 특정될 수 있다(예를 들어, 메시지 교환 클라이언트 A는 다수의 사용자들 사이에서 클라이언트 B보다 더 많은 인터넷유행어 빈도를 가질 수 있다). 일부 구현 예에서, 소정의 사용자는 자동화된 어시스턴트(120)가 하나 이상의 사용자 그룹에 대한 적어도 임계치 인터넷유행어 측정치와 연관된 인터넷유행어 용어를 포함하는 인터넷유행어와 같이, 사용자에게 제공된 출력에 인터넷유행어를 포함하도록 명시적으로 요청할 수 있는 옵션을 제공받을 수 있다. 예를 들어, 사용자는 출력에서 인터넷유행어 용어를 수신하도록 선택할 수 있으며, 여기서 인터넷유행어 용어는 지리적 영역의 사람들 사이에서 인기가 있다(예를 들어, 지리적 영역 내의 사용자 그룹에 대한 임계 인터넷유행어 측정치와 적어도 연관된 인터넷유행어 용어).In some implementations, the Internet language measurement may vary depending on the given user. For example, it may be determined based at least in part on instances of the Internet language in messages formulated by the user, such as instances recognized in accordance with the techniques described herein. In some of these implementations, the Internet language measurement may be specific to one or more devices of the user (eg, the user may be more likely to use the Internet language on a mobile computing device versus a “desktop” computing device). . In some implementations, the internet measure may be based on the internet instances of the plurality of users, and the internet measure may be based on a group of users, such as a user having one or more attributes in common (eg, geographic area, age range). And / or may be specific to the type of computing device used and / or the type of message exchange client used (e.g., message exchange client A may be more than client B among multiple users). May have a frequency of Internet traffic). In some implementations, a given user may cause the automated assistant 120 to include the internet language in the output provided to the user, such as the internet language that includes an internet language term associated with at least threshold internet language measurement for one or more groups of users. You may be offered the option to request it explicitly. For example, a user may choose to receive an Internet language term in the output, where the Internet term is popular among people in a geographic area (eg, critical internet measure and at least for critical group of users within a geographic area). Associated Internet terminology).

일부 구현 예에서, 복수의 인터넷유행어 측정치들은 이들 용어의 정규화된 버전 대신에 하나 이상의 인터넷유행어 용어를 사용할지 여부를 결정할 때 메시지 생성 엔진(128) 중 하나에 의해 이용될 수 있다. 예를 들어, 메시지 생성 엔진(128)은 사용자의 일반적인 인터넷유행어 측정치와, "c/see"에 특정된 인터넷유행어 측정치(사용자 또는 사용자 그룹의)와 같은 두 가지 모두에 기초하여 사용자에게 제공될 출력에서 "see" 대신에 "c"를 사용할지를 여부를 결정할 수 있다. 예를 들어, 사용자의 일반적인 인터넷유행어 측정치가 사용자에 의한 인터넷유행어 사용의 "중간(medium)" 정도를 나타내는 것으로 가정한다. 만약 "c/see"에 특정된 인터넷유행어 측정치가 해당 용어와 연관하여 높은 수준의 인터넷유행어 사용률을 나타내면 "c"가 생성된 출력에서 see" 대신에 사용될 수 있다. 한편, "c/see"에 특정된 인터넷유행어 측정치가 해당 용어와 연관하여 낮은 수준의 인터넷유행어 사용률을 나타내면 "see"가 생성된 출력에 사용될 수 있다.In some implementations, the plurality of Internet language measurements may be used by one of the message generation engines 128 when determining whether to use one or more Internet terminology terms instead of the normalized version of these terms. For example, the message generation engine 128 outputs to be presented to the user based on both the user's general internet measurement and the Internet measurement (specific to the user or group of users) specified in "c / see". You can decide whether to use "c" instead of "see" in. For example, assume that a user's general internet vocab measurement represents the "medium" degree of user's use of the internet. If the internet measure measured in "c / see" indicates a high level of internet usage in association with that term, "c" may be used in place of see "in the generated output, while" c / see " A "see" may be used in the generated output if a specified internet measure indicates a low level of usage of the word in association with the term.

도 2에서, 자동화된 어시스턴트(120)의 다양한 컴포넌트에 대한 추가적인 설명이 제공된다. 도 2에 도시된 바와 같이, 사용자는 컴퓨팅 장치(106i)의 하나 이상의 사용자 인터페이스 입력 장치를 이용하여 자연어 입력(201)을 메시지 교환 클라이언트(107i)에 제공하고, 이 메시지 교환 클라이언트는 자연어 입력(201)을 용어 정규화 엔진(122)에 전송한다. 자연어 입력(201)은 자유로운 입력일 수 있고, 예를 들어 컴퓨팅 장치의 물리적 또는 가상 키보드를 통해 사용자에 의해 제공된 유형화된 입력 또는 컴퓨팅 장치의 마이크로폰에 사용자에 의해 제공된 음성 입력 일 수 있다. 자연어 입력(201)이 입력된 구현 예에서, 이는 컴퓨팅 장치에 의해 및/또는 자동화된 어시스턴트(120)의 컴포넌트에 의한 텍스트 입력으로 선택적으로 표기될 수 있다.In FIG. 2, additional descriptions of the various components of the automated assistant 120 are provided. As shown in FIG. 2, a user provides natural language input 201 to message exchange client 107i using one or more user interface input devices of computing device 106i, which message exchange client 201 ) Is sent to the term normalization engine 122. Natural language input 201 may be free input, for example, a typed input provided by a user through a physical or virtual keyboard of a computing device or a voice input provided by a user to a microphone of a computing device. In implementations where natural language input 201 has been entered, this may optionally be indicated by text input by the computing device and / or by a component of automated assistant 120.

실시 예로서, 자연어 입력(201)은 "c u I8r"일 수 있고, 이는 또한 실시예를 쉽게 이해할 수 있도록 괄호로 도 2에 도시되어 있다.In an embodiment, the natural language input 201 may be “c u I8r”, which is also shown in FIG. 2 in parentheses to facilitate understanding of the embodiment.

*용어 정규화 엔진(122)은 정규화 데이터베이스(152)의 하나 이상의 매핑, 규칙 및/또는 다른 기준에 선택적으로 기초하여, 자연어 입력(201)의 용어들 중 하나 이상에 대한 하나 이상의 정규화를 생성한다. 용어 정규화 엔진(122)은 정규화된 용어(202)를 대체 입력 엔진(124)에 제공한다.The term normalization engine 122 generates one or more normalizations for one or more of the terms of the natural language input 201, optionally based on one or more mappings, rules, and / or other criteria of the normalization database 152. The term normalization engine 122 provides the normalized term 202 to the alternate input engine 124.

실시 예를 계속하면, 용어 정규화 엔진(122)은 정규화된 용어(202)를 생성하며, 여기서 "c"는 "see"로 정규화되었고, "u"는 "you"로 정규화되었고, "I8r"은 "later"로 정규화되었다. 상기 정규화들은 도 2의 괄호 안에 도시되어 있다.Continuing the embodiment, the term normalization engine 122 generates a normalized term 202, where "c" is normalized to "see", "u" is normalized to "you", and "I8r" is Normalized to "later". The normalizations are shown in parentheses in FIG.

대체 입력 엔진(124)은 자연어 입력(201)의 용어들 중 하나를 대체하는 정규화된 용어들(202) 중 적어도 하나를 각각 포함하는 자연어 입력(201)의 대체 입력들(203)을 생성한다.Alternate input engine 124 generates alternate inputs 203 of natural language input 201 that each include at least one of normalized terms 202 that replaces one of the terms of natural language input 201.

실시 예를 계속하면, "cu I8r"의 자연어 입력(201) 및 "see", "you" 및 "later"의 정규화된 용어에 기초하여 생성된 대체 입력들(203)은 "see u I8r, "c you I8r", "c u later", "see you I8r", "see u later", "c you later", 및 "see you later"를 포함한다. 이들은 또한 도 2의 괄호 안에 도시되어 있다.Continuing with an embodiment, alternative inputs 203 generated based on natural language input 201 of “cu I8r” and normalized terms of “see”, “you” and “later” are “see u I8r,” c you I8r "," cu later "," see you I8r "," see u later "," c you later ", and" see you later ", which are also shown in parentheses in FIG.

채점 엔진(126)은 대체 입력들 각각을 위한 그리고 선택적으로 자연어 입력(201)을 위한 점수를 생성하고, 그 점수에 기초하여 이들 중 하나 이상(예를 들어 오직 하나)을 상기 선택된 입력(204)으로서 선택한다. 다양한 구현 예에서, 채점 엔진(126)은 언어 모델(154)을 이용하여 점수를 결정한다. 이러한 구현예들 중 일부에서, 언어 모델(154)은 "정규화된" (즉, 비-인터넷유행어 용어들) 용어들을 포함하거나, 제한되거나, 또는 지배되는 다른 콘텐트 및/또는 메시지들의 코퍼스에 대해 학습된 n-그램 언어 모델이다.The scoring engine 126 generates a score for each of the alternate inputs and optionally for the natural language input 201 and based on the score, select one or more (eg only one) of the selected inputs 204. Select as. In various implementations, scoring engine 126 uses language model 154 to determine scores. In some of these implementations, language model 154 learns about a corpus of other content and / or messages that includes, is restricted, or is governed by "normalized" (ie, non-Internet language terms) terms. N-gram language model.

실시 예를 계속하면, 언어 모델(154)은 다른 대체 입력들(203)의 용어들보다 (언어 모델(154)을 학습시키는 데 사용된 코퍼스에서) 동시에 더 자주 발생할 확률이 높은 "see" "you" 및 "later"을 나타내는 "see you later"에 대한 점수를 결정하는데 이용될 수 있다.Continuing with the embodiment, the language model 154 is more likely to occur at the same time (see "" you ") at the same time (in the corpus used to train the language model 154) than the terms of the other alternative inputs 203. Can be used to determine a score for "see you later" representing "and" later ".

점수를 결정하는 일부 구현예에서, 채점 엔진(126)은 추가적으로 및/또는 택일적으로 하나 이상의 메시지 생성 엔진(128)으로부터의 하나 이상의 응답 콘텐트 점수를 이용한다. 이들 구현예들 중 일부에서, 채점 엔진(126)은 언어 모델(154)에 기초하여 결정된 점수 중 2개 이상의 점수 사이에 충분한 차이(variation)가 없을 때 메시지 생성 엔진(들)(128)로부터의 응답 콘텐트 점수를 이용한다. 일반적으로, 입력(원래 자연어 입력 또는 대체 입력)에 대한 메시지 생성 엔진들(128) 중 하나에 의해 제공된 응답 콘텐트 점수는 그 입력에 기초하여 그 엔진(128)에 의해 생성된 응답이 얼마나 "양호"한지를 나타낸다. 예를 들어, 엔진들(126) 중 하나는 "채팅 응답"을 제공할 수 있고, 입력에 강하게 상관되는 스크립트된 응답이 있는 경우 양호한 응답(good response)을 나타내는 응답 콘텐트 점수를 제공할 수 있다. 또한, 예를 들어, 엔진들(128) 중 하나는 "검색 결과들"로부터 콘텐트를 제공할 수 있고, 입력에 대한 적어도 하나의 검색 결과들이 고품질 검색 결과 및/또는 특정 "유형"(예: "one box result", "knowledge card", "curated response")인 경우 양호한 응답을 나타내는 응답 콘텐트 점수를 제공할 수 있다.In some implementations of determining scores, scoring engine 126 additionally and / or alternatively uses one or more response content scores from one or more message generation engines 128. In some of these implementations, the scoring engine 126 may not be able to obtain a message from the message generation engine (s) 128 when there is not enough variation between two or more of the scores determined based on the language model 154. Use the response content score. In general, the response content score provided by one of the message generation engines 128 for an input (original natural language input or alternate input) is based on how "good" the response generated by that engine 128 is based on that input. Hanji. For example, one of the engines 126 may provide a “chat response” and may provide a response content score that indicates a good response if there is a scripted response that is strongly correlated to the input. Also, for example, one of the engines 128 may provide content from “search results” such that at least one search result for the input is a high quality search result and / or a particular “type” (eg “ one box result "," knowledge card ", and" curated response "), a response content score indicating a good response may be provided.

이용된 기술(들)에 관계없이, 채점 엔진(126)은 선택된 입력에 응답하는 응답 콘텐트(205)를 생성하기 위해 응답 리소스 데이터베이스(156)를 이용하는 메시지 생성 엔진(들)(128)에 상기 선택된 입력(204)을 제공한다. 응답 콘텐트(205)는 자연어 입력(201)에 대한 응답으로서 사용자에게 가청 및/또는 시각적 프리젠테이션을 위해 메시지 교환 클라이언트(107i)에 제공된다. 예를 들어, 응답 콘텐트(205)는 메시지 교환 스레드의 자연어 입력(201)과 동시에 디스플레이하기 위해 메시지 교환 클라이언트(1071)에 의해 메시지 교환 스레드에 통합될 수 있다.Regardless of the technique (s) used, the scoring engine 126 selects the selected message in the message generation engine (s) 128 using the response resource database 156 to generate response content 205 responsive to the selected input. Provide input 204. The response content 205 is provided to the message exchange client 107i for an audible and / or visual presentation to the user as a response to the natural language input 201. For example, the response content 205 may be integrated into the message exchange thread by the message exchange client 1071 to display simultaneously with the natural language input 201 of the message exchange thread.

도 2에, 인터넷유행어 측정 엔진(130) 및 인터넷유행어 측정(측정치들) 데이터베이스(156)도 도시되어 있다. 일부 구현 예에서, 하나 이상의 인터넷유행어 용어를 정규화된 용어로의 "번역"을 포함하는 선택된 입력(204)을 결정하는 것에 응답하여, 채점 엔진(126)은 인터넷유행어 측정 엔진(130)에 번역의 발생 표시(indication)를 제공하고 및/또는 번역된 인터넷유행어 용어 및/또는 정규화된 용어의 표시를 제공할 수 있다. 본 명세서에 설명된 바와 같이, 일부 구현 예에서, 그 표시 및/또는 추가 표시는 하나 이상의 사용자에 대한 "인터넷유행어 측정치" (그리고 선택적으로 하나 또는 그 이상의 특정 인터넷유행어 용어 및/또는 정규화된 용어들)를 결정하는데 이용될 수 있다. 본원에 기술된 바와 같이, 인터넷유행어 측정치 및/또는 부가적인 인터넷유행어 측정치는 응답 콘텐트(205)에 인터넷유행어 용어(들)를 포함할지 여부 및/또는 정규화된 용어 대신에 추가 응답 콘텐트에 인터넷유행어 용어(들)를 포함할지를 결정하기 위해 메시지 생성 엔진(들)(128)에 의해 이용될 수 있다.Also shown in FIG. 2 is the Internet Vocabulary Measurement Engine 130 and the Internet Vocabulary Measurement (Measures) Database 156. In some implementations, in response to determining the selected input 204 comprising "translation" of one or more Internet term terms into a normalized term, the scoring engine 126 sends the translation engine to the Internet measurement engine 130. It may provide an indication of occurrence and / or provide an indication of translated Internet language terms and / or normalized terms. As described herein, in some implementations, the indication and / or additional indication may be a “Internet Vocabulary measure” for one or more users (and optionally one or more specific Internet Vocabulary terms and / or normalized terms). ) Can be used to determine As described herein, the Internet Language Measurements and / or additional Internet Language Measurements may or may not include the Internet Terms term (s) in the response content 205 and / or the Internet Terms in the additional response content instead of the normalized terms. It may be used by the message generation engine (s) 128 to determine whether to include (s).

실시 예를 계속하면, 채점 엔진(126)은 인터넷유행어를 포함하는 자연어 입력이 대체 입력으로 변환된 "번역"이 발생했다는 일반 표시(general indication)를 인터넷유행어 측정 엔진(130)에 제공할 수 있다. 상기 일반 표시는 사용자에 대한, 사용자 그룹에 대한, 및/또는 다른 파라미터들에 대한 일반적인 인터넷유행어 측정치를 결정하기 위해 인터넷유행어 측정 엔진(130)에 의해 이용될 수 있다. 채점 엔진(126)은 부가적으로 및/또는 대안적으로, 인터넷유행어 용어 및/또는 자연어 입력의 인터넷유행어 용어 및 인터넷유행어 문구 및/또는 이들 인터넷유행어 용어의 선택된 정규화 버전의 표시를 인터넷유행어 측정 엔진(130)에 제공할 수 있다. 예를 들어, 입력(201)이 "cu I8r"이고 상기 선택된 입력(204)이 "see you later"인 경우, 채점 엔진(126)은 "c"의 인터넷유행어가 "see"로 정규화되고, "u"의 인터넷유행어가 "you"로 정규화되고, "I8r"의 인터넷유행어가 "later"로 정규화되고, 및/또는 "cu I8r"의 인터넷유행어가 "see you later"로 정규화되었다는 표시(들)를 인터넷유행어 측정 엔진(130)에 제공할 수 있다. 이들 표시들은 인터넷유행어 측정 엔진(130)에 의해 이용되어, 이들 용어들 및/또는 문구에 특정한 하나 이상의 인터넷유행어 측정치들을 생성할 수 있고, 메시지 교환 클라이언트(107i)를 통해, 다른 메시지 교환 클라이언트를 통해, 및/또는 다른 애플리케이션을 통해 사용자에 의한 이들 용어 및/또는 문구의 다른 번역 인스턴스에 추가적으로 기초할 수 있다.Continuing with an embodiment, the scoring engine 126 may provide the generalized measurement engine 130 with a general indication that a "translation" has occurred in which a natural language input including the trendy language has been converted into a substitute input. . The generic indication may be used by the Internet Measurement Engine 130 to determine general Internet Measurements for a user, for a group of users, and / or for other parameters. The scoring engine 126 additionally and / or alternatively displays the representation of the Internet Vocabulary and Internet Vocabulary Phrases and / or selected normalized versions of the Internet Vocabulary Terms in the Internet Vocabulary Terms and / or Natural Language Input. 130 may be provided. For example, if the input 201 is "cu I8r" and the selected input 204 is "see you later", the scoring engine 126 will normalize the Internet of "c" to "see" and " indication (s) that the u-word of "u" has been normalized to "you", the u-word of "I8r" has been normalized to "later", and / or the word "cu I8r" has been normalized to "see you later". May be provided to the Internet trend measurement engine 130. These indications may be used by the Internet Measurement Engine 130 to generate one or more Internet Measurements specific to these terms and / or phrases, and via the Message Exchange Client 107i, through other Message Exchange Clients. May be further based on other translation instances of these terms and / or phrases by the user through, and / or other applications.

메시지 생성 엔진(들)(128)은 응답 콘텐트(205) 및/또는 추가 응답 콘텐트에 인터넷유행어 용어(들)를 포함할지 여부를 결정할 때 데이터베이스(156)의 인터넷유행어 측정치(들)를 이용할 수 있다. 실시 예를 계속하여, 선택된 입력(204)이 "see you later"라고 가정하고, 메시지 생성 엔진(128) 중 하나가 응답 리소스 데이터베이스(156)로부터 상기 선택된 입력(204)에 대한 "see you then"의 스크립트된 응답을 결정한다. 메시지 교환 클라이언트(107i)의 사용자에게 적용 가능한 데이터베이스(156)의 하나 이상의 인터넷유행어 측정치(들)에 기초하여, 메시지 생성 엔진(128)은 "see"를 "c"로 대체하고, "you"를 "u"로 대체하고, "c u then"의 출력을 제공할 수 있다.The message generation engine (s) 128 may use the monetary measurement (s) of the database 156 in determining whether to include the monetary term (s) in the response content 205 and / or additional response content. . Continuing the embodiment, assuming that the selected input 204 is "see you later", one of the message generation engines 128 is from the response resource database 156 to "see you then" for the selected input 204. Determine the scripted response of the. Based on one or more Internet language measurement (s) in database 156 applicable to the user of message exchange client 107i, message generation engine 128 replaces "see" with "c" and replaces "you". We can substitute "u" and provide the output of "cu then".

도 3 및 도 4를 참조하면, 여기에 설명된 다양한 컴포넌트 및 기술에 대한 추가적인 설명이 제공된다. 또한, 도 3 및 도 4는 본 명세서에 설명 된 구현 예에 따라 클라이언트 컴퓨팅 장치(106i)의 사용자와 자동화된 어시스턴트(120)간에 발생할 수 있는 대화의 예를 디스플레이하는 디스플레이 스크린(140)과 도 1의 클라이언트 컴퓨팅 장치(106i)를 도시한다. 디스플레이 스크린(140)은 또한 컴퓨팅 장치(106i)가 하나 이상의 동작을 수행하게 하기 위해 사용자와 상호 작용할 수 있는 시스템 인터페이스 요소(381, 382, 383)를 포함한다. 디스플레이 스크린(140)은 사용자가 가상 키보드를 통해 자연어 입력을 생성하도록 선택할 수 있는 텍스트 응답 인터페이스 요소(384) 및 사용자가 마이크로폰을 통해 자연어 입력을 생성하도록 선택할 수 있는 음성 응답 인터페이스 요소(385)를 더 포함한다.With reference to FIGS. 3 and 4, additional descriptions are provided for the various components and techniques described herein. 3 and 4 also show display screen 140 and FIG. 1 displaying an example of a conversation that may occur between a user of client computing device 106i and automated assistant 120 in accordance with an implementation described herein. Client computing device 106i is shown. Display screen 140 also includes system interface elements 381, 382, 383 that can interact with a user to cause computing device 106i to perform one or more operations. The display screen 140 further includes a text response interface element 384 in which the user can select to generate natural language input through a virtual keyboard and a voice response interface element 385 in which the user can select to generate natural language input through a microphone. Include.

도 3은 클라이언트 컴퓨팅 장치(106i)의 하나 이상의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 제출되는 자연어 입력(380A-D)을 포함한다. 도 3은 자동화된 어시스턴트(120)에 의해 생성된 응답(390A-390D)을 더 포함한다.3 includes natural language input 380A-D submitted by a user through one or more user interface input devices of the client computing device 106i. 3 further includes responses 390A-390D generated by automated assistant 120.

"Helloooooooooooooo"의 입력(380A)은 용어 정규화 엔진(122)에 의해 "hello"로 정규화될 수 있다. 대체 입력 엔진(124)은 대체 입력으로서 "hello"를 이용할 수 있다. 채점 엔진(126)은 "Helloooooooooooooo"에 대한 제1 점수, "hello"에 대한 제2 점수를 생성하고, 그 점수들에 기초하여 상기 선택된 입력으로서 "hello"를 선택하고, "hello"를 메시지 생성 엔진들(128)에 제공할 수 있다. 메시지 생성 엔진들(128) 중 하나는 응답 리소스 데이터베이스(156)에서 "hello"와 매핑되거나 그렇지 않으면 연관된 채팅 응답에 기초하여 응답(390A)을 생성할 수 있다.Input 380A of "Helloooooooooooooo" may be normalized to "hello" by the term normalization engine 122. Alternate input engine 124 may use "hello" as an alternate input. The scoring engine 126 generates a first score for "Helloooooooooooooo", a second score for "hello", selects "hello" as the selected input based on the scores, and generates a "hello" message. May be provided to the engines 128. One of the message generation engines 128 may generate a response 390A based on a chat response that is mapped or otherwise associated with "hello" in the response resource database 156.

입력(380B)의 "gr8"은 입력(380B)의 "great"로 정규화될 수 있고, 입력 (380B)의 "thx"는 용어 정규화 엔진(122)에 의해 "thanks"로 정규화될 수 있다. 대체 입력 엔진(124)은 "gr8 thanks", "great thx" 및 "great thanks"의 대체 입력을 생성할 수 있다. 채점 엔진(126)은 입력(380B) 및 대체 입력들 각각에 대한 점수를 생성할 수 있다. 일부 구현 예에서, "great thanks"에 대한 점수는 적어도 부분적으로 본 명세서에서 설명된 바와 같이 응답 콘텐트 점수에 기초하여 생성될 수 있고, 그 응답 콘텐트 점수는 선택적으로 이전 응답(390A) 및/또는 이전 입력(380A)을 고려하여 메시지 생성 엔진들(128) 중 하나에 의해 생성될 수 있다. 채점 엔진(126)은 메시지 생성 엔진(128)에 제공하기 위해 상기 선택된 입력으로서 "great thanks"를 선택한다. 메시지 생성 엔진들(128) 중 하나는 응답 리소스 데이터베이스(156)에서 "Good to hear"와 맵핑되거나 그렇지 않으면 연관되는 채팅 응답에 기초하여 응답(390B)을 생성할 수 있다.“Gr8” of input 380B may be normalized to “great” of input 380B, and “thx” of input 380B may be normalized to “thanks” by the term normalization engine 122. The alternate input engine 124 may generate alternate inputs of "gr8 thanks", "great thx", and "great thanks". Scoring engine 126 may generate a score for each of input 380B and alternate inputs. In some implementations, a score for “great thanks” can be generated based at least in part on the response content score as described herein, wherein the response content score can optionally be sent to the previous response 390A and / or previous. It may be generated by one of the message generation engines 128 in consideration of the input 380A. The scoring engine 126 selects "great thanks" as the selected input to provide to the message generation engine 128. One of the message generation engines 128 may generate a response 390B based on a chat response that is mapped or otherwise associated with “Good to hear” in the response resource database 156.

입력(380C)은 "c e o of numbers company?"이다. 용어 정규화 엔진(122)은 "c"를 "see"로, "e"를 "enemy"로, "o"를 "oh" 및 "over"로 정규화할 수 있다. 대체 입력 엔진(124)은 "see e o of numbers company?", "see enemy over numbers company?" 등의 대체 입력들을 생성할 수 있다. 채점 엔진(126)은 입력(380C) 및 대체 입력들 각각에 대한 점수를 생성할 수 있다. 채점 엔진(126)은 상기 점수들에 기초하여, "c e o of numbers company?"의 입력(380C)을 선택하여 메시지 생성 엔진(들)(128)에 제공할 수 있다. 메시지 생성 엔진들(128) 중 하나는 입력(380C)에 대해 리턴된 검색 결과에 기초하여 응답(390C)을 생성할 수 있다. 상기 응답(390C)은 상기 콘텐트가 입력(380C)에 응답한다는 것을 나타내는 "Here's what I found:"이라는 텍스트를 포함하고, 가상의(fictional) "Numbers Company"의 가상의 CEO에 집중된 "카드(card)"를 포함한다. 상기 카드는 CEO 이미지, CEO 이름, 선택시 (메시지 교환 클라이언트(107i) 또는 별도의 애플리케이션 내에서) 사용자에게 CEO와 관련된 더 많은 정보를 제공할 수 있는 추가 정보를 볼 수 있는 선택 가능한 옵션을 포함한다. "cu I8r"의 입력(380D)은 자동화된 어시스턴트(120)에 의해 "see you later"로 번역될 수 있고, "Later"의 스크립트된 응답(390D)을 제공하는데 이용될 수 있다.Input 380C is "c e o of numbers company?" The term normalization engine 122 may normalize "c" to "see", "e" to "enemy", and "o" to "oh" and "over". The alternate input engine 124 is "see e o of numbers company?", "See enemy over numbers company?" Alternative inputs can be generated. Scoring engine 126 may generate a score for each of input 380C and alternate inputs. The scoring engine 126 may select, based on the scores, input 380C of " c o of numbers company? &Quot; and provide it to the message generation engine (s) 128. One of the message generation engines 128 may generate a response 390C based on the search result returned for input 380C. The response 390C includes the text "Here's what I found:" indicating that the content responds to input 380C, and is a "card" focused on the fictional CEO of the fictional "Numbers Company". ) ". The card includes a selectable option to view the CEO image, CEO name, and additional information that, when selected (in the message exchange client 107i or a separate application), can provide the user with more information related to the CEO. . The input 380D of “cu I8r” may be translated by the automated assistant 120 to “see you later” and may be used to provide a scripted response 390D of “Later”.

도 4는 클라이언트 컴퓨팅 장치(106i)의 하나 이상의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 제출되는 자연어 입력(480A-D)을 포함한다. 도 4는 자동화된 어시스턴트(120)에 의해 생성된 응답(490A-490D)을 더 포함한다. 도 4의 예는, 무엇보다도, 하나 이상의 메시지 생성 엔진(128)이 인터넷유행어를 생성된 응답(490A-490D)에 선택적으로 통합하기 위해 클라이언트 컴퓨팅 장치(106i)의 사용자와 연관된 인터넷유행어 측정치(들)를 어떻게 활용할 수 있는지를 도시한다.4 includes natural language input 480A-D submitted by a user through one or more user interface input devices of the client computing device 106i. 4 further includes responses 490A-490D generated by automated assistant 120. The example of FIG. 4 shows, among other things, the Internet of Things measurement (s) associated with a user of the client computing device 106i for selectively incorporating the Internet of Things into the generated responses 490A-490D. Show how you can use).

자동화된 어시스턴트(120)는 "how r u today?"의 입력(480A)에 응답하여 "Gr8 thx - and you?"의 응답(490A)을 생성한다. 응답(490A)은 인터넷유행어 용어 "Gr8"및 "thx"를 포함하고, 여기에 설명된 바와 같이 인터넷유행어 측정치에 기초한 인터넷유행어 용어를 포함할 수 있다. 일부 구현 예에서, 메시지 생성 엔진ㄷ드들) 중 하나는 입력(480A)(또는 본 명세서에서 설명된 바와 같이 결정된 입력(480A)의 번역)에 대한 스크립트된 인터넷유행어 응답으로서 표시되는 것에 기초하여 응답(490A)을 결정할 수 있다. 이러한 구현예들에서, 메시지 생성 엔진(128)은 임계치를 만족시키는 입력(480A)을 제출한 사용자의 인터넷유행어 측정치에 기초하여 그리고 "인터넷유행어" 응답으로서 표시되는 것에 기초하여 응답(490A)을 선택할 수 있다. 일부 구현 예에서, 메시지 생성 엔진들(128) 중 하나는 입력(480A)에 대한 응답으로서 "Great thanks - and you?"를 최초로 결정하고(또는 본원에 기술된 바와 같이 결정된 입력(480A)의 번역), 그 다음 "Great"을 "Gr8"로, "thanks"를 "thx"로 바꾸지만 "you"을 "u"로 바꾸지 않는 것에 기초하여 응답(490A)을 결정할 수 있다. 예를 들어, 사용자의 인터넷유행어 측정치는 사용자가 일반적으로 "Gr8" 및 "thx"를 인터넷유행어로 사용한다는 것을 나타낼 수 있지만, "u"를 인터넷유행어로 거의 (또는 전혀) 사용하지 않음을 나타낼 수 있다.The automated assistant 120 generates a response 490A of "Gr8 thx-and you?" In response to the input 480A of "how r u today?". The response 490A includes the Internet language terms "Gr8" and "thx" and may include the Internet language term based on the Internet language measurement as described herein. In some implementations, one of the message generation engines responds based on being represented as a scripted Internet Language Response to input 480A (or a translation of input 480A determined as described herein). 490A can be determined. In such implementations, the message generation engine 128 selects the response 490A based on the Internet pedometer measurement of the user who submitted the input 480A that satisfies the threshold and based on what is represented as a “Internet pod” response. Can be. In some implementations, one of the message generation engines 128 first determines “Great thanks-and you?” In response to the input 480A (or translates the determined input 480A as described herein). ) May then determine the response 490A based on changing "Great" to "Gr8" and "thanks" to "thx" but not "you" to "u". For example, a user's internet measure may indicate that the user typically uses "Gr8" and "thx" as an Internet fashion, but may indicate that "u" is rarely (or not) used as an internet fashion. have.

"gr8 as well"의 입력(480B)은 인터넷유행어 용어를 포함하지 않는 "Good to hear"의 스크립트된 응답(490B)으로 응답된다. 예를 들어, 메시지 생성 엔진들(128) 중 하나는 입력(480B)(또는 본 명세서에서 설명된 바와 같이 결정된 입력(480B)의 번역)에 대한 스크립트된 인터넷유행어 응답으로서 표시되는 응답 (490B)을 결정할 수 있다.Input 480B of " gr8 as well " is responded with a scripted response 490B of " Good to hear " that does not include an Internet Term. For example, one of the message generation engines 128 may return a response 490B that is represented as a scripted Internet Explorer response to an input 480B (or a translation of the input 480B determined as described herein). You can decide.

"Who's the dog in Acme Movie"라는 입력(480C)은 응답(490C)로 응답된다. 메시지 생성 엔진들(128) 중 하나는 입력(490C)에 대해 리턴된 검색 결과에 기초하여 응답(490C)을 생성할 수 있다. 응답(490C)은 상기 콘텐트가 메시지(480C)에 응답하고, 가상의 영화 "Acme Movie"에서 활동한 가상의 개(fictional dog)에 초점을 맞춘 "카드"가 포함되어 있음을 나타내기 위해 "Here's what I found:"라는 텍스트를 포함한다. 상기 카드는 개의 이미지, 개의 "공식적인" 이름(WALTER P.)을 포함하며, 개에 대한 추가 정보를 포함한다. 상기 추가 정보는 가상의 Acme 영화에서 역할을 맡은 개의 이름 "Great"을 포함한다. 또한 "Great"라는 용어는 490A의 응답임에도 불구하고 상기 추가 정보에서 번역되지 않았다는 점도 주목된다. 이는 예를 들어, 검색 결과에 기초하여 생성된 응답(예를 들어, 스크립트된 응답에 기초하여 생성된 응답과 비교하여)의 용어와 같은 특정 응답의 용어 대신에 인터넷유행어 용어를 이용하지 않는 규칙에 기초할 수 있다.Input 480C, "Who's the dog in Acme Movie", is answered in response 490C. One of the message generation engines 128 may generate a response 490C based on the search result returned for input 490C. Response 490C indicates "Here's" to indicate that the content is in response to message 480C and includes a "card" that focuses on a fictional dog acting on the fictional movie "Acme Movie." Include the text what I found: ". The card contains the dog's image, the dog's "official" name (WALTER P.), and additional information about the dog. The additional information includes the name "Great" of the dog playing the role in the virtual Acme movie. It is also noted that the term "Great" was not translated in this additional information despite the response of 490A. This applies to rules that do not use Internet terminology instead of the term of a particular response, such as, for example, the term of a response generated based on a search result (eg, compared to a response generated based on a scripted response). Can be based.

"c u I8r"의 입력(480D)은 인터넷유행어를 포함하는 "I8r"의 응답(490D)으로 응답되며 여기에 설명된 기술에 따라 생성될 수 있다.An input 480D of "c u I8r" is responded with a response 490D of "I8r" that includes an Internet idiom and may be generated according to the techniques described herein.

도 5는 인터넷유행어를 포함하는 자연어 입력을 수신하고, 인터넷유행어를 정규화된 형식으로 변환하고, 그 자연어 입력에 응답하는 응답 콘텐트를 생성하기 위해 상기 정규화된 형식을 이용하고, 상기 자연어 입력에 대한 응답으로 제시할 응답 콘텐트를 제공하는 예시적인 방법(500)을 도시하는 흐름도를 제시한다. 편의상, 흐름도의 동작은 동작을 수행하는 시스템을 참조하여 설명된다. 상기 시스템은 자동화된 어시스턴트(120)와 같은 다양한 컴퓨터 시스템의 다양한 컴포넌트를 포함할 수 있다. 또한, 방법(500)의 동작이 특정 순서로 도시되어 있지만, 이는 제한하려는 것이 아니다. 하나 이상의 동작은 재정렬, 생략 또는 추가될 수 있다.FIG. 5 illustrates the use of the normalized form to receive a natural language input including an Internet language, convert the Internet language into a normalized form, and generate response content responsive to the natural language input, and to respond to the natural language input. A flow diagram illustrating an example method 500 of providing response content to present is presented. For convenience, the operation of the flowchart is described with reference to the system performing the operation. The system may include various components of various computer systems, such as automated assistant 120. In addition, although the operation of method 500 is shown in a particular order, it is not intended to be limiting. One or more actions may be rearranged, omitted, or added.

블록(550)에서, 상기 시스템은 하나 이상의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 공식화되고, 메시지 교환 스레드(예를 들어, 사용자와 자동화된 어시스턴트 사이의 스레드 및/또는 사용자, 자동 어시스턴트 및 하나 이상의 추가 사용자 간의 스레드)에서 사용자에 의해 제공되는 자연어 입력을 수신한다.In block 550, the system is formulated by the user through one or more user interface input devices, and includes a message exchange thread (e.g., a thread between the user and the automated assistant and / or a user, automatic assistant and one or more additions). A natural language input provided by the user in a thread between users).

블록(552)에서, 상기 시스템은 블록(550)의 자연어 입력의 하나 이상의 용어 각각에 대한 하나 이상의 정규화를 식별한다.At block 552, the system identifies one or more normalizations for each of the one or more terms of the natural language input of block 550.

블록(554)에서, 상기 시스템은 블록(554)의 정규화에 기초하여 블록(550)의 자연어 입력에 대한 후보 대체 입력들을 생성한다.At block 554, the system generates candidate replacement inputs for the natural language input of block 550 based on the normalization of block 554.

블록(556)에서, 상기 시스템은 블록(554)의 자연어 입력에 대한 점수를 결정하고, 블록(554)에서 결정된 후보 대체 입력들 각각에 대한 점수를 결정한다. 일부 구현 예에서, 상기 점수들을 결정함에 있어서, 상기 시스템은 블록(556A)에서 언어 모델에 기초하여 하나 이상의 점수를 결정하고 및/또는 블록(556B)에서 응답 콘텐트 점수에 기초하여 상기 점수들중 하나 이상을 결정한다.At block 556, the system determines a score for the natural language input of block 554, and determines a score for each of the candidate replacement inputs determined at block 554. In some implementations, in determining the scores, the system determines one or more scores based on the language model at block 556A and / or one of the scores based on the response content score at block 556B. Determine the above.

블록(558)에서, 상기 시스템은 상기 점수에 기초하여 하나 이상의 (예를 들어, 단지 하나의) 입력을 선택한다. 특히, 상기 시스템은 블록(554)의 후보 대체 입력들 중 하나 이상 및/또는 블록(550)의 자연어 입력을 이들 입력에 대한 점수들에 기초하여 선택한다.At block 558, the system selects one or more (eg, only one) input based on the score. In particular, the system selects one or more of the candidate replacement inputs of block 554 and / or the natural language input of block 550 based on the scores for these inputs.

블록(560)에서, 상기 시스템은 블록(558)에서 선택된 입력(들)에 기초하여 응답 콘텐트를 결정한다. 예를 들어, 상기 시스템은 채팅 응답인 응답 콘텐트 또는 검색 결과 응답인 응답 콘텐트를 결정할 수 있다.At block 560, the system determines response content based on the input (s) selected at block 558. For example, the system can determine response content that is a chat response or response content that is a search result response.

블록(562)에서, 상기 시스템은 자연어 입력에 대한 응답으로서 블록(560)의 응답 콘텐트를 메시지 교환 스레드에 통합한다.At block 562, the system integrates the response content of block 560 into the message exchange thread as a response to the natural language input.

도 6은 사용자에 대한 인터넷유행어 측정치를 결정하고, 사용자로부터 자연어 입력을 수신하고, 상기 인터넷유행어 측정치 및 자연어 입력에 기초하여 자연어 출력을 결정하고, 자연어 입력에 대한 응답으로 사용자에 표시하기 위해 자연어 출력을 제공하는 본 발명의 일 실시 예에 따른 방법(600)을 나타내는 흐름도를 제시한다. 편의상, 상기 흐름도의 동작은 그 동작을 수행하는 시스템을 참조하여 설명된다. 상기 시스템은 자동화된 어시스턴트(120)와 같은 다양한 컴퓨터 시스템의 다양한 컴포넌트들을 포함할 수 있다. 또한, 방법(600)의 동작이 특정 순서로 도시되어 있지만, 이것에 한정되는 것은 아니다. 하나 이상의 동작은 재정렬, 생략 또는 추가될 수 있다.FIG. 6 is a natural language output for determining an Internet spoken word measurement for a user, receiving a natural language input from the user, determining a natural language output based on the internet translated word measurement and the natural language input, and displaying it to the user in response to the natural language input. Provides a flow diagram illustrating a method 600 according to an embodiment of the present invention to provide a. For convenience, the operation of the flowchart is described with reference to a system that performs the operation. The system may include various components of various computer systems, such as automated assistant 120. In addition, although the operation of method 600 is shown in a particular order, it is not limited thereto. One or more actions may be rearranged, omitted, or added.

블록(650)에서, 상기 시스템은 하나 이상의 사용자에 의한 메시지 교환 스레드에 기여하는 메시지들의 인터넷유행어의 인스턴스들의 카운트에 적어도 부분적으로 기초하여 하나 이상의 사용자에 대한 인터넷유행어 측정치를 결정한다.In block 650, the system determines a monetary measure for one or more users based at least in part on the count of instances of the monetary words of messages that contribute to the message exchange thread by the one or more users.

블록(652)에서, 상기 시스템은 하나 이상의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 공식화(표현)되고, 진행중인 메시지 교환 스레드(예를 들어, 사용자와 자동화된 어시스턴트 사이의 스레드 및/또는 사용자, 자동화된 어시스턴트 및 하나 이상의 추가 사용자 간의 스레드)에서 사용자에 의해 제공되는 자연어 입력을 수신한다.In block 652, the system is formulated (presented) by the user via one or more user interface input devices, and an ongoing message exchange thread (e.g., a thread between the user and the automated assistant and / or the user, automated). A thread between an assistant and one or more additional users).

블록(654)에서, 상기 시스템은 블록(650)에서 결정된 인터넷유행어 측정치에 기초하여 그리고 블록(652)의 자연어 입력에 기초하여, 하나 이상의 인터넷유행어 용어를 통합하는 자연어를 결정한다. 일부 구현 예에서, 상기 시스템은 블록(650)에서 결정된 인터넷유행어 측정치에 기초하고 그리고 하나 이상의 추가 인터넷유행어 측정치에 기초하여 하나 이상의 인터넷유행어 용어를 통합하는 자연어 출력을 결정한다.At block 654, the system determines a natural language incorporating one or more Internet term terms based on the internet language measurement determined at block 650 and based on the natural language input at block 652. In some implementations, the system determines a natural language output that incorporates one or more Internet Vocabulary terms based on the Internet Vocabulary measurements determined at block 650 and based on one or more additional Internet Vocabulary measurements.

블록(656)에서, 상기 시스템은 블록(654)의 자연어 출력을 포함하는 응답을 진행중인 메시지 교환 스레드에 통합한다.At block 656, the system integrates the response, including the natural language output of block 654, into an ongoing message exchange thread.

도 7은 여기에 기술된 기술들의 하나 이상의 양태들을 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 장치(710)의 블록도이다. 일부 구현 예에서, 하나 이상의 클라이언트 컴퓨팅 장치(1061-N), 자동화된 어시스턴트(120) 및/또는 다른 컴포넌트(들)는 예시적인 컴퓨팅 장치(710)의 하나 이상의 컴포넌트들을 포함할 수 있다.7 is a block diagram of an example computing device 710 that can optionally be used to perform one or more aspects of the techniques described herein. In some implementations, one or more client computing devices 1061 -N, automated assistant 120, and / or other component (s) may include one or more components of example computing device 710.

컴퓨팅 장치(710)는 전형적으로 버스 서브시스템(712)을 통해 다수의 주변 장치들과 통신하는 적어도 하나의 프로세서(714)를 포함한다. 이러한 주변 장치들은 예를 들어 메모리 서브시스템(725) 및 파일 저장 서브시스템(726), 사용자 인터페이스 출력 장치(720), 사용자 인터페이스 입력 장치(722) 및 네트워크 인터페이스 서브시스템(716)을 포함하는 저장 서브시스템(724)을 포함할 수 있다. 상기 입력 및 출력 장치는 컴퓨팅 장치(710)와의 사용자 상호 작용을 허용한다. 네트워크 인터페이스 서브시스템(716)은 외부 네트워크에 인터페이스를 제공하고, 다른 컴퓨팅 장치의 대응 인터페이스 장치에 연결된다.Computing device 710 typically includes at least one processor 714 that communicates with a number of peripheral devices through bus subsystem 712. Such peripheral devices may include, for example, storage subsystems including memory subsystem 725 and file storage subsystem 726, user interface output device 720, user interface input device 722, and network interface subsystem 716. System 724 may be included. The input and output devices allow user interaction with the computing device 710. Network interface subsystem 716 provides an interface to an external network and is coupled to a corresponding interface device of another computing device.

사용자 인터페이스 입력 장치들(722)은 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 장치들, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템, 마이크로폰 및/또는 다른 유형의 입력 장치와 같은 오디오 입력 장치를 포함할 수 있다. 일반적으로, "입력 장치"라는 용어의 사용은 컴퓨팅 장치(710) 또는 통신 네트워크상에 정보를 입력하는 모든 가능한 유형의 장치 및 방법을 포함하도록 의도된다.User interface input devices 722 may be pointing devices such as a keyboard, mouse, trackball, touch pad or graphics tablet, scanner, touch screen integrated into the display, voice recognition system, microphone and / or other types of input devices. It may include an audio input device. In general, the use of the term “input device” is intended to include all possible types of devices and methods for entering information on computing device 710 or a communication network.

사용자 인터페이스 출력 장치들(720)은 디스플레이 서브시스템, 프린터, 팩스 머신, 또는 오디오 출력 장치들과 같은 비-시각적 디스플레이들을 포함할 수 있다. 상기 디스플레이 서브시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 장치, 프로젝션 장치, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 상기 디스플레이 서브시스템은 또한 오디오 출력 장치를 통한 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 장치"라는 용어의 사용은 컴퓨팅 장치(710)로부터 사용자 또는 다른 기계 또는 컴퓨팅 장치로 정보를 출력하는 모든 가능한 유형의 장치 및 방법을 포함하도록 의도된다.User interface output devices 720 may include non-visual displays, such as a display subsystem, printer, fax machine, or audio output devices. The display subsystem may include a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD), a projection device, or other mechanism for generating a visible image. The display subsystem may also provide a non-visual display through an audio output device. In general, the use of the term “output device” is intended to include all possible types of devices and methods for outputting information from computing device 710 to a user or other machine or computing device.

저장 서브시스템(724)은 여기에 설명된 일부 또는 모든 모듈의 기능을 제공하는 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 저장 서브시스템(724)은도 5 및 도 6의 방법의 선택된 양태들을 수행하기 위한 로직을 포함할 수 있다.Storage subsystem 724 stores programming and data structures that provide the functionality of some or all of the modules described herein. For example, storage subsystem 724 can include logic to perform selected aspects of the methods of FIGS. 5 and 6.

이들 소프트웨어 모듈은 일반적으로 프로세서(714) 단독으로 또는 다른 프로세서와 조합하여 실행된다. 저장 서브시스템(724)에서 사용되는 메모리(725)는 프로그램 실행 동안 명령어들 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM)(730) 및 고정 명령어들이 저장되는 읽기 전용 메모리(ROM)(732)를 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(726)은 프로그램 및 데이터 파일을 위한 영구 저장 장치를 제공할 수 있으며, 하드 디스크 드라이브, 연관된 이동식 매체를 갖는 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 특정 구현 예들의 기능을 구현하는 모듈들은 저장 서브시스템(724)의 파일 저장 서브시스템(726) 또는 프로세서 (들)(714)에 의해 액세스 가능한 다른 머신에 저장될 수 있다.These software modules generally execute on the processor 714 alone or in combination with other processors. Memory 725 used in storage subsystem 724 includes main random access memory (RAM) 730 for storage of instructions and data during program execution and read only memory (ROM) 732 in which fixed instructions are stored. It may include a plurality of memories including a. File storage subsystem 726 may provide persistent storage for program and data files and may include a hard disk drive, a floppy disk drive with associated removable media, a CD-ROM drive, an optical drive, or a removable media cartridge. Can be. Modules that implement the functionality of certain implementations may be stored on the file storage subsystem 726 of the storage subsystem 724 or on another machine accessible by the processor (s) 714.

버스 서브시스템(712)은 컴퓨팅 장치(710)의 다양한 컴포넌트들 및 서브시스템들이 의도된 바와 같이 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(712)은 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 다른 구현 예는 다수의 버스를 사용할 수 있다.Bus subsystem 712 provides a mechanism that allows various components and subsystems of computing device 710 to communicate with each other as intended. Although bus subsystem 712 is schematically depicted as a single bus, other implementations of the bus subsystem may use multiple buses.

컴퓨팅 장치(710)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 장치를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 7에 도시된 컴퓨팅 장치(710)의 설명은 단지 일부 구현 예를 설명하기 위한 구체적인 예로서만 의도된다. 컴퓨팅 장치(710)의 많은 다른 구성은, 도 7에 도시된 컴퓨팅 장치보다 많은 컴포넌트 또는 더 적은 컴포넌트를 갖는 것이 가능하다.Computing device 710 may be of various types, including a workstation, server, computing cluster, blade server, server farm, or any other data processing system or computing device. Due to the ever-changing nature of computers and networks, the description of computing device 710 shown in FIG. 7 is intended only as a specific example for describing some implementations. Many other configurations of the computing device 710 are capable of having more or fewer components than the computing device shown in FIG. 7.

여기에 설명된 시스템이 사용자들에 대한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황에서, 사용자는 여기에 설명된 시스템들, 프로그램들 또는 기능들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호도 또는 사용자의 현재 위치에 대한 정보)의 수집을 가능하게 할 수 있는 경우 및 사용자가 서버로부터 콘텐츠 또는 통신을 송신하는 경우 모두에 대해 사용자가 선택을 할 수 있게 하는 제어를 제공받을 수 있다. 또한, 특정 데이터는 저장되거나 사용되기 전에 하나 이상의 방법으로 처리되어 개인 식별 정보가 제거된다. 예를 들어, 사용자의 아이덴티티는 사용자에 대한 개인 식별 정보가 결정될 수 없도록, 또는 위치 정보가 획득된 사용자의 지리적 위치를 일반화하여(예를 들어, 도시, 우편 번호 또는 주 레벨(state level)) 사용자의 특정 위치가 결정될 수 없도록 처리될 수 있다. 따라서, 사용자는 어떤 정보가 사용자에 대해 수집되는지, 그 정보가 어떻게 사용되는지, 그리고 어떤 정보가 사용자에게 제공되는지를 제어할 수 있다.In situations where the systems described herein may collect or use personal information about users, the user may be interested in the systems, programs or functions described herein for user information (e.g., a user's social network, Information about social actions or activities, occupations, user preferences, or the user's current location) and when the user sends content or communications from the server. Control may be provided. In addition, certain data may be processed in one or more ways prior to being stored or used to remove personally identifiable information. For example, the user's identity may be determined so that personally identifiable information about the user cannot be determined, or by generalizing the user's geographic location from which the location information was obtained (e.g., city, postal code, or state level). It can be processed so that a specific location of cannot be determined. Thus, a user can control what information is collected about the user, how that information is used, and what information is provided to the user.

일부 구현예들이 본 명세서에서 설명되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본원에 기술된 하나 이상의 이점을 얻기위한 다양한 다른 수단 및/또는 구조들이 이용될 수 있으며, 그러한 변형들 및/또는 수정들은 본 명세서에서 설명된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로는, 여기에 기술된 모든 파라미터들, 치수들, 재료들 및 구성들은 예시적인 것이며, 실제 파라미터들, 치수들, 재료들 및/또는 구성들은 특정 용도 또는 그 교시가 사용되는 용도에 의존할 것이다. 당업자는 일상적인 실험만을 사용하여 본 명세서에서 설명된 특정 구현예들에 대한 많은 균등물을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현예들은 단지 예일 뿐이며, 첨부된 청구 범위 및 그 등가물의 범위 내에서 구현예들은 구체적으로 기술되고 청구된 것과 다르게 실시될 수 있음을 이해해야 한다. 본 개시의 구현예들은 여기에 기술된 각각의 개별적인 특징, 시스템, 아티클, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 특징, 시스템, 아티클, 재료, 키트 및/또는 방법이 상호 불일치하지 않는 경우, 둘 이상의 그러한 특징, 시스템, 아티클, 재료, 키트 및/또는 방법의 모든 조합이 본 개시의 범위 내에 포함된다.While some embodiments have been described and illustrated herein, various other means and / or structures can be used to perform the functions and / or obtain the results and / or one or more advantages described herein, such variations and Modifications are considered to be within the scope of the embodiments described herein. More generally, all of the parameters, dimensions, materials, and configurations described herein are exemplary, and actual parameters, dimensions, materials, and / or configurations are dependent upon the particular application or use for which the teaching is used. something to do. Those skilled in the art will recognize, or be able to ascertain many equivalents to the specific embodiments described herein using routine experiments only. Accordingly, it is to be understood that the foregoing embodiments are merely examples, and that within the scope of the appended claims and their equivalents, the embodiments may be practiced otherwise than as specifically described and claimed. Embodiments of the present disclosure relate to each individual feature, system, article, material, kit, and / or method described herein. In addition, all combinations of two or more such features, systems, articles, materials, kits, and / or methods are included within the scope of the present disclosure unless such features, systems, articles, materials, kits, and / or methods are inconsistent with each other. .

Claims (20)

하나 이상의 프로세서들에 의해 수행되는 방법으로서,
하나 이상의 사용자들에 의한 메시지 교환 스레드들에 기여하는 복수의 메시지들에 기초하여 하나 이상의 사용자들에 대한 인터넷유행어(chatspeak) 측정치를 결정하는 단계;
적어도 사용자와 자동화된 어시스턴트 간의 진행중인 메시지 교환 스레드의 일부로서 상기 사용자들 중 한 명의 사용자에 의해 제출된 자연어 입력을 수신하는 단계 -상기 자연어 입력은 상기 사용자의 컴퓨팅 장치의 사용자 인터페이스 입력 장치를 통해 상기 사용자에 의해 표현됨-;
상기 자연어 입력에 대한 상기 자동화된 어시스턴트의 응답에 포함시키기 위해 자연어 출력을 생성하는 단계 -상기 자연어 출력을 생성하는 단계는 하나 이상의 인터넷유행어 용어들을 상기 인터넷유행어 측정치에 기초하여 상기 자연어 출력에 통합하는 단계를 포함함-; 그리고
상기 자동화된 어시스턴트의 상기 응답을 상기 메시지 교환 스레드에 포함시키는 단계를 포함하며, 상기 응답은 상기 하나 이상의 인터넷유행어 용어들을 갖는 상기 자연어 출력을 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
A method performed by one or more processors,
Determining chatspeak measurements for one or more users based on the plurality of messages contributing to message exchange threads by the one or more users;
Receiving natural language input submitted by at least one of the users as part of an ongoing message exchange thread between the user and the automated assistant, wherein the natural language input is via the user interface input device of the user's computing device. Represented by;
Generating a natural language output for inclusion in a response of the automated assistant to the natural language input, wherein generating the natural language output includes incorporating one or more Internet terminology terms into the natural language output based on the internet language measurement. Comprising; And
Including the response of the automated assistant in the message exchange thread, wherein the response includes the natural language output with the one or more Internet terminology terms. .
제1항에 있어서,
상기 응답을 상기 메시지 교환 스레드에 포함시키는 단계는 상기 사용자의 컴퓨팅 장치상에서 동작하는 메시지 교환 클라이언트의 그래픽 사용자 인터페이스에 디스플레이되는 상기 메시지 교환 스레드의 전사(transcript)에 상기 응답을 삽입하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 1,
Incorporating the response into the message exchange thread includes inserting the response into a transcript of the message exchange thread displayed in a graphical user interface of a message exchange client operating on the computing device of the user. Characterized by a method performed by one or more processors.
제1항에 있어서,
상기 인터넷유행어 측정치는 상기 자연어 출력에 포함된 상기 인터넷유행어 용어들을 적어도 포함하는 하나 이상의 인터넷유행어 용어들의 그룹에 특정되며, 상기 하나 이상의 인터넷유행어 용어들을 상기 자연어 출력에 통합하는 단계는 상기 인터넷유행어 용어들을 포함하는 상기 그룹에 특정된 상기 인터넷유행어 측정치에 기초하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 1,
The Internet term measurement is specific to a group of one or more Internet term terms that include at least the Internet term terms included in the natural language output, and incorporating the one or more Internet term terms into the natural language output includes: Performing the one or more processors based on the Internet language measurement specific to the group.
제1항에 있어서,
상기 인터넷유행어 용어들을 상기 자연어 출력에 통합하는 단계는,
상기 자연어 입력에 응답하는 초기 자연어 출력을 식별하는 단계;
상기 초기 자연어 출력의 하나 이상의 소정의 용어들이 상기 인터넷유행어 용어들에 매핑하는지를 결정하는 단계; 그리고
상기 초기 자연어 출력의 상기 소정의 용어들을 상기 인터넷유행어 용어들로 대체하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 1,
Incorporating the Internet terminology into the natural language output,
Identifying an initial natural language output responsive to the natural language input;
Determining whether one or more predetermined terms of the initial natural language output map to the Internet terminology terms; And
Replacing the predetermined terms of the initial natural language output with the Internet terminology terms.
제1항에 있어서,
상기 하나 이상의 사용자들에 대한 추가적인 인터넷유행어 측정치를 결정하는 단계를 더 포함하며, 상기 자연어 출력을 생성하는 단계는 상기 인터넷유행어 측정치에 기초하고 그리고 상기 추가적인 인터넷유행어 측정치에 기초하여 인터넷유행어 용어들 중 하나 이상을 상기 자연어 출력에 통합하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 1,
Determining additional internet language measurement for the one or more users, wherein generating the natural language output is based on the internet language measurement and based on the additional internet language measurement; Incorporating an ideal into the natural language output.
제5항에 있어서,
상기 인터넷유행어 측정치는 상기 사용자에게 특정되고, 상기 자연어 출력에 통합되지 않은 하나 이상의 추가적인 인터넷유행어 용어들을 포함하는 복수의 인터넷유행어 용어들에 적용 가능하며,
상기 추가적인 인터넷유행어 측정치는 상기 사용자에게 특정되지 않으며, 상기 자연어 출력에 통합된 상기 인터넷유행어 용어들 중 적어도 하나에 특정되는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 5,
The internet term measurement is specific to the user and is applicable to a plurality of internet term terms including one or more additional internet term terms that are not integrated into the natural language output,
And wherein said additional internet measure is not specific to said user and is specific to at least one of said internet terminology incorporated into said natural language output.
제1항에 있어서, 상기 인터넷유행어 측정치는 상기 사용자에게 특정(specific)되는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.10. The method of claim 1, wherein the Internet spoken measurement is specific to the user. 제7항에 있어서,
상기 메시지 교환 스레드들은 적어도 상기 사용자와 상기 자동화된 어시스턴트 간의 과거의 자동화된 어시스턴트 메시지 교환 스레드들을 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 7, wherein
And wherein said message exchange threads comprise at least automated assistant message exchange threads of the past between said user and said automated assistant.
제8항에 있어서,
상기 인터넷유행어 측정치를 결정하는 단계는 인터넷유행어가 상기 메시지들에서 이용된 인스턴스들의 카운트에 기초하고, 상기 방법은 상기 카운트가 기초하는 상기 인스턴스들 중 하나를 결정하는 단계를 더 포함하며,
상기 인스턴스들 중 하나를 결정하는 단계는,
상기 과거의 자동화된 어시스턴트 메시지 교환 스레드들 중 하나에서 상기 메시지들 중 소정의 메시지를 수신하는 단계 -상기 소정의 메시지는 사용자에 의해 표현되고 적어도 제1 용어 및 제2 용어를 포함함 -;
상기 자연어 입력의 적어도 상기 제1 용어에 대해, 상기 제1 용어의 제1 정규화를 식별하는 단계;
상기 자연어 입력에 대한 후보 대체 입력을 생성하는 단계 - 상기 생성하는 단계는 상기 제1 용어를 상기 제1 정규화로 대체하고, 상기 후보 대체 입력에 상기 제2 용어의 제2 정규화 또는 제2 용어를 포함시키는 것을 포함함 -;
상기 자연어 입력에 대한 제1 점수를 결정하는 단계;
상기 후보 대체 입력에 대한 제2 점수를 결정하는 단계;
상기 제1 점수 및 상기 제2 점수에 기초하여 상기 후보 대체 입력을 선택하는 단계;
상기 후보 대체 입력에 기초하여 응답 콘텐트를 결정하는 단계;
상기 자동화된 어시스턴트에 의한 상기 자연어 입력에 대한 응답으로서 상기 응답 콘텐트를 상기 과거의 자동화된 어시스턴트 메시지 교환 스레드들 중 하나에 통합하는 단계 -상기 응답 콘텐트를 통합하는 단계는 상기 후보 대체 입력을 선택하는 것에 기초함 -; 그리고
상기 후보 대체 입력을 선택하는 것에 기초하여 상기 인스턴스들 중 하나의 표시(indication)를 저장하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 8,
Determining the internet spoken measurement is based on a count of the instances of the internet spoken used in the messages, and the method further comprises determining one of the instances on which the count is based;
Determining one of the instances,
Receiving a predetermined one of the messages in one of the past automated assistant message exchange threads, wherein the predetermined message is represented by a user and includes at least a first term and a second term;
For at least the first term of the natural language input, identifying a first normalization of the first term;
Generating a candidate substitute input for the natural language input, the generating step replacing the first term with the first normalization and including the second normalization or second term of the second term in the candidate substitute input. Including making;
Determining a first score for the natural language input;
Determining a second score for the candidate substitute input;
Selecting the candidate substitute input based on the first score and the second score;
Determining response content based on the candidate substitute input;
Incorporating the response content into one of the past automated assistant message exchange threads in response to the natural language input by the automated assistant, wherein incorporating the response content comprises selecting the candidate alternate input. Based; And
And storing an indication of one of the instances based on selecting the candidate replacement input.
제9항에 있어서,
상기 자연어 입력에 대한 상기 제1 점수를 결정하는 단계는 적어도 상기 제1 용어 및 상기 제2 용어를 언어 모델에 적용하는 것에 기초하고,
상기 후보 대체 입력에 대한 상기 제2 점수를 결정하는 단계는 상기 언어 모델에 적어도 제2 용어 또는 제2 정규화 중 어느 하나와 상기 제1 정규화를 적용하는 것에 기초하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 9,
Determining the first score for the natural language input is based on applying at least the first term and the second term to a language model,
Determining the second score for the candidate substitute input is based on applying at least one of a second term or a second normalization and the first normalization to the language model. Method performed by.
제9항에 있어서,
상기 인터넷유행어 측정치는 상기 사용자에 특정되고, 상기 인터넷유행어 용어들에 특정되며,
상기 후보 대체 입력을 선택하는 것에 기초하여 상기 인스턴스들 중 하나의 표시를 저장하는 단계는 적어도 상기 제1 용어 또는 상기 제1 정규화에 대한 표시의 연관성을 저장하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 9,
The internet term measurement is specific to the user, the internet term terms,
Storing an indication of one of the instances based on selecting the candidate substitute input further comprises storing an association of at least the first term or an indication for the first normalization. Method performed by the above processor.
제1항에 있어서,
상기 인터넷유행어 측정치를 결정하는 단계는,
인터넷유행어가 상기 메시지들에서 이용된 인스턴스들의 카운트, 상기 메시지들에서 사용된 하나 이상의 인터넷유행어 용어들의 품질(quality), 상기 인터넷유행어 용어들의 공통성 및 상기 인터넷유행어 용어들의 사용의 일관성으로 구성된 그룹으로부터 선택된 적어도 하나에 기초하는 것을 특징으로 하는 하나 이상의 프로세서들에 의해 수행되는 방법.
The method of claim 1,
Determining the Internet fashionable measurement,
The Internet word is selected from the group consisting of a count of instances used in the messages, a quality of one or more Internet term terms used in the messages, a commonality of the Internet word terms, and a consistency of the use of the Internet word terms. Method performed by one or more processors, characterized in that it is based on at least one.
시스템으로서,
명령어들을 저장하는 메모리;
상기 메모리에 저장된 상기 명령어들을 실행하는 하나 이상의 프로세서들을 포함하며, 상기 명령어들은 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하며, 상기 동작들은,
하나 이상의 사용자들에 의한 메시지 교환 스레드들에 기여하는 복수의 메시지들에 기초하여 하나 이상의 사용자들에 대한 인터넷유행어(chatspeak) 측정치를 결정하는 동작;
적어도 사용자와 자동화된 어시스턴트 간의 진행중인 메시지 교환 스레드의 일부로서 상기 사용자들 중 한 명의 사용자에 의해 제출된 자연어 입력을 수신하는 동작 -상기 자연어 입력은 상기 사용자의 컴퓨팅 장치의 사용자 인터페이스 입력 장치를 통해 상기 사용자에 의해 표현됨-;
상기 자연어 입력에 대한 상기 자동화된 어시스턴트의 응답에 포함시키기 위해 자연어 출력을 생성하는 동작 -상기 자연어 출력을 생성하는 동작은 하나 이상의 인터넷유행어 용어들을 상기 인터넷유행어 측정치에 기초하여 상기 자연어 출력에 통합하는 단계를 포함함-; 그리고
상기 자동화된 어시스턴트의 상기 응답을 상기 메시지 교환 스레드에 포함시키는 동작을 포함하며, 상기 응답은 상기 하나 이상의 인터넷유행어 용어들을 갖는 상기 자연어 출력을 포함하는 것을 특징으로 하는 시스템.
As a system,
Memory for storing instructions;
One or more processors executing the instructions stored in the memory, the instructions causing the one or more processors to perform the operations,
Determining a chatspeak measurement for one or more users based on the plurality of messages contributing to message exchange threads by the one or more users;
Receiving natural language input submitted by at least one of the users as part of an ongoing message exchange thread between the user and the automated assistant, the natural language input being via the user interface input device of the user's computing device. Represented by;
Generating a natural language output for inclusion in the response of the automated assistant to the natural language input, wherein generating the natural language output includes incorporating one or more Internet terminology into the natural language output based on the internet language measurement; Comprising; And
Including the response of the automated assistant in the message exchange thread, the response comprising the natural language output having the one or more Internet terminology terms.
제13항에 있어서,
상기 응답을 상기 메시지 교환 스레드에 포함시키는 동작에서, 상기 하나 이상의 프로세서들은 상기 사용자의 컴퓨팅 장치상에서 동작하는 메시지 교환 클라이언트의 그래픽 사용자 인터페이스에 디스플레이되는 상기 메시지 교환 스레드의 전사(transcript)에 상기 응답을 삽입하는 것을 특징으로 하는 시스템.
The method of claim 13,
In incorporating the response into the message exchange thread, the one or more processors insert the response into a transcript of the message exchange thread displayed in a graphical user interface of a message exchange client operating on the user's computing device. System characterized in that.
제13항에 있어서,
상기 인터넷유행어 측정치는 상기 자연어 출력에 포함된 상기 인터넷유행어 용어들을 적어도 포함하는 하나 이상의 인터넷유행어 용어들의 그룹에 특정되며, 상기 하나 이상의 인터넷유행어 용어들을 상기 자연어 출력에 통합하는 동작은 상기 인터넷유행어 용어들을 포함하는 상기 그룹에 특정된 상기 인터넷유행어 측정치에 기초하는 것을 특징으로 하는 시스템.
The method of claim 13,
The Internet term measurement is specific to a group of one or more Internet term terms that include at least the Internet term terms included in the natural language output, and incorporating the one or more Internet term terms into the natural language output includes: A system based on the internet language measurement specified in the group that includes.
제13항에 있어서,
상기 인터넷유행어 용어들을 상기 자연어 출력에 통합함에 있어서, 상기 하나 이상의 프로세서들은,
상기 자연어 입력에 응답하는 초기 자연어 출력을 식별하고;
상기 초기 자연어 출력의 하나 이상의 소정의 용어들이 상기 인터넷유행어 용어들에 매핑하는지를 결정하고; 그리고
상기 초기 자연어 출력의 상기 소정의 용어들을 상기 인터넷유행어 용어들로 대체하는 것을 특징으로 하는 시스템.
The method of claim 13,
In incorporating the Internet terminology into the natural language output, the one or more processors include:
Identify an initial natural language output responsive to the natural language input;
Determine whether one or more predetermined terms of the initial natural language output map to the Internet terminology terms; And
And replace the predetermined terms of the initial natural language output with the Internet terminology.
제13항에 있어서,
상기 명령어들을 실행함에 있어서, 상기 하나 이상의 프로세서들은 상기 하나 이상의 사용자들에 대한 추가적인 인터넷유행어 측정치를 더 결정하며,
상기 자연어 출력을 생성함에 있어서, 상기 하나 이상의 프로세서들은 상기 인터넷유행어 측정치에 기초하고 그리고 상기 추가적인 인터넷유행어 측정치에 기초하여 인터넷유행어 용어들 중 하나 이상을 상기 자연어 출력에 통합하는 것을 특징으로 하는 시스템.
The method of claim 13,
In executing the instructions, the one or more processors further determine additional Internet language measurements for the one or more users,
In generating the natural language output, the one or more processors incorporate one or more of the Internet language terms into the natural language output based on the internet language measurement and based on the additional internet language measurement.
제13항에 있어서,
상기 인터넷유행어 측정치는 상기 사용자에게 특정되고,
상기 메시지 교환 스레드들은 적어도 상기 사용자와 상기 자동화된 어시스턴트 간의 과거의 자동화된 어시스턴트 메시지 교환 스레드들을 포함하는 것을 특징으로 하는 시스템.
The method of claim 13,
The internet spoken measurement is specific to the user,
And the message exchange threads comprise at least automated assistant message exchange threads of the past between the user and the automated assistant.
제18항에 있어서,
상기 인터넷유행어 측정치를 결정함에 있어서, 상기 하나 이상의 프로세서들은 인터넷유행어가 상기 메시지들에서 이용된 인스턴스들의 카운트에 기초하여 상기 인터넷유행어 측정치를 결정하고;
상기 명령어들을 실행함에 있어서, 상기 하나 이상의 프로세서들은 상기 카운트가 기초하는 상기 인스턴스들 중 하나를 더 결정하며,
상기 인스턴스들 중 하나를 결정함에 있어서, 상기 하나 이상의 프로세서들은,
상기 과거의 자동화된 어시스턴트 메시지 교환 스레드들 중 하나에서 상기 메시지들 중 소정의 메시지를 수신하고 -상기 소정의 메시지는 사용자에 의해 표현되고 적어도 제1 용어 및 제2 용어를 포함함 -;
상기 자연어 입력의 적어도 상기 제1 용어에 대해, 상기 제1 용어의 제1 정규화를 식별하고;
상기 자연어 입력에 대한 후보 대체 입력을 생성하고;
상기 자연어 입력에 대한 제1 점수를 결정하고;
상기 후보 대체 입력에 대한 제2 점수를 결정하고;
상기 제1 점수 및 상기 제2 점수에 기초하여 상기 후보 대체 입력을 선택하고;
상기 후보 대체 입력에 기초하여 응답 콘텐트를 결정하고;
상기 콘텐트를 선택하는 것에 기초하여, 상기 자동화된 어시스턴트에 의한 상기 자연어 입력에 대한 응답으로서 상기 응답 콘텐트를 상기 과거의 자동화된 어시스턴트 메시지 교환 스레드들 중 하나에 통합하고;
상기 후보 대체 입력을 선택하는 것에 기초하여 상기 인스턴스들 중 하나의 표시(indication)를 저장하는 것을 특징으로 하는 시스템.
The method of claim 18,
In determining the internet pedometer measurement, the one or more processors determine the internet pedometer measurement based on a count of instances in which the internet spoken word was used in the messages;
In executing the instructions, the one or more processors further determine one of the instances on which the count is based,
In determining one of the instances, the one or more processors,
Receive a predetermined one of the messages in one of the past automated assistant message exchange threads, wherein the predetermined message is represented by a user and includes at least a first term and a second term;
For at least the first term of the natural language input, identify a first normalization of the first term;
Generate a candidate substitute input for the natural language input;
Determine a first score for the natural language input;
Determine a second score for the candidate substitute input;
Select the candidate substitute input based on the first score and the second score;
Determine response content based on the candidate substitute input;
Based on selecting the content, incorporating the response content into one of the past automated assistant message exchange threads in response to the natural language input by the automated assistant;
Store an indication of one of the instances based on selecting the candidate substitute input.
제13항에 있어서,
상기 인터넷유행어 측정치를 결정함에 있어서, 상기 하나 이상의 프로세서들은, 인터넷유행어가 상기 메시지들에서 이용된 인스턴스들의 카운트, 상기 메시지들에서 사용된 하나 이상의 인터넷유행어 용어들의 품질(quality), 상기 인터넷유행어 용어들의 공통성 및 상기 인터넷유행어 용어들의 사용의 일관성으로 구성된 그룹으로부터 선택된 적어도 하나에 기초하는 상기 인터넷유행어 측정치를 결정하는 것을 특징으로 하는 시스템.
The method of claim 13,
In determining the Internet of Things measurement, the one or more processors are further configured to determine a count of instances in which the Internet spoken word was used in the messages, the quality of the one or more Internet Vocabulary terms used in the messages, And determine the internet measure based on at least one selected from the group consisting of commonality and consistency of use of the internet terminology.
KR1020197027446A 2016-05-17 2016-12-27 Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak KR102213014B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/157,293 US10268683B2 (en) 2016-05-17 2016-05-17 Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak
US15/157,293 2016-05-17
PCT/US2016/068738 WO2017200589A2 (en) 2016-05-17 2016-12-27 Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187036264A Division KR102025828B1 (en) 2016-05-17 2016-12-27 Generate output to be presented in response to user interface input where the input and / or output includes an Internet language

Publications (2)

Publication Number Publication Date
KR20190109599A true KR20190109599A (en) 2019-09-25
KR102213014B1 KR102213014B1 (en) 2021-02-05

Family

ID=60325482

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197027446A KR102213014B1 (en) 2016-05-17 2016-12-27 Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak
KR1020187036264A KR102025828B1 (en) 2016-05-17 2016-12-27 Generate output to be presented in response to user interface input where the input and / or output includes an Internet language

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187036264A KR102025828B1 (en) 2016-05-17 2016-12-27 Generate output to be presented in response to user interface input where the input and / or output includes an Internet language

Country Status (6)

Country Link
US (2) US10268683B2 (en)
EP (1) EP3440806A4 (en)
JP (2) JP6524359B1 (en)
KR (2) KR102213014B1 (en)
CN (2) CN113660154B (en)
WO (1) WO2017200589A2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268683B2 (en) * 2016-05-17 2019-04-23 Google Llc Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak
US10192177B2 (en) * 2016-06-29 2019-01-29 Microsoft Technology Licensing, Llc Automated assignment of errors in deployed code
US10127227B1 (en) 2017-05-15 2018-11-13 Google Llc Providing access to user-controlled resources by automated assistants
US11436417B2 (en) 2017-05-15 2022-09-06 Google Llc Providing access to user-controlled resources by automated assistants
US11227342B2 (en) * 2017-05-26 2022-01-18 Microsoft Technology Licensing, Llc Recommending friends in automated chatting
JP2019197321A (en) * 2018-05-08 2019-11-14 京セラドキュメントソリューションズ株式会社 Image processing apparatus and image forming apparatus
EP4418146A1 (en) 2018-08-07 2024-08-21 Google Llc Assembling and evaluating automated assistant responses for privacy concerns
US11194973B1 (en) * 2018-11-12 2021-12-07 Amazon Technologies, Inc. Dialog response generation
US20200259779A1 (en) * 2019-02-12 2020-08-13 Global Elmeast Inc. Super chat
WO2020231453A1 (en) * 2019-05-13 2020-11-19 Google Llc Automatic evaluation of natural language text generated based on structured data
US11106863B1 (en) * 2019-12-30 2021-08-31 Snap Inc. User-specified replacement of terms in messaging

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040092256A (en) * 2003-04-25 2004-11-03 (주)이즈메이커 Interactive Agent System Using Collaborative Artificial Intelligence
KR20140115588A (en) * 2013-03-21 2014-10-01 삼성전자주식회사 A Linguistic Model Database For Linguistic Recognition, Linguistic Recognition Device And Linguistic Recognition Method, And Linguistic Recognition System
KR20150015481A (en) * 2012-06-08 2015-02-10 애플 인크. Transmitting data from an automated assistant to an accessory

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529845A (en) * 2000-03-31 2003-10-07 アミカイ・インコーポレイテッド Method and apparatus for providing multilingual translation over a network
DE10127559A1 (en) * 2001-06-06 2002-12-12 Philips Corp Intellectual Pty User group-specific pattern processing system, e.g. for telephone banking systems, involves using specific pattern processing data record for the user group
US7451188B2 (en) * 2005-01-07 2008-11-11 At&T Corp System and method for text translations and annotation in an instant messaging session
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
CN102037692A (en) * 2006-12-05 2011-04-27 北电网络有限公司 Method and system for communicating between devices
US8204182B2 (en) * 2006-12-19 2012-06-19 Nuance Communications, Inc. Dialect translator for a speech application environment extended for interactive text exchanges
US7925498B1 (en) * 2006-12-29 2011-04-12 Google Inc. Identifying a synonym with N-gram agreement for a query phrase
CN101119209A (en) * 2007-09-19 2008-02-06 腾讯科技(深圳)有限公司 Virtual pet system and virtual pet chatting method, device
US8275803B2 (en) 2008-05-14 2012-09-25 International Business Machines Corporation System and method for providing answers to questions
JP6529761B2 (en) * 2012-12-28 2019-06-12 株式会社ユニバーサルエンターテインメント Topic providing system and conversation control terminal device
US9047268B2 (en) * 2013-01-31 2015-06-02 Google Inc. Character and word level language models for out-of-vocabulary text input
US9311294B2 (en) 2013-03-15 2016-04-12 International Business Machines Corporation Enhanced answers in DeepQA system according to user preferences
NZ719940A (en) * 2013-06-03 2017-03-31 Machine Zone Inc Systems and methods for multi-user multi-lingual communications
US20150331853A1 (en) * 2014-05-15 2015-11-19 Marco Palmonari Automated multi-grammar language processing system to optimize request handling in contact centers
US8995972B1 (en) 2014-06-05 2015-03-31 Grandios Technologies, Llc Automatic personal assistance between users devices
KR20160029587A (en) 2014-09-05 2016-03-15 삼성전자주식회사 Method and apparatus of Smart Text Reader for converting Web page through TTS
US9922015B2 (en) * 2014-10-09 2018-03-20 International Business Machines Corporation System for handling abbreviation related text using profiles of the sender and the recipient
US9721004B2 (en) 2014-11-12 2017-08-01 International Business Machines Corporation Answering questions via a persona-based natural language processing (NLP) system
US9280747B1 (en) * 2015-05-27 2016-03-08 Sas Institute Inc. Normalizing electronic communications using feature sets
CN105101121B (en) * 2015-05-29 2019-07-23 小米科技有限责任公司 A kind of method and device that information is sent
US10268683B2 (en) * 2016-05-17 2019-04-23 Google Llc Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak
JP6960579B2 (en) * 2016-12-06 2021-11-05 パナソニックIpマネジメント株式会社 Information processing methods, information processing devices and programs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040092256A (en) * 2003-04-25 2004-11-03 (주)이즈메이커 Interactive Agent System Using Collaborative Artificial Intelligence
KR20150015481A (en) * 2012-06-08 2015-02-10 애플 인크. Transmitting data from an automated assistant to an accessory
KR20140115588A (en) * 2013-03-21 2014-10-01 삼성전자주식회사 A Linguistic Model Database For Linguistic Recognition, Linguistic Recognition Device And Linguistic Recognition Method, And Linguistic Recognition System

Also Published As

Publication number Publication date
CN113660154B (en) 2023-11-14
KR102025828B1 (en) 2019-09-26
CN109565461A (en) 2019-04-02
US20190220519A1 (en) 2019-07-18
EP3440806A4 (en) 2019-12-04
CN109565461B (en) 2021-07-20
US10268683B2 (en) 2019-04-23
US20170337184A1 (en) 2017-11-23
JP6871300B2 (en) 2021-05-12
KR102213014B1 (en) 2021-02-05
JP2019522839A (en) 2019-08-15
KR20180137031A (en) 2018-12-26
WO2017200589A2 (en) 2017-11-23
JP2019164810A (en) 2019-09-26
EP3440806A2 (en) 2019-02-13
US11238242B2 (en) 2022-02-01
CN113660154A (en) 2021-11-16
JP6524359B1 (en) 2019-06-05
WO2017200589A3 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
KR102025828B1 (en) Generate output to be presented in response to user interface input where the input and / or output includes an Internet language
US11960543B2 (en) Providing suggestions for interaction with an automated assistant in a multi-user message exchange thread
JP7263376B2 (en) Transition between previous interaction contexts with automated assistants
CN110851470B (en) Providing suggested voice-based action queries
KR102249437B1 (en) Automatically augmenting message exchange threads based on message classfication
CN110770694B (en) Obtaining response information from multiple corpora
US10225222B2 (en) Automated generation of prompts and analyses of user responses to the prompts to determine an entity for an action and perform one or more computing actions related to the action and the entity
KR102560508B1 (en) Autonomously providing search results post-facto, including in conversational assistant context
US20240103893A1 (en) Generating content endorsements using machine learning nominator(s)

Legal Events

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