Methods, systems, and computer program products for compiling information into information categories using an expert system
First Claim
1. A method of compiling ré
- sumé
information into information categories, comprising;
defining a plurality of information categories;
providing a plurality of fact tables, a respective one of the plurality of fact tables containing facts and rules that are associated with a respective one of the plurality of information categories;
receiving a digital data stream comprising ré
sumé
information encoded as a plurality of data strings;
using an inference engine to process at least one of the plurality of data strings and the facts and the rules that are associated with at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with at least one of the plurality of information categories; and
arranging the at least one of the plurality of data strings in a file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories.
5 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of methods, systems, and computer program products are provided for compiling information into information categories using an expert system. For example, multiple information categories may be defined and, for each information category, a fact table may be provided that contains facts and rules associated with the respective information category. The information to be compiled may be encoded as multiple data strings and received as a digital data stream. An inference engine is then used to process the facts, the rules, and the data strings for at least one of the fact tables to associate one or more of the data strings with at least one of the information categories. The data strings that are associated with the information categories may then be arranged in a file based on their information category associations. By using the inference engine and fact tables to associate data strings with information categories, non-standardized information may be organized by category and then arranged in a file based on these categories. The resulting file may be more readily processed by other applications because the information contained therein may be arranged in a consistent, predetermined manner.
-
Citations
61 Claims
-
1. A method of compiling ré
- sumé
information into information categories, comprising;defining a plurality of information categories;
providing a plurality of fact tables, a respective one of the plurality of fact tables containing facts and rules that are associated with a respective one of the plurality of information categories;
receiving a digital data stream comprising ré
sumé
information encoded as a plurality of data strings;
using an inference engine to process at least one of the plurality of data strings and the facts and the rules that are associated with at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with at least one of the plurality of information categories; and
arranging the at least one of the plurality of data strings in a file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
fact match rules;
pattern match rules; and
proximity search rules.
- sumé
-
3. A method as recited in claim 2, wherein using the inference engine to process the at least one of the plurality of data strings and the facts and the rules that are associated with the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories comprises:
-
processing the facts, the fact match rules, and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories;
processing the pattern match rules and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories; and
processing the proximity search rules and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories.
-
-
4. A method as recited in claim 1, wherein receiving the digital data stream comprising information encoded as a plurality of data strings comprises:
-
determining a coding scheme used to encode the plurality of data strings; and
translating the plurality of data strings into an American Standard Code for Information Interchange (ASCII) coding scheme if the plurality of data strings are encoded using a coding scheme other than ASCII.
-
-
5. A method as recited in claim 4, wherein the file is an extensible markup language (XML) file.
-
6. A method as recited in claim 5, further comprising:
adding the plurality of data strings to the XML file in their received arrangement.
-
7. A method as recited in claim 5, further comprising:
saving the XML file in a structured query language (SQL) database.
-
8. A method as recited in claim 5, further comprising:
sending the XML file to an originator of the digital data stream.
-
9. A method as recited in claim 1, further comprising:
-
determining whether the plurality of data strings contains at least one unknown data string;
providing a pending fact table; and
adding the at least one unknown data string to the pending fact table if the plurality of data strings contains the at least one unknown data string.
-
-
10. A method as recited in claim 9, wherein determining whether the plurality of data strings contains the at least one unknown data string comprises:
-
removing from the plurality of data strings any data string that is known to be uncorrelated with any of the plurality of information categories; and
removing from the plurality of data strings any data string that corresponds to one of the facts in the plurality of fact tables.
-
-
11. A method as recited in claim 9, wherein the pending fact table comprises a plurality of pending fact tables, a respective one of the plurality of pending fact tables being associated with a respective one of the plurality of fact tables, and wherein adding the at least one unknown data string to the pending fact table if the plurality of data strings contains the at least one unknown data string comprises:
adding the at least one unknown data string to at least one of the plurality of pending fact tables if the plurality of data strings contains the at least one unknown data string.
-
12. A method as recited in claim 11, further comprising:
determining a respective number of occurrences for the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables.
-
13. A method as recited in claim 12, further comprising:
-
defining a plurality of thresholds, a respective one of the plurality of thresholds being associated with the respective one of the plurality of pending fact tables;
comparing the respective number of occurrences for the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables with the associated respective one of the plurality of thresholds; and
adding the respective one of the at least one unknown data string to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables if the respective number of occurrences for the respective one of the at least one unknown data string exceeds the respective one of the plurality of thresholds.
-
-
14. A method as recited in claim 12, further comprising:
-
ranking the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables based on the respective number of occurrences of the respective one of the at least one unknown data string;
displaying the ranked respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables to an end user;
obtaining user input to select which of the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables to add to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables; and
adding the respective one of the at least one unknown data string to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables if the respective one of the at least one unknown data string is selected by the end user.
-
-
15. A method as recited in claim 14, further comprising:
obtaining user input to identify which of the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables are uncorrelated with any of the plurality of information categories.
-
16. A method as recited in claim 1, wherein the plurality of information categories comprise:
-
a demographic category;
a skill set category;
an education and employment category; and
a career progression category.
-
-
17. A method as recited in claim 16, wherein the career progression category comprises job position title information and job responsibility information, the method further comprising:
-
determining a number of occurrences of each data string of the plurality of data strings that is associated with the skill set category; and
determining a number of occurrences of each data string of the plurality of data strings that is associated with the career progression category and corresponds to job position title information.
-
-
18. A method as recited in claim 17, further comprising:
-
determining a qualitative rank for each data string of the plurality of data strings that is associated with the career progression category and corresponds to job position title information; and
determining a qualitative rank for each data string of the plurality of data strings that is associated with the career progression category and corresponds to job responsibility information.
-
-
19. A method as recited in claim 18, wherein arranging the at least one of the plurality of data strings in the file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories comprises:
arranging the at least one of the plurality of data strings, the number of occurrences of each data string that is associated with the skill set category, the number of occurrences of each data string that is associated with the career progression category and corresponds to job position title information, the qualitative rank for each data string that is associated with the career progression category and corresponds to job position title information, and the qualitative rank for each data string that is associated with the career progression category and corresponds to job responsibility information in the file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories.
-
20. A system for compiling ré
- sumé
information into information categories, comprising;an information format module that is configured to receive a digital data stream that comprises ré
sumé
information encoded as a plurality of data strings;
an information extraction expert system engine module that comprises a plurality of fact tables and at least one inference engine, a respective one of the plurality of fact tables containing facts and rules that are associated with a respective one-of a plurality of information categories, the at least one inference engine being configured to process the facts, the rules, and the plurality of data strings for at least one of the plurality of fact tables to associate at least one of the plurality of data strings with at least one of the plurality of information categories; and
an information output module that is configured to arrange the at least one of the plurality of data strings in a file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories. - View Dependent Claims (21, 22, 23)
a structured query language (SQL) database interface module that is configured to save the file in an SQL database.
- sumé
-
22. A system as recited in claim 20, further comprising:
an adaptive learning engine module that is configured to determine whether the plurality of data strings contains at least one unknown data string, and to add the at least one unknown data string to a pending fact table if the plurality of data strings contains the at least one unknown data string.
-
23. A system as recited in claim 22, wherein the adaptive learning engine module is further configured to process the pending fact table to determine whether to add the at least one unknown data string to at least one of the plurality of fact tables.
-
24. A system for compiling ré
- sumé
information into information categories, comprising;means for defining a plurality of information categories;
means for providing a plurality of fact tables, a respective one of the plurality of fact tables containing facts and rules that are associated with a respective one of the plurality of information categories;
means for receiving a digital data stream comprising ré
sumé
information encoded as a plurality of data strings;
means for using an inference engine to process at least one of the plurality of data strings and the facts and the rules that are associated with at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with at least one of the plurality of information categories; and
means for arranging the at least one of the plurality of data strings in a file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
fact match rules;
pattern match rules; and
proximity search rules.
- sumé
-
26. A system as recited in claim 25, wherein the means for using the inference engine to process the at least one of the plurality of data strings and the facts and the rules that are associated with the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories comprises:
-
means for processing the facts, the fact match rules, and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories;
means for processing the pattern match rules and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories; and
means for processing the proximity search rules and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories.
-
-
27. A system as recited in claim 24, wherein the means for receiving the digital data stream comprising information encoded as a plurality of data strings comprises:
-
means for determining a coding scheme used to encode the plurality of data strings; and
means for translating the plurality of data strings into an American Standard Code for Information Interchange (ASCII) coding scheme if the plurality of data strings are encoded using a coding scheme other than ASCII.
-
-
28. A system as recited in claim 27, wherein the file is an extensible markup language (XML) file.
-
29. A system as recited in claim 28, further comprising:
means for adding the plurality of data strings to the XML file in their received arrangement.
-
30. A system as recited in claim 28, further comprising:
means for saving the XML file in a structured query language (SQL) database.
-
31. A system as recited in claim 28, further comprising:
means for sending the XML file to an originator of the digital data stream.
-
32. A system as recited in claim 24, further comprising:
-
means for determining whether the plurality of data strings contains at least one unknown data string;
means for providing a pending fact table; and
means for adding the at least one unknown data string to the pending fact table if the plurality of data strings contains the at least one unknown data string.
-
-
33. A system as recited in claim 32, wherein the means for determining whether the plurality of data strings contains the at least one unknown data string comprises:
-
means for removing from the plurality of data strings any data string that is known to be uncorrelated with any of the plurality of information categories; and
means for removing from the plurality of data strings any data string that corresponds to one of the facts in the plurality of fact tables.
-
-
34. A system as recited in claim 32, wherein the pending fact table comprises a plurality of pending fact tables, a respective one of the plurality of pending fact tables being associated with a respective one of the plurality of fact tables, and wherein the means for adding the at least one unknown data string to the pending fact table if the plurality of data strings contains the at least one unknown data string comprises:
means for adding the at least one unknown data string to at least one of the plurality of pending fact tables if the plurality of data strings contains the at least one unknown data string.
-
35. A system as recited in claim 34, further comprising:
means for determining a respective number of occurrences for the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables.
-
36. A system as recited in claim 35, further comprising:
-
means for defining a plurality of thresholds, a respective one of the plurality of thresholds being associated with the respective one of the plurality of pending fact tables;
means for comparing the respective number of occurrences for the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables with the associated respective one of the plurality of thresholds; and
means for adding the respective one of the at least one unknown data string to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables if the respective number of occurrences for the respective one of the at least one unknown data string exceeds the respective one of the plurality of thresholds.
-
-
37. A system as recited in claim 35, further comprising:
-
means for ranking the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables based on the respective number of occurrences of the respective one of the at least one unknown data string;
means for displaying the ranked respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables to an end user;
means for obtaining user input to select which of the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables to add to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables; and
means for adding the respective one of the at least one unknown data string to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables if the respective one of the at least one unknown data string is selected by the end user.
-
-
38. A system as recited in claim 37, further comprising:
means for obtaining user input to identify which of the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables are uncorrelated with any of the plurality of information categories.
-
39. A system as recited in claim 38, wherein the plurality of information categories comprise:
-
a demographic category;
a skill set category;
an education and employment category; and
a career progression category.
-
-
40. A system as recited in claim 39, wherein the career progression category comprises job position title information and job responsibility information, the system further comprising:
-
means for determining a number of occurrences of each data string of the plurality of data strings that is associated with the skill set category; and
means for determining a number of occurrences of each data string of the plurality of data strings that is associated with the career progression category and corresponds to job position title information.
-
-
41. A system as recited in claim 40, further comprising:
-
means for determining a qualitative rank for each data string of the plurality of data strings that is associated with the career progression category and corresponds to job position title information; and
means for determining a qualitative rank for each data string of the plurality of data strings that is associated with the career progression category and corresponds to job responsibility information.
-
-
42. A system as recited in claim 41, wherein the means for arranging the at least one of the plurality of data strings in the file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories comprises:
means for arranging the at least one of the plurality of data strings, the number of occurrences of each data string that is associated with the skill set category, the number of occurrences of each data string that is associated with the career progression category and corresponds to job position title information, the qualitative rank for each data string that is associated with the career progression category and corresponds to job position title information, and the qualitative rank for each data string that is associated with the career progression category and corresponds to job responsibility information in the file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories.
-
43. A computer program product for compiling ré
- sumé
information into information categories, comprising;a computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising;
computer readable program code for defining a plurality of information categories;
computer readable program code for providing a plurality of fact tables, a respective one of the plurality of fact tables containing facts and rules that are associated with a respective one of the plurality of information categories;
computer readable program code for receiving a digital data stream comprising ré
sumé
information encoded as a plurality of data strings;
computer readable program code for using an inference engine to process at least one of the plurality of data strings and the facts and the rules that are associated with at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with at least one of the plurality of information categories; and
computer readable program code for arranging the at least one of the plurality of data strings in a file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61)
fact match rules;
pattern match rules; and
proximity search rules.
- sumé
-
45. A computer program product as recited in claim 44, wherein the computer readable program code for using the inference engine to process the at least one of the plurality of data strings and the facts and the rules that are associated with the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories comprises:
-
computer readable program code for processing the facts, the fact match rules, and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories;
computer readable program code for processing the pattern match rules and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories; and
computer readable program code for processing the proximity search rules and the plurality of data strings for the at least one of the plurality of fact tables to associate the at least one of the plurality of data strings with the at least one of the plurality of information categories.
-
-
46. A computer program product as recited in claim 43, wherein the computer readable program code for receiving the digital data stream comprising information encoded as a plurality of data strings comprises:
-
computer readable program code for determining a coding scheme used to encode the plurality of data strings; and
computer readable program code for translating the plurality of data strings into an American Standard Code for Information Interchange (ASCII) coding scheme if the plurality of data strings are encoded using a coding scheme other than ASCII.
-
-
47. A computer program product as recited in claim 46, wherein the file is an extensible markup language (XML) file.
-
48. A computer program product as recited in claim 47, further comprising:
computer readable program code for adding the plurality of data strings to the XML file in their received arrangement.
-
49. A computer program product as recited in claim 47, further comprising:
computer readable program code for saving the XML file in a structured query language (SQL) database.
-
50. A computer program product as recited in claim 47, further comprising:
computer readable program code for sending the XML file to an originator of the digital data stream.
-
51. A computer program product as recited in claim 43, further comprising:
-
computer readable program code for determining whether the plurality of data strings contains at least one unknown data string;
computer readable program code for providing a pending fact table; and
computer readable program code for adding the at least one unknown data string to the pending fact table if the plurality of data strings contains the at least one unknown data string.
-
-
52. A computer program product as recited in claim 51, wherein the computer readable program code for determining whether the plurality of data strings contains the at least one unknown data string comprises:
-
computer readable program code for removing from the plurality of data strings any data string that is known to be uncorrelated with any of the plurality of information categories; and
computer readable program code for removing from the plurality of data strings any data string that corresponds to one of the facts in the plurality of fact tables.
-
-
53. A computer program product as recited in claim 51, wherein the pending fact table comprises a plurality of pending fact tables, a respective one of the plurality of pending fact tables being associated with a respective one of the plurality of fact tables, and wherein the computer readable program code for adding the at least one unknown data string to the pending fact table if the plurality of data strings contains the at least one unknown data string comprises:
computer readable program code for adding the at least one unknown data string to at least one of the plurality of pending fact tables if the plurality of data strings contains the at least one unknown data string.
-
54. A computer program product as recited in claim 53, further comprising:
computer readable program code for determining a respective number of occurrences for the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables.
-
55. A computer program product as recited in claim 54, further comprising:
-
computer readable program code for defining a plurality of thresholds, a respective one of the plurality of thresholds being associated with the respective one of the plurality of pending fact tables;
computer readable program code for comparing the respective number of occurrences for the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables with the associated respective one of the plurality of thresholds; and
computer readable program code for adding the respective one of the at least one unknown data string to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables if the respective number of occurrences for the respective one of the at least one unknown data string exceeds the respective one of the plurality of thresholds.
-
-
56. A computer program product as recited in claim 54, further comprising:
-
computer readable program code for ranking the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables based on the respective number of occurrences of the respective one of the at least one unknown data string;
computer readable program code for displaying the ranked respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables to an end user;
computer readable program code for obtaining user input to select which of the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables to add to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables; and
computer readable program code for adding the respective one of the at least one unknown data string to the respective one of the plurality of fact tables associated with the respective one of the plurality of pending fact tables if the respective one of the at least one unknown data string is selected by the end user.
-
-
57. A computer program product as recited in claim 56, further comprising:
computer readable program code for obtaining user input to identify which of the respective one of the at least one unknown data string in the respective one of the plurality of pending fact tables are uncorrelated with any of the plurality of information categories.
-
58. A computer program product as recited in claim 43, wherein the plurality of information categories comprise:
-
a demographic category;
a skill set category;
an education and employment category; and
a career progression category.
-
-
59. A computer program product as recited in claim 58, wherein the career progression category comprises job position title information and job responsibility information, the computer program product further comprising:
-
computer readable program code for determining a number of occurrences of each data string of the plurality of data strings that is associated with the skill set category; and
computer readable program code for determining a number of occurrences of each data string of the plurality of data strings that is associated with the career progression category and corresponds to job position title information.
-
-
60. A computer program product as recited in claim 59, further comprising:
-
computer readable program code for determining a qualitative rank for each data string of the plurality of data strings that is associated with the career progression category and corresponds to job position title information; and
computer readable program code for determining a qualitative rank for each data string of the plurality of data strings that is associated with the career progression category and corresponds to job responsibility information.
-
-
61. A computer program product as recited in claim 60, wherein the computer readable program code for arranging the at least one of the plurality of data strings in the file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories comprises:
computer readable program code for arranging the at least one of the plurality of data strings, the number of occurrences of each data string that is associated with the skill set category, the number of occurrences of each data string that is associated with the career progression category and corresponds to job position title information, the qualitative rank for each data string that is associated with the career progression category and corresponds to job position title information, and the qualitative rank for each data string that is associated with the career progression category and corresponds to job responsibility information in the file based on the association between the at least one of the plurality of data strings and the at least one of the plurality of information categories.
Specification