1. A computing device comprising: one or more processors; and a non-transitory, computer-readable medium storing programming that is executable by the one or more processors, the programming comprising instructions to: receive an input data set comprising a document; determine at least one focus in the input data set, wherein the focus is at least one of a grammatical part of speech or a functional descriptor, and wherein the focus is a portion of the input data set less than the input data set; form a term unit matrix from the input data set, the term unit matrix comprising a plurality of term units represented as a plurality of numeric integer values, wherein the term unit matrix is a substantially canonical representation of the input data set; filter the plurality of term units by removing one or more term units from the plurality of term units based on the focus; for term units that remain after filtering, form a group of remaining term units based on an underlying grammatical rule of the input data set, wherein for each term unit of the group of remaining term units, the underlying grammatical rule is numerically encoded in respective numeric integer values of the remaining term units; identify at least one root term unit of the group of remaining term units, the at least one root term unit having a plurality of tail term units associated therewith; search a data repository that is different from the input data set using the at least one root term unit and the plurality of tail term units; organize search results based on the focus indicating presence of the at least one root term unit; and display the organized search results.
1. A computing device comprising: one or more processors; and a non-transitory, computer-readable medium storing programming that is executable by the one or more processors, the programming comprising instructions to: receive an input data set comprising a document; determine at least one focus in the input data set, wherein the focus is at least one of a grammatical part of speech or a functional descriptor, and wherein the focus is a portion of the input data set less than the input data set; form a term unit matrix from the input data set, the term unit matrix comprising a plurality of term units represented as a plurality of numeric integer values, wherein the term unit matrix is a substantially canonical representation of the input data set; filter the plurality of term units by removing one or more term units from the plurality of term units based on the focus; for term units that remain after filtering, form a group of remaining term units based on an underlying grammatical rule of the input data set, wherein for each term unit of the group of remaining term units, the underlying grammatical rule is numerically encoded in respective numeric integer values of the remaining term units; identify at least one root term unit of the group of remaining term units, the at least one root term unit having a plurality of tail term units associated therewith; search a data repository that is different from the input data set using the at least one root term unit and the plurality of tail term units; organize search results based on the focus indicating presence of the at least one root term unit; and display the organized search results. 8. The computing device of claim 1 , wherein the group of remaining term units are constrained by grammatical function within the input data set.