Ambiguous Date Resolution for Electronic Communication Documents
Abstract
A computer-implemented method for resolving date ambiguities in electronic communication documents includes identifying, within the documents, date field values each associated with a different instance of a communication segment. The method also includes resolving a candidate date for each different communication segment instance, and determining a final date from among the candidate dates. The method further includes determining, based on the final date, an ordered relationship between the electronic communication documents, and storing metadata indicating the ordered relationship between the electronic communication documents.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
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; resolving, by the one or more processors, a candidate date for each different instance of the communication segment; determining, by the one or more processors, a final date from among the candidate dates; determining, by the one or more processors and based on the final date, 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 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.
3 . The computer-implemented method of claim 1 , wherein each of the plurality of date field values is included in a respective embedded header.
4 . The computer-implemented method of claim 1 , wherein determining the final date includes comparing respective priority levels associated with at least two of the candidate dates.
5 . The computer-implemented method of claim 1 , wherein determining the final date includes, for a particular candidate date:
determining whether another candidate date was already resolved for the communication segment based on another one of the identified date field values; and when determining that another candidate date was already resolved for the communication segment, comparing a priority level associated with the resolution of the particular candidate date to a priority level associated with the resolution of the other candidate date.
6 . The computer-implemented method of claim 5 , wherein (i) determining whether the other candidate node was already resolved for the communication segment, and (ii) comparing the priority level associated with the resolution of the particular candidate date to the priority level associated with the resolution of the other candidate date, both include inspecting a data structure within a cache.
7 . The computer-implemented method of claim 6 , wherein determining the final date further includes, when the priority level associated with the resolution of the particular 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 particular candidate date.
8 . The computer-implemented method of claim 5 , wherein:
resolving the candidate date for each different instance of the communication segment includes applying one or more of a plurality of available date resolution mechanisms to the identified date field value associated with the instance of the communication segment; and comparing the priority level associated with the resolution of the particular candidate date to the priority level associated with the resolution of the other candidate date includes comparing (i) a first mechanism-specific priority level associated with the resolution of the particular candidate date to (ii) a second mechanism-specific priority level associated with the resolution of the other candidate date.
9 . The computer-implemented method of claim 8 , 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.
10 . The computer-implemented method of claim 8 , wherein one of the available date resolution mechanisms resolves dates with substantially 100% certainty for any date field values that can be resolved.
11 . The computer-implemented method of claim 10 , 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.
12 . The computer-implemented method of claim 10 , 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.
13 . The computer-implemented method of claim 10 , 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.
14 . A computing system comprising:
one or more processors; and one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, 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,
resolve a candidate date for each different instance of the communication segment,
determine a final date from among the candidate dates,
determine, based on the final date, an ordered relationship between the electronic communication documents, and
store metadata indicating the ordered relationship between the electronic communication documents.
15 . The computing system of claim 14 , 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.
16 . The computing system of claim 14 , wherein each of the plurality of date field values is included in a respective embedded header.
17 . The computing system of claim 14 , wherein determining the final date includes comparing respective priority levels associated with at least two of the candidate dates.
18 . The computing system of claim 14 , wherein determining the final date includes, for a particular candidate date:
determining whether another candidate date was already resolved for the communication segment based on another one of the identified date field values; and when determining that another candidate date was already resolved for the communication segment, comparing a priority level associated with the resolution of the particular candidate date to a priority level associated with the resolution of the other candidate date.
19 . The computing system of claim 18 , wherein (i) determining whether the other candidate node was already resolved for the communication segment, and (ii) comparing the priority level associated with the resolution of the particular candidate date to the priority level associated with the resolution of the other candidate date, both include inspecting a data structure within a cache.
20 . The computing system of claim 19 , wherein determining the final date further includes, when the priority level associated with the resolution of the particular 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 particular candidate date.Join the waitlist — get patent alerts
Track US2023153515A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.