IP Library Granted Patent US 12,321,864
Granted Patent B2
US 12,321,864 · App. 17/100,697 · Granted Jun 3, 2025

Multi-hop search for entity relationships

Inventors: Aaron Michael Taylor (Cambridge, MA); Henry Forrest Leanna Wallace (Cambridge, MA)
Assignee: Salesforce, Inc.
G06N5/022G06F16/9024G06F16/90332G06F16/93G06F40/237G06F40/30
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,321,864
App. No.
17/100,697
Granted
Jun 3, 2025
Kind
B2
Abstract

An unsupervised multi-hop search across a corpus of documents in a database or other data resource permits the identification of relationships between two entities mentioned in the corpus in cases where the two entities are not co-mentioned within any documents in the corpus (or not mentioned within document(s) with sufficient frequency or proximity to infer the relationship). The search can employ a beam search algorithm anchored by word embeddings and an A* graph traversal to calculate semantic distance between the entities as different paths through the corpus for different entity co-mentions are evaluated.

Claims (35)

1. A computer program product comprising computer executable code embodied in a non-transitory computer readable medium that, when executing on one or more computing devices, performs the steps of:

causing a search of a corpus of documents to obtain a search result including a plurality of documents each mentioning at least one of two entities;

automatically identifying a subset of the plurality of documents wherein each document in the subset contains a co-mention of both of the two entities, wherein the co-mention of both of the two entities comprises mentions of both of the two entities within a same sentence or in adjacent sentences or other surrounding text, in accordance with a rule or a metric used to identify the co-mention of the two entities;

in response to determining that a number of co-mentions of both of the two entities in the subset is above a predetermined threshold, identifying and substantiating a relationship between the two entities based on text in the documents belonging to the subset;

in response to determining that the number of co-mentions of both of the two entities in the subset is below the predetermined threshold, initiating an unsupervised multi-hop search within the plurality of documents for identifying and substantiating the relationship between the two entities through an intermediate third entity forming a chain of co-mentions between the first entity and the second entity, by:

ranking one or more additional entities co-mentioned in the plurality of documents with a first one of the two entities based on graph centrality over normalized entity identifiers;

iteratively evaluating the one or more additional entities with a beam search algorithm using an A* graph search to calculate a distance from the first one of the two entities to a second one of the two entities; and

determining an entity from the one or more additional entities that provides a smallest value for the distance from the first one of the two entities to the second one of the two entities and selecting this entity as the third entity; and

in response to locating the relationship between the two entities through the third entity, providing an identifier for the third entity and one or more segments of text substantiating a supporting co-mention of the third entity and the first one of the two entities.

2. The computer program product of claim 1 wherein using an A* graph search to calculate the distance includes calculating a text embedding to one or more top ranked ones of the one or more additional entities.

3. The computer program product of claim 2 wherein the text embedding uses a universal text embedding for natural language processing.

4. The computer program product of claim 1 further comprising code that performs the step of receiving a selection of the two entities from a user in a user interface.

5. The computer program product of claim 1 further comprising creating a knowledge graph for display in a user interface showing the relationship among the two entities and the third entity.

6. A computer program product comprising computer executable code embodied in a non-transitory computer readable medium that, when executing on one or more computing devices, performs the steps of:

causing a search of a corpus of documents to obtain a search result including a plurality of documents each mentioning one or more of two entities including a first entity and a second entity;

automatically identifying a subset of the plurality of documents wherein each document in the subset contains a co-mention of both of the two entities, wherein the co-mention of both of the two entities comprises mentions of both of the two entities within a same sentence or in adjacent sentences or other surrounding text, in accordance with a rule or a metric used to identify the co-mention of the two entities;

in response to determining that a number of co-mentions of both of the two entities in the subset is below a predetermined threshold, initiating an unsupervised multi-hop search for identifying and substantiating a relationship between the two entities through an intermediate third entity forming a chain of co-mentions with at least one of the first entity and the second entity in one or more of the plurality of documents; and

in response to locating the relationship between the two entities through the third entity, providing an identifier for the third entity and one or more segments of text substantiating the relationship with a supporting co-mention of the third entity and at least one of the two entities.

7. The computer program product of claim 6 further comprising code that performs the step of updating a knowledge graph containing the first entity and the second entity to include the relationship.

8. The computer program product of claim 7 wherein the relationship is represented in the knowledge graph as a direct relationship between the first entity and the second entity.

9. The computer program product of claim 7 wherein the relationship is represented in the knowledge graph as an indirect relationship between the first entity and the second entity through the third entity.

10. The computer program product of claim 7 further comprising code that performs the step of displaying the knowledge graph including the relationship to a user.

11. The computer program product of claim 7 wherein initiating the multi-hop search includes searching for the relationship through a plurality of intermediate entities forming a chain of co-mentions including text that substantiates the relationship between the first entity and the second entity.

12. The computer program product of claim 6 wherein the search includes a keyword search of the corpus of documents.

13. The computer program product of claim 6 wherein the search includes an entity-based search of the corpus of documents.

14. The computer program product of claim 6 further comprising code that performs the step of revising a search request against the corpus of documents when the search result includes a number of results below a second predetermined threshold.

15. The computer program product of claim 6 wherein the multi-hop search for the relationship between the two entities includes scoring one or more additional entities in the plurality of documents based on graph centrality over normalized entity identifiers.

16. The computer program product of claim 6 wherein the multi-hop search for the relationship between the two entities includes performing an A* graph search over a truncated document space using a semantic similarity function to evaluate a semantic distance to one of the two entities.

17. The computer program product of claim 6 wherein the multi-hop search for the relationship between the two entities includes evaluating a semantic distance to one of the two entities by calculating a sentence embedding using an embedding model trained for natural language processing.

18. The computer program product of claim 6 wherein the multi-hop search for the relationship between the two entities includes a beam search algorithm for iteratively evaluating semantic distances.

19. A system comprising:

a server coupled in a communicating relationship with a network;

a memory on the server storing computer executable code; and

a processor configured by the computer executable code to provide a user interface for receiving a selection of two entities including a first entity and a second entity from a user over the network, the process further configured by the computer executable code to cause a search of a corpus of documents to obtain a search result including a plurality of documents each mentioning one or more of the two entities, to automatically identify a subset of the plurality of documents wherein each document in the subset contains a co-mention of both of the two entities, wherein the co-mention of both of the two entities comprises mentions of both of the two entities within a same sentence or in adjacent sentences or other surrounding text, in accordance with a rule or a metric used to identify the co-mention of the two entities, in response to determining that a number of co-mentions of both of the two entities in the subset is below a predetermined threshold, to initiate an unsupervised multi-hop search for identifying and substantiating a relationship between the two entities through an intermediate third entity forming a chain of co-mentions with at least one of the first entity and the second entity in one or more of the plurality of documents, and in response to locating the relationship between the two entities through the third entity, presenting to the user through the user interface an identifier for the third entity and one or more segments of text substantiating the relationship with a supporting co-mention of the third entity and at least one of the two entities.

20. The system of claim 19 further comprising a database storing the corpus of documents.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2025
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 070633/0881 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2020
From: TAYLOR, AARON MICHAEL; WALLACE, HENRY FORREST LEANNA
To: SALESFORCE.COM, INC.
Reel/Frame 054586/0906 →
Continuity (1)
Related Publication 20220164679A1 · May 26, 2022
References Cited (34)
US 8751505B2 · Carmel · 2014 [cited by examiner]
US 8918348B2 · Nie · 2014 [cited by examiner]
US 10474708B2 · Roberts et al. · 2019 [cited by applicant]
US 10839021B2 · Kleiman-weiner et al. · 2020 [cited by applicant]
US 11442992B1 · Moon · 2022 [cited by examiner]
US 20060116994A1 · Jonker · 2006 [cited by examiner]
US 20070214179A1 · Hoang · 2007 [cited by examiner]
US 20100030722A1 · Goodson · 2010 [cited by examiner]
US 20130155068A1 · Bier · 2013 [cited by examiner]
US 20130212081A1 · Shenoy · 2013 [cited by examiner]
US 20140040275A1 · Dang · 2014 [cited by examiner]
US 20150324454A1 · Roberts · 2015 [cited by examiner]
US 20190325063A1 · Han · 2019 [cited by examiner]
US 20190362246A1 · Lin · 2019 [cited by examiner]
US 20200320111A1 · Roberts et al. · 2020 [cited by applicant]
US 20210027146A1 · Xu · 2021 [cited by examiner]
US 20210097078A1 · Bhat · 2021 [cited by examiner]
US 20210149980A1 · Pavlini · 2021 [cited by examiner]
Balog, Krisztian. Entity-oriented search. Springer Nature, 2018. (Year: 2018). [cited by examiner]
Wikipedia, “Beam Search,” archived Nov. 3, 2019, 6 pages. (Year: 2019). [cited by examiner]
Wikipedia, “A* Search Algorithm,” archived Nov. 17, 2019, 25 pages (Year: 2019). [cited by examiner]
Cheng, G. 2020. Relationship search over knowledge graphs. SIGWEB Newsl. 2020, Summer, Article 3 (Summer 2020), 8 pages. (Year: 2020). [cited by examiner]
Xu, Zenglin & Sheng, Yongpan & He, Lirong & Wang, Yafang. (2016). Review on Knowledge Graph Techniques. Dianzi Keji Daxue Xuebao/Journal of the University of Electronic Science and Technology of China. (Year: 2016). [cited by examiner]
Mohamed Yahya, et al. 2016. Relationship Queries on Extended Knowledge Graphs. In Proceedings of the Ninth ACM International Conference on Web Search and Data Mining (WSDM '16). Association for Computing Machinery, New … [cited by examiner]
Enrique Noriega-Atala, Mihai Surdeanu, and Clayton Morrison. 2022. Learning Open Domain Multi-hop Search Using Reinforcement Learning. In Proceedings of the Workshop on Structured and Unstructured Knowledge Integration … [cited by examiner]
Zou, Xiaohan. (2020). A Survey on Application of Knowledge Graph. Journal of Physics: Conference Series. 1487. (Year: 2020). [cited by examiner]
F. Kalloubi, E. H. Nfaoui and O. El Beqqali, “Named entity linking in microblog posts using graph-based centrality scoring,” 2014 9th International Conference on Intelligent Systems: Theories and Applications (SITA-14),… [cited by examiner]
Asai, Akari & Hashimoto, Kazuma & Hajishirzi, Hannaneh & Socher, Richard & Xiong, Caiming. (2019). Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering. (Year: 2019). [cited by examiner]
Godbole, A., et al., 2019. Multi-step Entity-centric Information Retrieval for Multi-Hop Question Answering. arXiv, Sep. 17, 2019, 6 pages. (Year: 2019). [cited by examiner]
Großmann, B. et al., Improving Semantic Search through Entity-Based Document Ranking. In Proceedings of the 5th International Conference on Web Intelligence, Mining and Semantics (WIMS '15). Association for Computing Ma… [cited by examiner]
Jensen, L., Saric, J. & Bork, P. Literature mining for the biologist: from information retrieval to biological discovery. Nat Rev Genet 7 119-129 (2006). (Year: 2006). [cited by examiner]
Sheth, A., et al., Relationships at the Heart of Semantic Web: Modeling, Discovering, and Exploiting Complex Semantic Relationships. In: Nikravesh, M., Azvine, B., Yager, R., Zadeh, L.A. (eds) Enhancing the Power of the… [cited by examiner]
Wang Y, Yao B, Wang T, Xia C, Zhao X. A Cognitive Method for Automatically Retrieving Complex Information on a Large Scale. Sensors (Basel). May 28, 2020;20(11):3057. (Year: 2020). [cited by examiner]
Welbl, Johannes, Pontus Stenetorp and Sebastian Riedel. “Constructing Datasets for Multi-hop Reading Comprehension Across Documents.” Transactions of the Association for Computational Linguistics 6 (2017): 287-302. (Yea… [cited by examiner]