US2024095450A1PendingUtilityA1

System and method for automatic theming of a plurality of thought objects

Assignee: FULCRUM MAN SOLUTIONS LTDPriority: Apr 6, 2022Filed: Jun 16, 2023Published: Mar 21, 2024
Est. expiryApr 6, 2042(~15.7 yrs left)· nominal 20-yr term from priority
G06F 40/284G06F 40/117G06F 40/242G06F 40/30G06F 16/374G06F 16/355G06F 16/35G06F 16/345G06F 16/313
62
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method for automated theming of thought objects is disclosed. In a preferred embodiment, an object theming computer creates aggregated text by aggregating text associated with a first thought object, the aggregated text comprising descriptive and important text associated with the first thought object. The object theming computer then tokenizes the aggregated text into tokens. Further, a theme is associated to thought objects using one or more previously themed thought objects. If one or more thought objects have no associated theme, then a theme is generated and associated to the un-themed thought objects using a current plurality of the one or more thought objects.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system for creating a themed plurality of thought objects, the system comprising:
 an object theming computer comprising a processor, a memory and a plurality of programming instructions, the plurality of programming instructions when executed by the processor cause the processor to:
 for each thought object of a plurality of thought objects:
 create aggregated text by aggregating a plurality of text associated with a first thought object of a plurality of thought objects; 
 tokenize the aggregated text into a plurality of tokens; 
 for each token of the plurality of tokens:
 responsive to a first token, of the plurality of tokens, is not a stop word, convert the first token to an associated stem, otherwise remove the first token; and 
 add the associated stem to a stem dictionary; 
 
 
 associate a theme to each thought object of at least a portion of the plurality of thought objects, wherein the associated theme is extracted from a previously themed plurality of thought objects or the associated theme is generated from a plurality of clustered un-themed thought objects with similar topics, or both; and 
 display the themed plurality of thought objects on a graphical user interface of a user device. 
   
     
     
         2 . The system of  claim 1 , wherein to extract a theme from a previously themed plurality of thought objects, the plurality of programming instructions when further executed by the processor cause the processor to:
 receive one or more previously themed thought objects, the one or more previously themed thought objects each having an associated theme, of a plurality of themes;   create a first list of stems comprising a plurality of unique stems, the plurality of unique stems associated with the one or more previously themed thought objects;   create a first matrix based on a quantity of the one or more previously themed thought objects, and a quantity of stems in the first list of stems, the first matrix comprising term frequency-inverse document frequency values for each thought object, of the plurality of thought objects, and each stem, of the first list of stems;   sum the term frequency-inverse document frequency values per stem, of the first list of stems, across the thought objects associated to each theme of the plurality of themes;   normalize the term frequency-inverse document frequency values by dividing each value by a maximum term frequency-inverse document frequency value within a first theme of the plurality of themes;   select at least a portion of stems of the first list of stems, the at least portion of stems comprising stems associated with a highest term frequency-inverse document frequency value;   receive a plurality of un-themed thought objects;   create a second list of stems comprising one or more unique stems, the one or more unique stems associated with the plurality of un-themed thought objects;   create a second matrix based on a quantity of the plurality of un-themed thought objects, and a quantity of stems in the second list of stems, the second matrix comprising term frequency values for each thought object, of the plurality of thought objects, and each stem, of the second list of stems; and   for each un-themed thought object, of the plurality of un-themed thought objects:
 if at least one stem of the second list of stems has a non-zero value, then: 
 identify a filtered plurality of stems from the first matrix found in the second list of stems; 
 sum the term frequency values associated with the filtered plurality of stems for each theme of the plurality of themes; and 
 identify a theme associated with a highest sum and assign the theme to at least a portion of the plurality of un-themed thought objects. 
   
     
     
         3 . The system of  claim 1 , wherein to generate the plurality of clustered un-themed thought objects with similar topics, the programming instructions when further executed by the processor, cause the processor to:
 receive a plurality of remaining un-themed thought objects; and   for each remaining un-themed thought object, of the plurality of remaining un-themed thought objects, with at least one associated stem:
 create a first list of stems, the first list of stems comprising unique stems across all remaining un-themed thought objects; 
 create a thought versus stem matrix based on a quantity of the plurality of remaining un-themed thought objects, and a quantity of stems in the list of stems, the matrix comprising a term frequency-inverse document frequency value for each remaining un-themed thought object and each stem, of the list of stems; 
 determine a preferred number of topics; 
 build a non-negative matrix factorization to create a set of topics based on the preferred number of topics such that each topic is a weighted combination of stems, and a weighted combination of the determined set of topics per un-themed thought object; and 
 for each remaining un-themed thought objects:
 identify a first coefficient associated with a minimum topic coefficients; 
 identify a second coefficient associated with a maximum topic coefficient; 
 for each topic coefficient associated to a first thought object of the plurality of remaining un-themed thought objects:
 subtract the topic coefficient by the first coefficient and divide by a difference of the second coefficient and the first coefficient; 
 determine a preferred number of themes; 
 apply K-means clustering on the matrix using the preferred number of themes; 
 create one or more thought tags; 
 calculate one or more themes; and 
 associate each thought object of the plurality of remaining un-themed thought objects with a theme of the one or more themes. 
 
 
   
     
     
         4 . The system of  claim 3 , wherein to calculate the preferred number of themes, the plurality of programming instructions when further executed by the processor cause the processor to apply k-means clustering and an elbow plot, comprising an application of coefficients of each topic per thought object for a range of themes related to a number of un-themed thought objects. 
     
     
         5 . The system of  claim 3 , wherein to calculate the one or more thought tags, the plurality of programming instructions when further executed by the processor cause the processor to:
 define a first function for tags associated with an un-themed thought object and set the first function to an empty dictionary;   retrieve topic coefficients for the un-themed thought object from a thought versus topic matrix, using non-negative matrix factorization (NMF);   generate stem coefficients for the un-themed thought object by multiplying values of topic coefficients associated with the un-themed thought object, with values from the thought versus stem matrix;   define a second function and set the second function to an empty list for the un-themed thought object; and   responsive to a stem existing in a set of stems of tokens associated with the un-themed thought object, generate a most frequent token in the stem dictionary function and append the most frequent token with the associated coefficient to the second function.   
     
     
         6 . The system of  claim 5  wherein to calculate the one or more themes, the plurality of programming instructions when further executed by the processor cause the processor to:
 define a third function set to an empty dictionary; 
 select a thought object assigned to a selected theme; 
 for each tag coefficient in the second function, determine whether the tag coefficient exists in a list of theme tags; 
 if the tag coefficient exists in the list of theme tags, set the tag coefficient for the thought object to a first predefined value; 
 otherwise, set the tag coefficient to a second predefined value; 
 normalize each tag coefficient saved in the list of theme tags; 
 sort the list of theme tags by values of their respective tag coefficients; 
 generate a ranked list of theme tags based on the sorting; 
 responsive to at least one of the ranked list of theme tags occurring in the list of theme tags, capitalize each such theme tag; and 
 responsive to none of the theme tags from the ranked list of theme tags occurring in the list of theme tags, label the associated theme as un-themed. 
 
     
     
         7 . The system of  claim 6 , wherein the plurality of programming instructions when further executed by the processor cause the processor to:
 responsive to the ranked list of theme tags comprising more than one theme tag, define a fourth function set to an empty dictionary; and   responsive to the ranked list of theme tags containing a single theme tag, label the associated theme using the single theme tag.   
     
     
         8 . A computer-implemented method for creating a themed plurality of thought objects, the method comprising:
 for each thought object of a plurality of thought objects:
 creating, by an object theming computer, aggregated text by aggregating a plurality of text associated with a first thought object of a plurality of thought objects; 
 tokenizing, by the object theming computer, the aggregated text into a plurality of tokens; 
 for each token of the plurality of tokens:
 responsive to a first token of the plurality of tokens is not a stop word, converting, by the object theming computer, each token of the plurality of tokens to an associated stem, otherwise remove the first token; and 
 adding, by the object theming computer, the associated stem to a stem dictionary; 
 
 associating, by the object theming computer, a theme to each thought object of at least a portion of thought objects of the plurality of thought objects wherein the associated theme is extracted from a previously themed plurality of thought objects or the associated theme is generated from a plurality of clustered un-themed thought objects with similar topics, or both; and 
 display the themed plurality of thought objects on a graphical user interface of a user device. 
   
     
     
         9 . The method of  claim 8 , wherein extracting a theme from a previously themed plurality of thought objects comprises the steps of:
 receiving, by the object theming computer, one or more previously themed thought objects, the one or more previously themed thought objects each having an associated theme, of a plurality of themes;   creating, by the object theming computer, a first list of stems comprising a plurality of unique stems, the plurality of unique stems associated with the one or more previously themed thought objects;   creating, by the object theming computer, a first matrix based on a quantity of the one or more previously themed thought objects, and a quantity of stems in the first list of stems, the first matrix comprising term frequency-inverse document frequency values for each thought object, of the plurality of thought objects, and each stem, of the first list of stems;   summing, by the object theming computer, the term frequency-inverse document frequency values per stem, in the first list of stems, across the thought objects associated to each theme of the plurality of themes;   normalizing, by the object theming computer, the term frequency-inverse document frequency values by dividing each value by a maximum term frequency-inverse document frequency value within a first theme of the plurality of themes;   selecting, by the object theming computer, at least a portion of stems of the first list of stems, the at least portion of stems comprising stems associated with a highest term frequency-inverse document frequency values;   receiving, by the object theming computer, a plurality of un-themed thought objects;   creating, by the object theming computer, a second list of stems comprising one or more unique stems, the one or more unique stems associated with the plurality of un-themed thought objects;   creating, by the object theming computer, a second matrix based on a quantity of the plurality of un-themed thought objects, and a quantity of stems in the second list of stems, the second matrix comprising term frequency values for each thought object, of the plurality of thought objects, and each stem, of the second list of stems; and   for each un-themed thought objects, of the plurality of un-themed thought objects:
 if at least one stem of the second list of stems has a non-zero value, then: 
 identifying, by the object theming computer, a filtered plurality of stems from the first matrix found in the second list of stems; 
 summing, by the object theming computer, the term frequency values associated with the filtered plurality of stems for each theme of the plurality of themes; and 
 identifying, by the object theming computer, a theme associated with a highest sum and assigning the theme to at least a portion of the plurality of un-themed thought objects. 
   
     
     
         10 . The method of  claim 8 , wherein generating the plurality of clustered un-themed thought objects with similar topics comprises the steps of:
 receiving, by the object theming computer, a plurality of remaining un-themed thought objects; and   for each remaining un-themed thought object, of the plurality of remaining un-themed thought objects, with at least one associated stem:
 creating, by the object theming computer, a first list of stems, the first list of stems comprising unique stems across all remaining un-themed thought objects; 
 creating, by the object theming computer, a thought versus stem matrix based on a quantity of the plurality of remaining un-themed thought objects, and a quantity of stems in the list of stems, the matrix comprising a term frequency-inverse document frequency value for each remaining un-themed thought object and each stem, of the list of stems; 
 determining, by the object theming computer, a preferred number of topics; 
 building, by the object theming computer, a non-negative matrix factorization to create a set of topics based on the preferred number of topics such that each topic is a weighted combination of stems, and a weighted combination of the determined set of topics per un-themed thought object; and 
   for each remaining un-themed thought object:
 identifying, by the object theming computer, a first coefficient associated with a minimum topic coefficients; 
 identifying, by the object theming computer, a second coefficient associated with a maximum topic coefficient; 
 for each topic coefficient associated to a first thought object of the plurality of remaining un-themed thought objects:
 subtracting, by the object theming computer, the topic coefficient by the first coefficient and divide by a difference of the second coefficient and the first coefficient; 
 determining, by the object theming computer, a preferred number of themes; 
 applying, by the object theming computer, K-means clustering on the matrix using the preferred number of themes; 
 creating, by the object theming computer, one or more thought tags; 
 calculating, by the object theming computer, one or more themes; and 
 associating, by the object theming computer, each thought object of the plurality of remaining un-themed thought objects with a theme of the one or more themes. 
 
   
     
     
         11 . The method of  claim 10 , wherein to calculate the preferred number of themes, the method further comprises the step of applying, by the object theming computer, k-means clustering and an elbow plot, comprising an application of coefficients of each topic per thought object for a range of themes related to a number of un-themed thought objects. 
     
     
         12 . The method of  claim 10 , wherein to calculate the one or more thought tags, the method further comprises:
 defining, by the object theming computer, a first function for tags associated with an un-themed thought object and set the first function to an empty dictionary;   retrieving, by the object theming computer, topic coefficients for the un-themed thought object from a thought versus topic matrix, using non-negative matrix factorization (NMF);   generating, by the object theming computer, stem coefficients for the un-themed thought object by multiplying values of topic coefficients associated with the un-themed thought object, with values from the thought versus stem matrix;   defining, by the object theming computer, a second function and set the second function to an empty list for the un-themed thought object;   calculate one or more tag coefficients associated with the second function; and   responsive to the stem existing in a set of stems of tokens associated with the un-themed thought object, generating, by the object theming computer, a most frequent token in the stem dictionary function and appending the most frequent token with the associated coefficient to the second function.   
     
     
         13 . The method of  claim 12 , wherein calculating the one or more themes comprises the steps of:
 defining, by the object theming computer, a third function set to an empty dictionary;   selecting, by the object theming computer, a thought object assigned to a selected theme;   for each tag in the second function, determining, by the object theming computer, whether the tag exists in a list of theme tags;   if the tag exists in the list of theme tags, setting, by the object theming computer, the tag for the thought object to a first predefined value;   otherwise, setting, by the object theming computer, the tag coefficient to a second predefined value;   normalizing, by the object theming computer, each tag coefficient saved in the list of theme tags;   sorting, by the object theming computer, the list of theme tags by values of their respective tag coefficients;   generating, by the object theming computer, a ranked list of theme tags based on the sorting;   responsive to at least one of the ranked list of theme tags occurring in the list of theme tags, capitalizing, by the object theming computer, each such theme tag; and   responsive to none of the theme tags from the ranked list of theme tags occurring in the list of theme tags, labelling, by the object theming computer, the associated theme as un-themed.   
     
     
         14 . The method of  claim 13 , wherein the method further comprises:
 responsive to the ranked list of theme tags comprising more than one theme tag, defining, by the object theming computer, a fourth function set to an empty dictionary; and   responsive to the ranked list of theme tags comprising a single theme tag, labelling, by the object theming computer, the associated theme using the single theme tag.

Join the waitlist — get patent alerts

Track US2024095450A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.