IP Library Granted Patent US 10,528,662
Granted Patent B2
US 10,528,662 · App. 15/896,030 · Granted Jan 7, 2020

Automated discovery using textual analysis

Inventors: Harlan Sexton (Palo Alto, CA); Jennifer Kloke (Mountain View, CA)
Assignee: Ayasdi AI LLC
G06F17/2765G06F16/358G06F17/2211G06F17/2229
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,528,662
App. No.
15/896,030
Granted
Jan 7, 2020
Kind
B2
Abstract

An example method includes receiving text from a plurality of documents, segmenting text received text of the plurality of documents, calculating a frequency statistic for each segment of each document, determining segments of potential interest of each document based on calculated frequency statistic, calculating distances between each document of the plurality of documents based on a text metric, and storing segments of potential interest of each document and the distances in a search database. The method may further include receiving a search query and performing a search of information contained in the search database, partitioning documents of search results using the distances, for each partition, determining labels of segments of potential interest for documents of that particular partition, the labels being determined based on a plurality of frequency statistics, and providing determined labels of segments of potential interest for documents of each partition.

Claims (75)

1. A non-transitory computer readable medium comprising executable instructions, the instructions being executable by a data processing device to perform a method, the method comprising:

receiving text from a plurality of documents;

for each document of the plurality of documents:

segmenting the received text of the particular document of the plurality of documents to create a set of segments;

for each of at least a subset of the set of segments:

calculating a document frequency statistic indicating a frequency of a particular segment of the at least a subset of the segments within the particular document of the plurality of documents;

comparing the document frequency statistic indicating the frequency of the particular segment within the particular document to a frequency threshold;

determining if the particular segment is a segment of potential interest based on the comparison of the document frequency statistic of the particular segment to the frequency threshold; and

calculating a distance between the particular document of the plurality of documents and each of the other documents of the plurality of documents using a text metric;

receiving a search query and performing a search on the received text of the plurality of documents to generate search results, the search results including at least a subset of documents of the plurality of documents;

dividing the at least the subset of the documents of the plurality of documents of the search results between a first set and a guide set;

for each of the documents of the first set, determining a closest document of the guide set using the distances for that particular document to create partitions of documents;

for each partition of documents:

retrieving the document frequency statistics of each segment of potential interest of each document in the particular partition of documents;

selecting a predetermined number of segments of potential interest of the documents in the particular partition of documents based on a highest frequency statistic of the retrieved document frequency statistics; and

determining identifying information associated with at least some content of the predetermined number of segments of potential interest of the documents in the particular partition of documents; and

providing the identified content of at least one partition for display.

2. The non-transitory computer readable medium of claim 1 , the method further comprising providing the identified content for all of the partitions.

3. The non-transitory computer readable medium of claim 1 , the method further comprising displaying the identified content of the at least one partition.

4. The non-transitory computer readable medium of claim 1 , the method further comprising generating a graph of nodes and edges connecting nodes, where each node represents a document of the search results and each edge between nodes is based on a particular distance between documents.

5. The non-transitory computer readable medium of claim 1 , wherein calculating the document frequency statistic utilizes a log likelihood function, wherein calculating the document frequency statistics comprises:

determining an expected segment score based on a total number of times the particular segment is within the plurality of documents relative to a total number of segments in the plurality of documents;

determining an observed score based on a total number of times the particular segment is within the particular document of the plurality of documents; and

generating a log likelihood function score based on the observed score relative to the expected score.

6. The non-transitory computer readable medium of claim 5 , wherein determining if the particular segment is the segment of potential interest comprises comparing the log likelihood function score associated with the particular segment to a likelihood threshold.

7. The non-transitory computer readable medium of claim 1 , wherein the distance is a result of applying a cosine term frequency-inverse document frequency (tf-idf).

8. The non-transitory computer readable medium of claim 1 , the method further comprising filtering the text to remove common or unwanted phrases.

9. The non-transitory computer readable medium of claim 1 , the method further comprising approximating a distance measure between two documents in the search results using a Dijkstra's algorithm.

10. A system comprising:

at least one processor; and

memory, the memory including executable instructions that when executed by the at least one processor performs the steps of:

receiving text from a plurality of documents;

for each document of the plurality of documents:

segmenting the received text of the particular document of the plurality of documents to create a set of segments;

for each of at least a subset of the set of segments:

calculating a document frequency statistic indicating a frequency of a particular segment of the at least a subset of the segments within the particular document of the plurality of documents;

comparing the document frequency statistic indicating the frequency of the particular segment within the particular document to a frequency threshold;

determining if the particular segment is a segment of potential interest based on the comparison of the document frequency statistic of the particular segment to the frequency threshold; and

calculating a distance between the particular document of the plurality of documents and each of the other documents of the plurality of documents using a text metric;

receiving a search query and performing a search on the received text of the plurality of documents to generate search results, the search results including at least a subset of documents of the plurality of documents;

dividing the at least the subset of the documents of the plurality of documents of the search results between a first set and a guide set;

for each of the documents of the first set, determining a closest document of the guide set using the distances for that particular document to create partitions of documents;

for each partition of documents:

retrieving the document frequency statistics of each segment of potential interest of each document in the particular partition of documents;

selecting a predetermined number of segments of potential interest of the documents in the particular partition of documents based on a highest frequency statistic of the retrieved document frequency statistics; and

determining identifying information associated with at least some content of the predetermined number of segments of potential interest of the documents in the particular partition of documents; and

providing the identified content of at least one partition for display.

11. The system of claim 10 , wherein the steps further comprise providing the identified content for all of the partitions.

12. The system of claim 10 , wherein the steps further comprise displaying the identified content of the at least one partition.

13. The system of claim 10 , wherein the steps further comprise generating a graph of nodes and edges connecting nodes, wherein each node represents a document of the search results and each edge between nodes is based on a particular distance between documents.

14. The system of claim 10 , wherein calculating the document frequency statistic utilizes a log likelihood function, wherein calculating the document frequency statistics comprises:

determining an expected segment score based on a total number of times the particular segment is within the plurality of documents relative to a total number of segments in the plurality of documents;

determining an observed score based on a total number of times the particular segment is within the particular document of the plurality of documents; and

generating a log likelihood function score based on the observed score relative to the expected score.

15. The system of claim 14 , wherein determining if the particular segment is the segment of potential interest comprises comparing the log likelihood function score associated with the particular segment to a likelihood threshold.

16. The system of claim 10 , wherein the distance is a result of applying a cosine term frequency-inverse document frequency (tf-idf).

17. The system of claim 10 , wherein the steps further comprise filtering the text to remove common or unwanted phrases.

18. The system of claim 10 , wherein the steps further comprise approximating a distance measure between two documents in the search results using a Dijkstra's algorithm.

19. A method comprising:

receiving text from a plurality of documents;

for each document of the plurality of documents:

segmenting the received text of the particular document of the plurality of documents to create a set of segments;

for each of at least a subset of the set of segments:

calculating a document frequency statistic indicating a frequency of a particular segment of the at least a subset of the segments within the particular document of the plurality of documents;

comparing the document frequency statistic indicating the frequency of the particular segment within the particular document to a frequency threshold;

determining if the particular segment is a segment of potential interest based on the comparison of the document frequency statistic of the particular segment to the frequency threshold; and

calculating a distance between the particular document of the plurality of documents and each of the other documents of the plurality of documents using a text metric;

receiving a search query and performing a search on the received text of the plurality of documents to generate search results, the search results including at least a subset of documents of the plurality of documents;

dividing the at least the subset of the documents of the plurality of documents of the search results between a first set and a guide set;

for each of the documents of the first set, determining a closest document of the guide set using the distances for that particular document to create partitions of documents;

for each partition of documents:

retrieving the document frequency statistics of each segment of potential interest of each document in the particular partition of documents;

selecting a predetermined number of segments of potential interest of the documents in the particular partition of documents based on a highest frequency statistic of the retrieved document frequency statistics; and

determining identifying information associated with at least some content of the predetermined number of segments of potential interest of the documents in the particular partition of documents; and

providing the identified content of at least one partition for display.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2026
From: JPMORGAN CHASE BANK, N.A.
To: SYMPHONYAI LLC; SYMPHONYAI SENSA LLC; SYMPHONYAI INDUSTRIAL DIGITAL MANUFACTURING, INC.
Reel/Frame 075142/0817 →
SECURITY INTEREST Recorded Jun 30, 2026
From: SYMPHONYAI SENSA LLC
To: OXFORD FINANCE LLC
Reel/Frame 075136/0001 →
SECURITY INTEREST Recorded May 1, 2023
From: SYMPHONYAI LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 063501/0305 →
SECURITY INTEREST Recorded Nov 17, 2022
From: SYMPHONYAI LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 061963/0139 →
CHANGE OF NAME Recorded Nov 10, 2022
From: AYASDI AI LLC
To: SYMPHONYAI SENSA LLC
Reel/Frame 061914/0400 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2019
From: AYASDI, INC.
To: AYASDI AI LLC
Reel/Frame 049428/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2018
From: SEXTON, HARLAN; KLOKE, JENNIFER
To: AYASDI, INC.
Reel/Frame 044933/0142 →
Continuity (3)
Continuation 14481546 · Sep 9, 2014
Provisional Application 61875641 · Sep 9, 2013
Related Publication 20180173697A1 · Jun 21, 2018