DETAILED ACTION
Receipt of Applicant’s Amendment, filed March 11, 2026 is acknowledged.
Claims 1, 10, 14, 19 and 20 were amended.
Claims 1-20 are pending in this office action.
Claim Interpretation
With regard to claims 1, 19 and 20, claim 1 recites “retrieving, based on the stored indication, one or more divisions of unstructured text corresponding to the one or more identified prompts, thereby improving retrieval speed by retrieving the one or more divisions of unstructured text rather than an entirety of each of the plurality of documents of unstructured text”. Claims 19 and 20 appear to recite substantially similar claim limitations and have been interpreted based on the same reasoning and rational.
Utility patents are limited by their structural and functional limitations. The actual functionality recited in this claim limitation is: “retrieving, based on the stored indication, one or more divisions of unstructured text corresponding to the one or more identified prompts”. The remainder of the claim limitation appears to be a non-functional and non-structural description of the intended result that occurs due to the execution of the functionality. To be clear, the remainder of the language (e.g. “thereby improving retrieval speed by retrieving the one or more divisions of unstructured text rather than an entirety of each of the plurality of documents of unstructured text”) appears to recite an intended use of the above identified functional limitation. Any prior art that performs the functionality recited (e.g. “retrieving, based on the stored indication, one or more divisions of unstructured text corresponding to the one or more identified prompts”) would inherently achieve the recited intended use.
It is suggested that the claims be amended to remove intended use language as it serves to confuse the scope of the claim language, and does not impart a functional or structural limitation to the claims.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
With regard to claims 1, 19 and 20, claim 1 recites “identifying one or more prompts of the plurality of prompts that are relevant to the query based on comparing the one or more query embeddings to the prompt embeddings”. Claims 19 and 20 appear to recite substantially similar language and are rejected based upon the same reasoning and rational.
This claim limitation lacks antecedent basis. It is unclear what the term “that” is referring to. One of ordinary skill in the art may reasonably read the term “that” as referring to either the identified one or more prompts or as referring to the plurality of prompts. For examination purpose this claim limitation has been construed to mean -- identifying one or more prompts of the plurality of prompts, wherein the identified prompts are relevant to the query based on comparing the one or more query embeddings to the prompt embeddings --.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The following sections following the 2019 PEG guidelines for analyzing subject matter eligibility.
[Step 1 Statutory Category]
Claims 1-18 are directed to a process.
Claims 19 and 20 are directed to a machine.
[Step 2A Prong 1 Judicial exception]
The following claim limitations (sans the limitations struck through) have been identified as reciting abstract ideas. The struck through limitations have been identified as additional elements and will be discussed in later sections. Dependent claims were analyzed both individually and as a part of the ordered combination of the claim as a whole. Section identifiers have been added to the claims to facilitate discussion. The same identifier is added for parallel limitations in each claim recited.
1. A computer-implemented method for improving retrieval speed of documents, the computer-implemented method comprising:
[a.0] segmenting each of a plurality of documents of unstructured text into a plurality of divisions of unstructured text;
[a.1] generating, for the plurality of divisions of unstructured text, a plurality of prompts based on the plurality of divisions of unstructured text, each prompt being contextually relevant to a corresponding division of unstructured text, wherein at least one prompt is generated such that a corresponding division of unstructured text is a response to said at least one prompt;
[a.2]
[b] generating prompt embeddings for the plurality of prompts, the plurality of prompts corresponding to the plurality of documents of unstructured text;
[c] generating prompt-embedding clusters to group similar prompts based on the prompt embeddings;
[d]
[e] converting the query to one or more query embeddings;
[f.1] identifying one or more prompts of the plurality of prompts that are relevant to the query based on comparing the one or more query embeddings to the prompt embeddings;
[f.2]
[g] identifying one or more documents in one or more prompt-embedding clusters to which the one or more prompts that are relevant to the query belong.
2. The computer-implemented method of claim 1, wherein generating the plurality of prompts based on divisions of documents of unstructured text comprises:
segmenting the documents into paragraphs, sentences, or multi-paragraph sections; and
applying a language model to generate one or more prompts for each segment, wherein the generated prompts are contextually relevant to content of the corresponding segment.
3. The computer-implemented method of claim 1, wherein generating the prompt embeddings for the plurality of prompts comprises:
[h]
4. The computer-implemented method of claim 1, wherein generating the prompt-embedding clusters to group similar prompts comprises:
applying a clustering algorithm to group embedding vectors based on similarity; and
recursively subdividing larger clusters into smaller clusters to refine grouping.
5. The computer-implemented method of claim 4,
6. The computer-implemented method of claim 1, wherein converting the query to one or more query embeddings comprises:
tokenizing the query into a sequence of text tokens;
[h]
7. The computer-implemented method of claim 1, wherein identifying the one or more prompts relevant to the query comprises:
computing a similarity score between the query embeddings and the prompt embeddings using cosine similarity; and
selecting prompts with similarity scores above a predefined threshold.
8. The computer-implemented method of claim 1, wherein identifying the one or more documents in one or more prompt-embedding clusters to which the one or more prompts belong further comprises:
ranking the documents within the identified clusters based on relevance to the query embeddings; and
filtering the ranked documents to include only those exceeding a relevance threshold.
9. The computer-implemented method of claim 1, wherein the prompt-embedding clusters are associated with a metadata structure comprising:
identifiers of the documents from which the prompts were derived; and
a set of predefined topics or categories associated with each cluster.
10. The computer-implemented method of claim 1, further comprising:
generating a knowledge graph, wherein the prompts and a plurality of entities extracted from the documents are represented as nodes and relationships between the prompts and the documents are represented as edges.
11. The computer-implemented method of claim 10, wherein identifying the one or more documents comprises:
identifying a node in the knowledge graph corresponding to the prompt-embedding relevant to the query; and
traversing edges from the identified node to related nodes based on predefined traversal criteria, the traversal criteria comprising edge relevance values or entity types.
12. The computer-implemented method of claim 11, wherein traversing the edges from the identified node to the related nodes comprises:
prioritizing traversal paths based on edge relevance scores;
aggregating information from the nodes encountered during traversal to generate a response to the query.
13. The computer-implemented method of claim 1, wherein at least a subset of the plurality of prompts generated are questions, each question being derived to elicit specific information from the corresponding division of text.
14. The computer-implemented method of claim 1,
15. The computer-implemented method of claim 1, wherein the query is automatically generated based on a topic of a project specific by a user.
16. The computer-implemented method of claim 1, further comprising generating a response to the query, wherein generating the response to the query comprises:
retrieving relevant nodes and edges from a knowledge graph, the nodes and edges determined to be relevant to the query;
synthesizing retrieved information into an output format, the output format being text, a table, or a graphical representation; and
17. The computer-implemented method of claim 1, further comprising generating a response to the query, wherein the response comprises:
a textual summary generated using a transformer-based language model, the summary incorporating entities and relationships relevant to the query; and
a structured table summarizing numerical data retrieved from the documents containing the entities.
18. The computer-implemented method of claim 1, further comprising generating a response to the query, wherein generating the response to the query comprises:
19. A system comprising:
[a.0] segmenting each of a plurality of documents of unstructured text into a plurality of divisions of unstructured text;
[a.1] generating, for the plurality of divisions of unstructured text, a plurality of prompts based on the plurality of divisions of unstructured text, each prompt being contextually relevant to a corresponding division of unstructured text, wherein at least one prompt is generated such that a corresponding division of unstructured text is a response to said at least one prompt;
[a.2]
[b] generating prompt embeddings for the plurality of prompts, the plurality of prompts corresponding to the plurality of documents of unstructured text;
[c] generating prompt-embedding clusters to group similar prompts based on the prompt embeddings;
[d]
[e] converting the query to one or more query embeddings;
[f.1] identifying one or more prompts of the plurality of prompts that are relevant to the query based on comparing the one or more query embeddings to the prompt embeddings;
[f.2]
[g] identifying one or more documents in one or more prompt-embedding clusters to which the one or more prompts that are relevant to the query belong.
20. A system comprising:
[a.0] segmenting each of a plurality of documents of unstructured text into a plurality of divisions of unstructured text;
[a.1] generating, for the plurality of divisions of unstructured text, a plurality of prompts based on the plurality of divisions of unstructured text, each prompt being contextually relevant to a corresponding division of unstructured text, wherein at least one prompt is generated such that a corresponding division of unstructured text is a response to said at least one prompt;
[a.2]
[b] generating prompt embeddings for the plurality of prompts, the plurality of prompts corresponding to the plurality of documents of unstructured text;
[c] generating prompt-embedding clusters to group similar prompts based on the prompt embeddings;
[d]
[e] converting the query to one or more query embeddings;
[f.1] identifying one or more prompts of the plurality of prompts that are relevant to the query based on comparing the one or more query embeddings to the prompt embeddings;
[f.2]
[g] identifying one or more documents in one or more prompt-embedding clusters to which the one or more prompts that are relevant to the query belong.
With regard to limitation [a.0] one of ordinary skill in the art would recognize the broadest reasonable interpretation of this claim limitation as including a human being reading a document and determining the make-up of the document, identifying terms, phrases, important sentences, etc. within the document.
With regard to limitation [a.1], one of ordinary skill in the art would recognize the broadest reasonable interpretation of this claim limitation as including a human being reading a document and determining what questions that the document answers, e.g. a human performing reading comprehension skills. This determination may reasonable be performed based on the terms identified within the document.
With regard to limitation [b] and [e] one of ordinary skill in the art would recognize that prompt embeddings are merely mathematically generated vectors that any person of ordinary skill in the art with a bachelors level of education would be expected to be able to generate by hand. The embedding may be generated as a mental calculation of the human, where the human may use pencil and paper merely to document their mental modeling. The generation of the embeddings for the prompts is the same operation and functionality as that for the query.
With regard to limitations [c], [f.1], and [g] One of ordinary skill in the art would also be expected to be able mentally perform the mathematical calculation necessary to generate a similarity value. This is typical a cosine calculation that may be performed mentally. After identifying similarity, the human may use this determination to identify groupies (e.g. clusters) of similar data. This would simplify the amount of data that is needed to be maintained in the mental model. The human may also use this similarity to identify when a query is similar to any given element of the mental model, thereby evaluating the mental modal and identifying the relevant documents.
With regard to claim 2 and the tokenizing of claim 6, these claim limitations further defines the abstract idea by specifying how the reader may perform the reading comprehension, dissecting the document to identify and determine what is said. One of ordinary skill in the art would recognize language grammar as a “language model”, such that the identification of verbs, nouns, etc. facilitates reading comprehension.
With regard to claims 4, 7, 8, 9 these claim limitations further defines the process by which the human being may mentally cluster the documents.
With regard to claims 10-12, 16 these claim limitations further define the knowledge graph that the human being may generate to mentally model the gathered and analyzed data. Please note that one of ordinary skill in the art would recognize a knowledge graph itself as a mathematical model that is used to mathematical represent relationships, e.g. ratios between data elements. These models may be generated mentally, with the aid of pencil and paper merely to document the produced model that the human determined.
With regard to claim 13, 15, 16, 17 these claim limitations further define the data that is being processed, e.g. the document being read by a human. A human being may readily read a document and determine questions that relate to specific paragraphs of the document by performing basic reading comprehension. A human being may hear a question, and determine the topic of that question. A human may identify and summarize (e.g. paraphrase) the document read in response to the question.
[Step 2A Prong 2 Integration into a practical application]
The limitations struck through in [Step 2A Prong 1] above have been identified as additional elements. This section will analyze these claim elements with regard to practical application of the abstract idea.
With regard to limitations [d] and [f.2] and claim 14 these claim limitations have been identified as insignificant extra-solution activity, in the form of mere data gathering [MPEP 2106.059(g).
With regard to limitations [a.2] this claim limitation has been identified as insignificant extra-solution activity, in the form of mere data storage [MPEP 2106.059(g).
With regard to limitation [h] these claim limitations have been identified as generic computer devices which are merely implementing the abstract idea within a computing device [MPEP 2106.059(f). Within the instant specification, Paragraph [0068] recites several, well-known and off the shelf computing algorithms that one of ordinary skill in the art would recognize as being generic computing devices capable of performing the “encoder-only” embedding.
With regard to claim 5 these claim limitations have been identified as generic computer devices which are merely implementing the abstract idea within a computing device [MPEP 2106.059(f). Within the instant specification, Paragraph [0137] recites several, well-known and off the shelf computing algorithms that one of ordinary skill in the art would recognize as being generic computing devices capable of performing the clustering.
With regard to claim 16 and the “graphical user interface” of claim 20 these claim limitations have been identified as insignificant extra-solution activity, in the form of mere data presentation [MPEP 2106.059(g). Furthermore, it should be noted that one of ordinary skill in the art would recognize a user interface presenting data as a visualization that allows a user to explore the information that is being presented.
With regard to the preambles of claims 19 and 20, these claim limitations have been identified as generic computer devices which are merely implementing the abstract idea within a computing device [MPEP 2106.059(f).
Ordered combination (Step 2A Prong 2):
When taken as an ordered combination the claim appears to recite a person reading a document (using basic reading comprehension skills) to determine that questions that document may answer, and then paragraphing said document in response to a query regarding a topic similar to the analyzed document. The claimed device appears to merely be implementing this mental process within a computing environment using known off the shelf computing algorithms and devices that are known for being capable of such functions.
When viewed as an ordered combination the claims as a whole do not appear to integrate the mental process into a practical application.
[Step 2B Significantly more]
The limitations struck through in [Step 2A Prong 1] above have been identified as additional elements. All conclusions from [Step 2A Prong 2], based on the considerations of MPEP 2106.05(a)-(c), (e), (f) and (h) are carried over. All additional elements identified as insignificant-extra solution activity will now be re-evaluated.
With regard to limitations [d] and [f.2] and claim 14 these claim limitations have been identified as insignificant extra-solution activity, in the form of mere data gathering [MPEP 2106.059(g). With regard to limitations [a.2] this claim limitation has been identified as insignificant extra-solution activity, in the form of mere data storage [MPEP 2106.059(g).
The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity.
i. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network); but see DDR Holdings, LLC v. Hotels.com, L.P., 773 F.3d 1245, 1258, 113 USPQ2d 1097, 1106 (Fed. Cir. 2014) ("Unlike the claims in Ultramercial, the claims at issue here specify how interactions with the Internet are manipulated to yield a desired result‐‐a result that overrides the routine and conventional sequence of events ordinarily triggered by the click of a hyperlink." (emphasis added));
iv. Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93;
With regard to claim 16 and the “graphical user interface” of claim 20, these limitations were identified as mere data presentation MPEP 2106.05(g).
The courts have recognized the following functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity:
iv. Presenting offers and gathering statistics, OIP Techs., 788 F.3d at 1362-63, 115 USPQ2d at 1092-93;
vi. Arranging a hierarchy of groups, sorting information, eliminating less restrictive pricing information and determining the price, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1331, 115 USPQ2d 1681, 1699 (Fed. Cir. 2015).
One of ordinary skill in the art would recognize the arrangement of the groups, and the sorting of information and a means of providing a way for the user to explore the content.
Ordered combination (Step 2B):
When taken as an ordered combination the claim appears to recite a person reading a document (using basic reading comprehension skills) to determine that questions that document may answer, and then paragraphing said document in response to a query regarding a topic similar to the analyzed document. The interface appears to merely be presenting the results of the human derived summaries. The claimed device appears to merely be implementing the claimed mental process within a computing environment using known off the shelf computing algorithms and devices that are known for being capable of such functions.
When viewed as an ordered combination the claims as a whole do not appear to amount to significantly more than the abstract idea itself.
[101 Abstract Idea Analysis Conclusion]
Based on the above rational the claims have been deemed to ineligible subject matter under 35 USC 101.
Claim Rejections - 35 USC § 102
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-6, and 8-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Moon [2020/0410012].
With regard to claim 1 Moon teaches A computer-implemented (Moon, ¶228 “In particular embodiments, processor 1302 includes hardware for executing instructions, such as those making up a computer program”) method for improving retrieval speed (Moon, ¶228 “Instructions in the instruction caches may be copies of instructions in memory 1304 or storage 1306, and the instruction caches may speed up retrieval of those instructions by processor 1302.”) of documents (Moon, ¶152 “These systems aim at predicting answers given evidence documents”; ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”), the computer-implemented method comprising:
Segmenting as tokenizing (Moon, ¶61) each of a plurality of documents of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”) into a plurality of divisions as tokens (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”) of unstructured text (Moon, ¶198);
generating, for the plurality of divisions of unstructured text as the tokens (Moon, ¶61), generating a plurality of prompts as extract features from text, e.g. Q-A Pairs (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”; ¶122 “the embodiments disclosed herein create a new dataset, MemQA, of 100K question and answer pairs composed based on synthetic memory graphs that are artificially generated.”) based on the plurality of divisions as tokenize (Id) of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”), each prompt being contextually as extracted semantic features (Moon, ¶61 “In particular embodiments, the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP”) relevant to a division of unstructured text as a token of the document (Moon, ¶61), wherein at least one prompt is generated such that the corresponding division of unstructured text is a response to said at least one prompt (Id);
storing as the records in the knowledge graph stored in the data store (Moon, ¶47 “Each entity may comprise a single record associated with one or more attribute values”; ¶40 “one or more data stores”), in association with each prompt of the plurality of prompts as extract features from text, for example the test “john”, “Sam’s Dinner”, “brunch” in the knowledge graph nodes (Moon, ¶61; Figure 4 see the text associated with the nodes), an indication as the relations between nodes (Figure 4 see the text linking the nodes) of the corresponding division of unstructured text as the tokens, which forms the text of the nodes (Moon, ¶61; Figure 4 see the text associated with the nodes) from which the prompt was generated (Moon, ¶61 “In particular embodiments, the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP”);
generating prompt embeddings as embeddings for the graph node (¶61 “The semantic information aggregator 230 may further conduct global word embedding, domain-specific embedding, and/or dynamic embedding based on the contextual information.”; ¶100 “the assistant system 140 may generate a memory encoding for each node corresponding to an episodic memory in the memory graph based on one or more of a graph embeddings projection model or a LSTM model.”) for the plurality of prompts, the plurality of prompts as the features (Moon, ¶61) corresponding to the plurality of documents of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”);
generating prompt-embedding clusters as classification of content objects (Moon, ¶61 “the NLU module 220 may improve the domain classification/selection of the content objects by extracting semantic information from the semantic information aggregator 230.”) to group similar prompt based on the prompt embedding (Moon, ¶63 “The ontology may also comprise information of how the slots/meta-slots may be grouped, related within a hierarchy where the higher level comprises the domain, and subdivided according to similarities and differences.”);
receiving a query (Moon, ¶8 “In particular embodiments, the assistant system
may receive, from a client system associated with a user, a query from the user”);
converting the query to one or more query embeddings (Moon, ¶99 “In particular embodiments, the assistant system 140 may generate a query encoding for the query based on a long-short term memory (LSTM) model.”; ¶102 “query vector”);
identifying one or more prompts (Moon, ¶92 “At test time, relevant memory nodes can be retrieved from a graph search engine that measures textual similarity (e.g. n-gram TF-IDF) between its connected node contexts and query.”) of the plurality of prompts s extracted features (Moon, ¶61) which make up the nodes of the graph (Moon, ¶47) that are relevant to the query as matching, e.g. textual similar to the query (Moon, ¶92) based on comparing (Moon, ¶206 “A similarity metric may be a cosine similarity, a Minkowski distance, a Mahalanobis distance, a Jaccard similarity coefficient, or any suitable similarity metric. … a Euclidean distance… ”) the one or more query embeddings as a first vector, e.g. the query vector (Moon, ¶206 “A similarity metric of two vectors may represent how similar the two objects or n-grams corresponding to the two vectors, respectively, are to one another, as measured by the distance between the two vectors in the vector space 1100.”; ¶92; ¶102) to the prompt embeddings as the second vector, e.g. the graph node’s embedding (Moon, ¶206; ¶100);
retrieving as extracting (Moon, ¶46 “The semantic information aggregator 230 may additionally extract information from a social graph, a knowledge graph, and a concept graph, and retrieve a user's profile from the user context engine 225.”), based on the stored indication as the relations between nodes (Figure 4 see the text linking the nodes), one or more divisions of unstructured text as the tokens, which forms the text of the nodes (Moon, ¶61; Figure 4 see the text associated with the nodes) for example the text EDC and UMF (Moon, ¶76 “Based on the accessing and one or more machine-learning models, the conversational system may generate an answer 504 as "you went to two EDM concerts last year, EDC and UMF."”) corresponding to the one or more identified prompts as extract features from text, for example the test “john”, “Sam’s Dinner”, “brunch” in the knowledge graph nodes (Moon, ¶61; Figure 4 see the text associated with the nodes), thereby (Please note that this claim limitation has been identified as an intended use resulting from the retrieval of the one or more divisions) improving retrieval speed (Moon, ¶228 “The data caches may speed up read or write operations by processor 1302. The TLBs may speed up virtual-address translation for processor 1302.”) by retrieving the one or more divisions of unstructured text rather than an entirety of each of the plurality of documents of unstructured text as retrieving the specific attributes or nodes required to answer the question, for example retrieving the photos most relevant to the dialog, and identifying memories (e.g. EDC and UMF) from the dialog rather than returning the entire dialog (Moon, ¶152 “the embodiments disclosed herein may effectively utilize structural properties of memory graph to traverse and highlight specific attributes or nodes that are required to answer questions.”) instead of retrieving the entire historical dialog (¶61 “The semantic information aggregator 230 may additionally extract features from contextual information, which is accessed from dialog history between a user and the assistant system 140.”; ¶64; ¶76 “The example interaction shows three key novel features of the conversational system: 1) the ability of querying a personal database to answer a user query (memory recall QA), 2) surfacing photos most relevant to the dialog, and 3) identifying other memories to surface that are relevant to conversational contexts, resulting in increased engagement and coherent interactions.”)
identifying one or more documents as the content object, for example the photo (¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”; ¶76 “The example interaction shows three key novel features of the conversational system: 1) the ability of querying a personal database to answer a user query (memory recall QA), 2) surfacing photos most relevant to the dialog, and 3) identifying other memories to surface that are relevant to conversational contexts, resulting in increased engagement and coherent interactions.”) in one or more prompt-embedding (Moon, ¶100 “the embodiments disclosed herein represent each memory node based on both its structural features (graph embeddings) and contextual multi-modal features from its neighboring nodes ( e.g. attribute values).”) clusters as category that is white listed (Moon, ¶63 “The domain entity resolution 241 may resolve the entities by categorizing the slots and meta slots into different domains.”; ¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”) to which the one or more prompts (Please note that this claim limitation has been understood to mean --matching prompts--) that are relevant to the query belong (Moon, ¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”).
With regard to claim 2 Moon further teaches wherein generating the plurality of prompts as extract features from text (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”) based on divisions as tokenize (Id) of documents of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”) comprises:
segmenting the documents into paragraphs (Moon, ¶152 “predicting answers given evidence documents, typically in length of a few paragraphs”), sentences (Moon, ¶47 “the NLU module 220 may comprise a lexicon of language and a parser and grammar rules to partition sentences into an internal representation.”), or multi-paragraph sections; and
applying a language model to (Moon, ¶61 “based on NLP”) generate one or more prompts as extracted features (Moon, ¶61) for each segment as the tokens (Moon, ¶61), wherein the generated prompts are contextually relevant to content of the corresponding segment as semantic information (Moon, ¶61).
With regard to claim 3 Moon further teaches wherein generating the prompt embeddings as embeddings for the graph node (¶61 “The semantic information aggregator 230 may further conduct global word embedding, domain-specific embedding, and/or dynamic embedding based on the contextual information.”; ¶100 “the assistant system 140 may generate a memory encoding for each node corresponding to an episodic memory in the memory graph based on one or more of a graph embeddings projection model or a LSTM model.”) for the plurality of prompts comprises:
processing each prompt using an encoder-only language model to generate an embedding vector for each prompt (Moon, ¶92 “e.g. N-gram TF-IDF”; Please note this claim limitation has been construed in light of Paragraph [0068] of the original specification which recites the following as examples of encoder-only language models: BERT, Word2Vec, PCA, LSA, LDA, TF-IDF, SVD).
With regard to claim 4 Moon further teaches wherein generating the prompt-embedding clusters to group similar prompts as classification of content objects (Moon, ¶61 “the NLU module 220 may improve the domain classification/selection of the content objects by extracting semantic information from the semantic information aggregator 230.”) comprises:
applying a clustering algorithm to group embedding vectors (Moon, ¶61 “the NLU module 220 may improve the domain classification/selection of the content objects by extracting semantic information from the semantic information aggregator 230.”) based on similarity (Moon, ¶63 “The ontology may also comprise information of how the slots/meta-slots may be grouped, related within a hierarchy where the higher level comprises the domain, and subdivided according to similarities and differences.”); and
recursively subdividing larger clusters into smaller clusters to refine grouping (Moon, ¶63 “The ontology may also comprise information of how the slots/meta-slots may be grouped, related within a hierarchy where the higher level comprises the domain, and subdivided according to similarities and differences.”).
With regard to claim 5 Moon further teaches wherein the clustering algorithm is selected from a group consisting of k-means clustering, hierarchical clustering (Moon, ¶63 “The ontology may also comprise information of how the slots/meta-slots may be grouped, related within a hierarchy where the higher level comprises the domain, and subdivided according to similarities and differences.”), density-based spatial clustering and spectral clustering (Moon, ¶205 “As another example and not by way of limitation, an object comprising audio data may be mapped to a vector based on features such as a spectral slope, a tonality coefficient,”).
With regard to claim 6 Moon further teaches wherein converting the query to one or more query embeddings comprises:
tokenizing the query into a sequence of text tokens (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”);
processing the sequence of text tokens using an encoder-only language model to generate the query embeddings (Moon, ¶92 “e.g. N-gram TF-IDF”; Please note this claim limitation has been construed in light of Paragraph [0068] of the original specification which recites the following as examples of encoder-only language models: BERT, Word2Vec, PCA, LSA, LDA, TF-IDF, SVD).
With regard to claim 8 Moon further teaches wherein identifying the one or more documents in one or more prompt-embedding clusters to which the one or more prompts belong further comprises:
ranking the documents (Moon, ¶55 “In particular embodiments, the proactive agent 285 may also rank the generated candidate entities based on the user profile and the content associated with the candidate entities. The ranking may be based on the similarities between a user's interests and the candidate entities.”) within the identified clusters as classification of content objects (Moon, ¶61 “the NLU module 220 may improve the domain classification/selection of the content objects by extracting semantic information from the semantic information aggregator 230.”) based on relevance to the query embeddings (Moon, ¶55 “The generation may be alternatively based on a machine-learning model that is trained based on the user profile, entity attributes, and relevance between users and entities.”); and
filtering (Moon, ¶55 “The generation may be based on a straightforward backend query using deterministic filters to retrieve the candidate entities from a structured data store.”) the ranked documents (Moon, ¶55 “In particular embodiments, the proactive agent 285 may also rank the generated candidate entities based on the user profile and the content associated with the candidate entities. The ranking may be based on the similarities between a user's interests and the candidate entities.”) to include only those exceeding a relevance threshold (Moon, ¶55 “The assistant system 140 may then calculate similarity scores ( e.g., based on cosine similarity) between the feature vector representing the user's interest and the feature vectors representing the candidate entities.”; ¶114 “above threshold”).
With regard to claim 9 Moon further teaches wherein the prompt-embedding clusters are associated with a metadata structure comprising:
identifiers of the documents from which the prompts were derived (Moon, ¶47 “Entities may include, for example, unique users or concepts, each of which may have a unique identifier (ID).”); and
a set of predefined topics (Moon, ¶63 “The generic entity resolution 242 may resolve the entities by categorizing the slots and meta slots into different generic topics”) or categories associated with each cluster as classification of content objects (Moon, ¶61 “the NLU module 220 may improve the domain classification/selection of the content objects by extracting semantic information from the semantic information aggregator 230.”).
With regard to claim 10 Moon further teaches generating a knowledge graph as the memory graph is a knowledge graph (Moon, ¶72 “The embodiments disclosed herein introduce the new task and dataset for episodic memory QA, in which the model answers personal and retrospective questions based on memory graphs (MG), where each episodic memory and its related entities (e.g. knowledge graph (KG) entities, participants, ... ) are represented as the nodes connected via corresponding edges.”), wherein the prompts and a plurality of entities extracted from the documents are represented as nodes as episodic memory’s and related entity nodes (Moon, ¶69 “the assistant system 140 may use episodic memory question answering (QA) for the task of answering personal user questions grounded on a memory graph (MG), where episodic memories and related entity nodes are connected via relational edges.”) and relationships between the prompts and the documents are represented as edges as relational edges connecting nodes (Id).
With regard to claim 11 Moon further teaches wherein identifying the one or more documents comprises:
identifying a node in the knowledge graph as candidate memory nodes (Moon, ¶90 “For an input query q 702, candidate memory nodes m={m(k)} 704 are provided as input memory slots for the memory QA network 706”; ¶73 “initial memory slots”) corresponding to the prompt-embedding relevant to the query as for the input query (Id); and
traversing edges from the identified node to related nodes based on predefined traversal criteria (Moon, ¶90 “The memory graph network 708 then traverses the memory graph 406, in other words, performs a graph search 710, to expand the initial memory slots and activate other relevant entity and memory nodes based on the input queries 702”; ¶73 “The memory graph network walks”), the traversal criteria comprising edge relevance values or entity types (Moon, ¶90 “In particular embodiments, the assistant system 140 may determine relevance between the initial memory slots 404 and each of the plurality of nodes in the memory graph 406. Accordingly, selecting the one or more candidate nodes may be further based on the relevance.”).
With regard to claim 12 Moon further teaches wherein traversing the edges (Moon, ¶90 “The memory graph network 708 then traverses the memory graph 406, in other words, performs a graph search 710, to expand the initial memory slots and activate other relevant entity and memory nodes based on the input queries 702”)from the identified node as candidate memory nodes (Moon, ¶90 “For an input query q 702, candidate memory nodes m={m(k)} 704 are provided as input memory slots for the memory QA network 706”) to the related nodes comprises:
prioritizing traversal paths based on edge relevance scores (Moon, ¶90 “In particular embodiments, the assistant system 140 may determine relevance between the initial memory slots 404 and each of the plurality of nodes in the memory graph 406. Accordingly, selecting the one or more candidate nodes may be further based on the relevance.”; ¶73 “the memory graph network walks”);
aggregating information from the nodes encountered during traversal to generate a response to the query (Moon, ¶94 “After that an attention aggregator 816 may aggregate the top-k entities”; ¶96; ¶109 “As a result, the assistant system 140 may have a technical advantage of providing a natural way to explain how and why a response is generated because the walk paths on the memory graph are easy to interpret.”).
With regard to claim 13 Moon further teaches wherein at least a subset of the plurality of prompts generated are questions (¶122 “the embodiments disclosed herein create a new dataset, MemQA, of 100K question and answer pairs composed based on synthetic memory graphs that are artificially generated.”), each question being derived to elicit specific information from the corresponding division of text (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”).
With regard to claim 14 Moon further teaches wherein the query
is manually inputted by a user (Moon, ¶8 “the assistant system may receive, from a client system associated with a user, a query from the user.”) through an interface (Moon, ¶52 “a user interface (UI)”) or
is automatically generated (Moon, ¶44 “In particular embodiments, the assistant system 140 may analyze the user input using natural-language understanding. The analysis may be based on the user profile for more personalized and context-aware understanding. The assistant system 140 may resolve entities associated with the user input based on the analysis. In particular embodiments, the assistant system 140 may interact with different agents to obtain information or services that are associated with the resolved entities”; ¶54 “without receiving a user input”) based on a topic or project context specified by the user (Moon, ¶44 “The assistant system 140 may enable the user to interact with it with multi-modal user input (such as voice, text, image, video, motion) in stateful and multi-tum conversations to get assistance”), the topic or project context (Moon, ¶60 “The intent classifier may determine the user's intent associated with the user request.”) being associated with predefined keywords or parameters as natural-language understanding (¶44).
With regard to claim 15 Moon further teaches wherein the query is automatically generated (Moon, ¶44 “In particular embodiments, the assistant system 140 may analyze the user input using natural-language understanding. The analysis may be based on the user profile for more personalized and context-aware understanding. The assistant system 140 may resolve entities associated with the user input based on the analysis. In particular embodiments, the assistant system 140 may interact with different agents to obtain information or services that are associated with the resolved entities”; ¶54 “without receiving a user input”) based on a topic of a project (Moon, ¶60 “The intent classifier may determine the user's intent associated with the user request.”) specific by a user as based on the user profile (Moon, ¶61 “The processing result may be stored in the user context engine 225 as part of the user profile. The online inference service 227 may analyze the conversational data associated with the user that are received by the assistant system 140 at a current time.”).
With regard to claim 16 Moon further teaches generating a response to the query, wherein generating the response to the query comprises:
retrieving relevant (¶58 “The summarizer 290 may then retrieve entities associated with the user interests and preferences from the entity resolution module 240”) nodes and edges from a knowledge graph (Moon, ¶72 “The embodiments disclosed herein introduce the new task and dataset for episodic memory QA, in which the model answers personal and retrospective questions based on memory graphs (MG), where each episodic memory and its related entities (e.g. knowledge graph (KG) entities, participants, ... ) are represented as the nodes connected via corresponding edges.”), the nodes and edges determined to be relevant to the query (Moon, ¶72);
synthesizing retrieved information into an output format (¶58 “The summarizer 290 may further retrieve a user profile from the user context engine 225. Based on the information from the proactive inference layer 280, the entity resolution module 240, and the user context engine 225, the summarizer 290 may generate personalized and context-aware summaries for the user”), the output format being text as the answers in dialog 610 and 616 (Moon, ¶80 “FIG. 6A, an assistant xbot 215 may say "hi! I can help you walk down your memory graph" 606 to a user. The user may then ask a question 608 which is "when did I go skiing last?" The assistant xbot 215 may reply "it was Mar. 12, 2017 in Austria." 610. In addition, the conversational system may surface a photo 612 in the media section 602. The user may ask another question 614 which is "who else was there?" as displayed in FIG. 6B. The assistant xbot 215 may provide a response 616 which is "Mariah was there. You and Mariah also went skiing 4 other times in the past. Would you like to see those photos?" Meanwhile, the conversational system may surface a photo 618 with the user and Mariah in it.”; Fig 6), a table, or a graphical representation as the displayed images 612 and 618 (Id); and
causing, at a user interface (Moon, ¶52 “a user interface (UI)”), to display an output to the user in the output format (presenting the response (Fig. 9 980; Fig 6 shows example UI).
With regard to claim 17 Moon further teaches comprising generating a response to the query, wherein the response (¶137 “Main Results”) comprises:
a textual summary generated using a transformer-based language model (¶58 “The summarizer 290 may then retrieve entities associated with the user interests and preferences from the entity resolution module 240”; ¶64 “Dialog engine 235”), the summary incorporating entities and relationships relevant to the query (¶47 ; ¶73; ¶90); and
a structured table summarizing numerical data retrieved from the documents containing the entities (Moon, ¶138 “Table 2 shows the results of the top-k predictions of the proposed model and the baselines. It can be seen that the proposed Memory QA model outperforms other state-of-the-art baselines for precision at all ks.”; Table 2).
With regard to claim 18 Moon further teaches generating a response to the query, wherein generating the response to the query comprises:
creating an interactive (Moon, ¶81 “Flexible”; ¶82; Figure 6, see the user’s interactions; ¶85 “Contextual”; ¶86 “allowing the user to refer to entities present in the dialog or media.”) visualization (Moon, ¶84); and
enabling user interaction with the visualization to explore relationships between entities (Moon, ¶88 “The system can insert conversational recommendations for exploring related memories based on the system's model of which memories are naturally interesting for users to consume in a particular context.”; ¶109 “As a result, the assistant system 140 may have a technical advantage of providing a natural way to explain how and why a response is generated because the walk paths on the memory graph are easy to interpret”).
With regard to claim 19 Moon teaches A system comprising:
one or more processors (Moon, Claim 20 “A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:”); and
memory storing instructions, wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform steps comprising (Moon, Claim 20 “A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:”):
Segmenting as tokenizing (Moon, ¶61) each of a plurality of documents of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”) into a plurality of divisions as tokens (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”) of unstructured text (Moon, ¶198);
generating, for the plurality of divisions of unstructured text as the tokens (Moon, ¶61), generating a plurality of prompts as extract features from text, e.g. Q-A Pairs (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”; ¶122 “the embodiments disclosed herein create a new dataset, MemQA, of 100K question and answer pairs composed based on synthetic memory graphs that are artificially generated.”) based on the plurality of divisions as tokenize (Id) of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”), each prompt being contextually as extracted semantic features (Moon, ¶61 “In particular embodiments, the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP”) relevant to a division of unstructured text as a token of the document (Moon, ¶61), wherein at least one prompt is generated such that the corresponding division of unstructured text is a response to said at least one prompt (Id);
storing as the records in the knowledge graph stored in the data store (Moon, ¶47 “Each entity may comprise a single record associated with one or more attribute values”; ¶40 “one or more data stores”), in association with each prompt of the plurality of prompts as extract features from text, for example the test “john”, “Sam’s Dinner”, “brunch” in the knowledge graph nodes (Moon, ¶61; Figure 4 see the text associated with the nodes), an indication as the relations between nodes (Figure 4 see the text linking the nodes) of the corresponding division of unstructured text as the tokens, which forms the text of the nodes (Moon, ¶61; Figure 4 see the text associated with the nodes) from which the prompt was generated (Moon, ¶61 “In particular embodiments, the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP”);
generating prompt embeddings as embeddings for the graph node (¶61 “The semantic information aggregator 230 may further conduct global word embedding, domain-specific embedding, and/or dynamic embedding based on the contextual information.”; ¶100 “the assistant system 140 may generate a memory encoding for each node corresponding to an episodic memory in the memory graph based on one or more of a graph embeddings projection model or a LSTM model.”) for the plurality of prompts, the plurality of prompts as the features (Moon, ¶61) corresponding to the plurality of documents of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”);
generating prompt-embedding clusters as classification of content objects (Moon, ¶61 “the NLU module 220 may improve the domain classification/selection of the content objects by extracting semantic information from the semantic information aggregator 230.”) to group similar prompt based on the prompt embedding (Moon, ¶63 “The ontology may also comprise information of how the slots/meta-slots may be grouped, related within a hierarchy where the higher level comprises the domain, and subdivided according to similarities and differences.”);
receiving a query (Moon, ¶8 “In particular embodiments, the assistant system
may receive, from a client system associated with a user, a query from the user”);
converting the query to one or more query embeddings (Moon, ¶99 “In particular embodiments, the assistant system 140 may generate a query encoding for the query based on a long-short term memory (LSTM) model.”; ¶102 “query vector”);
identifying one or more prompts (Moon, ¶92 “At test time, relevant memory nodes can be retrieved from a graph search engine that measures textual similarity (e.g. n-gram TF-IDF) between its connected node contexts and query.”) of the plurality of prompts s extracted features (Moon, ¶61) which make up the nodes of the graph (Moon, ¶47) that are relevant to the query as matching, e.g. textual similar to the query (Moon, ¶92) based on comparing (Moon, ¶206 “A similarity metric may be a cosine similarity, a Minkowski distance, a Mahalanobis distance, a Jaccard similarity coefficient, or any suitable similarity metric. … a Euclidean distance… ”) the one or more query embeddings as a first vector, e.g. the query vector (Moon, ¶206 “A similarity metric of two vectors may represent how similar the two objects or n-grams corresponding to the two vectors, respectively, are to one another, as measured by the distance between the two vectors in the vector space 1100.”; ¶92; ¶102) to the prompt embeddings as the second vector, e.g. the graph node’s embedding (Moon, ¶206; ¶100);
retrieving as extracting (Moon, ¶46 “The semantic information aggregator 230 may additionally extract information from a social graph, a knowledge graph, and a concept graph, and retrieve a user's profile from the user context engine 225.”), based on the stored indication as the relations between nodes (Figure 4 see the text linking the nodes), one or more divisions of unstructured text as the tokens, which forms the text of the nodes (Moon, ¶61; Figure 4 see the text associated with the nodes) for example the text EDC and UMF (Moon, ¶76 “Based on the accessing and one or more machine-learning models, the conversational system may generate an answer 504 as "you went to two EDM concerts last year, EDC and UMF."”) corresponding to the one or more identified prompts as extract features from text, for example the test “john”, “Sam’s Dinner”, “brunch” in the knowledge graph nodes (Moon, ¶61; Figure 4 see the text associated with the nodes), thereby (Please note that this claim limitation has been identified as an intended use resulting from the retrieval of the one or more divisions) improving retrieval speed (Moon, ¶228 “The data caches may speed up read or write operations by processor 1302. The TLBs may speed up virtual-address translation for processor 1302.”) by retrieving the one or more divisions of unstructured text rather than an entirety of each of the plurality of documents of unstructured text as retrieving the specific attributes or nodes required to answer the question, for example retrieving the photos most relevant to the dialog, and identifying memories (e.g. EDC and UMF) from the dialog rather than returning the entire dialog (Moon, ¶152 “the embodiments disclosed herein may effectively utilize structural properties of memory graph to traverse and highlight specific attributes or nodes that are required to answer questions.”) instead of retrieving the entire historical dialog (¶61 “The semantic information aggregator 230 may additionally extract features from contextual information, which is accessed from dialog history between a user and the assistant system 140.”; ¶64; ¶76 “The example interaction shows three key novel features of the conversational system: 1) the ability of querying a personal database to answer a user query (memory recall QA), 2) surfacing photos most relevant to the dialog, and 3) identifying other memories to surface that are relevant to conversational contexts, resulting in increased engagement and coherent interactions.”)
identifying one or more documents as the content object, for example the photo (¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”; ¶76 “The example interaction shows three key novel features of the conversational system: 1) the ability of querying a personal database to answer a user query (memory recall QA), 2) surfacing photos most relevant to the dialog, and 3) identifying other memories to surface that are relevant to conversational contexts, resulting in increased engagement and coherent interactions.”) in one or more prompt-embedding (Moon, ¶100 “the embodiments disclosed herein represent each memory node based on both its structural features (graph embeddings) and contextual multi-modal features from its neighboring nodes ( e.g. attribute values).”) clusters as category that is white listed (Moon, ¶63 “The domain entity resolution 241 may resolve the entities by categorizing the slots and meta slots into different domains.”; ¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”) to which the one or more prompts (Please note that this claim limitation has been understood to mean --matching prompts--) that are relevant to the query belong (Moon, ¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”).
With regard to claim 20 Moon teaches A system comprising:
a data store (Moon, ¶40 “one or more data stores”) storing a knowledge graph as the memory graph is a knowledge graph (Moon, ¶72 “The embodiments disclosed herein introduce the new task and dataset for episodic memory QA, in which the model answers personal and retrospective questions based on memory graphs (MG), where each episodic memory and its related entities (e.g. knowledge graph (KG) entities, participants, ... ) are represented as the nodes connected via corresponding edges.”);
a computing system comprising one or more processors and memory, the memory storing instructions, wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform steps comprising (Moon, Claim 20 “A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:”):
Segmenting as tokenizing (Moon, ¶61) each of a plurality of documents of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”) into a plurality of divisions as tokens (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”) of unstructured text (Moon, ¶198);
generating, for the plurality of divisions of unstructured text as the tokens (Moon, ¶61), generating a plurality of prompts as extract features from text, e.g. Q-A Pairs (Moon, ¶61 “the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP.”; ¶122 “the embodiments disclosed herein create a new dataset, MemQA, of 100K question and answer pairs composed based on synthetic memory graphs that are artificially generated.”) based on the plurality of divisions as tokenize (Id) of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”), each prompt being contextually as extracted semantic features (Moon, ¶61 “In particular embodiments, the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP”) relevant to a division of unstructured text as a token of the document (Moon, ¶61), wherein at least one prompt is generated such that the corresponding division of unstructured text is a response to said at least one prompt (Id);
storing as the records in the knowledge graph stored in the data store (Moon, ¶47 “Each entity may comprise a single record associated with one or more attribute values”; ¶40 “one or more data stores”), in association with each prompt of the plurality of prompts as extract features from text, for example the test “john”, “Sam’s Dinner”, “brunch” in the knowledge graph nodes (Moon, ¶61; Figure 4 see the text associated with the nodes), an indication as the relations between nodes (Figure 4 see the text linking the nodes) of the corresponding division of unstructured text as the tokens, which forms the text of the nodes (Moon, ¶61; Figure 4 see the text associated with the nodes) from which the prompt was generated (Moon, ¶61 “In particular embodiments, the semantic information aggregator 230 may tokenize text by text normalization, extract syntax features from text, and extract semantic features from text based on NLP”);
generating prompt embeddings as embeddings for the graph node (¶61 “The semantic information aggregator 230 may further conduct global word embedding, domain-specific embedding, and/or dynamic embedding based on the contextual information.”; ¶100 “the assistant system 140 may generate a memory encoding for each node corresponding to an episodic memory in the memory graph based on one or more of a graph embeddings projection model or a LSTM model.”) for the plurality of prompts, the plurality of prompts as the features (Moon, ¶61) corresponding to the plurality of documents of unstructured text (Moon, ¶198 “a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application)”; ¶61 “As an example and not by way of limitation, the data may include news feed posts/comments, interactions with news feed posts/comments, Instagram posts/comments, search history, etc.”);
generating prompt-embedding clusters as classification of content objects (Moon, ¶61 “the NLU module 220 may improve the domain classification/selection of the content objects by extracting semantic information from the semantic information aggregator 230.”) to group similar prompt based on the prompt embedding (Moon, ¶63 “The ontology may also comprise information of how the slots/meta-slots may be grouped, related within a hierarchy where the higher level comprises the domain, and subdivided according to similarities and differences.”);
receiving a query (Moon, ¶8 “In particular embodiments, the assistant system
may receive, from a client system associated with a user, a query from the user”);
converting the query to one or more query embeddings (Moon, ¶99 “In particular embodiments, the assistant system 140 may generate a query encoding for the query based on a long-short term memory (LSTM) model.”; ¶102 “query vector”);
identifying one or more prompts (Moon, ¶92 “At test time, relevant memory nodes can be retrieved from a graph search engine that measures textual similarity (e.g. n-gram TF-IDF) between its connected node contexts and query.”) of the plurality of prompts s extracted features (Moon, ¶61) which make up the nodes of the graph (Moon, ¶47) that are relevant to the query as matching, e.g. textual similar to the query (Moon, ¶92) based on comparing (Moon, ¶206 “A similarity metric may be a cosine similarity, a Minkowski distance, a Mahalanobis distance, a Jaccard similarity coefficient, or any suitable similarity metric. … a Euclidean distance… ”) the one or more query embeddings as a first vector, e.g. the query vector (Moon, ¶206 “A similarity metric of two vectors may represent how similar the two objects or n-grams corresponding to the two vectors, respectively, are to one another, as measured by the distance between the two vectors in the vector space 1100.”; ¶92; ¶102) to the prompt embeddings as the second vector, e.g. the graph node’s embedding (Moon, ¶206; ¶100);
retrieving as extracting (Moon, ¶46 “The semantic information aggregator 230 may additionally extract information from a social graph, a knowledge graph, and a concept graph, and retrieve a user's profile from the user context engine 225.”), based on the stored indication as the relations between nodes (Figure 4 see the text linking the nodes), one or more divisions of unstructured text as the tokens, which forms the text of the nodes (Moon, ¶61; Figure 4 see the text associated with the nodes) for example the text EDC and UMF (Moon, ¶76 “Based on the accessing and one or more machine-learning models, the conversational system may generate an answer 504 as "you went to two EDM concerts last year, EDC and UMF."”) corresponding to the one or more identified prompts as extract features from text, for example the test “john”, “Sam’s Dinner”, “brunch” in the knowledge graph nodes (Moon, ¶61; Figure 4 see the text associated with the nodes), thereby (Please note that this claim limitation has been identified as an intended use resulting from the retrieval of the one or more divisions) improving retrieval speed (Moon, ¶228 “The data caches may speed up read or write operations by processor 1302. The TLBs may speed up virtual-address translation for processor 1302.”) by retrieving the one or more divisions of unstructured text rather than an entirety of each of the plurality of documents of unstructured text as retrieving the specific attributes or nodes required to answer the question, for example retrieving the photos most relevant to the dialog, and identifying memories (e.g. EDC and UMF) from the dialog rather than returning the entire dialog (Moon, ¶152 “the embodiments disclosed herein may effectively utilize structural properties of memory graph to traverse and highlight specific attributes or nodes that are required to answer questions.”) instead of retrieving the entire historical dialog (¶61 “The semantic information aggregator 230 may additionally extract features from contextual information, which is accessed from dialog history between a user and the assistant system 140.”; ¶64; ¶76 “The example interaction shows three key novel features of the conversational system: 1) the ability of querying a personal database to answer a user query (memory recall QA), 2) surfacing photos most relevant to the dialog, and 3) identifying other memories to surface that are relevant to conversational contexts, resulting in increased engagement and coherent interactions.”)
identifying one or more documents as the content object, for example the photo (¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”; ¶76 “The example interaction shows three key novel features of the conversational system: 1) the ability of querying a personal database to answer a user query (memory recall QA), 2) surfacing photos most relevant to the dialog, and 3) identifying other memories to surface that are relevant to conversational contexts, resulting in increased engagement and coherent interactions.”) in one or more prompt-embedding (Moon, ¶100 “the embodiments disclosed herein represent each memory node based on both its structural features (graph embeddings) and contextual multi-modal features from its neighboring nodes ( e.g. attribute values).”) clusters as category that is white listed (Moon, ¶63 “The domain entity resolution 241 may resolve the entities by categorizing the slots and meta slots into different domains.”; ¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”) to which the one or more prompts (Please note that this claim limitation has been understood to mean --matching prompts--) that are relevant to the query belong (Moon, ¶60 “the NLU module 220 may generate a whitelist for the content objects. In particular embodiments, the whitelist may comprise interpretation data matching the user request…. The meta-intent classifier may determine categories that describe the user's intent.”).
Claim Rejections - 35 USC § 103
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 7 is rejected under 35 U.S.C. 103 as being unpatentable over Moon in view of Wang [10162886].
With regard to claim 7, Moon further teaches wherein identifying the one or more prompts relevant to the query comprises:
computing a similarity score between the query embeddings and the prompt embeddings using cosine similarity (Moon, ¶206 “A similarity metric may be a cosine similarity, a Minkowski distance, a Mahalanobis distance, a Jaccard similarity coefficient, or any suitable similarity metric. … a Euclidean distance… ”); and
selecting prompts with similarity scores above a predefined [[threshold]] as identifying two vectors as similar based on a similarity metric (Moon, ¶206).
Moon does not explicitly teach a predefined threshold. Moon incorporates three references for detailing the vector space, embeddings, feature vectors, and similarity metrics, one of which is Wang [US Patent 10162886] referenced as U.S. patent application Ser. No. 15/365789.
Whang teaches A predefined threshold (Wang, Column 23, lines 4-7 “The word senses with at least a threshold cosine similarity of 0.75 may be selected, which may correspond to the word senses "fish" and "low pitch".”; Claim 6).
It would have been obvious to one of ordinary skill to which said subject matter pertains at the time the invention was filed to have implemented the similarity metric taught by Moon using the threshold cosine similarity as detailed by Wang as this is the metric Moon directs the reader to for more detail on the subject. The proposed combination would yield the predictable results of determining when two vectors should be considered similar.
Response to Arguments
The objection to the claims have been withdrawn in view of the claim amendments.
The 112b rejection of claim 14 is withdrawn in view of the claim amendments.
Applicant's arguments filed March 11, 2026 have been fully considered but they are not persuasive. All the arguments regarding the newly added limitations are addressed in the above rejections.
With regard to the 101, applicant argues that the claimed approach improve computer retrieval performance by limiting retrieval to only those divisions linked to identified prompts, thereby reducing the volume of text fetched/processed.
In response, the claimed device retrieves the data that is stored. The identification of the ‘divisions’ of data that are stored are part of the abstract idea itself. A human being may read a document and identify the divisions (e.g. terms) that are relevant to that document. Then using standard storage and retrieval, the system may store the human identified ‘division’. When standard retrieval occurs, the system would only be able to retrieve the data that was stored (e.g. the ‘divisions’). The claimed system does not achieve the argued improvement as applicant asserts, but instead merely teaches a search and retrieval system which is retrieving what is being stored. The identification of what is being stored may be performed by the human being performing the claimed mental process. The computer system in this situation is not achieving an improvement over traditional search and retrieval, but is instead performing traditional search and retrieval on a set of data that a human being has pre-limited. The intelligence of the system may reasonable be performed by a human being performing mental processes, and then using well-understood, routine, and conventional storage and retrieval operations of a computing system to store and retrieve the human determined ‘divisions’ of documents.
Based on the above reasoning the applied rejection is maintained.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AMANDA WILLIS whose telephone number is (571)270-7691. The examiner can normally be reached Monday-Friday 8am-2pm.
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, Ajay Bhatia can be reached at 571-272-3906. 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.
/AMANDA L WILLIS/Primary Examiner, Art Unit 2156