94. A system for automatically generating one or more keywords from an electronic document, the system comprising: a network; one or more client computers communicably connected to the network; one or more server computers communicably connected to the network; one or more document storage repositories communicably connected to the network, to one or more of the client computers, or to one or more of the server computers; and a processor within at least one of the client computers or server computers, wherein the processor (a) identifies candidate entries for the keywords by extracting all n-grams up to a specified length that do not cross sentence boundaries, reducing a size of a data set consisting of the extracted n-grams by applying one or more filters and balancing a distribution of positive and negative examples whenever the data set is derived from a training data set, (b) constructs a feature vector for each candidate entry, wherein the feature vector comprises at least one feature selected from the group consisting of one or more discourse comprehension features, one or more part-of-speech pattern features, and one or more encyclopedic annotation features, (c) assigns a numeric score to each candidate entry based on the feature vector for that candidate entry, and (d) selects a specified number of entries to be retained as the keywords.
94. A system for automatically generating one or more keywords from an electronic document, the system comprising: a network; one or more client computers communicably connected to the network; one or more server computers communicably connected to the network; one or more document storage repositories communicably connected to the network, to one or more of the client computers, or to one or more of the server computers; and a processor within at least one of the client computers or server computers, wherein the processor (a) identifies candidate entries for the keywords by extracting all n-grams up to a specified length that do not cross sentence boundaries, reducing a size of a data set consisting of the extracted n-grams by applying one or more filters and balancing a distribution of positive and negative examples whenever the data set is derived from a training data set, (b) constructs a feature vector for each candidate entry, wherein the feature vector comprises at least one feature selected from the group consisting of one or more discourse comprehension features, one or more part-of-speech pattern features, and one or more encyclopedic annotation features, (c) assigns a numeric score to each candidate entry based on the feature vector for that candidate entry, and (d) selects a specified number of entries to be retained as the keywords. 107. The system as recited in claim 94 , wherein the one or more discourse comprehension features are derived by the steps of: reading a sentence from the electronic document; extracting noun phrases from the sentence; constructing a graph in a working memory with nodes corresponding to the noun phrases; adding nodes to the graph for all phrases that are in a short-term memory; connecting all nodes with edges weighted by a semantic relatedness measure derived using a semantic memory; decreasing the weights on incoming and outgoing edges of nodes coming from the short-term memory by a decay factor proportional to the number of sentences since the phrase was last seen; ranking the nodes in the graph using a graph centrality measure; selecting a predetermined number of the highest-ranked nodes and placing their associated phrases in short-term memory; saving parameters related to a phrase ranking using the centrality measure and a number of iterations that the phrase remains in the short-term memory; repeating the above steps of reading, extracting, constructing, adding, connecting, decreasing, ranking, selecting and saving until all sentences have been read from the electronic document; and calculating the one or more discourse comprehension features using the saved parameters.