IP Library Granted Patent US 12,572,575
Granted Patent B2
US 12,572,575 · App. 18/679,287 · Granted Mar 10, 2026

Using large language models to generate search query answers

Inventors: Kurt William Berglund (Kirkland, WA); Md Tanvir Islam Aumi (Redmond, WA); Caitlin Rollman (Seattle, WA); Timothy Ting (Seattle, WA); Sharanya Chandrakantha Rao Inna (Seattle, WA); Sai Rahul Reddy Pulikunta (Austin, TX); Jinai A (Seattle, WA); Xiangfeng Liu (Seattle, WA)
Assignee: HIGHSPOT, INC.
G06F16/3344G06F16/3326G06F16/383
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,572,575
App. No.
18/679,287
Granted
Mar 10, 2026
Kind
B2
Abstract

A system generates search query responses based on a content repository that include natural language answers and actions performed based on content items in the repository. The system receives a query associated with the content repository. Based on the query, the system retrieves a set of text chunks that are relevant to the query. At least a portion of the relevant text chunks are sent to a large language model (LLM) to cause the LLM to generate an answer description for the user query, based on the text chunks.

Claims (98)

1 . A computer-implemented method, comprising:

receiving, at a content management system, a plurality of content items to be stored in a content repository maintained by the content management system;

splitting, with the content management system, text associated with each of the plurality of content items into shortened text sections, wherein the shortened text sections are shorter than the text, and wherein each shortened text section has an associated shortened text embedding;

evaluating, with the content management system, a similarity of the shortened text embedding of the shortened text sections relative to a similarity threshold;

if the similarity of the shortened text embedding of the shortened text sections exceeds the similarity threshold, grouping, with the content management system, similar shortened text sections into a text chunk to generate a set of text chunks;

receiving, by a computer system associated with the content management system, a user query associated with the plurality of content items stored in the content repository maintained by the content management system, wherein the query has a query embedding;

retrieving, by the computer system, the set of text chunks corresponding to the plurality of content items, wherein each text chunk has an associated text embedding;

identifying, by the computer system, a subset of relevant text chunks from the set of text chunks based on the associated text embeddings, wherein identifying the subset of relevant text chunks comprises:

generating, by the computer system, an embedding similarity score between the query embedding corresponding to the user query and the text embedding associated with each text chunk in the set of text chunks; and

selecting, by the computer system, at least one relevant text chunk from the set of text chunks based on the embedding similarity score for the relevant text chunk being greater than a similarity threshold;

sending at least a portion of the subset of relevant text chunks to a large language model (LLM) to cause the LLM to generate an answer description for the user query; and

displaying, by the computer system, the answer description for the user query at a user interface.

2 . The computer-implemented method of claim 1 , wherein causing the LLM to generate the answer description for the user query comprises prompting the LLM to generate a summary of the subset of relevant text chunks.

3 . The computer-implemented method of claim 1 , further comprising:

sending, to the LLM, a prompt that includes the user query and that instructs the LLM to use the user query to generate a set of additional questions related to content of the user query;

assigning, by the computer system, each question from the set of questions to at least one text chunk from the set of text chunks based on the associated text embeddings;

sending, to the LLM, a prompt that includes the set of questions, the assigned text chunks, and the associated text embeddings and instructs the LLM to generate a combined answer for the user query; and

displaying, by the computer system, the combined answer for the user query at the user interface.

4 . The computer-implemented method of claim 1 , wherein:

wherein the associated text chunk of each text chunk is associated with the shortened text embedding of the shortened text sections of the respective text chunk; and

the method comprises storing, by the computer system, the set of text chunks and the shortened text embedding associated with each of the text chunks.

5 . The computer-implemented method of claim 1 , wherein the set of text chunks corresponding to the plurality of content items comprises a sentence, a paragraph, a phrase, a word, or a combination thereof.

6 . The computer-implemented method of claim 1 , wherein the answer description generated by the LLM includes content that includes at least a portion of the set of relevant text chunks for the plurality of content items.

7 . The computer-implemented method of claim 1 , further comprising:

filtering, by the computer system, the plurality of content items based on a set of content metadata associated with at least one content item from the plurality of content items,

wherein filtering the plurality of content items generates a filtered set of content items that match the set of content metadata; and

wherein retrieving the set of text chunks comprises retrieving a subset of the text chunks that correspond to the filtered set of content items.

8 . The computer-implemented method of claim 1 , further comprising:

filtering, by the computer system, the plurality of content items based on a set of user activity data for a user associated with the user query,

wherein filtering the plurality of content items generates a filtered set of content items that match the set of user activity data; and

wherein retrieving the set of text chunks comprises retrieving a subset of the text chunks that correspond to the filtered set of content items.

9 . The computer-implemented method of claim 1 , further comprising:

filtering, by the computer system, the plurality of content items based on a customer relationship management (CRM) record associated with at least one content item from the plurality of content items,

wherein filtering the plurality of content items generates a filtered set of content items that are associated with the CRM record; and

wherein retrieving the set of text chunks comprises retrieving a subset of the text chunks that correspond to the filtered set of content items.

10 . A non-transitory computer-readable storage medium storing executable computer program instructions, the computer program instructions when executed by one or more processors of a system causing the system to:

receive, at a content management system, a plurality of content items to be stored in a content repository maintained by the content management system;

split text associated with each of the plurality of content items into shortened text sections, wherein the shortened text sections are shorter than the text, and wherein each shortened text section has an associated shortened text embedding;

evaluate a similarity of the shortened text embedding of the shortened text sections relative to a similarity threshold;

if the similarity of the shortened text embedding of the shortened text sections exceed the similarity threshold, group similar shortened text sections into a text chunk to generate a set of text chunks;

receive a user query associated with the plurality of content items stored in the content repository maintained by the content management system;

retrieve the set of text chunks corresponding to the plurality of content items, wherein each text chunk has an associated text embedding;

identify a subset of relevant text chunks from the set of text chunks based on the associated text embeddings, wherein identifying the subset of relevant text chunks comprises:

generating an embedding similarity score between the query embedding corresponding to the user query and the text embedding associated with each text chunk in the set of text chunks; and

selecting at least one relevant text chunk from the set of text chunks based on the embedding similarity score for the relevant text chunk being greater than a similarity threshold;

send at least a portion of the subset of relevant text chunks to a large language model (LLM) to cause the LLM to generate an answer description for the user query; and

display the answer description for the user query at a user interface.

11 . The non-transitory computer-readable storage medium of claim 10 , wherein causing the LLM to generate the answer description for the user query comprises prompting the LLM to generate a summary of the subset of relevant text chunks.

12 . The non-transitory computer-readable storage medium of claim 10 , wherein the computer program instructions when executed by the one or more processors further cause the system to:

send, to the LLM, a prompt that includes the user query and that instructs the LLM to use the user query to generate a set of additional questions related to content of the user query;

assign each question from the set of questions to at least one text chunk from the set of text chunks based on the associated text embeddings;

send, to the LLM, a prompt that includes the set of questions, the assigned text chunks, and the associated text embeddings and instructs the LLM to generate a combined answer for the user query; and

display the combined answer for the user query at the user interface.

13 . The non-transitory computer-readable storage medium of claim 10 , wherein

wherein the associated text chunk of each text chunk is associated with the shortened text embedding of the shortened text sections of the respective text chunk; and

the computer program instructions when executed by the one or more processors to generate the text chunks corresponding to the content item further cause the system to store the set of text chunks and the shortened text embedding associated with each of the text chunks.

14 . The non-transitory computer-readable storage medium of claim 10 , wherein the computer program instructions when executed by the one or more processors further cause the system to:

filter the plurality of content items based on a set of user activity data for a user associated with the user query,

wherein filtering the plurality of content items generates a filtered set of content items that match the set of user activity data; and

wherein retrieving the set of text chunks comprises retrieving a subset of the text chunks that correspond to the filtered set of content items.

15 . A data processing system, comprising:

one or more processors; and

one or more non-transitory computer-readable storage media storing executable computer program instructions, the computer program instructions when executed by the one or more processors cause the data processing system to:

receive, at a content management system, a plurality of content items to be stored in a content repository maintained by the content management system;

split text associated with each of the plurality of content items into shortened text sections, wherein the shortened text sections are shorter than the text, and wherein each shortened text section has an associated shortened text embedding;

evaluate a similarity of the shortened text embedding of the shortened text sections relative to a similarity threshold;

if the similarity of the shortened text embedding of the shortened text sections exceeds the similarity threshold, group similar shortened text sections into a text chunk to generate a set of text chunks;

receive a user query associated with the plurality of content items stored in the content repository maintained by the content management system;

retrieve the set of text chunks corresponding to the plurality of content items, wherein each text chunk has an associated text embedding;

identify a subset of relevant text chunks from the set of text chunks based on the associated text embeddings, wherein identifying the subset of relevant text chunks comprises:

generating an embedding similarity score between the query embedding corresponding to the user query and the text embedding associated with each text chunk in the set of text chunks; and

selecting at least one relevant text chunk from the set of text chunks based on the embedding similarity score for the relevant text chunk being greater than a similarity threshold;

send at least a portion of the subset of relevant text chunks to a large language model (LLM) to cause the LLM to generate an answer description for the user query; and

display the answer description for the user query at a user interface.

16 . The data processing system of claim 15 , wherein causing the LLM to generate the answer description for the user query comprises prompting the LLM to generate a summary of the subset of relevant text chunks.

17 . The data processing system of claim 15 , wherein the computer program instructions when executed by the one or more processors further cause the system to:

send, to the LLM, a prompt that includes the user query and that instructs the LLM to use the user query to generate a set of additional questions related to content of the user query;

assign each question from the set of questions to at least one text chunk from the set of text chunks based on the associated text embeddings;

send, to the LLM, a prompt that includes the set of questions, the assigned text chunks, and the associated text embeddings and instructs the LLM to generate a combined answer for the user query; and

display the combined answer for the user query at the user interface.

18 . The data processing system of claim 15 , wherein

wherein the associated text chunk of each text chunk is associated with the shortened text embedding of the shortened text sections of the respective text chunk; and

the computer program instructions when executed by the one or more processors further cause the system to store the set of text chunks and the shortened text embedding associated with each of the text chunks.

19 . The data processing system of claim 15 , wherein the computer program instructions when executed by the one or more processors further cause the system to:

filter the plurality of content items based on a set of content metadata associated with at least one content item from the plurality of content items,

wherein filtering the plurality of content items generates a filtered set of content items that match the set of content metadata; and

wherein retrieving the set of text chunks comprises retrieving a subset of the text chunks that correspond to the filtered set of content items.

20 . The data processing system of claim 15 , wherein the computer program instructions when executed by the one or more processors further cause the system to:

filter the plurality of content items based on a set of user activity data for a user associated with the user query,

wherein filtering the plurality of content items generates a filtered set of content items that match the set of user activity data; and

wherein retrieving the set of text chunks comprises retrieving a subset of the text chunks that correspond to the filtered set of content items.

21 . The computer-implemented method of claim 1 , wherein the shortened text sections include at least one of sentence-length text, clauses within a sentence, or two or more sentences together.

22 . The computer-implemented method of claim 1 , further comprising:

validating the answer generated by the LLM in response to the user query prior to displaying the answer description at the user interface by at least one of:

(i) inputting the answer and the user query back into the LLM for confirmation by the LLM that the answer was generated based on or is consistent with the plurality of content items; or

(ii) requesting the LLM to perform determination of the answer to the user query twice at different times and comparing the answer output by the LLM at each of the different times; or

(iii) inputting the answer from the LLM and the user query to a second large language model (LLM) to verify the answer from the LLM with a second answer from the second LLM; or

(iv) inputting the user query to the LLM and the second LLM in parallel to generate the answer from the LLM and the second answer from the second LLM, and compare the answer and the second answer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: BERGLUND, KURT WILLIAM; AUMI, MD TANVIR ISLAM; ROLLMAN, CAITLIN; TING, TIMOTHY; INNA, SHARANYA CHANDRAKANTHA RAO; PULIKUNTA, SAI RAHUL REDDY; A, JINAI; LIU, XIANGFENG
To: HIGHSPOT, INC.
Reel/Frame 067574/0543 →
Continuity (2)
Provisional Application 63505408 · May 31, 2023
Related Publication 20240403341A1 · Dec 5, 2024
References Cited (132)
US 6751600B1 · Wolin · 2004 [cited by applicant]
US 7814425B1 · O'Shaugnessy · 2010 [cited by applicant]
US 7970721B2 · Leskovec et al. · 2011 [cited by applicant]
US 8014634B1 · Chan · 2011 [cited by applicant]
US 8402375B1 · Skare · 2013 [cited by applicant]
US 8447760B1 · Tong · 2013 [cited by applicant]
US 8510313B2 · Vaughan · 2013 [cited by applicant]
US 8554601B1 · Marsh · 2013 [cited by applicant]
US 8655709B2 · Kumaran · 2014 [cited by applicant]
US 8872804B2 · Cummings · 2014 [cited by applicant]
US 9727618B2 · Sharp · 2017 [cited by applicant]
US 9984310B2 · Hoffman · 2018 [cited by applicant]
US 10726297B2 · Hoffman · 2020 [cited by applicant]
US 10909075B2 · Sharp · 2021 [cited by applicant]
US 11347963B2 · Hoffman · 2022 [cited by applicant]
US 11409752B1 · Qadrud-Din · 2022 [cited by examiner]
US 11513998B2 · Sharp · 2022 [cited by applicant]
US 11620319B2 · Ramamohan · 2023 [cited by examiner]
US 11861320B1 · Gajek · 2024 [cited by examiner]
US 11995411B1 · Qadrud-Din · 2024 [cited by examiner]
US 12079185B2 · Misiewicz · 2024 [cited by examiner]
US 20020091991A1 · Castro · 2002 [cited by applicant]
US 20040267700A1 · Dumais · 2004 [cited by applicant]
US 20050267799A1 · Chan et al. · 2005 [cited by applicant]
US 20060085427A1 · D'Urso · 2006 [cited by applicant]
US 20060129538A1 · Baader et al. · 2006 [cited by applicant]
US 20060248045A1 · Toledano · 2006 [cited by applicant]
US 20070033517A1 · O'Shaugnessy · 2007 [cited by applicant]
US 20070079384A1 · Grinstein · 2007 [cited by applicant]
US 20070088583A1 · Chen · 2007 [cited by applicant]
US 20070088820A1 · Kwak · 2007 [cited by applicant]
US 20070150515A1 · Brave et al. · 2007 [cited by applicant]
US 20070240203A1 · Beck · 2007 [cited by applicant]
US 20080140684A1 · O'Reilly · 2008 [cited by applicant]
US 20080154873A1 · Redlich · 2008 [cited by applicant]
US 20080306954A1 · Hornqvist · 2008 [cited by applicant]
US 20080313716A1 · Park · 2008 [cited by applicant]
US 20090019026A1 · Valdes-Perez et al. · 2009 [cited by applicant]
US 20090063475A1 · Pendse · 2009 [cited by applicant]
US 20090106697A1 · Ward · 2009 [cited by applicant]
US 20090164431A1 · Zivkovic et al. · 2009 [cited by applicant]
US 20090178144A1 · Redlich · 2009 [cited by applicant]
US 20090222551A1 · Neely · 2009 [cited by applicant]
US 20100070488A1 · Sylvain · 2010 [cited by applicant]
US 20100076274A1 · Severson · 2010 [cited by applicant]
US 20100082622A1 · Irie · 2010 [cited by applicant]
US 20100146593A1 · Stahl · 2010 [cited by applicant]
US 20100198869A1 · Kalaboukis et al. · 2010 [cited by applicant]
US 20100235351A1 · Iwasa et al. · 2010 [cited by applicant]
US 20100250556A1 · Park · 2010 [cited by applicant]
US 20100281389A1 · Hutchinson · 2010 [cited by applicant]
US 20110107260A1 · Park · 2011 [cited by applicant]
US 20110161362A1 · Lipscombe · 2011 [cited by applicant]
US 20110191679A1 · Lin · 2011 [cited by applicant]
US 20110225153A1 · Haseyama · 2011 [cited by applicant]
US 20110238754A1 · Dasilva · 2011 [cited by applicant]
US 20110251875A1 · Cosman · 2011 [cited by applicant]
US 20120001919A1 · Lumer · 2012 [cited by applicant]
US 20120066645A1 · Laurie · 2012 [cited by applicant]
US 20120117475A1 · Lee · 2012 [cited by applicant]
US 20120131495A1 · Goossens · 2012 [cited by applicant]
US 20120143859A1 · Lymperopoulos et al. · 2012 [cited by applicant]
US 20120143880A1 · Sweeney · 2012 [cited by applicant]
US 20120158751A1 · Tseng · 2012 [cited by applicant]
US 20120191715A1 · Ruffner · 2012 [cited by applicant]
US 20120197855A1 · Chen · 2012 [cited by applicant]
US 20120271819A1 · Qiu et al. · 2012 [cited by applicant]
US 20120278329A1 · Borggaard et al. · 2012 [cited by applicant]
US 20120278761A1 · John · 2012 [cited by applicant]
US 20120290565A1 · Wana · 2012 [cited by applicant]
US 20120290614A1 · Nandakumar et al. · 2012 [cited by applicant]
US 20120310926A1 · Gannu et al. · 2012 [cited by applicant]
US 20120313948A1 · Bergman et al. · 2012 [cited by applicant]
US 20130036114A1 · Wong et al. · 2013 [cited by applicant]
US 20130054583A1 · Macklem et al. · 2013 [cited by applicant]
US 20130110813A1 · Holm et al. · 2013 [cited by applicant]
US 20130124653A1 · Vick · 2013 [cited by applicant]
US 20130218923A1 · Kaul et al. · 2013 [cited by applicant]
US 20130226995A1 · Etheredge · 2013 [cited by applicant]
US 20130254280A1 · Yang et al. · 2013 [cited by applicant]
US 20130262588A1 · Barak et al. · 2013 [cited by applicant]
US 20130268479A1 · Andler · 2013 [cited by applicant]
US 20130297582A1 · Zukovsky · 2013 [cited by applicant]
US 20130297590A1 · Zukovsky · 2013 [cited by applicant]
US 20130325858A1 · Xu · 2013 [cited by applicant]
US 20140006399A1 · Vasudevan · 2014 [cited by applicant]
US 20140019497A1 · Cidon et al. · 2014 [cited by applicant]
US 20140040246A1 · Rubinstein et al. · 2014 [cited by applicant]
US 20140089048A1 · Bruich · 2014 [cited by applicant]
US 20140089402A1 · Liyanage · 2014 [cited by applicant]
US 20140143057A1 · Lessin et al. · 2014 [cited by applicant]
US 20140164338A1 · Hickman et al. · 2014 [cited by applicant]
US 20140181204A1 · Sharp · 2014 [cited by applicant]
US 20140189516A1 · Guo · 2014 [cited by applicant]
US 20140280629A1 · Rubinstein et al. · 2014 [cited by applicant]
US 20140359424A1 · Lin · 2014 [cited by applicant]
US 20150046528A1 · Piepgrass et al. · 2015 [cited by applicant]
US 20150177933A1 · Cueto · 2015 [cited by applicant]
US 20150213204A1 · Bose · 2015 [cited by applicant]
US 20150309987A1 · Epstein · 2015 [cited by applicant]
US 20160042253A1 · Sawhney · 2016 [cited by applicant]
US 20160162591A1 · Dokania · 2016 [cited by applicant]
US 20160196336A1 · Allen et al. · 2016 [cited by applicant]
US 20160231884A1 · Plakhov et al. · 2016 [cited by applicant]
US 20180121520A1 · Degiere · 2018 [cited by examiner]
US 20180293306A1 · Park · 2018 [cited by applicant]
US 20200193153A1 · Lee · 2020 [cited by examiner]
US 20210049628A1 · Baird · 2021 [cited by examiner]
US 20210056169A1 · Bahirwani · 2021 [cited by examiner]
US 20210182496A1 · Shi · 2021 [cited by examiner]
US 20210216576A1 · Staub · 2021 [cited by examiner]
US 20210334300A1 · Banda · 2021 [cited by examiner]
US 20220035863A1 · Grewal · 2022 [cited by examiner]
US 20220138170A1 · Misiewicz · 2022 [cited by examiner]
US 20220164397A1 · Escalona · 2022 [cited by examiner]
US 20220284234A1 · Hoffman · 2022 [cited by applicant]
US 20220327287A1 · Agrawal · 2022 [cited by examiner]
US 20230161964A1 · Shah · 2023 [cited by examiner]
US 20240220735A1 · Gray · 2024 [cited by examiner]
US 20240281487A1 · Bathwal · 2024 [cited by examiner]
US 20240354436A1 · Mukherjee · 2024 [cited by examiner]
US 20240362286A1 · He · 2024 [cited by examiner]
US 20240370339A1 · Statton · 2024 [cited by examiner]
US 20240370479A1 · Hudetz · 2024 [cited by examiner]
US 20240406166A1 · Bell · 2024 [cited by examiner]
US 20240419695A1 · Matson · 2024 [cited by examiner]
US 20250036878A1 · Marwah · 2025 [cited by examiner]
JP 2012185780 · 2012 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2013/076962, Mail Date Apr. 22, 2014, 11 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2014029505, Mail Date Jul. 7, 2014, 11 pages. [cited by applicant]
Screenshot of main page of Speaker Deck website. Taken Dec. 10, 2014 https://speakerdeck.com/. [cited by applicant]
Screenshot of Frequently Asked Questions page of Speaker Deck website. Taken Dec. 10, 2014 https://speakerdeck.com/faq#file_types. [cited by applicant]