# US 11,443,114 B1 · Computing system for entity disambiguation and not-in-list entity detection in a knowledge graph

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,114 B1
- Document ID: US11443114B1
- Status: Granted
- Kind: B1
- Application number: 17/352,902
- Filed: 2021-06-21
- Granted: 2022-09-13
- Earliest claimed: 2021-06-21
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Yujie He; Xiao Li; Wenjin Xu
- Web page: https://patentgrep.com/patent/US11443114B1

## CPC

- G06F 40/279: Recognition of textual entities
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 16/9558: {Details of hyperlinks; Management of linked annotations}
- G06F 40/134: Hyperlinking
- G06F 40/258: Heading extraction; Automatic titling; Numbering
- G06F 40/30: Semantic analysis
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 5/02: Knowledge representation; Symbolic representation
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06N 3/08: Learning methods
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A computing system obtains computer-readable text comprising an identifier for an entity and an additional word. The computing system computes relevance scores for entries for entities in a computer-implemented knowledge graph upon the text, titles for the entities in the knowledge graph, and descriptions of the entities in the knowledge graph. The computing system determines whether the identifier for the entity is an acronym or a non-acronym. The computing system identifies an entry for the entity in the knowledge graph based upon the relevance scores and whether the identifier for the entity is an acronym or a non-acronym. The computing system generates a link between the identifier for the entity in the text and the entry for the entity in the knowledge graph, where data from the entry for the entity in the knowledge graph is presented to a user upon the link being selected.

## Claims

### Claim 1

A computing system, comprising:
a processor; and
memory storing instructions that, when executed by the processor, cause the processor to perform acts comprising:
obtaining computer-readable text comprising an identifier for an entity and at least one additional word;
computing, by way of an encoder, relevance scores for entries for entities in a computer-implemented knowledge graph based upon the text, titles for the entities in the knowledge graph, and descriptions of the entities in the knowledge graph;
determining whether the identifier for the entity is an acronym or a non-acronym;
identifying an entry for the entity in the knowledge graph based upon the relevance scores and whether the identifier for the entity is the acronym or the non-acronym; and
generating a link in the text between the identifier for the entity and the entry for the entity in the knowledge graph, wherein data from the entry for the entity in the knowledge graph is presented to a user upon the link being selected.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the at least one additional word comprises a first word that occurs before the identifier for the entity in the text and a second word that occurs after the identifier for the entity in the text, wherein computing a relevance score for the entry for the entity in the knowledge graph comprises:
generating a concatenation of the first word, the identifier for the entity, the second word, a title of the entity in the knowledge graph, a description of the entity in the knowledge graph, and a plurality of tokens;
generating a vectorized representation of the text and the entry for the entity based upon the concatenation; and
reducing the vectorized representation to a scalar value, wherein the relevance score is the scalar value.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein a relevance score of the entry is indicative of a contextual similarity between the text and the entry for the entity in the knowledge graph.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein the encoder is a cross-encoder.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein the text is from a web page.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein identifying the entry for the entity in the knowledge graph comprises:
assigning ranks to the entries for the entities based upon the relevance scores; and
selecting the entry for the entity based upon the entry for the entity being assigned a highest rank amongst the ranks assigned to the entries.

### Claim 7 (depends on 1)

The computing system of claim 1, wherein identifying the entry for the entity in the knowledge graph comprises:
when the identifier for the entity in the text is the acronym, comparing a relevance score for the entry for the entity to a first threshold score, wherein the link is generated between the identifier for the entity in the text and the entry for the entity in the knowledge graph when the relevance score for the entry is greater than or equal to the first threshold score; and
when the identifier for the entity in the text is the non-acronym, comparing the relevance score for the entry for the entity to a second threshold score, wherein the link is generated between the identifier for the entity in the text and the entry for the entity in the knowledge graph when the relevance score for the entry is greater than or equal to the second threshold score.

### Claim 8 (depends on 1)

The computing system of claim 1, wherein determining whether the identifier for the entity is the acronym or the non-acronym comprises:
determining whether each character in the identifier for the entity is capitalized;
when each character in the identifier for the entity is capitalized, determining that the identifier for the entity is the acronym; and
when each character in the identifier for the entity is not capitalized, determining that the identifier for the entity is the non-acronym.

### Claim 9 (depends on 1)

The computing system of claim 1, the acts further comprising:
prior to computing the relevance scores and subsequent to obtaining the text, executing a search over the knowledge graph based upon the identifier for the entity; and
identifying the entries for the entities based upon search results for the search.

### Claim 10 (depends on 1)

The computing system of claim 1, wherein the link in the text between the identifier for the entity and the entry for the entity in the knowledge graph is generated only when a relevance score for the entry is greater than or equal to a threshold value, wherein the entity is not referenced in the knowledge graph when the relevance score is less than the threshold value.

### Claim 11 (depends on 1)

The computing system of claim 1, wherein the identifier for the entity in the text is a name of the entity, wherein the knowledge graph includes a second entry for a second entity, wherein the entity and the second entity share the name.

### Claim 12

A method executed by a processor of a computing system, the method comprising:
obtaining computer-readable text comprising an identifier for an entity and at least one additional word;
computing, by way of an encoder, relevance scores for entries for entities in a computer-implemented knowledge graph based upon the text, titles for the entities in the knowledge graph, and descriptions of the entities in the knowledge graph;
determining whether the identifier for the entity is an acronym or a non-acronym;
identifying an entry in the knowledge graph based upon the relevance scores; and
when a relevance score for the entry is greater than or equal to a threshold score, generating a link in the text between the identifier for the entity and the entry in the knowledge graph, wherein the threshold score is based upon whether the identifier for the entity is the acronym or the non-acronym, wherein data from the entry in the knowledge graph is presented on a display to a user upon a computing device operated by the user receiving a selection of the link by the user, wherein the data corresponds to the entity.

### Claim 13 (depends on 12)

The method of claim 12, wherein the entry in the knowledge graph has a highest relevance score from amongst the relevance scores.

### Claim 14 (depends on 12)

The method of claim 12, wherein the threshold score is a first threshold score when the identifier for the entity is the acronym, wherein the threshold score is a second threshold score when the identifier for the entity is the non-acronym.

### Claim 15 (depends on 12)

The method of claim 12, wherein obtaining the text comprises receiving the text from a second computing device over a network connection.

### Claim 16 (depends on 12)

The method of claim 12, further comprising:
when the relevance score for the entry is less than the threshold score, outputting an indication that the identifier for the entity in the text cannot be linked to the entry in the knowledge graph.

### Claim 17 (depends on 12)

The method of claim 12, wherein the at least one additional word comprises a first word that occurs before the identifier for the entity in the text and a second word that occurs after the identifier for the entity in the text, wherein computing the relevance score for the entry comprises:
generating a concatenation of the first word, the identifier for the entity, the second word, a title of the entity in the knowledge graph, a description of the entity in the knowledge graph, and a plurality of tokens;
generating a vectorized representation of the text and the entry for the entity based upon the concatenation; and
reducing the vectorized representation to a scalar value, wherein the relevance score is the scalar value.

### Claim 18 (depends on 12)

The method of claim 12, wherein the text is presented on the display, wherein the link is embedded in the identifier for the entity in the text.

### Claim 19 (depends on 18)

The method of claim 18, wherein the data from the entry is presented on the display concurrently with the identifier for the entity in the text.

### Claim 20

A non-transitory computer-readable storage medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
obtaining computer-readable text comprising an identifier for an entity and at least one additional word;
computing, by way of an encoder, relevance scores for entries for entities in a computer-implemented knowledge graph based upon the text, titles for the entities in the knowledge graph, and descriptions of the entities in the knowledge graph;
assigning ranks to the entries for the entities based upon the relevance scores;
determining whether the identifier for the entity in the text is an acronym or a non-acronym;
when the identifier for the entity is the acronym:
comparing a relevance score for an entry in the knowledge graph having a highest rank to a first threshold score; and
when the relevance score is greater than or equal to the first threshold score, generating a link in the text between the identifier for the entity and the entry in the knowledge graph; and
when the identifier for the entity is the non-acronym:
comparing the relevance score for the entry in the knowledge graph having the highest rank to a second threshold score; and
when the score is greater than or equal to the second threshold score, generating the link in the text between the identifier for the entity and the entry in the knowledge graph,
wherein data from the entry in the knowledge graph is presented to a user upon the link being selected.
