US 12,112,530 B2
Execution engine for compositional entity resolution for assistant systems
Vivek Natarajan, Sunnyvale, CA (US); Baiyang Liu, Bellevue, WA (US); Shubham Gupta, Mountain View, CA (US); Krishna Mittal, Mountain View, CA (US); and Scott Martin, Mill Valley, CA (US)
Assigned to Meta Platforms, Inc., Menlo Park, CA (US)
Filed by Meta Platforms, Inc., Menlo Park, CA (US)
Filed on Jun. 29, 2021, as Appl. No. 17/362,676.
Application 17/362,676 is a continuation of application No. 16/129,638, filed on Sep. 12, 2018, granted, now 11,093,551.
Claims priority of provisional application 62/660,876, filed on Apr. 20, 2018.
Prior Publication US 2021/0326391 A1, Oct. 21, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G10L 17/22 (2013.01); G06F 3/01 (2006.01); G06F 3/16 (2006.01); G06F 7/14 (2006.01); G06F 9/451 (2018.01); G06F 16/176 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/242 (2019.01); G06F 16/2455 (2019.01); G06F 16/2457 (2019.01); G06F 16/248 (2019.01); G06F 16/33 (2019.01); G06F 16/332 (2019.01); G06F 16/338 (2019.01); G06F 16/903 (2019.01); G06F 16/9032 (2019.01); G06F 16/9038 (2019.01); G06F 16/904 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 18/2411 (2023.01); G06F 40/205 (2020.01); G06F 40/295 (2020.01); G06F 40/30 (2020.01); G06F 40/40 (2020.01); G06N 3/006 (2023.01); G06N 3/08 (2023.01); G06N 7/01 (2023.01); G06N 20/00 (2019.01); G06Q 50/00 (2012.01); G06V 10/764 (2022.01); G06V 10/82 (2022.01); G06V 20/10 (2022.01); G06V 40/20 (2022.01); G10L 15/02 (2006.01); G10L 15/06 (2013.01); G10L 15/07 (2013.01); G10L 15/16 (2006.01); G10L 15/18 (2013.01); G10L 15/183 (2013.01); G10L 15/187 (2013.01); G10L 15/22 (2006.01); G10L 15/26 (2006.01); G10L 17/06 (2013.01); H04L 12/28 (2006.01); H04L 41/00 (2022.01); H04L 41/22 (2022.01); H04L 43/0882 (2022.01); H04L 43/0894 (2022.01); H04L 51/02 (2022.01); H04L 51/18 (2022.01); H04L 51/216 (2022.01); H04L 51/52 (2022.01); H04L 67/306 (2022.01); H04L 67/50 (2022.01); H04L 67/5651 (2022.01); H04L 67/75 (2022.01); H04W 12/08 (2021.01); G10L 13/00 (2006.01); G10L 13/04 (2013.01); H04L 51/046 (2022.01); H04L 67/10 (2022.01); H04L 67/53 (2022.01)
CPC G06V 10/82 (2022.01) [G06F 3/011 (2013.01); G06F 3/013 (2013.01); G06F 3/017 (2013.01); G06F 3/167 (2013.01); G06F 7/14 (2013.01); G06F 9/453 (2018.02); G06F 16/176 (2019.01); G06F 16/2255 (2019.01); G06F 16/2365 (2019.01); G06F 16/243 (2019.01); G06F 16/24552 (2019.01); G06F 16/24575 (2019.01); G06F 16/24578 (2019.01); G06F 16/248 (2019.01); G06F 16/3323 (2019.01); G06F 16/3329 (2019.01); G06F 16/3344 (2019.01); G06F 16/338 (2019.01); G06F 16/90332 (2019.01); G06F 16/90335 (2019.01); G06F 16/9038 (2019.01); G06F 16/904 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 18/2411 (2023.01); G06F 40/205 (2020.01); G06F 40/295 (2020.01); G06F 40/30 (2020.01); G06F 40/40 (2020.01); G06N 3/006 (2013.01); G06N 3/08 (2013.01); G06N 7/01 (2023.01); G06N 20/00 (2019.01); G06Q 50/01 (2013.01); G06V 10/764 (2022.01); G06V 20/10 (2022.01); G06V 40/28 (2022.01); G10L 15/02 (2013.01); G10L 15/063 (2013.01); G10L 15/07 (2013.01); G10L 15/16 (2013.01); G10L 15/1815 (2013.01); G10L 15/1822 (2013.01); G10L 15/183 (2013.01); G10L 15/187 (2013.01); G10L 15/22 (2013.01); G10L 15/26 (2013.01); G10L 17/06 (2013.01); G10L 17/22 (2013.01); H04L 12/2816 (2013.01); H04L 41/20 (2013.01); H04L 41/22 (2013.01); H04L 43/0882 (2013.01); H04L 43/0894 (2013.01); H04L 51/02 (2013.01); H04L 51/18 (2013.01); H04L 51/216 (2022.05); H04L 51/52 (2022.05); H04L 67/306 (2013.01); H04L 67/535 (2022.05); H04L 67/5651 (2022.05); H04L 67/75 (2022.05); H04W 12/08 (2013.01); G06F 2216/13 (2013.01); G10L 13/00 (2013.01); G10L 13/04 (2013.01); G10L 2015/223 (2013.01); G10L 2015/225 (2013.01); H04L 51/046 (2013.01); H04L 67/10 (2013.01); H04L 67/53 (2022.05)] 18 Claims
OG exemplary drawing
 
1. A method comprising, by one or more computing systems:
receiving, from a client system of a user, a user input comprising a plurality of n-grams;
parsing the user input to identify one or more overall intents, one or more hidden intents, and one or more slots associated with the one or more n-grams, wherein at least one of the hidden intents is non-resolvable for being associated with partial slot information corresponding to a first n-gram that has not been resolved to a particular entity identifier, wherein the partial slot information is associated with two or more entity identifiers of two or more entities, respectively, wherein each hidden intent is associated with one of the one or more overall intents, and wherein the one or more hidden intents must be resolved prior to resolving the overall intent;
sending, to the client system, instructions for prompting the user to select one of the two or more entities to be associated with the at least one non-resolvable hidden intent and to associate the first n-gram to the entity identifier of the entity selected by the user;
resolving the at least one non-resolvable hidden intent based on the entity identifier of the entity selected by the user;
resolving the one or more overall intents based on the resolved at least one non-resolvable hidden intent that is resolved from the entity identifier of the entity selected by the user; and
generating a response to the user input based on the resolved hidden intent and the resolved one or more overall intents.