IP Library Granted Patent US 12,260,343
Granted Patent B2
US 12,260,343 · App. 14/797,858 · Granted Mar 25, 2025

Methods and apparatus for identifying concepts corresponding to input information

Inventors: Nadiya Yampolska (Kitchener, CA); Mathew Whitney Wilson (Kitchener, CA); Andrew Russell (Duncan, CA); Ihab Francis Ilyas (Waterloo, CA)
Assignee: Primal Fusion Inc.
G06N5/022G06F16/3334G06F16/35G06F16/367G06F16/38G06F16/9024G06F16/955G06F40/205G06Q30/02
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,260,343
App. No.
14/797,858
Granted
Mar 25, 2025
Kind
B2
Abstract

Techniques for use in identifying one of more concepts in a knowledge representation (KR). The techniques include obtaining user context information associated with a user, wherein the user context information comprises a plurality of words; Also included are semantic disambiguation techniques comprising obtaining user context information associated with a user, wherein the user context information comprises a first portion and a second portion different from the first portion; and disambiguating between a first and second concept in a knowledge representation (KR) associated with a first meaning of the first portion. Semantic disambiguation techniques further include obtaining user context information associated with a user, wherein the user context information comprises a first portion and a second portion different from the first portion; and disambiguating between a first concept and second concept in a knowledge representation (KR) using a measures of dominance and semantic coherence. Additionally, techniques are disclosed for calculating a measure of semantic coherence based on a graph of a knowledge representation (KR) and, an overlap of semantic context of a first concept and a second concept in the KR.

Claims (91)

1. A method for using knowledge representation construction to augment user context information in a user request, the method comprising:

obtaining user context information associated with a user request, wherein the user context information comprises a first portion and a second portion different from the first portion;

identifying a first group of concepts in a knowledge representation (KR), wherein each concept in the first group of concepts covers a meaning of the user context information, wherein each concept in the first group of concepts is associated with a different meaning of the first portion, wherein each concept in the first group of concepts has a label associated therewith that is substantially the same as each label associated with the other concepts in the first group of concepts;

identifying a second group of concepts in the KR, wherein each concept in the second group of concepts is a semantic context for a respective concept in the first group of concepts;

wherein the identifying is performed at least in part by using at least one processor, and said identifying is based on a measure of dominance and a measure of semantic coherence exceeding a predetermined threshold, and

constructing a context intersection graph using the first group of concepts and the second group of concepts as nodes, and a measure of semantic coherence between the first group of concepts and the second group of concepts as edges, wherein calculating the measure of semantic coherence comprises:

identifying a first semantic context of the first group of concepts in the KR, wherein the first semantic context is defined as a number of concepts in the first group of concepts which are within a predetermined distance of said first concept in said KR; and

identifying a second semantic context of the second group of concepts in the KR, wherein the second semantic context is defined as a number of concepts in the second group of concepts which are within a predetermined distance of said second concept in said KR;

ranking concepts in the context intersection graph based on the measure of semantic coherence of concepts, wherein ranking includes:

calculating a score for each concept in the first group of concepts at least in part by using the context intersection graph; and

identifying the first concept as a concept in the first group of concepts having the highest score; and

augmenting the user request using the user context information and the ranked concepts.

2. The method of claim 1 , further comprising:

calculating the measure of dominance of the first concept using a graph of the KR.

3. The method of claim 1 , wherein the knowledge representation is a semantic network represented by a data structure embodying a directed graph comprising a plurality of nodes and a plurality of edges, wherein each node is associated with a concept in the knowledge representation and an edge between two nodes represents a relationship between concepts associated with the two nodes.

4. The method of claim 1 , wherein the user context information comprises at least one of a search query provided by the user, demographic information about the user, information from the user's browsing history, information typed by the user, and/or information highlighted by the user.

5. A system for using knowledge representation construction to augment user context information in a user request, the system comprising:

at least one processor configured to perform:

obtaining user context information associated with a user request, wherein the user context information comprises a first portion and a second portion different from the first portion;

identifying a first group of concepts in a knowledge representation (KR), wherein each concept in the first group of concepts covers a meaning of the user context information, wherein each concept in the first group of concepts is associated with a different meaning of the first portion, wherein each concept in the first group of concepts has a label associated therewith that is substantially the same as each label associated with the other concepts in the first group of concepts;

identifying a second group of concepts in the KR, wherein each concept in the second group of concepts is a semantic context for a respective concept in the first group of concepts;

wherein the identifying is performed at least in part by using at least one processor, and said identifying is based on a measure of dominance and a measure of semantic coherence exceeding a predetermined threshold, and

constructing a context intersection graph using the first group of concepts and the second group of concepts as nodes, and a measure of semantic coherence between the first group of concepts and the second group of concepts as edges, wherein calculating the measure of semantic coherence comprises:

identifying a first semantic context of the first group of concepts in the KR, wherein the first semantic context is defined as a number of concepts in the first group of concepts which are within a predetermined distance of said first concept in said KR; and

identifying a second semantic context of the second group of concepts in the KR, wherein the second semantic context is defined as a number of concepts in the second group of concepts which are within a predetermined distance of said second concept in said KR;

ranking concepts in the context intersection graph based on the measure of semantic coherence of concepts, wherein ranking includes:

calculating a score for each concept in the first group of concepts at least in part by using the context intersection graph; and

identifying the first concept as a concept in the first group of concepts having the highest score; and

augmenting the user request using the user context information and the ranked concepts.

6. At least one non-transitory computer-readable storage medium storing processor executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method comprising:

obtaining user context information associated with a user request, wherein the user context information comprises a first portion and a second portion different from the first portion;

identifying a first group of concepts in a knowledge representation (KR), wherein each concept in the first group of concepts covers a meaning of the user context information, wherein each concept in the first group of concepts is associated with a different meaning of the first portion, wherein each concept in the first group of concepts has a label associated therewith that is substantially the same as each label associated with the other concepts in the first group of concepts;

identifying a second group of concepts in the KR, wherein each concept in the second group of concepts is a semantic context for a respective concept in the first group of concepts;

wherein the identifying is performed at least in part by using at least one processor, and said identifying is based on a measure of dominance and a measure of semantic coherence exceeding a predetermined threshold, and

constructing a context intersection graph using the first group of concepts and the second group of concepts as nodes, and a measure of semantic coherence between the first group of concepts and the second group of concepts as edges, wherein calculating the measure of semantic coherence comprises:

identifying a first semantic context of the first group of concepts in the KR, wherein the first semantic context is defined as a number of concepts in the first group of concepts which are within a predetermined distance of said first concept in said KR; and

identifying a second semantic context of the second group of concepts in the KR, wherein the second semantic context is defined as a number of concepts in the second group of concepts which are within a predetermined distance of said second concept in said KR;

ranking concepts in the context intersection graph based on the measure of semantic coherence of concepts, wherein ranking includes:

calculating a score for each concept in the first group of concepts at least in part by using the context intersection graph; and

identifying the first concept as a concept in the first group of concepts having the highest score; and

augmenting the user request using the user context information and the ranked concepts.

7. A method comprising:

obtaining user context information associated with a user request, wherein the user context information comprises a first portion and a second portion different from the first portion;

disambiguating between a first group of concepts in a knowledge representation (KR) associated with a first meaning of the first portion and a second group of concepts in the KR,

wherein each concept in the first group of concepts covers a meaning of the user context information and each concept in the second group of concepts is a semantic context for a respective concept in the first group of concepts;

wherein the disambiguating is performed at least in part by using at least one processor, a measure of dominance and a measure of semantic coherence exceeding a predetermined threshold,

constructing a context intersection graph using the first group of concepts and the second group of concepts as nodes, and a measure of semantic coherence between the first group of concepts and the second group of concepts as edges concept, wherein calculating the measure of semantic coherence comprises:

identifying a first semantic context of the first group of concepts in the KR, wherein the first semantic context is defined as a number of concepts in the first group of concepts which are within a predetermined distance of said first concept in said KR; and

identifying a second semantic context of the second group of concepts in the KR, wherein the second semantic context is defined as a number of concepts in the second group of concepts which are within a predetermined distance of said second concept in said KR;

ranking concepts in the context intersection graph based on the measure of semantic coherence of concepts, wherein ranking includes:

calculating a score for each concept in the first group of concepts at least in part by using the context intersection graph; and

identifying the first concept as a concept in the first group of concepts having the highest score; and

augmenting the user request using the user context information and the ranked concepts.

8. A system comprising:

at least one processor configured to perform:

obtaining user context information associated with a user request, wherein the user context information comprises a first portion and a second portion different from the first portion;

disambiguating between a first group of concepts in a knowledge representation (KR) associated with a first meaning of the first portion and a second group of concepts in the KR,

wherein each concept in the first group of concepts covers a meaning of the user context information and each concept in the second group of concepts is a semantic context for a respective concept in the first group of concepts;

wherein the disambiguating is performed at least in part by using a measure of dominance and a measure of semantic coherence exceeding a predetermined threshold,

constructing a context intersection graph using the first group of concepts and the second group of concepts as nodes, and a measure of semantic coherence between the first group of concepts and the second group of concepts as edges concept, wherein calculating the measure of semantic coherence comprises:

identifying a first semantic context of the first group of concepts in the KR, wherein the first semantic context is defined as a number of concepts in the first group of concepts which are within a predetermined distance of said first concept in said KR; and

identifying a second semantic context of the second group of concepts in the KR, wherein the second semantic context is defined as a number of concepts in the second group of concepts which are within a predetermined distance of said second concept in said KR;

ranking concepts in the context intersection graph based on the measure of semantic coherence of concepts, wherein ranking includes:

calculating a score for each concept in the first group of concepts at least in part by using the context intersection graph; and

identifying the first concept as a concept in the first group of concepts having the highest score; and

augmenting the user request using the user context information and the ranked concepts.

9. At least one non-transitory computer-readable storage medium storing processor executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method comprising:

obtaining user context information associated with a user request, wherein the user context information comprises a first portion and a second portion different from the first portion;

disambiguating between a first group of concepts in a knowledge representation (KR) associated with a first meaning of the first portion and a second group of concepts in the KR,

wherein each concept in the first group of concepts covers a meaning of the user context information and each concept in the second group of concepts is a semantic context for a respective concept in the first group of concepts;

wherein the disambiguating is performed at least in part by using a measure of dominance and a measure of semantic coherence exceeding a predetermined threshold,

constructing a context intersection graph using the first group of concepts and the second group of concepts as nodes, and a measure of semantic coherence between the first group of concepts and the second group of concepts as edges concept, wherein calculating the measure of semantic coherence comprises:

identifying a first semantic context of the first group of concepts in the KR, wherein the first semantic context is defined as a number of concepts in the first group of concepts which are within a predetermined distance of said first concept in said KR; and

identifying a second semantic context of the second group of concepts in the KR, wherein the second semantic context is defined as a number of concepts in the second group of concepts which are within a predetermined distance of said second concept in said KR;

ranking concepts in the context intersection graph based on the measure of semantic coherence of concepts, wherein ranking includes:

calculating a score for each concept in the first group of concepts at least in part by using the context intersection graph; and

identifying the first concept as a concept in the first group of concepts having the highest score; and

augmenting the user request using the user context information and the ranked concepts.

10. The method of claim 1 , further comprising calculating an amount of overlap between the first semantic context and the second semantic context using Dice's coefficient.

11. The method of claim 1 , further comprising calculating an amount of overlap based on labels of concepts in the first semantic context and labels of concepts in the second semantic context.

12. The method of claim 1 , wherein identifying the first semantic context comprises identifying at least one direct attribute of the first concept in the KR.

13. The method of claim 1 , wherein identifying the first semantic context comprises identifying at least one indirect attribute of the first concept in the KR.

14. The method of claim 1 , wherein identifying the first semantic context comprises identifying at least one ancestor of the first concept in the KR.

15. The method of claim 1 , wherein the first semantic context comprises at least one direct attribute of the first concept, at least one ancestor of the first concept, and at least one indirect attribute of the first concept.

16. The method of claim 1 , wherein the first semantic context comprises concepts within a predetermined distance of the first concept on the graph of the KR.

17. The method of claim 1 , wherein the knowledge representation is a semantic network represented by a data structure embodying a directed graph comprising a plurality of nodes and a plurality of edges, wherein each node is associated with a concept in the knowledge representation and an edge between two nodes represents a relationship between concepts associated with the two nodes.

18. The method of claim 7 , wherein the user context information comprises at least one of a search query provided by the user, demographic information about the user, information from the user's browsing history, information typed by the user, and/or information highlighted by the user.

19. The system of claim 5 , wherein the processor is further configured to perform:

calculating the measure of dominance of the first concept using a graph of the KR.

20. The system of claim 5 , wherein the knowledge representation is a semantic network represented by a data structure embodying a directed graph comprising a plurality of nodes and a plurality of edges, wherein each node is associated with a concept in the knowledge representation and an edge between two nodes represents a relationship between concepts associated with the two nodes.

21. The system of claim 5 , wherein the user context information comprises at least one of a search query provided by the user, demographic information about the user, information from the user's browsing history, information typed by the user, and/or information highlighted by the user.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jan 2, 2025
From: BUSINESS DEVELOPMENT BANK OF CANADA
To: PRIMAL FUSION INC.
Reel/Frame 069720/0916 →
SECURITY INTEREST Recorded Apr 24, 2023
From: PRIMAL FUSION INC.
To: BUSINESS DEVELOPMENT BANK OF CANADA
Reel/Frame 063425/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2015
From: YAMPOLSKA, NADIYA; WILSON, MATHEW WHITNEY; RUSSELL, ANDREW; ILYAS, IHAB FRANCIS
To: PRIMAL FUSION INC.
Reel/Frame 037124/0900 →
Continuity (6)
Continuation 14760239
Provisional Application 61751571 · Jan 11, 2013
Provisional Application 61751594 · Jan 11, 2013
Provisional Application 61751623 · Jan 11, 2013
Provisional Application 61751659 · Jan 11, 2013
Related Publication 20150356418A1 · Dec 10, 2015
References Cited (82)
US 6044347A · Abella et al. · 2000 [cited by applicant]
US 6154213A · Rennison · 2000 [cited by examiner]
US 6847979B2 · Allemang · 2005 [cited by examiner]
US 7493253B1 · Ceusters · 2009 [cited by examiner]
US 8020110B2 · Hurst · 2011 [cited by applicant]
US 8396286B1 · Aradhye · 2013 [cited by examiner]
US 8606787B1 · Asgekar · 2013 [cited by examiner]
US 8849860B2 · Ilyas · 2014 [cited by examiner]
US 9104779B2 · Hunt · 2015 [cited by examiner]
US 9235806B2 · Sweeney et al. · 2016 [cited by applicant]
US 9251166B2 · Grandhi · 2016 [cited by examiner]
US 9436681B1 · Tunstall-Pedoe · 2016 [cited by examiner]
US 9576007B1 · Sivathanu · 2017 [cited by examiner]
US 9710552B2 · Rajput · 2017 [cited by examiner]
US 9971993B2 · Cheng · 2018 [cited by examiner]
US 10002325B2 · Sweeney · 2018 [cited by examiner]
US 10867133B2 · Sweeney · 2020 [cited by examiner]
US 20030139921A1 · Byrd · 2003 [cited by examiner]
US 20040054672A1 · Tsuchitani · 2004 [cited by examiner]
US 20040139067A1 · Houle · 2004 [cited by examiner]
US 20040220895A1 · Carus · 2004 [cited by examiner]
US 20050120030A1 · Varpela · 2005 [cited by examiner]
US 20050192956A1 · Evans · 2005 [cited by examiner]
US 20050267871A1 · Marchisio · 2005 [cited by examiner]
US 20070005621A1 · Lesh · 2007 [cited by examiner]
US 20070028189A1 · Robbins · 2007 [cited by examiner]
US 20070073748A1 · Barney · 2007 [cited by examiner]
US 20070109018A1 · Perl · 2007 [cited by examiner]
US 20070250492A1 · Angel · 2007 [cited by examiner]
US 20080033897A1 · Lloyd · 2008 [cited by examiner]
US 20080109212A1 · Witbrock · 2008 [cited by examiner]
US 20080263038A1 · Judge et al. · 2008 [cited by applicant]
US 20090222400A1 · Kupershmidt · 2009 [cited by examiner]
US 20090248669A1 · Shetti · 2009 [cited by examiner]
US 20090249222A1 · Schmidt · 2009 [cited by examiner]
US 20090292691A1 · Lee · 2009 [cited by examiner]
US 20090307213A1 · Deng · 2009 [cited by examiner]
US 20100049684A1 · Adriaansen · 2010 [cited by examiner]
US 20100179759A1 · Zheng · 2010 [cited by examiner]
US 20100198799A1 · Krishnan · 2010 [cited by examiner]
US 20100223292A1 · Bhagwan · 2010 [cited by examiner]
US 20100228693A1 · Dawson · 2010 [cited by examiner]
US 20100312746A1 · Thollot · 2010 [cited by examiner]
US 20120150874A1 · Sweeney et al. · 2012 [cited by applicant]
US 20120166371A1 · Sweeney · 2012 [cited by examiner]
US 20120179642A1 · Sweeney et al. · 2012 [cited by applicant]
US 20120323932A1 · Xin · 2012 [cited by examiner]
US 20130007124A1 · Sweeney et al. · 2013 [cited by applicant]
US 20130138696A1 · Turdakov · 2013 [cited by examiner]
US 20130246328A1 · Sweeney et al. · 2013 [cited by applicant]
US 20130290338A1 · Lee · 2013 [cited by examiner]
US 20140067544A1 · Klish · 2014 [cited by examiner]
US 20140075002A1 · Pradhan · 2014 [cited by examiner]
US 20140229810A1 · Ramanathan · 2014 [cited by examiner]
US 20140278138A1 · Barber et al. · 2014 [cited by applicant]
US 20150067569A1 · Brereton · 2015 [cited by examiner]
US 20150269139A1 · McAteer et al. · 2015 [cited by applicant]
US 20150347590A1 · Kamotsky · 2015 [cited by examiner]
US 20150356418A1 · Yampolska et al. · 2015 [cited by applicant]
US 20160110421A1 · Galle · 2016 [cited by examiner]
US 20160350294A1 · Nefedov · 2016 [cited by examiner]
US 20170323023A1 · Ilyas · 2017 [cited by examiner]
US 20170330357A1 · Siegel · 2017 [cited by examiner]
US 20170372204A1 · Sweeney et al. · 2017 [cited by applicant]
US 20200333144A1 · Pögel · 2020 [cited by examiner]
CA 2823406A1 · 2012 [cited by applicant]
CA 2823420A1 · 2012 [cited by applicant]
WO WO2012088611A1 · 2012 [cited by applicant]
Iryna et al., “Semantic Coherence Scoring Using an Ontology”, 2003, Proceedings of the 2003 Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology. [cited by examiner]
Bonchi et al., “Overlapping correlation clustering” Jul. 2012, Springer-Verlag London. [cited by examiner]
Goldberg et al., “Measuring Similarity between Sets of Overlapping Clusters” 2010, Rensselaer Polytechnic Institute. [cited by examiner]
Ni et al., “Semantic Documents Relatedness using Concept Graph Representation”, ACM (Year: 2016). [cited by examiner]
Mazuel et al., “Semantic Relatedness Measure Using Object Properties in an Ontology”, Springer (Year: 2008). [cited by examiner]
Pesquita et al., “Semantic Similarity in Biomedical Ontologies”, PLOS Computational Biology (Year: 2009). [cited by examiner]
Jiang et al., “Semantic Similarity Based on Corpus Statistics and Lexical Taxonomy”, Proceedings of International Conference Research on Computational Linguistics (ROCLING X) (Year: 1997). [cited by examiner]
Drieger, “Semantic Network Analysis as a Method for Visual Text Analytics”, Elsevier Ltd. (Year: 2013). [cited by examiner]
International Search Report and Written Opinion for International Application No. PCT/CA2014/000016 mailed May 20, 2014. [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/CA2014/000016 mailed Jul. 23, 2015. [cited by applicant]
USPTO, Office Action for U.S. Appl. No. 14/760,239 dated Jan. 7, 2019. [cited by applicant]
USPTO, Office Action of U.S. Appl. No. 14/760,239 dated Dec. 27, 2017. [cited by applicant]
USPTO, Office Action of U.S. Appl. No. 14/760,239 dated Jun. 25, 2018. [cited by applicant]
USPTO, Office Action for U.S. Appl. No. 14/760,239 dated Nov. 20, 2019. [cited by applicant]