IP Library › Granted Patent US 12,405,934
Granted Patent B2
US 12,405,934 · App. 18/122,563 · Granted Sep 2, 2025

Storing entries in and retrieving information from an embedding object memory

Inventors: Samuel Edward Schillace (Portola Valley, CA); Umesh Madan (Bellevue, WA); Devis Lucato (Kirkland, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/219G06F16/24573
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,405,934
App. No.
18/122,563
Granted
Sep 2, 2025
Kind
B2
Abstract

Methods, systems, and media for storing entries in and/or retrieving information from an embedding object memory are provided. In some examples, a content item is received that has content data. The content data associated with the content item may be provided to one or more semantic embedding models that generate semantic embeddings. From one or more of the semantic embedding models, one or semantic embeddings may be received. The one or more semantic embeddings may then be inserted into the embedding object memory. The semantic embeddings may be associated with respective indications corresponding to a reference to source data associated with the semantic embeddings. Further, the insertion may trigger a spatial storage operation to store a vector representation of the one or more semantic embeddings. A plurality of collections of stored embeddings may be received from the embedding object memory, based on a provided input, to determine an action.

Claims (58)

1. A method for storing an entry in an embedding object memory, the method comprising:

receiving a content item, the content item having one or more content data;

providing one of the content data associated with the content item to one or more semantic embedding models, wherein the one or more semantic embedding models generate one or more semantic embeddings;

receiving, from one or more of the semantic embedding models, one or more semantic embeddings, wherein a collection of semantic embeddings is associated with a first semantic embedding model of the one or more semantic embedding models, wherein the collection of semantic embeddings comprises a first semantic embedding generated by the first semantic embedding model for at least one content data from the respective content item, wherein the one or more semantic embedding models comprise a version, and wherein each of the semantic embeddings generated by each of the respective one or more semantic embedding models comprise metadata corresponding to the version;

inserting the one or more semantic embeddings into the embedding object memory, wherein the embedding object memory stores one or more semantic embeddings from the collection of semantic embeddings, wherein the one or more semantic embeddings are associated with a respective indication corresponding to a reference to source data associated with the one or more semantic embeddings, and wherein the insertion triggers a spatial storage operation to store a vector representation of the one or more semantic embeddings;

providing an updated semantic embedding model to replace at least one of the semantic embedding models, the updated semantic embedding model comprising an updated version that is different than the version of the at least one of the semantic embedding models;

receiving, from the updated semantic embedding model, an updated one or more semantic embeddings corresponding to the one or more semantic embeddings generated by the at least one of the semantic embedding models, wherein the updated one or more semantic embeddings are generated based on the one of the content data used to generate the one or more semantic embeddings;

inserting the updated semantic embeddings in the embedding object memory with metadata corresponding to the updated version; and

providing the embedding object memory.

2. The method of claim 1 , wherein the vector representation is stored in at least one of an approximate nearest neighbor (ANN) tree, a k-d tree, or a multidimensional tree.

3. The method of claim 1 , wherein the semantic embedding models comprise a generative large language model (LLM).

4. The method of claim 1 , wherein the content data are a plurality of content data that are each a respective one of audio content data, visual content data, gaze content data, weather content data, news content data, calendar content data, email content data, or location content data.

5. The method of claim 1 , wherein the embedding object memory is stored at a location that is different than the location of the source data.

6. The method of claim 1 , further comprising:

deleting the one or more semantic embeddings corresponding to the updated semantic embeddings, the one or more semantic embeddings having metadata corresponding to a version that is different than the updated version.

7. A method for retrieving information from an embedding object memory, the method comprising:

receiving an input embedding, wherein the input embedding is generated by a machine-learning model;

retrieving a plurality of collections of stored semantic embeddings, from the embedding object memory, based on the input embedding, wherein the plurality of collections of stored semantic embeddings each correspond to respective content data;

retrieving a subset of semantic embeddings from at least one of the plurality of collections of stored semantic embeddings based on a similarity to the input embedding, wherein the subset of semantic embeddings includes a first semantic embedding stored with metadata corresponding to a first version of a semantic embedding model used to generate the first semantic embedding based on a content item, and wherein the subset of semantic embeddings further includes a second semantic embedding stored with metadata corresponding to a second version of the semantic embedding model used to generate the second semantic embedding based on the content item;

determining, based on the subset of semantic embeddings and the input embedding, an action; and

providing the action as an output.

8. The method of claim 7 , wherein each semantic embedding of the subset of semantic embeddings is associated with source data corresponding to the respective content data, wherein the determining an action comprises:

locating the source data; and

determining the action based on the input embedding and the source data.

9. The method of claim 8 , wherein the source data includes one or more of audio files, text files, or image files.

10. The method of claim 7 , wherein the retrieving a subset of embeddings comprises:

determining a respective similarity between the input embedding and each embedding of the plurality of collections of stored semantic embeddings;

determining an ordered ranking of the one or more similarities or that one or more of the similarities are less than a predetermined threshold; and

retrieving the subset of semantic embeddings with similarities to the input embedding that are less than the predetermined threshold or based on the ordered ranking, thereby retrieving subsets of semantic embeddings from at least one of the collections of semantic embeddings that are determined to be related to the input embedding.

11. The method of claim 10 , wherein the similarities are distances.

12. The method of claim 7 , further comprising, prior to receiving the input embedding:

receiving user-input; and

generating the input embedding based on the user-input.

13. The method of claim 7 , further comprising:

adapting a computing device to perform the action.

14. The method of claim 7 , wherein the machine-learning model is a generative multimodal machine-learning model.

15. A method for inserting entries into and retrieving information from an embedding object memory, the method comprising:

receiving a content item, the content item having one or more content data;

providing one of the content data associated with the content item to one or more semantic embedding models, wherein the one or more semantic embedding models generate one or more semantic embeddings;

receiving, from one or more of the semantic embedding models, one or more semantic embeddings, wherein a collection of semantic embeddings is associated with a first semantic embedding model of the one or more semantic embedding models, wherein the collection of semantic embeddings comprises a first semantic embedding generated by the first semantic embedding model for at least one content data from the respective content item, wherein the one or more semantic embedding models comprise a version, and wherein each of the semantic embeddings generated by each of the respective one or more semantic embedding models comprise metadata corresponding to the version;

inserting the one or more semantic embeddings into the embedding object memory, wherein the embedding object memory stores one or more semantic embeddings from the collection of semantic embeddings, and wherein the one or more semantic embeddings are associated with a respective indication corresponding to a reference to source data associated with the one or more semantic embeddings;

providing an updated semantic embedding model to replace at least one of the semantic embedding models, the updated semantic embedding model comprising an updated version that is different than the version of the at least one of the semantic embedding models;

receiving, from the updated semantic embedding model, an updated one or more semantic embeddings corresponding to the one or more semantic embeddings generated by the at least one of the semantic embedding models, wherein the updated one or more semantic embeddings are generated based on the one of the content data used to generate the one or more semantic embeddings;

inserting the updated semantic embeddings in the embedding object memory with metadata corresponding to the updated version;

receiving an input embedding;

retrieving a plurality of collections of stored semantic embeddings, from the semantic object memory, based on the input embedding;

retrieving a subset of semantic embeddings from at least one of the plurality of collections of stored semantic embeddings based on a similarity to the input embedding; and

providing the subset of semantic embeddings as an output.

16. The method of claim 15 , wherein the plurality of collections of stored semantic embeddings are retrieved based on the metadata corresponding to the version.

17. The method of claim 15 , further comprising:

determining, based on the subset of semantic embeddings and the input embedding, an action; and

adapting a computing device to perform the action.

18. The method of claim 15 , wherein the retrieving a subset of semantic embeddings comprises:

determining a respective similarity between the input embedding and each semantic embedding of the plurality of collections of stored semantic embeddings;

determining that one or more of the similarities are less than a predetermined threshold; and

retrieving the subset of semantic embeddings with similarities to the input embedding that are less than the predetermined threshold, thereby retrieving subsets of semantic embeddings from at least one of the collections of semantic embeddings that are determined to be related to the input embedding.

19. The method of claim 15 , wherein the semantic embedding models comprise a generative large language model (LLM).

20. The method of claim 15 , wherein the content data are provided to the one or more semantic embedding models locally or via an application programming interface (API).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2023
From: SCHILLACE, SAMUEL EDWARD; MADAN, UMESH; LUCATO, DEVIS
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064284/0192 →
Continuity (2)
Provisional Application 63433619 · Dec 19, 2022
Related Publication 20240202173A1 · Jun 20, 2024
References Cited (85)
US 10171656B2 · Pullamplavil · 2019 [cited by applicant]
US 10950231B1 · Kockerbeck · 2021 [cited by applicant]
US 11017780B2 · Steelberg · 2021 [cited by applicant]
US 11095468B1 · Pandey et al. · 2021 [cited by applicant]
US 11106736B1 · Newman · 2021 [cited by examiner]
US 11328368B1 · Labrie · 2022 [cited by applicant]
US 11443164B2 · Dalli · 2022 [cited by applicant]
US 11573993B2 · Nelson et al. · 2023 [cited by applicant]
US 11605387B1 · Muralitharan · 2023 [cited by applicant]
US 11823477B1 · Ramezani · 2023 [cited by examiner]
US 20030115548A1 · Melgar · 2003 [cited by applicant]
US 20140040262A1 · Winter · 2014 [cited by applicant]
US 20160070911A1 · Okereke · 2016 [cited by applicant]
US 20170212886A1 · Sarikaya et al. · 2017 [cited by applicant]
US 20180060334A1 · Jensen · 2018 [cited by examiner]
US 20180151081A1 · Chen · 2018 [cited by examiner]
US 20190028520A1 · Nawrocki · 2019 [cited by applicant]
US 20190384813A1 · Mohamed · 2019 [cited by applicant]
US 20200133071A1 · Dai · 2020 [cited by applicant]
US 20200311122A1 · Ramamurthy et al. · 2020 [cited by applicant]
US 20200311162A1 · Xu · 2020 [cited by examiner]
US 20200403817A1 · Daredia et al. · 2020 [cited by applicant]
US 20210109769A1 · Chenguang · 2021 [cited by applicant]
US 20210117479A1 · Liu · 2021 [cited by applicant]
US 20210182341A1 · Mullins · 2021 [cited by applicant]
US 20210224336A1 · Bright · 2021 [cited by applicant]
US 20210271707A1 · Lin · 2021 [cited by examiner]
US 20210303638A1 · Zhong · 2021 [cited by examiner]
US 20210342711A1 · Mokeev · 2021 [cited by examiner]
US 20220100831A1 · Moreno · 2022 [cited by examiner]
US 20220101861A1 · Antos · 2022 [cited by applicant]
US 20220198156A1 · Rao · 2022 [cited by applicant]
US 20220199079A1 · Hanson · 2022 [cited by applicant]
US 20220200934A1 · Dutta · 2022 [cited by applicant]
US 20220342900A1 · Basu · 2022 [cited by applicant]
US 20220358713A1 · Krishnamurthy · 2022 [cited by applicant]
US 20220385758A1 · Tadesse et al. · 2022 [cited by applicant]
US 20230035076A1 · Wang · 2023 [cited by applicant]
US 20230111517A1 · Anderson · 2023 [cited by applicant]
US 20230115420A1 · Dabas · 2023 [cited by applicant]
US 20230135179A1 · Mielke · 2023 [cited by applicant]
US 20230139347A1 · Bondarenko · 2023 [cited by applicant]
US 20230142718A1 · Asgekar · 2023 [cited by examiner]
US 20230153641A1 · Manda et al. · 2023 [cited by applicant]
US 20230153700A1 · Lindgren · 2023 [cited by examiner]
US 20230155903A1 · Song · 2023 [cited by applicant]
US 20230386469A1 · Horton · 2023 [cited by applicant]
US 20240078376A1 · Li · 2024 [cited by examiner]
US 20240136070A1 · El Saadawi · 2024 [cited by examiner]
US 20240201959A1 · Callegari · 2024 [cited by applicant]
US 20240202215A1 · Shashanka · 2024 [cited by examiner]
US 20240202451A1 · Schillace · 2024 [cited by applicant]
US 20240202452A1 · Schillace · 2024 [cited by applicant]
US 20240202460A1 · Schillace · 2024 [cited by applicant]
US 20240202582A1 · Schillace · 2024 [cited by applicant]
US 20240202584A1 · Schillace · 2024 [cited by applicant]
US 20240205037A1 · Callegari · 2024 [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/081290, Mar. 11, 2024, 17 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/082379, Apr. 22, 2024, 12 pages. [cited by applicant]
“Long-term Memory for AI,” Vector Database for Vector Search, Pinecone Systems, Inc., retrieved from: https://www.pinecone.io/, Mar. 27, 2023, 10 pages. [cited by applicant]
Kan, “Not All Vector Databases Are Made Equal,” Towards Data Science, Oct. 2, 2021, retrieved from: https://towardsdatascience.com/milvus-pinecone-vespa-weaviate-vald-gsi-what-unites-these-buzz-words-and-what-makes-each… [cited by applicant]
Notice of Allowance mailed on Aug. 27, 2024, in U.S. Appl. No. 18/129,758, 12 pages. [cited by applicant]
Notice of Allowability mailed on Dec. 4, 2024, in U.S. Appl. No. 18/129,758, 5 pages. [cited by applicant]
Anonymous: “Is there way to submit a table as an JSON file?”, Aug. 19, 2022, Retrieved from the Internet: URL: https://web.archive.org/web/20220819203852/https://community.openai.com/t/is-there-way-to-submit-a-table-as-… [cited by applicant]
Anonymous: “OpenAI—Spreadsheet creator”, Aug. 19, 2022, XP093140385, Retrieved from the Internet: URL: https://platform.openai.com/examples/default-spreadsheet-gen, 1 page. [cited by applicant]
Anonymous: “Skill Chaining—Wikipedia, the free encyclopedia”, Nov. 27, 2015, Retrieved from the Internet: URL: https://web.archive.org/web/20151127070537/https://en.wikipedia.org/wiki/Skill_chaining, 1 page. [cited by applicant]
Beaumont, Romain., “Semantic search with embeddings: index anything”, Dec. 1, 2020, Retrieved from the Internet: URL: https://web.archive.org/web/20221212165434/https://rom1504.medium.com/semantic-search-with-embeddings… [cited by applicant]
Chan Irene, “How to Create Meetings Summaries with OpenAI GPT-3”, Dec. 16, 2022, 04 pages. [cited by applicant]
Fukamizu, et al., “Generation High resolution 3D model from natural language by Generative Adversarial Network”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Jan. 22, 2019… [cited by applicant]
Holovaty, Adrian: “Adventures in generating music via ChatGPT text prompts”, Dec. 1, 2022, Retrieved from the Internet: URL: https://web.archive.org/web/20221217201750/https://www.holovaty.com/writing/chatgpt-music-gene… [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/081254, mailed on Apr. 10, 2024, 10 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/081261, mailed on Feb. 12, 2024, 15 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/081271, mailed on Mar. 13, 2024, 12 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/081303, mailed on Mar. 26, 2024, 15 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/081323, mailed on Mar. 13, 2024, 17 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/081342, mailed on Mar. 26, 2024, 14 pages. [cited by applicant]
Konidaris, et al., “Skill Discovery in Continuous Reinforcement Learning Domains using Skill Chaining”, Dec. 10, 2009, Retrieved from the Internet: URL: https://proceedings.neurips.cc/paper_files/paper/2009/file/ e0cf1f… [cited by applicant]
Magnani, et al., “Semantic Retrieval at Walmart”, Proceedings of the 59th ACM/IEEE Design Automation Conference, ACMPUB27, New York, NY, USA, Aug. 14, 2022, pp. 3495-3503. [cited by applicant]
Non-Final Office Action mailed on May 8, 2024, in U.S. Appl. No. 18/129,758, 21 pages. [cited by applicant]
T, Vincent., “GPT-3 and Code Generation—AI-enabled Instant Software Development”, Jan. 12, 2021, retrieved from the Internet: URL: https://becominghuman.ai/gpt-3-and-cod e-generation-ai-enabled-instant-software-developm… [cited by applicant]
Non-Final Office Action mailed on Jan. 16, 2025, in U.S. Appl. No. 18/129,668, 22 pages. [cited by applicant]
Non-Final Office Action mailed on Mar. 20, 2025, in U.S. Appl. No. 18/129,697, 08 pages. [cited by applicant]
Notice of Allowance mailed on Feb. 12, 2025, in U.S. Appl. No. 18/129,758, 05 pages. [cited by applicant]
Non-Final Office Action mailed on Apr. 15, 2025, in U.S. Appl. No. 18/129,783, 40 pages. [cited by applicant]
Non-Final Office Action mailed on Apr. 18, 2025, in U.S. Appl. No. 18/129,772, 15 pages. [cited by applicant]
Cited By (1)
US 12,743,434