# US 12,001,468 B1 · Key-value information extraction from unstructured data

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

- Number: US 12,001,468 B1
- Document ID: US12001468B1
- Status: Granted
- Kind: B1
- Application number: 18/191,641
- Filed: 2023-03-28
- Granted: 2024-06-04
- Earliest claimed: 2023-03-28
- Assignees: Freshworks Inc.
- Applicants: Freshworks Inc.
- Inventors: Rudresh Veerabhadraiah; Sachin Adlakha; Charan Kumar
- Web page: https://patentgrep.com/patent/US12001468B1

## CPC

- G06F 16/35: Clustering; Classification
- G06F 16/335: Filtering based on additional data, e.g. user or group profiles (filtering in web context G06F16/9535, G06F16/9536)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Extracting key-value attributes from unstructured data includes a parser receiving a first incident comprising key-value attributes and a second incident comprising key-value attributes, and parsing the first incident for the key-value attributes and the second incident for key-value attributes. A machine learning (ML) model perform a pairwise comparison of one or more common key-value attributes associated with the first incident and the second incident. A cosine similarity module computes a cosine similarity between the one or more common key-value attributes to generate a score for each of the one or more common key-value attributes associated with the first incident and the second incident, and generates a final score between the first incident and the second incident by averaging all cosine similarity scores computed for each of the one or more common key-value attributes.

## Claims

### Claim 1

A computer-implemented method for extracting key-value attributes from unstructured data, comprising:
receiving, by a parser, a first incident comprising key-value attributes and a second incident comprising key-value attributes, wherein the first incident and the second incident refer to an unforeseen event or issue affecting performance and functionality of an information technology (IT) system, service, or application;
parsing, by the parser, the first incident for the key-value attributes and the second incident for key-value attributes;
performing, by a machine learning (ML) model, a pairwise comparison of one or more common key-value attributes associated with the first incident and the second incident;
computing, by a cosine similarity module, a cosine similarity between the one or more common key-value attributes to generate a score for each of the one or more common key-value attributes associated with the first incident and the second incident;
generating, by the cosine similarity module, a final score between the first incident and the second incident by averaging all cosine similarity scores computed for each of the one or more common key-value attributes; and
performing a recommendation function by ranking each incident and identifying each incident with a score in top five as related incidents for management and resolution of each incident, and resolving one of the incidents from the top five.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
extracting the key-value attributes associate with the first incident and the key-value attributes associated with the second incident.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
searching, by the ML model, for the one or more common key-value attributes between the key-value attributes of the first incident and the key-value attributes of the second incident.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein performing the cosine similarity between the one or more common key-value attributes comprises computing the cosine similarity between a first vector and a second vector, as follows
similarity
⁢
(
A
,
B
)
=
cos
⁢
(
θ
)
=
(
A
·
B
)
(

A

⁢

B

)
where θ is the angle between the first vector and the second vector, and
A·B is a dot production between A and B.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising:
computing the dot production between A and B as follows
A
·
B
=
A
T
⁢
B
=
∑
i
=
1
n
A
i
⁢
B
i
=
A
1
⁢
B
1
+
A
2
⁢
B
2
+
…
+
A
n
⁢
B
n
where ∥A∥ represent an L2 norm or magnitude of the first vector or the second vector.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, further comprising:
calculating the L2 norm or the magnitude of the first vector or the second vector as follows ∥A∥=√{square root over (A11+A12+ . . . A1n)}.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the generating the final score between the first incident and the second incident further comprises
averaging all the cosine similarity scores computed for each of the one or more common key-value attributes as follows
Final
⁢
Score
=
sum
(
CS
⁢
1
,
C
⁢
S
⁢
2
,
…
⁢
CSm
)
m
where CS1, CS2, . . . CSm are the cosine similarity scores of ‘m’ common attributes.

### Claim 8

A system configured to extract key-value attributes from unstructured data, comprising:
memory comprising a set of instructions; and
at least one processor, wherein
the set of instructions are configured to cause the at least one processor to execute:
receiving, by a parser module, a first incident comprising key-value attributes and a second incident comprising key-value attributes, wherein the first incident and the second incident refer to an unforeseen event or issue affecting performance and functionality of an information technology (IT) system, service, or application;
parsing, by the parser module, the first incident for the key-value attributes and the second incident for key-value attributes;
performing, by a machine learning (ML) model, a pairwise comparison of one or more common key-value attributes associated with the first incident and the second incident;
computing, by a cosine similarity module, a cosine similarity between the one or more common key-value attributes to generate a score for each of the one or more common key-value attributes associated with the first incident and the second incident;
generating, by the cosine similarity module, a final score between the first incident and the second incident by averaging all cosine similarity scores computed for each of the one or more common key-value attributes; and
performing a recommendation function by ranking each incident and identifying each incident with a score in top five as related incidents for management and resolution of each incident, and resolving one of the incidents from the top five.

### Claim 9 (depends on 8)

The system of claim 8, wherein the set of instructions are further configured to cause the at least one processor to execute:
extracting the key-value attributes associate with the first incident and the key-value attributes associated with the second incident.

### Claim 10 (depends on 8)

The system of claim 8, wherein the set of instructions are further configured to cause the at least one processor to execute:
searching, by the ML model, for the one or more common key-value attributes between the key-value attributes of the first incident and the key-value attributes of the second incident.

### Claim 11 (depends on 8)

The system of claim 8, wherein the set of instructions are further configured to cause the at least one processor to execute:
computing the cosine similarity between a first vector and a second vector, as follows
similarity
⁢
(
A
,
B
)
=
cos
⁢
(
θ
)
=
(
A
·
B
)
(

A

⁢

B

)
where θ is the angle between the first vector and the second vector, and
A·B is a dot production between A and B.

### Claim 12 (depends on 11)

The system of claim 11, wherein the set of instructions are further configured to cause the at least one processor to execute:
computing the dot production between A and B as follows
A
·
B
=
A
T
⁢
B
=
∑
i
=
1
n
A
i
⁢
B
i
=
A
1
⁢
B
1
+
A
2
⁢
B
2
+
…
+
A
n
⁢
B
n
where ∥A∥ represent an L2 norm or magnitude of the first vector or the second vector.

### Claim 13 (depends on 12)

The system of claim 12, wherein the set of instructions are further configured to cause the at least one processor to execute:
calculating the L2 norm or the magnitude of the first vector or the second vector as follows ∥A∥=√{square root over (A11+A12+ . . . A1n)}.

### Claim 14 (depends on 13)

The system of claim 13, wherein the set of instructions are further configured to cause the at least one processor to execute:
averaging all the cosine similarity scores computed for each of the one or more common key-value attributes as follows
Final
⁢
Score
=
sum
(
CS
⁢
1
,
C
⁢
S
⁢
2
,
…
⁢
CSm
)
m
where CS1, CS2, . . . CSm are the cosine similarity scores of ‘m’ common attributes.

### Claim 15

A non-transitory computer-readable medium comprising a computer program configured to extract key-value attributes from unstructured data, the computer program being configured to cause at least one processor to execute:
receiving, by a parser module, a first incident comprising key-value attributes and a second incident comprising key-value attributes, wherein the first incident and the second incident refer to an unforeseen event or issue affecting performance and functionality of an information technology (IT) system, service, or application;
parsing, by the parser module, the first incident for the key-value attributes and the second incident for key-value attributes;
performing, by a machine learning (ML) model, a pairwise comparison of one or more common key-value attributes associated with the first incident and the second incident;
computing, by a cosine similarity module, a cosine similarity between the one or more common key-value attributes to generate a score for each of the one or more common key-value attributes associated with the first incident and the second incident;
generating, by the cosine similarity module, a final score between the first incident and the second incident by averaging all cosine similarity scores computed for each of the one or more common key-value attributes; and
performing a recommendation function by ranking each incident and identifying each incident with a score in top five as related incidents for management and resolution of each incident, and resolving one of the incidents from the top five.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the computer program is further configured to cause at least one processor to execute:
searching, by the ML model, for the one or more common key-value attributes between the key-value attributes of the first incident and the key-value attributes of the second incident.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the computer program is further configured to cause at least one processor to execute:
computing the cosine similarity between a first vector and a second vector, as follows
similarity
⁢
(
A
,
B
)
=
cos
⁢
(
θ
)
=
(
A
·
B
)
(

A

⁢

B

)
where θ is the angle between the first vector and the second vector, and
A·B is a dot production between A and B.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the computer program is further configured to cause at least one processor to execute:
computing the dot production between A and B as follows
A
·
B
=
A
T
⁢
B
=
∑
i
=
1
n
A
i
⁢
B
i
=
A
1
⁢
B
1
+
A
2
⁢
B
2
+
…
+
A
n
⁢
B
n
where ∥A∥ represent an L2 norm or magnitude of the first vector or the second vector.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein the computer program is further configured to cause at least one processor to execute:
calculating the L2 norm or the magnitude of the first vector or the second vector as follows ∥A∥=√{square root over (A11+A12+ . . . A1n)}.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein the computer program is further configured to cause at least one processor to execute:
averaging all the cosine similarity scores computed for each of the one or more common key-value attributes as follows
Final
⁢
Score
=
sum
(
CS
⁢
1
,
C
⁢
S
⁢
2
,
…
⁢
CSm
)
m
where CS1, CS2, . . . CSm are the cosine similarity scores of ‘m’ common attributes.
