1. A method performed by a server device, of identifying whether a sequence of terms is a semantic unit, the method comprising: receiving, by a communication interface or an input device of the server device, the sequence of terms in a memory; calculating, by a processor of the server device, a first value representing a coherence of terms in the sequence; calculating, by the processor, a second value representing variation of context in which the sequence occurs; comparing, by the processor, the first value to a first threshold and the second value to a second threshold; identifying, by the processor, that the sequence is a semantic unit based at least in part on the first value satisfying the first threshold and the second value satisfying the second threshold; and outputting, by the communication interface or an output device of the server device, an indication that the sequence is a semantic unit based on identifying that the sequence is a semantic unit.
5. The method of claim 1 , where the first threshold is defined as: f ⁢ ⁢ ( AB ) > f ⁢ ⁢ ( A ) · f ⁢ ⁢ ( B ) N , where f(A) defines a number of occurrences of term A in the collection of documents, f(B) defines a number of occurrences of term B in the collection of documents, N defines a total number of events in the collection of documents, and f(AB) defines a number of times term A is followed by term B in the collection of documents.