1. A method for annotating a document in a viewer, comprising: associating the document with a user; identifying one or more sub-document elements in the document; computing a similarity measure from content of the identified one or more sub-document elements in the document; identifying one or more other sub-document elements in one or more further non-identical documents stored in a database, each of the one or more other sub-document elements associated with one or more annotations, with comparable similarity measures to the one or more sub-document elements in the document; augmenting the document, comprising: making words within the document selectable; responsive to each user input selecting a word in the document, inserting the selected word following the sub-document element from which the word was selected; inserting the one or more annotations associated with the identified one or more other sub-document elements with comparable similarity measures following the sub-document element in the document; and storing in a database a record that associates the user with the computed similarity measure of the sub-document element's content and the selected words and storing with the record a URL of the document as a URL/USER pair in a bi-graph matrix for generating spreading activation computation profiles; and displaying the augmented document in the viewer.