A computer automated method of clustering a plurality of documents, each document including question information data and answer information data, the method comprising: reading the question information data of each document from memory or storage; computing a question information similarity measure between each document and other documents of the plurality of documents using a computing device; aggregating the documents into a first plurality of clusters based on the question information similarity measure; storing the first plurality of clusters in a database; for each cluster in the first plurality of clusters, reading the answer information data of the documents in the current cluster of the first plurality of clusters; determining an answer information type for each of the plurality of documents in the cluster using the computing device; and maintaining or subdividing the current cluster in the first plurality of clusters based on the answer information type, characterised in that maintaining or subdividing the current cluster based on the answer information type comprises: maintaining the current cluster when the answer information type is the same for all of the plurality of documents in the current cluster, and subdividing the current cluster into multiple subdivided clusters when the answer information types are different for the plurality of documents in the current cluster, such that the answer information types are the same for all of the documents in each of the subdivided clusters. reading the question information data of each document from memory or storage; computing a question information similarity measure between each document and other documents of the plurality of documents using a computing device; aggregating the documents into a first plurality of clusters based on the question information similarity measure; storing the first plurality of clusters in a database; for each cluster in the first plurality of clusters, reading the answer information data of the documents in the current cluster of the first plurality of clusters; determining an answer information type for each of the plurality of documents in the cluster using the computing device; and maintaining or subdividing the current cluster in the first plurality of clusters based on the answer information type, characterised in that maintaining or subdividing the current cluster based on the answer information type comprises: maintaining the current cluster when the answer information type is the same for all of the plurality of documents in the current cluster, and subdividing the current cluster into multiple subdivided clusters when the answer information types are different for the plurality of documents in the current cluster, such that the answer information types are the same for all of the documents in each of the subdivided clusters. maintaining the current cluster when the answer information type is the same for all of the plurality of documents in the current cluster, and subdividing the current cluster into multiple subdivided clusters when the answer information types are different for the plurality of documents in the current cluster, such that the answer information types are the same for all of the documents in each of the subdivided clusters.