IP Library Granted Patent US 10,740,534
Granted Patent B1
US 10,740,534 · App. 16/368,673 · Granted Aug 11, 2020

Ambiguous date resolution for electronic communication documents

Inventor: Vladyslav Andrusenko (Kharkov, UA)
Assignee: RELATIVITY ODA LLC
G06F40/103G06F16/93G06F40/123G06F40/205G06F40/258
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 10,740,534
App. No.
16/368,673
Granted
Aug 11, 2020
Kind
B1
Abstract

A computer-implemented method for resolving date ambiguities in electronic communication documents includes identifying date field values associated with different instances of a single communication segment, with each instance of the segment occurring in a different electronic communication document. The date field values associated with those instances are processed by attempting one or more available date resolution mechanisms. For each date field value, a candidate date for the segment is identified using the highest-priority/confidence resolution possible for that particular date field value. A data structure in a cache is used to track which date field value allows a date to be resolved with the highest-priority resolution relative to the other date field values, by iteratively inspecting and comparing priority levels recorded in the data structure.

Claims (58)

1. A computer-implemented method for resolving date ambiguities in electronic communication documents, the computer-implemented method comprising:

identifying, by one or more processors of a computing system and within the electronic communication documents, a plurality of date field values each associated with a different instance of a communication segment, wherein each different instance of the communication segment occurs in a different one of the electronic communication documents;

processing, by the one or more processors, the identified date field values by, for each of at least some of the identified date field values,

resolving a candidate date for the communication segment based on the identified date field value,

determining, by inspecting a data structure within a cache, whether another candidate date was already resolved for the communication segment based on another one of the identified date field values, wherein the data structure includes the other candidate date,

when determining that another candidate date was already resolved for the communication segment, comparing, at least by inspecting the data structure, a priority level associated with the resolution of the candidate date to a priority level associated with the resolution of the other candidate date, and

when the priority level associated with the resolution of the candidate date is higher than the priority level associated with the resolution of the other candidate date, updating the data structure within the cache by replacing the other candidate date with the candidate date;

after processing the identified date field values, determining, by the one or more processors and based on a final candidate date in the data structure, an ordered relationship between the electronic communication documents; and

storing, by the one or more processors, metadata indicating the ordered relationship between the electronic communication documents.

2. The computer-implemented method of claim 1 , wherein resolving the candidate date includes:

applying one or more of a plurality of available date resolution mechanisms to the identified date field value.

3. The computer-implemented method of claim 2 , wherein:

each of the available date resolution mechanisms is associated with a respective mechanism-specific priority level;

the priority level associated with the resolution of the candidate date is based at least in part on a mechanism-specific priority level of a first available date resolution mechanism used in the resolution of the candidate date; and

the priority level associated with the resolution of the other candidate date is based at least in part on a mechanism-specific priority level of a second available date resolution mechanism used in the resolution of the other candidate date.

4. The computer-implemented method of claim 3 , wherein at least some of the available date resolution mechanisms determine which of a plurality of date formats to apply to the identified date field value.

5. The computer-implemented method of claim 3 , wherein one of the available date resolution mechanisms resolves dates with substantially 100% certainty for any date field values that can be resolved.

6. The computer-implemented method of claim 5 , wherein another one of the available date resolution mechanisms resolves dates with substantially less than 100% certainty for at least some date field values that can be resolved, the other one of the available date resolution mechanisms having a lower mechanism-specific priority level than the one of the available date resolution mechanisms.

7. The computer-implemented method of claim 5 , wherein:

another one of the available date resolution mechanisms resolves dates by, for a given date field value in a given communication segment of a given electronic communication document,

(i) identifying which communication segment, of all other communication segments in the given electronic communication document that include an unambiguous date field value, is the fewest number of communication segments away from the given communication segment, and

(ii) resolving a date for the given date field value using a date format that results in a smallest time distance between the date resolved for the given date field value and a date resolved for the unambiguous date field value of the identified communication segment; and

the other one of the available date resolution mechanisms is associated with a lower mechanism-specific priority level than the one of the available date resolution mechanisms.

8. The computer-implemented method of claim 5 , wherein:

another one of the available date resolution mechanisms resolves dates by, for a given date field value in a given communication segment of a given electronic communication document,

(i) determining that no communication segments in the given electronic communication document include an unambiguous date field value,

(ii) identifying a first date format that results in a smallest time distance between a first other communication segment of the given electronic communication document and a second other communication segment of the given electronic communication document,

(iii) identifying which communication segment, of the first and second other communication segments, is the fewest number of communication segments away from the given communication segment, and

(iv) resolving a date for the given date field value using a second date format that results in a smallest time distance between (a) the date resolved for the given date field value and (b) a date resolved for the date field value of the identified communication segment using the first date format; and

the other one of the available date resolution mechanisms is associated with a lower mechanism-specific priority level than the one of the available date resolution mechanisms.

9. The computer-implemented method of claim 3 , wherein:

the priority level associated with the resolution of the candidate date is further based on how many communication segments are contained in an electronic communication document that includes the identified date field value.

10. The computer-implemented method of claim 3 , wherein:

the priority level associated with the resolution of the candidate date is further based on a time-distance between an instance of the communication segment that includes the identified date field value, and an instance of another communication segment in the same electronic communication document.

11. The computer-implemented method of claim 10 , wherein:

the instance of the other communication segment includes an unambiguous date field value.

12. The computer-implemented method of claim 1 , wherein identifying the plurality of date field values each associated with a different instance of the communication segment includes:

generating a separate hash for all communication segments within the electronic communication documents; and

comparing the generated hashes to identify all instances of the communication segment.

13. The computer-implemented method of claim 12 , wherein the data structure includes the hash generated for the communication segment.

14. The computer-implemented method of claim 1 , wherein each of the plurality of date field values is included in a respective embedded header.

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a computing system, cause the computing system to:

identify, within electronic communication documents, a plurality of date field values each associated with a different instance of a communication segment, wherein each different instance of the communication segment occurs in a different one of the electronic communication documents;

process the identified date field values by, for each of the identified date field values,

resolving a candidate date for the communication segment based on the identified date field value,

determining, by inspecting a data structure within a cache, whether another candidate date was already resolved for the communication segment based on another one of the identified date field values, wherein the data structure includes the other candidate date,

when determining that another candidate date was already resolved for the communication segment, comparing, at least by inspecting the data structure, a priority level associated with the resolution of the candidate date to a priority level associated with the resolution of the other candidate date, and

when the priority level associated with the resolution of the candidate date is higher than the priority level associated with the resolution of the other candidate date, updating the data structure within the cache by replacing the other candidate date with the candidate date;

after processing the identified date field values, determine, based on a final candidate date in the data structure, an ordered relationship between the electronic communication documents; and

store metadata indicating the ordered relationship between the electronic communication documents.

16. The non-transitory computer-readable medium of claim 15 , wherein the instructions cause the computing system to resolve the candidate date by applying one or more of a plurality of available date resolution mechanisms to the identified date field value.

17. The non-transitory computer-readable medium of claim 16 , wherein:

each of the available date resolution mechanisms is associated with a respective mechanism-specific priority level;

the priority level associated with the resolution of the candidate date is based at least in part on a mechanism-specific priority level of a first one of the available date resolution mechanisms used in the resolution of the candidate date; and

the priority level associated with the resolution of the other candidate date is based at least in part on a mechanism-specific priority level of a second one of the available date resolution mechanisms used in the resolution of the other candidate date.

18. The non-transitory computer-readable medium of claim 17 , wherein at least some of the available date resolution mechanisms determine which of a plurality of date formats to apply to the identified date field value.

19. The non-transitory computer-readable medium of claim 17 , wherein one of the available date resolution mechanisms resolves dates with substantially 100% certainty for any date field values that can be resolved.

20. The non-transitory computer-readable medium of claim 19 , wherein another one of the available date resolution mechanisms resolves dates with substantially less than 100% certainty for at least some date field values that can be resolved, the other one of the available date resolution mechanisms having a lower mechanism-specific priority level than the one of the available date resolution mechanisms.

Assignments (5)
SECURITY INTEREST Recorded Jan 30, 2026
From: RELATIVITY ODA LLC; TEXT IQ, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 074537/0402 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 056218/0822 Recorded Jan 30, 2026
From: BLUE OWL CAPITAL CORPORATION, AS COLLATERAL AGENT F/K/A OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
To: RELATIVITY ODA LLC
Reel/Frame 074539/0099 →
SECURITY INTEREST Recorded May 12, 2021
From: RELATIVITY ODA LLC
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 056218/0822 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2019
From: ANDRUSENKO, VLADYSLAV
To: AGILEENGINE, LLC
Reel/Frame 049306/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2019
From: AGILEENGINE, LLC
To: RELATIVITY ODA LLC
Reel/Frame 049306/0146 →