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 .
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 19 and 20 do not have a signal per se rejection because the Spec. 89 explicitly disclaims signals per se for storage media.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea of a mental concept and a mathematical relationship without significantly more. The claims recite the abstract idea of modeling a graph, searching the graph using implicit edges from the index, generating embeddings, and performing access control using access control information. This judicial exception is not integrated into a practical application because the additional elements of accessing an index of embeddings, receiving a query, presenting results and calling services are insignificant extra solution activity. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the processor, memory, media and servers are generic computer parts.
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.
Claims 2, 11 and 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.
Claim 2, 11 and 20 recite the limitation "the embedding". There is insufficient antecedent basis for this limitation in the claim. This doesn’t make sense for two reasons: 1) there is no one embedding previously claimed in the claims; 2) it doesn’t really make practical sense to generate all of the embeddings/nodes for the whole graph every time a query comes in. Examiner will interpret this to mean that the query is turned into an embedding, like in Applicant’s fig. 4, and then the vector space is searched with a cosine similarity type search. The specification paragraph 76 attempts to explain this idea, but it really falls short,
In operation 404, one or more embeddings are identified and/or generated by the embedding component 316. In some cases, the embedding component 316 identifies and uses existing embeddings that are nodes in the enterprise knowledge graph. In other cases, the embeddings are generated on-the-fly and are relevant only for the specific query execution. In these cases, the embedding component 316 accesses data associated with one or more entities and maps that data into one or more embeddings. The generated embeddings are then modeled as nodes in the enterprise knowledge graph for the duration and within the context of the specific query execution.
Spec. 76.
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.
Claims 1, 2, 6-11 and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Hybrid Structured and Similarity Queries over Wikidata plus Embeddings with Kypher-V by Chalupsky et al and US20220138170A1 to Misiewicz et al.
Claims 3-5 and 12-14 are rejected under 35 U.S.C. 103 as being unpatentable over Hybrid Structured and Similarity Queries over Wikidata plus Embeddings with Kypher-V by Chalupsky et al, US20220138170A1 to Misiewicz et al and US20240202221A1 to Siebel et al. Siebel claims priority to three provisionals, all of the provisionals were filed before 6/22/2023 – therefore, Siebel is prior art.1
Chalupsky teaches claims 1, 10 and 19. A method comprising,
accessing an approximate nearest neighbor (ANN) index that indexes entities by their embeddings; (Chalupsky sec. 4.4 “we are using a custom approximate nearest neighbor search (ANNS) index based on Faiss [4] which executes this query in less than a second.” Chalupsky sec. 4.4 step 2 “Quantization assigns vectors to the q-cell centroid they are closest to and writes the respective q-cell IDs as a column to the vector table.” The index is an ANN index, each embedding is a vector, and the implicit edge between the vectors/nodes/embeddings is the vector’s assignment to a centroid. This assignment is an indexing by the vector/embedding.)
modeling a knowledge graph by including the embeddings as nodes in the knowledge graph; (Chalupsky sec. 3 teaches a graph with each node having its own id and vector embedding called node2, see below.)
PNG
media_image1.png
46
478
media_image1.png
Greyscale
receiving a search query from (Chalupsky sec. 4.4 step 4 “At query time we search an input vector V for the top nprobe q-cell centroids closest to it using the Faiss search API.” Queries come from users. Chalupsky fig. 6 shows the query from the user, below.)
PNG
media_image2.png
218
528
media_image2.png
Greyscale
based on the search query, performing a search of the knowledge graph to obtain results, the performing the search including traversing one or more implicit edges from a node of an embedding in the knowledge graph to one or more related nodes in semantic vector space based on the ANN index; and (Chalupsky sec. 4.4 step 4 and 5 “4. At query time we search an input vector V for the top nprobe q-cell centroids closest to it using the Faiss search API. Thus, nprobe controls the depth of the similarity search trading off recall for speed. 5. Once the set of nprobe relevant q-cells has been determined, we bring in all the relevant vectors of these q-cells from disk and use a dynamically constructed Faiss search index to find the top-k matches for input V.” The inclusion in the centroids is the implicit edge, and Chalupsky searches this knowledge graph by finding the top-k matches.)
causing presentation of the results on the device of the user. (Chalupsky shows how the results are displayed in figure 6 below, under the return command.)
PNG
media_image3.png
218
528
media_image3.png
Greyscale
Chalupsky doesn’t teach a device of a user.
However, Misiewicz teaches a device of a user. (Misiewicz para 61 “ receives, from an end user system, a search query including a set of keywords…” para 62 “identifies, using a neural network, an embedding vector based on the set of keywords…”)
Misiewicz, Chalupsky and the claims are all directed to vector based search results. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to take queries from a user device because “an end user may conduct a search for information about a merchant using a third party search engine…” Misiewicz para 2.
Misiewicz teaches claims 2, 11 and 20. The method of claim 1, further comprising:
generating the embedding during execution of the search query, the embedding being valid only during the execution of the search query. (Examiner will interpret this to mean that the query is turned into an embedding, like in fig. 4, and then the vector space is searched with a cosine similarity type search. Misiewicz para 61 “ receives, from an end user system, a search query including a set of keywords…” para 62 “identifies, using a neural network, an embedding vector based on the set of keywords…” Examiner assumes the embedding is only valid for the particular search because the embedding is made from the particular search query.)
Chalupsky teaches claims 3 and 12. The method of claim 1, further comprising:
performing access control on the results, wherein only candidates of the results (Chalupsky fig. 6 teaches returning only the top k results.)
Chalupsky’s filter is not based on access control.
However, Siebel teaches performing access control on the results, wherein only candidates of the results that are accessible by the user are returned. (Siebel abs “A deterministic response is selected from the set of potential responses based on scoring of the validation data and restricting based on access controls in view profile information associated with the prompt.”)
Chalupsky, Siebel and the claims all respond to user queries/prompts. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to restrict user access to “support granular enterprise access controls, privacy, and security requirements.” Siebel para 5.
Siebel teaches claims 4 and 13. The method of claim 3, wherein performing access control comprises:
accessing the ANN index, the ANN index including access control information; (Chalupksy teaches the ANN index. Siebel teaches the access control in para 103 “generates a set of potential responses to a prompt using one or more data models (e.g., one or more large language models) with data from at least a plurality of data domains of an enterprise information environment that includes access controls.”)
determining from the ANN index whether the user has access to the candidates in the results; and (Siebel para 103 “one of the potential responses may correspond to (e.g., generated for) a director with access to the entire enterprise information environment (e.g., all of the data domains), and another potential response may correspond to (e.g., generated for) an engineer with limited access to the enterprise information environment (e.g., only one of the data domains).”)
filtering out candidates that the user does not have access to. (Siebel para 103 “one of the potential responses may correspond to (e.g., generated for) a director with access to the entire enterprise information environment (e.g., all of the data domains), and another potential response may correspond to (e.g., generated for) an engineer with limited access to the enterprise information environment (e.g., only one of the data domains).”)
Siebel teaches claims 5 and 14. The method of claim 3, wherein performing access control comprises:
calling a further service that includes access control information; (Siebel para 103 “an enterprise generative artificial intelligence system … generates a set of potential responses to a prompt … with data from at least a plurality of data domains of an enterprise information environment that includes access controls.”)
receiving the access control information from the further system; and (Siebel para 103 “ the set of potential responses includes responses that are generated based on different data and/or access control.”)
based on the access control information, filtering out candidates that the user does not have access to. (Siebel para 103 “one of the potential responses may correspond to (e.g., generated for) a director with access to the entire enterprise information environment (e.g., all of the data domains), and another potential response may correspond to (e.g., generated for) an engineer with limited access to the enterprise information environment (e.g., only one of the data domains).” Less than full access for the engineer shows a filtering of candidates.)
Misiewicz teaches claims 6 and 15. The method of claim 1, wherein performing the search comprises performing the search on a single user-centric system for a single-user query. (Misiewicz para 59 “In an embodiment, method 200 can be performed in an “offline” environment, wherein the indexed data store of structured data elements and embedding vectors can be built to enable generation of search results in response to a “real-time” search query.”)
Misiewicz teaches claims 7 and 16. The method of claim 1, wherein performing the search comprises performing the search on a tenant-ide system for a multi-user query. (Misewicz fig. 1 excerpted below.)
PNG
media_image4.png
326
556
media_image4.png
Greyscale
Chalupsky and Misiewicz teach claims 8 and 17. The method of claim 1, wherein the ANN index comprises a local ANN index that is used to retrieve the results from a local server and a global ANN index that is used to retrieve the results from a plurality of servers, the global ANN index having a same vector space as the local ANN index. (The ANN index is taught by Chalupsky. Misiewicz para 20 teaches the global search space, “FIG. 1 illustrates an example computing environment 100 including a knowledge search system 110 communicatively connected to one or more end user systems 10 to receive and process one or more search queries relating to an entity and produce search results … In an embodiment, the knowledge search system 110 may be accessible via an entity system and executed on one or more separate computing devices (e.g., servers).” Misiewicz para 59 teaches a local search server search space as an offline environment, “In an embodiment, method 200 can be performed in an “offline” environment, wherein the indexed data store of structured data elements and embedding vectors can be built to enable generation of search results in response to a “real-time” search query.” Misiewicz doesn’t change the search/vector space.)
Chalupsky teaches claims 9 and 18. The method of claim 1, further comprising:
calculating distances between nodes of embeddings connected through implicit edges;
ranking the nodes based on respective distances; and
determining the results based on the ranking. (Chalupsky fig. 6 teaches retrieving the top k search results and ranking them based on cosine similarity, then displaying them in ranked order. See below)
PNG
media_image5.png
218
528
media_image5.png
Greyscale
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Austin Hicks whose telephone number is (571)270-3377. The examiner can normally be reached Monday - Thursday 8-4 PST.
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, Mariela Reyes can be reached at (571) 270-1006. 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.
/AUSTIN HICKS/ Primary Examiner, Art Unit 2142
1 Siebel para 1 “The present application claims the benefit of U.S. Provisional Patent Application Ser. No. 63/433,124 filed Dec. 16, 2022 and entitled “Unbounded Data Model Query Handling and Dispatching Action in a Model Driven Architecture,” U.S. Provisional Patent Application Ser. No. 63/446,792 filed Feb. 17, 2023 and entitled “System and Method to Apply Generative AI to Transform Information Access and Content Creation for Enterprise Information Systems,” and U.S. Provisional Patent Application Ser. No. 63/492,133 filed Mar. 24, 2023 and entitled “Iterative Context-based Generative Artificial Intelligence,” each of which is hereby incorporated by reference herein.” Support for the access control teachings of Siebel is in provisional 63/446,792 entitled “System and Method to Apply Generative AI to Transform Information Access and Content Creation for Enterprise Information Systems”.