1. A computer-implemented method for producing an association dataset for terms in a language, comprising: receiving a first term as a name or description of a concept or topic or attribute; receiving a first group of text units comprising at least two terms each comprising one or more words or phrases or sentences or paragraphs or documents, at least half of the text units contain the first term or are from contents that contain the first term, and at least half of the text units contain one or more second terms each being different from the first term; for one or more second terms in the first group, produce a first score value based on the number of text units that contain both the first term and the second term, and a semantic attribute associated with the first term in the text unit, wherein the semantic attribute includes a semantic role, a semantic attribute type or attribute value, or a meaning of the first term or the one or more second terms; and selecting the one or more second terms based on the first score value as terms associated with the first term or with the concept or topic or attribute represented by the first term.