Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement filed October 1, 2024 fails to comply with 37 CFR 1.98(a)(1), which requires the following: (1) a list of all patents, publications, applications, or other information submitted for consideration by the Office; (2) U.S. patents and U.S. patent application publications listed in a section separately from citations of other documents; (3) the application number of the application in which the information disclosure statement is being submitted on each page of the list; (4) a column that provides a blank space next to each document to be considered, for the examiner’s initials; and (5) a heading that clearly indicates that the list is an information disclosure statement. The information disclosure statement has been placed in the application file, but the U.S. Patent Reference item 17 referred to therein has not be considered. The U.S. Patent number listed for item 17 does not match the listed inventor and the proper reference could not be identified. The remaining references have been considered.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-8, 10-13, and 15-20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Ma et al. (NPL: “One Chatbot Per Person: Creating Personalized Chatbots based on Implicit User Profiles” (Published: 2021)).
Regarding claim 1, Ma discloses:
A system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the system to perform a set of operations, the set of operations comprising (Ma, [Abstract] “In this paper, we propose to learn implicit user profiles automatically from large-scale user dialogue history for building personalized chatbots. Specifically, leveraging the benefits of Transformer on language understanding, we train a personalized language model to construct a general user profile from the user’s historical responses. To highlight the relevant historical responses to the input post, we further establish a key-value memory network of historical post-response pairs, and build a dynamic post-aware user profile.” – discloses a computerized system for building personalized chatbots, stating that they “train a personalized language model” using a Transformer and “established a key-value memory network of historical post-response pairs” Such training and execution inherently require one or more processors executing stored instructions and memory storing the model and dialogue data.):
obtaining user input to an agent, wherein a persona of the agent is defined by an agent object (Ma, [Introduction] “in this work, we propose letting the chatbot learn the implicit user profile automatically from the user dialogue history and generate personalized responses based on the learned user profile. In this way, the chatbot can be personalized by user’s (e.g., user A) historical data, behave like this user, act as this user’s agent, and chat with any other users (e.g., user B, C, etc.).” – Under BRI, Ma’s “personalized chatbot functions as an agent that obtains user input and generates responses based on a persona learned from stored user data. The learned user profile that defines how the chatbot behaves constitutes an agent-defining object (i.e., stored persona information), even though Ma does not use the term “agent object.” Accordingly, Ma teaches obtaining user input to an agent whose persona is defined by stored data, meeting the limitation.);
extracting an intent for the user input (Ma, [page 3, section 3.1] “DHAP also has an encoder
for the input post, which is implemented by a bidirectional GRU (BiGRU). To make the post encoder aware of the user’s personalized information, we use the general user profile
e
G
for initialization…the post
X
=
x
1
,
…
,
x
L
X
is represented by hidden state sequence
h
P
=
h
1
P
,
…
,
h
L
X
P
)
. These representations will be dynamically aggregated as a personalized post representation
c
t
” – discloses a personalized post encoder that processes user input (the post “X”) to generate a semantic representation
c
t
. The encoder is conditioned on a user profile
e
G
, such that the representation reflects user-specific meaning of the input. Under BRI, processing user input to derive a semantic representation that captures what the user is asking constitutes extracting an intent for the user input.);
determining, based on the extracted intent, context from an embedding object memory of the agent object (Ma, [page 4, section 3.1.2] “To highlight the historical responses relevant to the input post, DHAP builds a key-value memory of historical post response pairs… Given
c
t
as a personalized representation of
X
, DHAP builds a dynamic post-aware user profile
e
t
D
by selecting and aggregating the historical responses from the user history memory” – discloses determining context by using the extracted semantic representation of the user input (
c
t
) to query a key-value memory of stored embeddings representing prior interactions, and selecting and aggregating the relevant stored responses. Under BRI, using an extracted intent representation to retrieve and aggregate relevant information from embedding-based memory constitutes determining context from an embedding object memory.);
obtaining, based on the determined context, model output corresponding to the user input (Ma, [page 5, section 3.5] “Finally, the generation probability of responses can be calculated by the personalized post representation
c
t
, the general user profile
e
G
, and the dynamic post-aware user profile
e
t
D
… Specifically, the probability of the word
y
t
generated in the personalized
decoder is computed as Equation (2)… While general decoding, the decoder should predict a word 𝑦𝑡 from the generic vocabulary” – discloses providing model output in response to user input by predicting and generating a sequence of words (
y
t
) that form a “response”. The system utilizes a personalized decoder to calculate response probabilities and output words based on an initial input post X. Under BRI, generating and outputting a predicted word sequence to for a chatbot response constitutes providing the model output in response to the obtained user input.)
Regarding claim 2, Ma discloses:
The system of claim 1, wherein the intent for the user input is extracted based on an intent rewriting definition of the agent object (Ma, [page 4, section 3.2-3.3] “With the history encoder, we obtain: (1) a general user profile
e
G
, which summarizes all historical responses and contains personalized information of the user…” and “We call this encoder “personalized post encoder” - the encoded representations of the same post can be different for various users, because these users may have different profiles and different understandings of the same post…To facilitate the encoder with personalized information, DHAP uses the general user profile
e
G
to initialize hidden states of BiGRU…
h
0
P
=
R
e
L
U
(
M
L
P
e
G
)
"
– discloses extracting intent based on definition associated with the agent by conditioning input encoding on a stored user profile. Specifically, Ma teaches “generating user profile
e
G
” that summarizes personalized information and is used to initialize the personalized post encoder, causing the same input to be encoded differently for different users with “different understandings of the same post.” This conditioning resolves semantic ambiguity (e.g., whether “MAC” refers to a laptop or lipstick) based on the stored profile. Under BRI, using agent-specific stored definitions to alter the semantic interpretation of user input constitutes extracting intent based on an intent rewriting definition of the agent object.).
Regarding claim 3, Ma discloses:
The system of claim 2, wherein extracting the intent comprises generating a machine learning model processing request comprising the intent rewriting definition of the agent object (Ma, [page 4, section 3.3] “To facilitate the encoder with personalized information, DHAP uses the general user profile
e
G
to initialize hidden states of BiGRU. Given the post
X
=
x
1
,
…
,
x
L
X
,
its representations
(
h
1
P
,
…
,
h
L
X
P
)
are built as:
h
i
P
=
B
i
G
R
U
(
h
i
-
1
P
,
x
i
)
” – Ma discloses extracting intent by invoking a trained neural network encoder to process user input, where the encoder is configured by a stored user profile. Although Ma does not use the phrase “machine learning model processing request,” the act of providing user input to a trained neural network for processing necessarily constitutes generating a processing request to a machine learning model. Further, the general user profile is explicitly used to initialize and condition the encoder, thereby defining how the input is semantically interpreted. Under BRI, the stored profile functions as an intent rewriting definition, because it modifies the semantic interpretation of the same input based on the agent’s persona. Accordingly, Ma inherently discloses that extracting intent comprises generating a machine learning model processing request that includes the intent rewriting definition of the agent object.).
Regarding claim 4, Ma discloses:
The system of claim 1, wherein the set of operations further comprises updating the embedding object memory based on at least one of the user input or the model output (Ma, [page 3, section 3.1] “DHAP firstly establishes a Transformer-based personalized language model to encode historical responses… then summarizes the general user profile
e
G
based on the historical responses…“General” does not mean it is general among all users or cannot be updated together with time. In contrast, every user has their own profile, which can be updated once they issue a new response.” – discloses that the set of operations further comprises updating the embedding object memory based on the model output. Specifically, Ma teaches a “general user profile” that functions as the embedding object memory for the agent, containing personalized information such as “background knowledge and speaking style.” Ma explicitly states that this profile is not static and is “updated together with time.” Furthermore, Ma discloses that this individual user profile is “updated once they issue a new response.” Under BRI, the user’s “response” in the context of a chatbot interaction constitutes the model output generated during the interaction. By teaching that the stored user profile (the embedding object memory) is updated upon the issuance of a new response, Ma describes the automatic updating of a memory object based on the model output.).
Regarding claim 5, Ma discloses:
The system of claim 4, wherein the embedding object memory is updated based on a memory extraction definition of the agent object (Ma, [page 3, section 3.1] “DHAP firstly establishes a Transformer-based personalized language model to encode historical responses
R
1
,
…
,
R
n
,
then summarizes the general user profile
e
G
based on the historical responses…“General” does not mean it is general among all users or cannot be updated together with time. In contrast, every user has their own profile, which can be updated once they issue a new response.”- Ma discloses an embedding memory in the form of a general user profile, which stores summarized information extracted from historical responses. Ma explicitly teaches that this profile is updated over time and updated when a new response is issued. The process by which this update occurs is defined by the Transformer-based history encoder and attention mechanism, which extract relevant information from stored historical post-response pairs to update the user profile. Under BRI, this extraction logic constitutes a memory extraction definition that governs how information is selected and incorporated into the stored embedding memory.).
Regarding claim 6, Ma discloses:
The system of claim 1, wherein the persona of the agent is defined at least in part by a description definition of the agent object (Ma, [page 4, section 3.2 “Based on our observation, there is a large amount of personalized information in the user’s historical responses. For example, a fan of cricket may talk a lot about cricket topics with others. Furthermore, different users can hold different speaking styles, such as enjoying speaking slang…Then we map all words and special tokens into embeddings, and learn their contextual representations:
e
G
;
E
R
=
T
r
a
n
s
f
o
r
m
e
r
N
(
e
C
L
S
;
R
1
;
e
S
E
P
;
…
;
R
n
;
e
S
E
P
)
” – discloses that a “persona” is defined by descriptive attributes derived from user history. Specifically, Ma explains that users may be characterized by interests (e.g., “a fan of cricket”) and speaking styles (e.g., “enjoying speaking slang”), and that such descriptive traits are encoded into a “general user profile” generated from historical responses. Under BRI, descriptive traits such as user interests and speaking style constitute a description definition of the agent’s persona, as they define how the agent behaves and responds. Because these descriptions are stored in the general user profile and used by the system to generate responses, the persona of the agent is defined at least in part by a description definition of the agent object.).
Regarding claim 7, Ma discloses:
The system of claim 6, wherein: obtaining the model output comprises: generating an agent prompt based on a response generation definition of the agent object (Ma, [page 4, section 3.1.2, part 4] “Finally, the personalized post representation
c
t
, general user profile
e
G
, and dynamic post-aware user profile
e
t
D
are fused together to decode the response sequentially.” [page 6, section 3.5.4] “The hidden state at decoding step 𝑡 is calculated as:
h
t
R
=
G
R
U
h
t
-
1
R
,
y
t
-
1
;
c
t
;
e
G
;
e
t
D
,
where
y
t
-
1
is the embedding vector of the last generated word.” – discloses generating model output using a personalized decoder that fuses the post representation, user profile, and context memory according to a defined decoding architecture. Under BRI, the fused decoder input
y
t
-
1
;
c
t
;
e
G
;
e
t
D
constitutes an agent prompt, as it is the structured input provided to the model to cause generation of a response. The decoder architecture and fusion rules define how this prompt is formed and used, and therefore constitute a response generation definition.); and
requesting the model output based on the agent prompt (page 4, section 3.1.2 and page 6, section 3.5.4] – Ma teaches that these elements are jointly “fused together to decode the response sequentially” by feeding the resulting prompt vector into a GRU-based decoder to generate the output.)
and the agent prompt includes: the description definition (Ma, [section 3.1.2 and section 3.2] – the prompt includes a general user profile
e
G
, which encodes descriptive persona attributes such as “background knowledge and speaking style.”);
the user input (Ma, [section 3.1.2] – the prompt includes a personalized representation
c
t
, which represents the “input post X” or user input.);
the determined context (Ma, [section 3.1.2] The prompt includes a dynamic post-aware user profile
e
t
D
, which is derived by selecting and aggregating historical responses relevant to the current input, thereby constituting the determined context.);
conversation history of the agent (Ma, [section 3.1.2 and section 3.5.4] – the prompt incorporates the agent’s history via a “key-value memory of historical post-response pairs” and the embedding of the “last generated word”
y
t
-
1
.).
Regarding claim 8, Ma discloses:
The system of claim 1, wherein the agent object is a document (Ma, [section 3.4.1] “We firstly transform the historical post-response pairs into key-value pairs and build the memory.” [section 4.1] “To collect each user’s dialogue history and evaluate the effectiveness of our model, we use two datasets extracted from two open online chatting forums, i.e., Weibo and Reddit. The two datasets contain massive dialogue utterances (i.e., post-response pairs) and user identification information, thus we can sample the data by users.” – discloses that the system stores and maintains dialogue history as structured, persistent records consisting of post-response pairs associated with a user. Specifically, Ma explains that each dataset contains “massive dialogue utterances (i.e., post-response pairs)” organized by user, and that these records are retained to form a dialogue history used by the system for response generation and personalization. Each post-response pair is a discrete textual record representing user input and corresponding response content, and collections of these records are stored, retrieved, and processed over time as part of the system’s operations. Under BRI, a “document” encompasses stored textual records or collections of records maintained in memory.).
Regarding claim 10, Ma teaches the following limitations:
A method for generating an artifact based on an agent object, comprising: obtaining an agent object that defines a persona for an agent (Ma, [Introduction] “we propose letting the chatbot learn the implicit user profile automatically from the user dialogue history and generate personalized responses based on the learned user profile. In this way, the chatbot can be personalized by user’s (e.g., user A) historical data, behave like this user, act as this user’s agent, and chat with any other users (e.g., user B, C, etc.).” – Ma teaches a method in which a system obtains a learned user profile derived from dialogue history, where the learned profile is a stored representation that defines how the chatbot behaves in subsequent interactions. Ma states that, based on this learned profile, the chatbot behaves like the user and acts as the user’s agent, thereby defining the agent’s behavior and interaction style. Under BRI, a stored representation that governs how an agent behaves constitutes an agent object, and the behavioral characteristics encoded in that representation constitutes a persona for the agent. Ma further teaches that the learned user profile is used to generate personalized responses, which are outputs produced by programmatic processing of the agent object. Under BRI, such generated outputs constitute an artifact, as they are the result of processing the agent object and are provided externally during communication. Accordingly, Ma teaches a method for generating an artifact based on an agent object, where the method includes obtaining an agent object that defines a personal for an agent.);
receiving input to the agent (Ma, [pages 3-4, section 3.1.1] “DHAP also has an encoder for the input post, which is implemented by a bidirectional GRU (BiGRU). To make the post encoder aware of the user’s personalized information, we use the general user profile
e
G
for initialization…. the post 𝑋 =
(
x
1
,
…
,
x
L
X
)
is represented by hidden state sequence…” – Ma teaches a neural network architecture (DHAP) used by a personalized chatbot, where the system includes a post encoder explicitly configured to encode an “input post,” Ma necessarily teaches that the system receives external input data prior to encoding and processing. Under BRI, the personalized chatbot constitutes an agent, and the act of supplying the “input post” to the post encoder constitutes receiving input to the agent.);
updating the agent object based on at least one of the received input or output of the agent (Ma, page 3, section 3.1.1 ““General” does not mean it is general among all users or cannot be updated together with time. In contrast, every user has their own profile, which can be updated once they issue a new response.” – Ma teaches that the system maintains a per-user profile that defines how chatbot behaves and explicitly discloses that the profile is updated when the user issues a new response. As previously established, the chatbot functions as the agent, and the user profile constitutes an agent object defining the agent’s persona. Updating the profile “once they issue a new response” constitutes updating the agent object based on received input to the agent. Accordingly, Ma teaches updating the agent object based on at least one of the received input or output of the agent.);
providing the agent object for processing by programmatic code, thereby generating an artifact based on the agent object (Ma, [page 3, section 3.1] “Encoder. DHAP has two different encoders, which encode the input post and user’s historical responses, respectively: Part (1): History encoder and general user profile… DHAP firstly establishes a Transformer-based personalized language model to encode historical responses
(
R
1
,
…
,
R
n
)
, then summarizes the general user profile
e
G
based on the historical responses.”[Section 3.5] “Finally, the generation probability of responses can be calculated by the personalized post representation
c
t
, the general user profile
e
G
, and the dynamic post-aware user profile
e
t
D
… Specifically, the probability of the word
y
t
generated in the personalized decoder is computed as Equation (2), where
p
(
m
g
)
is the probability of general decoding mode and
p
(
m
c
)
is the probability of copy decoding mode. They are computed by our proposed decoding switcher.
p
(
y
t
|
m
g
)
and
p
(
y
t
|
m
c
)
are the probabilities of generating
y
t
under two modes, respectively.” -Ma teaches constructing and maintaining a general user profile derived from historical responses. Under BRI, this profile constitutes an agent object, because it encapsulates persistent, personalized information that governs how the system behaves when generating outputs. Ma further teaches providing this profile as an explicit input to a decoder implemented in programmatic code, where response generation probabilities are computed as a function of
e
G
. Supplying
e
G
to the decoder therefore constitutes providing the agent object for processing by programmatic code. The decoder then executes probability calculations and word-generation logic to produce a I just aresponse sequence y. Under BRI, this generated response is a concrete artifact, because it is an output produced by execution of programmatic code. Because the generation explicitly depends on the agent object, the artifact is generated based on the agent object, satisfying the limitation.) ; and
providing an indication of the generated artifact (Ma, [section 3.1] “Under the single-turn setting, given an input post 𝑋 =
(
x
1
,
…
,
x
L
X
)
and the user dialogue history 𝐻, with sequence-to-sequence modeling, our task is to generate a personalized response 𝑌 =
(
y
1
,
…
,
y
L
Y
)
as…where
y
t
denotes the word generated at the 𝑡-th step, and
y
<
t
denotes the previous generated words (
y
1
,
…
,
y
t
-
1
)
” [section 3.5] “Specifically, the probability of the word 𝑦𝑡 generated in the personalized decoder is computed…predict a word 𝑦𝑡 from the generic vocabulary [sec 3.5.2]” [Introduction] “the chatbot can…chat with any other users (e.g., user B, C, etc.).” – Ma teaches a method where the primary task is to “generate a personalized response Y” consisting of a sequence of predicted words. The system accomplishes this by using a personalized decoder to “predict a word
y
t
” at each step of the sequence, resulting in the completed response Y. Under BRI, the completed personalized response Y constitutes the generated artifact. Further, the act of producing this response as the output of the method inherently provides an indication of the generated artifact, because the response itself represents the result of the generation process. Accordingly, Ma teaches providing an indication of the generated artifact.).
Regarding claim 11, Ma discloses:
The method of claim 10, wherein the programmatic code includes at least one of: an instruction to obtain output from the agent object based on an input; or an instruction to obtain information from an embedding object memory of the agent object (Ma, [section 3.4] “DHAP uses a key-value memory network [18] to store the user’s historical post-response pairs. Then the personalized post representation is used as the query to select highly related keys (historical posts) from the user history memory, and their corresponding values (historical responses) are aggregated as the dynamic post-aware user profile.”[section 3.5] “Finally, the generation probability of responses can be calculated by the personalized post representation
c
t
, the general user profile
e
G
, and the dynamic post-aware user profile
e
t
D
.” – Ma teaches programmatic code implemented as neural-network operations that access and process stored representations. Ma discloses a key-value memory network that stores historical post-response pairs, which are represented in encoded form. Under BRI, a memory network that stores encoded representations corresponds to an embedding object memory associated with the agent object. Ma further teaches that the programmatic code uses a representation of the input post as query to select relevant keys from the user history memory and aggregate their corresponding values. Performing this query, selection, and aggregation constitutes obtaining information from the embedding object memory. Ma also teaches that the information obtained from the user history memory is provided to the decoder, together with the general user profile, to calculate response generation probabilities. Accordingly, Ma teaches programmatic code that includes an instruction to obtain information from an embedding object memory of the agent object.
Regarding claim 12, Ma discloses:
The method of claim 10, wherein updating the agent object comprises: extracting an intent for the input (Ma, [section 3.1] “Under the single-turn setting, given an input post
X
=
(
x
1
,
…
,
x
L
X
)
and the user dialogue history 𝐻, with sequence-to-sequence modeling, our task is to generate a personalized response 𝑌” [section 3.1.1] “Personalized post encoder. DHAP also has an encoder for the input post, which is implemented by a bidirectional GRU (BiGRU). To make the post encoder aware of the user’s personalized information, we use the general user profile for initialization.” [section 3.5] “Finally, the generation probability of responses can be calculated by the personalized post representation
c
t
, the general user profile
e
G
, and the dynamic post-aware user profile
e
t
D
.” [section 3.4.2] “DHAP can select and aggregate the most relevant historical responses and build the dynamic post-aware user profile based on the input post…The relevance is measured by the attention weights.” – Ma teaches processing an input post using a personalized post encoder to generate an internal representation of the input. This representation is then used to determine relevance through attention weights and to condition response generation. Under BRI, extracting intent encompasses determining the semantic meaning or purpose of an input for downstream processing. In Ma, the encoded representation of the input post is used to measure relevance, guide attention, and influence response generation. This processing corresponds to extracting an intent for the input, because the system determines how the input should be interpreted and acted upon within the model. Updating the agent object using this extracted intent occurs through the incorporation of the input’s representation into the dynamic post-aware user profile and subsequent response generation. Accordingly, Ma teaches updating the agent object by extracting intent for the input.);
determining, based on the extracted intent, context from an embedding object memory of the agent object (Ma, [section 3.4] “DHAP uses a key-value memory network [18] to store the user’s historical post-response pairs. Then the personalized post representation is used as the query to select highly related keys (historical posts) from the user history memory, and their corresponding values (historical responses) are aggregated as the dynamic post-aware user profile. [Section 3.4.2] “DHAP can select and aggregate the most relevant historical responses and build the dynamic post-aware user profile based on the input post…The relevance is measured by the attention weights.” – As previously established, Ma teaches extracting semantic information from an input post by encoding the input into a personalized representation. Under BRI, this encoded representation corresponds to an extracted intent, as it reflects how the system interprets the input for subsequent processing. Ma further teaches determining context from a memory structure by using the personalized representation of the input post as a query to access a key-value memory network storing historical post-response pairs. The system selects relevant entries from this memory and aggregates the corresponding values based on attention-measured relevance. Under BRI, a key-value memory network storing encoded historical data constitutes an embedding object memory. Accordingly, Ma teaches determining, based on the extract intent (the personalized representation of the input), context from an embedding object memory of the agent object, where the context is represented by the aggregated historical responses forming the dynamic post-aware user profile.);
obtaining, based on the determined context, model output corresponding to the user input (Ma, [section 3.4] “Then the personalized post representation is used as the query to select highly related keys (historical posts) from the user history memory, and their corresponding values (historical responses) are aggregated as the dynamic post-aware user profile.” [section 3.5] “Finally, the generation probability of responses can be calculated by the personalized post representation
c
t
, the general user profile
e
G
, and the dynamic post-aware user profile
e
t
D
... Specifically, the probability of the word 𝑦𝑡 generated in the personalized decoder is computed” – Ma teaches that, after determining context from the user history memory in the form of a dynamic post-aware user profile, the system provides this context to the personalized decoder together with the input-dependent post representation. The decoder then calculates generation probabilities and produces response words corresponding to the input post. Under BRI, the aggregated dynamic post-aware user profile represents the determined context, and the response generated by the personalized decoder represents model output corresponding to the user input. Because the decoder’s output is calculated using the determined context, Ma teaches obtaining, based on the determined context, model output corresponding to the user input.);
updating, based on a memory extraction definition of the agent object, the embedding object memory based on at least one of the user input or the model output (Ma, [section 3.4] “DHAP uses a key-value memory network [18] to store the user’s historical post-response pairs. Then the personalized post representation is used as the query to select highly related keys (historical posts) from the user history memory, and their corresponding values (historical responses) are aggregated as the dynamic post-aware user profile.” [section 3.1] “given an input post 𝑋…our task is to generate a personalized response 𝑌” [Section 3.1.1.] ““General” does not mean it is general among all users or cannot be updated together with time. In contrast, every user has their own profile, which can be updated once they issue a new response.” – Ma teaches an agent object that includes a user history memory implemented as a key-value memory network storing historical post-response pairs. Under BRI, this key-value memory storing encoded representations constitutes an embedding object memory of the agent object. Ma further teaches a memory extraction definition in which a personalized representation of the input post is used as a query to select and aggregate information from the user history memory. This definition governs how information is retrieved from memory and how stored information is used in subsequent processing. Ma also teaches that the stored information corresponds to post-response pairs formed from user inputs X and generated model outputs Y, and that user-specific information is updated one a new response is issued. Under BRI, incorporating post-response pairs associated with user inputs and generated responses into the stored user history constitutes updating the embedding object memory based on at least one of the user input or the model output. Accordingly, Ma teaches updating the embedding object memory based on the specified memory extraction definition and interaction data.).
Regarding claim 13, Ma discloses:
The method of claim 10, wherein user input is requested as part of generating the artifact based on the agent object (Ma, [section 3.1] “Under the single-turn setting, given an input post
X
=
(
x
1
,
…
,
x
L
X
)
and the user dialogue history 𝐻, with sequence-to-sequence modeling, our task is to generate a personalized response 𝑌” [section 3.1.1] “Personalized post encoder. DHAP also has an encoder for the input post, which is implemented by a bidirectional GRU (BiGRU).” [section 3.5] “Finally, the generation probability of responses can be calculated by the personalized post representation
c
t
, the general user profile
e
G
, and the dynamic post-aware user profile
e
t
D
” – Ma teaches a method in which generation of the output response (the artifact) is conditioned on receipt of a user-provided input post X. As stated by Ma, the task is defined as generating a response Y given an input post X, and the system includes a personalized post encoder specifically for encoding that input post prior to response generation. Under BRI, user input “requested” as part of generating the artifact when the system operates as a manner that requires user input to be obtained in order to perform generation. In Ma, the generation of the response artifact cannot occur unless the input post is provided and encoded. Accordingly, Ma teaches that user input is requested as part of generating the artifact based on the agent object, because the agent’s processing pipeline requires user input as an antecedent condition to artifact generation.).
Regarding claim 15, Ma discloses:
obtaining user input to an agent, wherein a persona of the agent is defined by an agent object (Ma, [Introduction] “in this work, we propose letting the chatbot learn the implicit user profile automatically from the user dialogue history and generate personalized responses based on the learned user profile. In this way, the chatbot can be personalized by user’s (e.g., user A) historical data, behave like this user, act as this user’s agent, and chat with any other users (e.g., user B, C, etc.).” – Under BRI, Ma’s “personalized chatbot functions as an agent that obtains user input and generates responses based on a persona learned from stored user data. The learned user profile that defines how the chatbot behaves constitutes an agent-defining object (i.e., stored persona information), even though Ma does not use the term “agent object.” Accordingly, Ma teaches obtaining user input to an agent whose persona is defined by stored data, meeting the limitation.);
extracting an intent for the user input (Ma, [page 3, section 3.1] “DHAP also has an encoder
for the input post, which is implemented by a bidirectional GRU (BiGRU). To make the post encoder aware of the user’s personalized information, we use the general user profile
e
G
for initialization…the post
X
=
x
1
,
…
,
x
L
X
is represented by hidden state sequence
h
P
=
h
1
P
,
…
,
h
L
X
P
)
. These representations will be dynamically aggregated as a personalized post representation
c
t
” – discloses a personalized post encoder that processes user input (the post “X”) to generate a semantic representation
c
t
. The encoder is conditioned on a user profile
e
G
, such that the representation reflects user-specific meaning of the input. Under BRI, processing user input to derive a semantic representation that captures what the user is asking constitutes extracting an intent for the user input.);
determining, based on the extracted intent, context from an embedding object memory of the agent object (Ma, [page 4, section 3.1.2 “To highlight the historical responses relevant to the input post, DHAP builds a key-value memory of historical post response pairs… Given
c
t
as a personalized representation of
X
, DHAP builds a dynamic post-aware user profile
e
t
D
by selecting and aggregating the historical responses from the user history memory” – discloses determining context by using the extracted semantic representation of the user input (
c
t
) to query a key-value memory of stored embeddings representing prior interactions, and selecting and aggregating the relevant stored responses. Under BRI, using an extracted intent representation to retrieve and aggregate relevant information from embedding-based memory constitutes determining context from an embedding object memory.);
obtaining, based on the determined context, model output corresponding to the user input (Ma, [page 5, section 3.5] “Finally, the generation probability of responses can be calculated by the personalized post representation
c
t
, the general user profile
e
G
, and the dynamic post-aware user profile
e
t
D
… Specifically, the probability of the word
y
t
generated in the personalized
decoder is computed as Equation (2)… While general decoding, the decoder should predict a word 𝑦𝑡 from the generic vocabulary” – discloses providing model output in response to user input by predicting and generating a sequence of words (
y
t
) that form a “response”. The system utilizes a personalized decoder to calculate response probabilities and output words based on an initial input post X. Under BRI, generating and outputting a predicted word sequence to for a chatbot response constitutes providing the model output in response to the obtained user input.)
Regarding claim 16, Ma discloses:
The method of claim 15, further comprising updating the embedding object memory based on at least one of the user input or the model output (Ma, [page 3, section 3.1] “DHAP firstly establishes a Transformer-based personalized language model to encode historical responses… then summarizes the general user profile
e
G
based on the historical responses…“General” does not mean it is general among all users or cannot be updated together with time. In contrast, every user has their own profile, which can be updated once they issue a new response.” – discloses that the set of operations further comprises updating the embedding object memory based on the model output. Specifically, Ma teaches a “general user profile” that functions as the embedding object memory for the agent, containing personalized information such as “background knowledge and speaking style.” Ma explicitly states that this profile is not static and is “updated together with time.” Furthermore, Ma discloses that this individual user profile is “updated once they issue a new response.” Under BRI, the user’s “response” in the context of a chatbot interaction constitutes the model output generated during the interaction. By teaching that the stored user profile (the embedding object memory) is updated upon the issuance of a new response, Ma describes the automatic updating of a memory object based on the model output.).
Regarding claim 17, Ma discloses:
The method of claim 16, wherein the embedding object memory is updated based on a memory extraction definition of the agent object (Ma, [page 3, section 3.1] “DHAP firstly establishes a Transformer-based personalized language model to encode historical responses
R
1
,
…
,
R
n
,
then summarizes the general user profile
e
G
based on the historical responses…“General” does not mean it is general among all users or cannot be updated together with time. In contrast, every user has their own profile, which can be updated once they issue a new response.”- Ma discloses an embedding memory in the form of a general user profile, which stores summarized information extracted from historical responses. Ma explicitly teaches that this profile is updated over time and updated when a new response is issued. The process by which this update occurs is defined by the Transformer-based history encoder and attention mechanism, which extract relevant information from stored historical post-response pairs to update the user profile. Under BRI, this extraction logic constitutes a memory extraction definition that governs how information is selected and incorporated into the stored embedding memory.).
Regarding claim 18, Ma discloses:
The method of claim 15, wherein the persona of the agent is defined at least in part by a description definition of the agent object (Ma, [page 4, section 3.2 “Based on our observation, there is a large amount of personalized information in the user’s historical responses. For example, a fan of cricket may talk a lot about cricket topics with others. Furthermore, different users can hold different speaking styles, such as enjoying speaking slang…Then we map all words and special tokens into embeddings, and learn their contextual representations:
e
G
;
E
R
=
T
r
a
n
s
f
o
r
m
e
r
N
(
e
C
L
S
;
R
1
;
e
S
E
P
;
…
;
R
n
;
e
S
E
P
)
” – discloses that a “persona” is defined by descriptive attributes derived from user history. Specifically, Ma explains that users may be characterized by interests (e.g., “a fan of cricket”) and speaking styles (e.g., “enjoying speaking slang”), and that such descriptive traits are encoded into a “general user profile” generated from historical responses. Under BRI, descriptive traits such as user interests and speaking style constitute a description definition of the agent’s persona, as they define how the agent behaves and responds. Because these descriptions are stored in the general user profile and used by the system to generate responses, the persona of the agent is defined at least in part by a description definition of the agent object.).
Regarding claim 19, Ma discloses:
The method of claim 18, wherein: obtaining the model output comprises: generating an agent prompt based on a response generation definition of the agent object (Ma, [page 4, section 3.1.2, part 4] “Finally, the personalized post representation
c
t
, general user profile
e
G
, and dynamic post-aware user profile
e
t
D
are fused together to decode the response sequentially.” [page 6, section 3.5.4] “The hidden state at decoding step 𝑡 is calculated as:
h
t
R
=
G
R
U
h
t
-
1
R
,
y
t
-
1
;
c
t
;
e
G
;
e
t
D
,
where
y
t
-
1
is the embedding vector of the last generated word.” – discloses generating model output using a personalized decoder that fuses the post representation, user profile, and context memory according to a defined decoding architecture. Under BRI, the fused decoder input
y
t
-
1
;
c
t
;
e
G
;
e
t
D
constitutes an agent prompt, as it is the structured input provided to the model to cause generation of a response. The decoder architecture and fusion rules define how this prompt is formed and used, and therefore constitute a response generation definition.); and
requesting the model output based on the agent prompt (page 4, section 3.1.2 and page 6, section 3.5.4] – Ma teaches that these elements are jointly “fused together to decode the response sequentially” by feeding the resulting prompt vector into a GRU-based decoder to generate the output.)
and the agent prompt includes: the description definition (Ma, [section 3.1.2 and section 3.2] – the prompt includes a general user profile
e
G
, which encodes descriptive persona attributes such as “background knowledge and speaking style.”);
the user input (Ma, [section 3.1.2] – the prompt includes a personalized representation
c
t
, which represents the “input post X” or user input.);
the determined context (Ma, [section 3.1.2] The prompt includes a dynamic post-aware user profile
e
t
D
, which is derived by selecting and aggregating historical responses relevant to the current input, thereby constituting the determined context.);
conversation history of the agent (Ma, [section 3.1.2 and section 3.5.4] – the prompt incorporates the agent’s history via a “key-value memory of historical post-response pairs” and the embedding of the “last generated word”
y
t
-
1
.).
Regarding claim 20, Ma discloses:
The method of claim 15, wherein the agent object is a document (Ma, [section 3.4.1] “We firstly transform the historical post-response pairs into key-value pairs and build the memory.” [section 4.1] “To collect each user’s dialogue history and evaluate the effectiveness of our model, we use two datasets extracted from two open online chatting forums, i.e., Weibo and Reddit. The two datasets contain massive dialogue utterances (i.e., post-response pairs) and user identification information, thus we can sample the data by users.” – discloses that the system stores and maintains dialogue history as structured, persistent records consisting of post-response pairs associated with a user. Specifically, Ma explains that each dataset contains “massive dialogue utterances (i.e., post-response pairs)” organized by user, and that these records are retained to form a dialogue history used by the system for response generation and personalization. Each post-response pair is a discrete textual record representing user input and corresponding response content, and collections of these records are stored, retrieved, and processed over time as part of the system’s operations. Under BRI, a “document” encompasses stored textual records or collections of records maintained in memory.).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim 9 are rejected under the 35 U.S.C. 103 as being unpatentable over Ma et al., . (NPL: “One Chatbot Per Person: Creating Personalized Chatbots based on Implicit User Profiles” (Published: 2021)) in view of Magliozzi et al., (Pub. No.: US 20180131645 A1 (Filed: 2017)).
Regarding claim 9, Ma teaches all the elements of claim 8, therefore is rejected for the same reasons as those presented for claim 8. However, Ma does not teach but Ma in view of Magliozzi teaches the limitations:
the document is stored by a collaboration platform (Magliozzi paragraph [0041] “ The database 112 can store question-answer pairs, user data, user preferences, important reminders, and tips.” [0042] “The second communications interface 114 enables bidirectional communication between an administrator and the system 100, e.g., via a website and web browser…the second communications interface 114 can provide an intuitive, internet-based dashboard that enables the administrator to monitor activity between the user and the chatbot system 100 and access any or all on-going conversations in real time.” [0119] “ FIG. 4 illustrates an example dashboard 400 visible to an administrator who is responsible for reviewing and participating in the chat process…The administrator can review all user questions and automated answers in real time .” – Magliozzi discloses that conversational records are persistently stored in a database and are accessible via a network-based, internet dashboard that permits multiple users to access and interact with the same stored conversational content in real time. Under BRI, a system that centrally stores shared conversational records and enables multiple users to access and interact with those records constitutes a collaboration platform, and the stored conversational records constitute the document stored by the collaboration platform.)
the user input is from a first user of the collaboration platform (Magliozzi, paragraph [0028] “The first (user) communications interface 102 enables bidirectional communication between a user and the chatbot system 100. ” [0030] “The first communications interface 102 enables bidirectional communication between a user's smartphone, tablet, computer, or other device and the system 100 the user accesses on his or her phone or computer… the user initiates a conversation with the chatbot system 100 by sending messages from his or her phone or computer via the first communications interface” [0046] ”In step 206, the chatbot obtains a first query from a user. The first query can be obtained via a communications interface” – Magliozzi discloses that a user initiates interaction by transmitting messages through a communications interface of the system, thereby providing user input to the chatbot system. Because the chatbot system operates as a network-based platform that stores and manages shared conversational data accessible by multiple users (as previously established), the user providing the first query constitutes a first user of the collaboration platform, and the transmitted messages constitute user input from the first user.)
user input to the agent is further received from a second user of the collaboration platform (Magliozzi, paragraph [0028] “ The second communications interface 114 enables bidirectional communication between an administrator and the chatbot system 100, enabling the administrator to participate in conversations with the user.” [0042] “the second communications interface 114 can provide an intuitive, internet-based dashboard that enables the administrator to monitor activity between the user and the chatbot system 100 and access any or all on-going conversations in real time.” [0119] “FIG. 4 illustrates an example dashboard 400 visible to an administrator who is responsible for reviewing and participating in the chat process…The administrator is provided a textbox interface 404 to send a message to the user if desired.” [0108] “ The chatbot can transmit this answer to the user as an answer to the user's question and update the language model based on the administrator's answer.” – Magliozzi discloses that a second participant, distinct from the initial user, provides input to the chatbot system via a network-based interface that permits reviewing, participating in, and sending messages within the same stored conversational content. Under BRI, the administrator constitutes a second user of the collaboration platform because the administrator submits message content through the platform that is incorporated into the ongoing conversation. Accordingly, Magliozzi teaches that the user input is further received from a second user of the collaboration platform.)
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having Ma and Magliozzi before them, to incorporate the collaborative storage and multi-user access architecture taught by Magliozzi into the personalized machine-learning system of Ma. One would have been motivated to make such a combination in order to enable the personalized model data structures learned and maintained by Ma (e.g., historical post-response pairs and user-specific representations) to be stored, accessed, reviewed, and updated within a shared platform that supports interaction by multiple users, including administrators and collaborators. This would allow the machine-learning instance defined by Ma to be persistently managed, refined, and supervised across users and contexts, improving maintainability, portability, and real-world deployment of personalized model instances with collaborative environments.
Claims 14 are rejected under the 35 U.S.C. 103 as being unpatentable over Ma et al., . (NPL: “One Chatbot Per Person: Creating Personalized Chatbots based on Implicit User Profiles” (Published: 2021)) in view of Raza et al., (NPL: “Content Based Automated File Organization Using Machine Learning Approaches (Filed: May 2022)).
Regarding claim 14, Ma teaches all the elements of claim 10, therefore is rejected for the same reasons as those presented in claim 10. However, Ma does not teach but Ma in view of Raza teaches the limitation:
wherein the artifact is at least one of a word processing document, a spreadsheet, a website, or a presentation document (Raza, [page 1938] “Once the training was completed, the proposed system was tested by adding multiple files to the system. Around 204 files of various extensions such as .pdf, .docx, .txt, .pptx on different topics were provided to the system” – Raza teaches a method in which execution of the machine learning system results in document files of specific types being processed and stored by the system. It explicitly identifies .docx files (word processing documents) and .pptx files (presentation documents) as files involved in producing the reported results of the method. Under BRI, the artifact of the method is the document file itself in its processed output state, because the results of executing the method are reflected in how those document files are handled, categorized, and stored by the system. Accordingly, Raza teaches that the artifact is at least one of a word processing document or a presentation document, satisfying the limitation.).
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having Ma and Raza before them, to store the persona information learned and updated using the machine learning techniques of Ma as a document or file, as taught by Raza’s document-based machine learning framework. One would have been motivated to encapsulate the learned persona state as a stored document rather than embedding it within a single machine learning model, in order to enable reuse, portability, and independent processing by separate machine learning executions, consistent with conventional design practices for managing machine learning state external to model parameters.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Daravanh Phakousonh whose telephone number is (571)272-6324. The examiner can normally be reached Mon - Thurs 7 AM - 5 PM, Every other Friday 7 AM - 4PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Li B Zhen can be reached at 571-272-3768. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Daravanh Phakousonh/Examiner, Art Unit 2121
/James D. Rutten/Primary Examiner, Art Unit 2121